Журнал аудита
Журнал аудита, по адресу /audit, — это реестр. Каждое событие несёт SHA-256-хеш своего
содержимого и хеш предыдущего события, а затем подпись Ed25519 той машины,
которая его записала.
Показаны обе колонки хешей
Заголовок раздела «Показаны обе колонки хешей»Журнал утверждает, что prev каждой строки равен hash строки под ней, и показ обеих
колонок позволяет проверить это утверждение глазами. Одинокая зелёная галочка, которая
всегда говорит verified, никого ничему не учит, и ей невозможно не доверять.
- ⟳ Verify перечитывает сам журнал — не индекс — и заново проходит цепочку. Сверка производной копии с самой собой ничего бы не доказала.
- Rebuild выбрасывает поисковый индекс и переигрывает журнал в новый. Безопасно в любой момент.
- Колонка sig отмечает любое событие, чья подпись не совпадает с его хешем.
Отредактируйте одну строку журнала вручную — и каждое событие после неё провалит проверку, потому что каждый хеш покрывает предыдущий. Удаление хвоста — единственная правка, которую цепочка не видит; именно поэтому журнал реплицируется, а не доверяется одной машине.
Чего здесь нет
Заголовок раздела «Чего здесь нет»Эфемерные события — присутствие, набор текста (kinds 9000–9999) — никогда не записываются. Heartbeat каждые пятнадцать секунд на трёх машинах — это четверть миллиона событий в год, которые никто никогда не прочитает.
Из shell
Заголовок раздела «Из shell»curl -s localhost:3401/api/events/verify | jqtail -f ~/.erebros-t/events/log.jsonlЦепочка каждой машины проверяется отдельно, потому что у каждой свой файл;
ok: false называет порядковый номер, на котором разрыв. Если цепочка разорвана,
кто-то редактировал log.jsonl — восстановите его из резервной копии; не чините вручную.
См. также
Заголовок раздела «См. также»- Что такое Teams — четыре решения.
- Поиск