Журнал аудиту
Журнал аудиту, за адресою /audit, - це реєстр. Кожна подія несе SHA-256-хеш свого
вмісту та хеш попередньої події, а потім підпис Ed25519 від
машини, яка її записала.
Показано обидва стовпці хешів
Section titled “Показано обидва стовпці хешів”Журнал стверджує, що prev кожного рядка дорівнює hash рядка під ним,
і показ обох дозволяє перевірити це твердження на око. Одна зелена галочка, яка завжди
каже verified, нікого нічого не навчить, і їй неможливо не довіряти.
- ⟳ Verify перечитує сам журнал - не індекс - і заново проходить ланцюжок. Перевірка похідної копії відносно самої себе нічого не довела б.
- Rebuild викидає пошуковий індекс і програє журнал у новий. Безпечно в будь-який момент.
- Стовпець sig позначає кожну подію, чий підпис не відповідає її хешу.
Відредагуйте один рядок журналу вручну - і кожна подія після нього не пройде перевірку, бо кожен хеш охоплює попередній. Видалення хвоста - єдина правка, якої ланцюжок не бачить, - саме тому журнал реплікується, а не довіряється одній машині.
Чого тут немає
Section titled “Чого тут немає”Ефемерні події - присутність, набір тексту (види 9000-9999) - ніколи не записуються. Серцебиття кожні п’ятнадцять секунд на трьох машинах - це чверть мільйона подій на рік, яких ніхто ніколи не прочитає.
З оболонки
Section titled “З оболонки”curl -s localhost:3400/api/events/verify | jqtail -f ~/.maven-teams/events/log.jsonlЛанцюжок кожної машини перевіряється окремо, бо кожен із них - окремий файл;
ok: false називає порядковий номер, де стався розрив. Якщо ланцюжок зламано,
хтось редагував log.jsonl - відновіть його з резервної копії; не лагодьте вручну.
Дивіться також
Section titled “Дивіться також”- Що таке Teams - чотири рішення.
- Пошук