При компрометации сервера злоумышленники часто подменяют базовые системные бинарники (например,
ss, ps или login) на модифицированные версии с бэкдорами. Мы напишем лаконичный bash-скрипт, который создаст эталонные слепки контрольных сумм SHA-256 для критически важных утилит и проверит их на предмет несанкционированных изменений. Этот базовый механизм Host IDS (интрузивного детектирования) позволяет оперативно обнаружить факт присутствия атакующего в системе.Сформируем базу данных эталонных хэш-сумм для выбранных системных утилит и сохраним её в защищенный файл:
# Создание эталонных хэшей для проверки
sha256sum /bin/ps /bin/ss /usr/bin/whoami > /root/sys_integrity.db
Файл базы данных успешно создан и содержит уникальные криптографические отпечатки чистых бинарников.
Напишем автоматический скрипт валидации, который сверяет текущее состояние файлов с ранее сохраненным эталоном:
# Скрипт проверки и вывода измененных файлов
sha256sum -c /root/sys_integrity.db 2>&1 | grep -v 'OK' || echo "Integrity check: SUCCESS"
Команда выполнит сверку всех строк и выведет предупреждение только в случае несовпадения хэшей.
# проверка (контрольная эмуляция подмены для проверки реакции парсера)
echo "test" >> /root/sys_integrity.db && sha256sum -c /root/sys_integrity.db 2>&1 | grep 'FAILED'
Ожидаемый вывод:
/root/sys_integrity.db: FAILED
# cleanup (удаление тестовой базы данных из системы)
rm -f /root/sys_integrity.db
Регулярный запуск такого скрипта через cron помогает вовремя заметить активность руткитов и троянов. Чтобы атакующий не смог подделать саму базу хэшей, обязательно храните эталонный файл
sys_integrity.db на удаленном сервере логирования или на флешке в режиме "только чтение".🚪 Linux Ready | #практика