Проверить целостность цепочки аудита
Записи аудиторского следа сцеплены хешами: каждая несёт отпечаток, в расчёт которого входит отпечаток предыдущей. Проверка пересчитывает всю цепочку от начала и показывает, цела ли она, — это доказательство, что журнал не переписывали.
Кому и когда
Заголовок раздела «Кому и когда»QA и инспекция — специалист QA или аудитор. Нужно право «запускать проверку
хеш-цепочки» (audit.verify); достаточно держать его на любом уровне внутри
организации, например на исследовании. Модулям это право недоступно.
Проверяйте цепочку перед инспекцией или аудитом, перед передачей выгрузки следа или инспекционного пакета, а также периодически — по вашей процедуре.
Перед началом
Заголовок раздела «Перед началом»- У вас есть право
audit.verify. - Учтите: проверка читает весь журнал организации, а не только одного исследования, и на большом журнале занимает время.
- Если хотите сверить голову цепочки с якорем, держите под рукой ранее собранный инспекционный пакет.
-
Откройте исследование → Аудиторский след. Внизу экрана — блок Целостность журнала.
-
Нажмите Проверить целостность журнала. Пока идёт пересчёт, кнопка показывает «Проверка…».
-
Прочитайте результат:
- Цепочка целостна — «Проверен весь журнал организации — записей: N» и Голова цепочки — отпечаток последней записи;
- Цепочка нарушена — «Целостность журнала нарушена: запись № N» — номер (seq) первой сломанной записи.
-
Зафиксируйте результат по вашей процедуре: дату, число проверенных записей и голову цепочки.
Проверить из администрирования
Заголовок раздела «Проверить из администрирования»Администратор видит ту же проверку на обзоре Администрирование — строка Целостность журнала аудита, кнопка Проверить (затем Проверить снова). При нарушении строка предлагает Открыть журнал на сломанной записи.
Сверить голову цепочки с якорем
Заголовок раздела «Сверить голову цепочки с якорем»Каждая сборка инспекционного пакета фиксирует голову цепочки (якорь) и кладёт в пакет всю историю якорей. Найдите в ранее сохранённом пакете последний якорь и убедитесь, что живая цепочка проходит проверку и продолжает его: записи, сделанные до якоря, не изменились.
Что произойдёт
Заголовок раздела «Что произойдёт»- Проверка только читает журнал — данные и сам журнал не меняются.
- Пересчитывается вся цепочка организации, от первой записи до последней; диапазон не выбирается.
- Результат остаётся на экране до ухода со страницы.
Если не получилось
Заголовок раздела «Если не получилось»- Нет блока «Целостность журнала» и кнопки проверки — нет права
audit.verifyни на одном уровне организации. Обратитесь к администратору доступа. - «Не удалось выполнить проверку» — сбой выполнения (например, сеть или сервер), а не вердикт о цепочке. Повторите проверку.
- Цепочка нарушена — это не ошибка интерфейса, а сигнал о возможном вмешательстве. Не пытайтесь «исправить» журнал: сообщите ответственному за качество, откройте журнал на указанной записи, зафиксируйте результат и сохраните последние инспекционные пакеты — их якоря нужны для расследования.
Подробнее
Заголовок раздела «Подробнее»Что ловит проверка
Заголовок раздела «Что ловит проверка»Если кто-то попытается изменить, удалить или вставить запись в середину — отпечатки перестанут сходиться. Проверка обнаруживает правку содержимого, удаление записи, вставку в середину (разрыв нумерации) и подмену причины.
Зачем якоря
Заголовок раздела «Зачем якоря»Таблица аудита защищена триггерами PostgreSQL, а рантайм-роль приложения лишена прав менять журнал. Обладатель прав владельца схемы или суперпользователя СУБД технически может снять защиту — но не незаметно: якоря в ранее выданных инспекционных пакетах покажут расхождение. Сам пакет служит внешним write-once носителем: сложив его в собственное WORM- или eTMF-хранилище, вы получаете датированную копию, с которой позже сверяется живая цепочка. Это позволяет доказать целостность, даже если предположить, что кто-то с доступом к базе пересчитал всю цепочку целиком. Регулярность якорения задаёт ваша процедура сборки пакетов.