====== Утилита tripwire ======
* [[http://ru.wikipedia.org/wiki/Open_Source_Tripwire|Open Source Tripwire wiki]]
* [[http://www.wagemakers.be/english/doc/tripwire|Tripwire quick guide]]
* [[http://bog.pp.ru/work/tripwire.html|Tripwire: принципы работы, установка и настройка]]
===== Установка =====
==== FreeBSD/Debian/Ubuntu ====
В процессе установки задаем:
Для шифрования конфиг - site passphrase: Pa$$w0rd1
Для шифрования базы данных - local passphrase: Pa$$w0rd2
==== Debian/Ubuntu ====
# apt install tripwire
# cat /etc/cron.daily/tripwire
# cd /etc/tripwire/
==== FreeBSD ====
В версии tripwire-2.4.2.2_2:
на этапе установки происходит pkg-static: POST-INSTALL script failed
на этапе --init происходит Software interrupt forced exit: Segmentation Fault
# pkg install tripwire
# cd /usr/local/etc/tripwire/
# twadmin --generate-keys --site-keyfile site.key
# twadmin --generate-keys --local-keyfile `hostname`-local.key
# cat twcfg.txt
POLFILE =/usr/local/etc/tripwire/tw.pol
DBFILE =/var/db/tripwire/$(HOSTNAME).twd
REPORTFILE =/var/db/tripwire/report/$(HOSTNAME)-$(DATE).twr
SITEKEYFILE =/usr/local/etc/tripwire/site.key
LOCALKEYFILE =/usr/local/etc/tripwire/$(HOSTNAME)-local.key
# twadmin --create-cfgfile --site-keyfile site.key twcfg.txt
# cp twpol-FreeBSD.txt twpol.txt
# cat twpol.txt
...
TWROOT=/;
TWBIN=/usr/local/sbin/;
TWPOL=/usr/local/etc/tripwire/;
#TWDB=/var/db/tripwire/server.corpX.un.twd;
TWDB=/var/db/tripwire/;
TWSKEY=/usr/local/etc/tripwire/;
TWLKEY=/usr/local/etc/tripwire/;
TWREPORT=/var/db/tripwire/report/;
HOSTNAME=server.corpX.un;
...
# twadmin --create-polfile --site-keyfile site.key twpol.txt
===== Инициализация базы данных файлов системы =====
==== FreeBSD/Debian/Ubuntu ====
# tripwire --init
===== Редактирование политик =====
==== FreeBSD/Debian/Ubuntu ====
Читаем сообщения об ошибках инициализации из-за несуществующих файлов, правим текстовый файл политик (можно несколько раз).
# vim twpol.txt
Обновляем двоичный зашифрованный файл политик и обновляем базу данных.
# tripwire --update-policy --secure-mode low twpol.txt
==== FreeBSD ====
# cd /var/db/tripwire/
==== Debian/Ubuntu ====
# cd /var/lib/tripwire/
==== Debian/Ubuntu/FreeBSD ====
Сверяемся с текущей базой данных и генерируем отчет
# tripwire --check
Просмотр отчета
# twprint --print-report --twrfile report/server.corpX.un-NNNNNNN-NNNNNN.twr
Автоматическое (не интерактивное) обновление базы данных согласно отчету
# tripwire --update -a --twrfile report/server.corpX.un-NNNNNNN-NNNNNN.twr