Поиск по сайту:

Мониторинг и обнаружение измененных файлов с помощью Tripwire в CentOS 7


На этой странице

  1. Что мы будем делать
  2. Предпосылки
  3. Шаг 1. Установите Tripwire на CentOS 7
  4. Шаг 2. Настройка политики Tripwire для CentOS 7
  5. Шаг 3. Проверка конфигурации и системы Tripwire
  6. Шаг 4. Добавьте новое правило в политику Tripwire
  7. Шаг 5. Настройка уведомлений Tripwire по электронной почте и Cron
  8. Справочник

Tripwire — это бесплатная система обнаружения вторжений (IDS) с открытым исходным кодом. Это инструмент безопасности для мониторинга и оповещения об изменениях файлов в системе. Tripwire — это мощная IDS, которая защищает вашу систему от нежелательных изменений. Вы можете использовать его для мониторинга ваших системных файлов, в том числе файлов веб-сайта, поэтому при нежелательном изменении файлов Tripwire проверит вашу систему и, если она настроена правильно, может предупредить вас по электронной почте.

В этом руководстве мы покажем вам, как отслеживать и обнаруживать любые изменения в ваших системных файлах с помощью Tripwire в системе CentOS 7. Мы покажем вам, как установить и настроить Tripwire на CentOS 7, как сгенерировать ключевые файлы Tripwire, настроить и добавить политику tripwire, проверить систему и включить уведомления по электронной почте для настройки tripwire и cron.

Что мы будем делать

  1. Установите Tripwire на CentOS 7
  2. Настройка политики Tripwire для CentOS 7
  3. Проверка конфигурации Tripwire
  4. Добавить новое правило в политику Tripwire
  5. Настройка уведомлений 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 работает с двумя ключевыми файлами.

  1. site-key: используется для защиты конфигурации Tripwire. Таким образом, любые изменения в конфигурации tripwire не будут применены до тех пор, пока мы не сгенерируем конфигурацию снова, и для этого нам будет предложено ввести кодовую фразу ключа сайта.
  2. 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/