Мониторинг и обнаружение измененных файлов с помощью Tripwire в CentOS 7
На этой странице
- Что мы будем делать
- Предпосылки
- Шаг 1. Установите Tripwire на CentOS 7
- Шаг 2. Настройка политики Tripwire для CentOS 7
- Шаг 3. Проверка конфигурации и системы Tripwire
- Шаг 4. Добавьте новое правило в политику Tripwire
- Шаг 5. Настройка уведомлений Tripwire по электронной почте и Cron
- Справочник
Tripwire — это бесплатная система обнаружения вторжений (IDS) с открытым исходным кодом. Это инструмент безопасности для мониторинга и оповещения об изменениях файлов в системе. Tripwire — это мощная IDS, которая защищает вашу систему от нежелательных изменений. Вы можете использовать его для мониторинга ваших системных файлов, в том числе файлов веб-сайта, поэтому при нежелательном изменении файлов Tripwire проверит вашу систему и, если она настроена правильно, может предупредить вас по электронной почте.
В этом руководстве мы покажем вам, как отслеживать и обнаруживать любые изменения в ваших системных файлах с помощью Tripwire в системе CentOS 7. Мы покажем вам, как установить и настроить Tripwire на CentOS 7, как сгенерировать ключевые файлы Tripwire, настроить и добавить политику tripwire, проверить систему и включить уведомления по электронной почте для настройки tripwire и cron.
Что мы будем делать
- Установите Tripwire на CentOS 7
- Настройка политики Tripwire для CentOS 7
- Проверка конфигурации Tripwire
- Добавить новое правило в политику Tripwire
- Настройка уведомлений Tripwire по электронной почте и Cron
Предпосылки
- Система CentOS 7
- Привилегии root
Шаг 1. Установите Tripwire на CentOS 7
Первый шаг, который мы должны сделать, это установить Tripwire в систему. По умолчанию tripwire доступен в репозитории CentOS 7.
Войдите на свой сервер и обновите все пакеты.
ssh
sudo yum update -y
Теперь установите Tripwire с помощью yum.
yum -y install tripwire
После установки нам нужно сгенерировать новые ключевые файлы.
Tripwire работает с двумя ключевыми файлами.
- site-key: используется для защиты конфигурации Tripwire. Таким образом, любые изменения в конфигурации tripwire не будут применены до тех пор, пока мы не сгенерируем конфигурацию снова, и для этого нам будет предложено ввести кодовую фразу ключа сайта.
- local-key: используется для проверки двоичного файла tripwire. Когда мы хотим обновить системную базу данных tripwire, нам нужно запустить команду tripwire, и нам будет предложено ввести парольную фразу для локального ключа.
Давайте сгенерируем новые файлы ключей tripwire (сайтовые и локальные ключи) с помощью приведенной ниже команды.
sudo tripwire-setup-keyfiles
Команда сгенерирует два ключевых файла site-key и local-key, и вам будет предложено ввести парольную фразу для каждого из них.
Введите собственную парольную фразу ключа сайта и нажмите Enter.
Введите собственную кодовую фразу локального ключа и снова нажмите Enter.
Затем подпишите конфигурацию tripwire с помощью ключа сайта.
Введите кодовую фразу ключа сайта.
А теперь, чтобы подписаться на политику Tripwire, введите кодовую фразу локального ключа.
Tripwire был установлен на CentOS 7, а новая конфигурация и ключи tripwire находятся в каталоге /etc/tripwire.
Шаг 2. Настройте политику Tripwire для CentOS 7
После установки tripwire, о которой мы говорили на первом шаге, нам нужно инициализировать базу данных tripwire и убедиться, что ошибки нет.
Инициализируйте базу данных tripwire с помощью приведенной ниже команды tripwire.
sudo tripwire --init
Вас спросят о ключевой фразе локального ключа, и вы, скорее всего, получите сообщение об ошибке, в котором нет такого каталога, как показано ниже.
Мы получаем ошибку, потому что в системе нет каталога и файлов, которые уже определены в конфигурации tripwire. Чтобы устранить эту ошибку, нам нужно отредактировать конфигурацию tripwire twpol.txt и повторно подписать конфигурацию tripwire.
Теперь сгенерируйте ошибку журнала от tripwire, используя команду ниже.
sudo sh -c "tripwire --check | grep Filename > no-directory.txt"
Все каталоги и файлы, которых нет в системе CentOS 7, перечислены в файле mo-directory.txt.
cat no-directory.txt
Отредактируйте конфигурацию tripwire twpol.txt, используя следующий скрипт bash — запустите этот скрипт на своем терминале.
for f in $(grep "Filename:" no-directory.txt | cut -f2 -d:); do
sed -i "s|\($f\) |#\\1|g" /etc/tripwire/twpol.txt
done
После всего этого нам нужно перегенерировать и повторно подписать конфигурацию tripwire с помощью команды twadmin, как показано ниже.
sudo twadmin -m P /etc/tripwire/twpol.txt
Введите кодовую фразу ключа сайта.
Повторно инициализируйте базу данных tripwire и убедитесь, что у вас нет ошибок.
sudo tripwire --init
Повторно инициализируйте базу данных tripwire без ошибок.
Шаг 3. Проверка конфигурации Tripwire и проверка системы
Чтобы проверить конфигурацию tripwire, мы можем запустить команду проверки системы, как показано ниже.
sudo tripwire --check
И вы должны получить результат, подобный следующему.
Таким образом, это означает, что в нашей системе не обнаружено ошибок и нарушений системы.
Теперь попробуем добавить новый файл в корневую домашнюю директорию и снова проверим с помощью tripwire.
Перейдите в корневой домашний каталог и создайте новый файл hakase-labs.txt.
cd ~/
touch hakase-labs.txt
Теперь снова проверьте систему с помощью команды tripwire.
sudo tripwire --check
И вы получите результат нового нарушения в системе с серьезностью 100, как показано ниже.
На этом этапе Tripwire установлен и настроен для системы CentOS 7.
Шаг 4. Добавьте новое правило в политику Tripwire
На этом шаге мы покажем вам, как добавить новое правило в конфигурацию политики tripwire twpol.txt.
Для выполнения этой работы нам необходимо определить имя правила, серьезность, каталог для мониторинга и тип файлов. На этом шаге мы создадим новое правило с именем Wordpress Data для нашей установки WordPress в каталоге /var/www/ с серьезностью HIGH/SIG_HI, и все файлы в этом каталоге являются критическими (как их право собственности, так и исходный код не могут быть изменен).
Перейдите в каталог конфигурации tripwire /etc/tripwire и отредактируйте файл конфигурации twpol.txt с помощью vim.
cd /etc/tripwire/
vim twpol.txt
Перейдите в конец строки и вставьте туда следующее правило WordPress.
# Ruleset for Wordpress
(
rulename = "Wordpress Data",
severity= $(SIG_HI)
)
{
/var/www -> $(SEC_CRIT);
}
Сохранить и выйти.
Восстановите и повторно подпишите конфигурацию с помощью команды twadmin, как показано ниже.
sudo twadmin -m P /etc/tripwire/twpol.txt
Введите кодовую фразу ключа сайта.
Теперь нам нужно снова создать базу данных tripwire.
sudo tripwire --init
Введите кодовую фразу локального ключа.
Добавлен новый набор правил, который применяется к конфигурации политики Tripwire.
Проверьте свою систему с помощью приведенной ниже команды tripwire.
sudo tripwire --check
И вы должны получить результат без ошибок и нарушений.
Теперь перейдите в каталог /var/www/ и создайте в нем новый файл.
cd /var/www/
touch hakase-labs.php
Снова проверьте систему с помощью tripwire.
sudo tripwire --check
И вы получите сообщение о системном нарушении в каталоге /var/www/ с уровнем безопасности High 100.
Новое правило было добавлено и применено к конфигурации политики Tripwire.
Шаг 5. Настройте уведомления по электронной почте Tripwire и Cron
На этом этапе мы настроим уведомления для определенной политики набора правил tripwire и настроим задание cron для автоматической проверки системы. Мы отправим отчет о любом нарушении правила данных Wordpress на адрес электронной почты [email .
Для уведомлений по электронной почте в настройках tripwire предусмотрена функция emailto. По умолчанию tripwire использует Postfix или Sendmail для отправки отчета по электронной почте.
Прежде чем настраивать уведомления по электронной почте, протестируйте функцию уведомлений tripwire с помощью приведенной ниже команды.
sudo tripwire --test --email
Проверьте свою электронную почту, и вы должны получить отчет по электронной почте с вашего сервера, как показано ниже.
Теперь перейдите в каталог /etc/tripwire и отредактируйте конфигурацию twpol.txt.
cd /etc/tripwire/
vim twpol.txt
Добавьте новую строку email в правило данных Wordpress, как показано ниже.
# Ruleset for Wordpress
(
rulename = "Wordpress Data",
severity= $(SIG_HI),
emailto =
)
{
/var/www -> $(SEC_CRIT);
}
Сохранить и выйти.
Повторно сгенерируйте и подпишите конфигурацию с помощью команды twadmin.
sudo twadmin -m P /etc/tripwire/twpol.txt
Введите кодовую фразу ключа сайта.
И восстановите базу данных tripwire.
sudo tripwire --init
Введите кодовую фразу локального ключа tripwire.
Настройка уведомления по электронной почте Tripwire завершена.
Теперь проведите небольшой тест, снова создав новый файл в каталоге /var/www/.
cd /var/www/
touch hakase.txt
Проверьте свою систему еще раз, используя приведенную ниже команду.
sudo tripwire --check --email-report
Примечание:
- --email-report: отправить отчет о системе на адрес электронной почты, указанный в каждом правиле.
Проверьте свою электронную почту, и вы должны получить результат, как показано ниже.
Уведомление по электронной почте для Tripwire включено и применяется.
Затем включите автоматическую проверку системы Tripwire с помощью настройки cron. Для этого создайте новый cron-скрипт под пользователем root с помощью приведенной ниже команды crontab.
sudo crontab -e -u root
Вставьте следующую конфигурацию cron.
0 0 * * * tripwire --check --email-report
Сохранить и выйти.
Примечание:
- - Скрипт cron будет ежедневно проверять систему tripwire.
Теперь перезапустите службу crond в CentOS 7.
systemctl restart crond
Теперь вы будете ежедневно получать уведомления об отчетах tripwire на свою электронную почту.
Tripwire был установлен и настроен для системы CentOS 7.
Ссылка
- https://www-uxsup.csx.cam.ac.uk/