d170c886bc
Closes hole #1: log_hash written by trigger but never verified → tampering invisible. audit:verify-chains (cron daily 04:00) recomputes SHA-256 chain for all 6 audit tables via SQL on pgsql_supplier (prod-safe). Serialization reproduces trigger exactly (ROW with log_hash=NULL::bytea). Break → incidents_log (high, dedup 24h) + AuditChainBreachMail to kdv1@bk.ru + non-zero exit. Tests 5/5, Console 19/19.
17 lines
929 B
PHP
17 lines
929 B
PHP
Аудит hash-chain: РАЗРЫВ ЦЕПОЧКИ
|
|
===================================
|
|
Таблица: {{ $tableName }}
|
|
Первый сломанный id: {{ $firstBrokenId }}
|
|
Несовпадений: {{ $mismatchCount }}
|
|
Время: {{ $now }} (МСК)
|
|
|
|
ВНИМАНИЕ: разрыв hash-chain означает, что строки в таблице {{ $tableName }}
|
|
могли быть изменены или удалены в обход триггеров (прямой SQL под суперюзером).
|
|
|
|
Необходимо срочно:
|
|
1. Проверить pg_audit log на предмет DDL/UPDATE/DELETE без триггеров.
|
|
2. Проверить incidents_log для деталей.
|
|
3. Восстановить данные из backup при необходимости.
|
|
|
|
Это автоматическое сообщение от команды audit:verify-chains (Лидерра).
|