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

Как отслеживать и обнаруживать измененные файлы с помощью Tripwire IDS в Ubuntu 16.04


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

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

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

В этом руководстве мы покажем вам, как установить и настроить IDS на базе хоста Tripwire в Ubuntu 16.04. Мы также покажем вам, как настроить tripwire для отслеживания и обнаружения измененных файлов в системе.

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

  1. Установить Tripwire
  2. Настройка политики Tripwire для системы Ubuntu
  3. Проверьте конфигурацию Tripwire
  4. Добавить новый набор правил в политику Tripwire.
  5. Настройка уведомлений Tripwire и cron

Предпосылки

  • Сервер Ubuntu 16.04
  • Привилегии root

Шаг 1. Установите Tripwire

Первым шагом является установка tripwire в систему. Инструмент доступен в официальном репозитории Ubuntu — просто обновите репозиторий Ubuntu и установите Tripwire, используя следующие команды.

sudo apt update
sudo apt install -y tripwire

Во время установки вас спросят о настройке Postfix SMTP. Выберите «Интернет-сайт» и нажмите «ОК», чтобы продолжить установку.

Для имени почтовой системы оставьте значение по умолчанию (как показано ниже) и нажмите OK, чтобы продолжить.

Далее вас спросят о конфигурации Tripwire.

Создайте новый ключ сайта для Tripwire — выберите «Да» и нажмите «Ввод», чтобы продолжить.

Теперь для локального ключа выберите «Да» и снова нажмите «Ввод».

Для параметра «Перестроить конфигурацию Tripwire» выберите «Да».

То же самое для параметра «Перестроить политику Tripwire» — выберите «Да».

Теперь вам будет предложено ввести парольную фразу ключа сайта. Введите пароль и выберите ОК.

Повторите парольную фразу ключа сайта.

Затем в качестве парольной фразы локального ключа введите пароль и нажмите кнопку ОК.

Повторите кодовую фразу локального ключа.

На этом установка tripwire на Ubuntu 16.04 завершена.

Шаг 2. Настройте политику Tripwire для системы Ubuntu.

На этом этапе мы настроим Tripwire для нашей системы Ubuntu. Вся конфигурация, связанная с Tripwire, находится в каталоге /etc/tripwire.

После установки Tripwire нам необходимо инициализировать систему базы данных. Выполните для него следующую команду.

sudo tripwire --init

Вас спросят о вашей кодовой фразе для локального ключа — введите кодовую фразу для локального ключа и нажмите Enter.

И вы, скорее всего, получите сообщение об ошибке Нет такого каталога, как показано ниже.

Чтобы устранить эту ошибку, нам нужно отредактировать файл конфигурации Tripwire и заново сгенерировать конфигурацию.

Перед редактированием конфигурации Tripwire нам нужно проверить, какой каталог не существует, что вы можете сделать с помощью следующей команды.

sudo sh -c "tripwire --check | grep Filename > no-directory.txt"

Теперь вы можете увидеть все каталоги и файлы, которые не существуют, следующим образом.

cat no-directory.txt

Затем перейдите в каталог конфигурации Tripwire и отредактируйте файл конфигурации twpol.txt.

cd /etc/tripwire/
vim twpol.txt

В правиле Boot Scripts прокомментируйте строку, как показано ниже.

(
  rulename = "Boot Scripts",
  severity = $(SIG_HI)
)
{
        /etc/init.d             -> $(SEC_BIN) ;
        #/etc/rc.boot           -> $(SEC_BIN) ;
        /etc/rcS.d              -> $(SEC_BIN) ;

В правиле System Boot Changes прокомментируйте, как показано ниже.

(
  rulename = "System boot changes",
  severity = $(SIG_HI)
)
{
        #/var/lock               -> $(SEC_CONFIG) ;
        #/var/run                -> $(SEC_CONFIG) ; # daemon PIDs
        /var/log                -> $(SEC_CONFIG) ;

В правиле корневых файлов конфигурации внесите следующие изменения.

(
  rulename = "Root config files",
  severity = 100
)
{
        /root                           -> $(SEC_CRIT) ; # Catch all additions to /root
        #/root/mail                     -> $(SEC_CONFIG) ;
        #/root/Mail                     -> $(SEC_CONFIG) ;
        #/root/.xsession-errors         -> $(SEC_CONFIG) ;
        #/root/.xauth                   -> $(SEC_CONFIG) ;
        #/root/.tcshrc                  -> $(SEC_CONFIG) ;
        #/root/.sawfish                 -> $(SEC_CONFIG) ;
        #/root/.pinerc                  -> $(SEC_CONFIG) ;
        #/root/.mc                      -> $(SEC_CONFIG) ;
        #/root/.gnome_private           -> $(SEC_CONFIG) ;
        #/root/.gnome-desktop           -> $(SEC_CONFIG) ;
        #/root/.gnome                   -> $(SEC_CONFIG) ;
        #/root/.esd_auth                        -> $(SEC_CONFIG) ;
        #/root/.elm                     -> $(SEC_CONFIG) ;
        #/root/.cshrc                   -> $(SEC_CONFIG) ;
        /root/.bashrc                   -> $(SEC_CONFIG) ;
        #/root/.bash_profile            -> $(SEC_CONFIG) ;
        #/root/.bash_logout             -> $(SEC_CONFIG) ;
        /root/.bash_history             -> $(SEC_CONFIG) ;
        #/root/.amandahosts             -> $(SEC_CONFIG) ;
        #/root/.addressbook.lu          -> $(SEC_CONFIG) ;
        #/root/.addressbook             -> $(SEC_CONFIG) ;
        #/root/.Xresources              -> $(SEC_CONFIG) ;
        #/root/.Xauthority              -> $(SEC_CONFIG) -i ; # Changes Inode number on login
        #/root/.ICEauthority                -> $(SEC_CONFIG) ;

В правиле информации об устройстве и ядре измените строку, как показано ниже.

(
  rulename = "Devices & Kernel information",
  severity = $(SIG_HI),
)
{
        /dev            -> $(Device) ;
        /dev/pts        -> $(Device);
        /dev/shm        -> $(Device);
        /dev/hugepages  -> $(Device);
        /dev/mqueue     -> $(Device);
        #/proc          -> $(Device) ;
        /proc/devices           -> $(Device) ;
        /proc/net               -> $(Device) ;
        /proc/tty               -> $(Device) ;
        /proc/cpuinfo           -> $(Device) ;
        /proc/modules           -> $(Device) ;
        /proc/mounts            -> $(Device) ;
        /proc/dma               -> $(Device) ;
        /proc/filesystems       -> $(Device) ;
        /proc/interrupts        -> $(Device) ;
        /proc/ioports           -> $(Device) ;
        /proc/scsi              -> $(Device) ;
        /proc/kcore             -> $(Device) ;
        /proc/self              -> $(Device) ;
        /proc/kmsg              -> $(Device) ;
        /proc/stat              -> $(Device) ;
        /proc/loadavg           -> $(Device) ;
        /proc/uptime            -> $(Device) ;
        /proc/locks             -> $(Device) ;
        /proc/meminfo           -> $(Device) ;
        /proc/misc              -> $(Device) ;
}

Вот и все. Сохраните изменения и выйдите из редактора.

После редактирования файла конфигурации внесите все изменения, заново создав зашифрованный файл политики с помощью команды twadmin, как показано ниже.

sudo twadmin -m P /etc/tripwire/twpol.txt

Введите парольную фразу ключа сайта и нажмите Enter.

При этом будет создана новая политика Tripwire. Теперь повторно инициализируйте базу данных Tripwire.

sudo tripwire --init

Введите кодовую фразу локального ключа и убедитесь, что на этот раз вы не получите ошибку.

Политика Tripwire настроена для системы Ubuntu.

Шаг 3 - Проверьте целостность системных файлов

Tripwire установлен, а политика tripwire обновлена и повторно инициализирована. На этом этапе мы будем вручную проверять систему с помощью Tripwire.

Проверьте все системные файлы с помощью следующей команды.

sudo tripwire --check

И вы должны получить «Нет нарушений» и «Нет ошибок» в результате/выводе.

Далее добавьте новый файл в корневой каталог и снова проверьте систему с помощью Tripwire.

cd ~/
touch hakase-labs.txt
sudo tripwire --check

И в выводе добавление файла и изменение каталога, в котором находится файл, должны отображаться как нарушения.

См. результат ниже.

Шаг 4. Добавьте новое правило в Tripwire

На этом шаге мы хотим добавить в конфигурацию новое правило Tripwire. Чтобы создать новую политику tripwire, нам нужно определить имя правила, серьезность и тип файлов. На этом этапе мы попытаемся добавить новое правило с именем Wordpress Data с серьезностью High/SIG_HI, и все файлы в этом каталоге не могут быть изменены.

Перейдите в каталог конфигурации tripwire и отредактируйте файл конфигурации twpol.txt.

cd /etc/tripwire/
vim twpol.txt

Перейдите к концу строки и вставьте образец правила Tripwire ниже.

# Ruleset for Wordpress
(
  rulename = "Wordpress Ruleset",
  severity= $(SIG_HI)
)
{
        /var/www        -> $(SEC_CRIT);
}

Сохранить и выйти.

Теперь заново создайте файл конфигурации tripwire.

sudo twadmin -m P /etc/tripwire/twpol.txt

Введите кодовую фразу ключа сайта.

И повторно инициализируйте базу данных Tripwire.

sudo tripwire --init

Введите кодовую фразу локального ключа.

Если все эти настройки завершены, мы можем попытаться создать новый файл или изменить файл в каталоге /var/www/.

Перейдите в каталог /var/www/, создайте новый файл и измените индексный файл.

cd /var/www/
touch hakase-labs.txt
echo "<h1> Hakase-labs Tutorial</h1>" > html/index.nginx-debian.html

Проверьте систему с помощью приведенной ниже команды tripwire.

sudo tripwire --check

И вы получите уведомление о нарушениях системы с уровнем безопасности 100, как показано ниже.

Добавлено новое правило Tripwire.

Шаг 5. Настройте уведомления Tripwire и cron

На этом шаге мы настроим уведомления для определенной политики набора правил Tripwire и настроим cron для автоматической проверки системы.

Для уведомлений по электронной почте Tripwire предоставляет в настройках функцию emailto. Tripwire использует Postfix для уведомлений по электронной почте, который автоматически устанавливается во время установки инструментов.

Прежде чем настраивать уведомления по электронной почте, проверьте уведомление Tripwire с помощью приведенной ниже команды.

tripwire --test --email 

И убедитесь, что у вас есть электронная почта с вашего сервера, как показано ниже.

Теперь перейдите в каталог /etc/tripwire и отредактируйте конфигурацию twpol.txt.

cd /etc/tripwire/
vim twpol.txt

Добавьте новую строку в правило данных Wordpress, как показано ниже.

# Rules for Web-app
(
  rulename = "Wordpress Rule",
  severity = $(SIG_HI),
  emailto =
)

Вот и все. Сохранить и выйти.

Затем заново создайте конфигурацию и повторно инициализируйте базу данных Tripwire.

sudo twadmin -m P /etc/tripwire/twpol.txt
sudo tripwire --init

Введите парольную фразу ключа сайта для повторной генерации конфигурации и парольную фразу локального ключа для повторной инициализации.

Теперь снова создайте новый файл в каталоге /var/www/, проверьте систему вручную с помощью Tripwire и отправьте отчет по электронной почте.

sudo tripwire --check --email-report

И вы должны получить отчет по электронной почте в свой почтовый ящик.

Двигаясь дальше, для конфигурации cron нам просто нужно определить время, в которое будет запускаться команда tripwire. Мы настроим ежедневную проверку системы Tripwire.

Создайте новый cron, используя команду crontab ниже.

sudo crontab -e -u root

И вставьте конфигурацию cron ниже.

0 0 * * * tripwire --check --email-report

Сохраните и выйдите, а затем перезагрузите cron.

systemctl restart cron

Теперь система будет выполнять проверку каждый день и присылать уведомление о нарушении правил Wordpress на вашу электронную почту.

Tripwire IDS был установлен и настроен на Ubuntu 16.04, и все файлы и каталоги в системе отслеживались. Вы можете добавить свой собственный набор правил, следуя инструкциям на шаге 4.

Ссылка

  • https://www-uxsup.csx.cam.ac.uk/