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