Как установить и настроить Tripwire IDS в Debian 10
На этой странице
- Предпосылки
- Начало работы
- Установить Tripwire
- Настроить Tripwire
- Подтвердить IDS Tripwire
- Автоматизировать отчет Tripwire
- Заключение
Tripwire — это бесплатная система обнаружения вторжений для Linux с открытым исходным кодом. Он используется для обнаружения и сообщения о любых несанкционированных изменениях файлов и каталогов в Linux. Он также отправит вам оповещение по электронной почте об изменении файла/каталога. Tripwire сравнивает текущее состояние файловой системы с известным базовым состоянием и сообщает, если обнаруживает какие-либо изменения.
В этом посте мы покажем вам, как установить и настроить Tripwire на Debian 10.
Предпосылки
- Сервер под управлением Debian 10.
- На сервере настроен пароль root.
Начиная
Сначала обновите системные пакеты до обновленной версии, выполнив следующую команду:
apt-get update -y
Как только все пакеты будут обновлены, вы можете перейти к следующему шагу.
Установить Tripwire
По умолчанию пакет Tripwire доступен в репозитории по умолчанию Debian 10. Вы можете установить его с помощью следующей команды:
apt-get install tripwire -y
Во время установки вам будет предложено выбрать конфигурацию электронной почты, как показано ниже:
Выберите нужный вариант и нажмите ENTER. Вам будет предложено настроить имя системной почты, как показано ниже:
Укажите свое имя системной почты и нажмите ENTER. Вам будет предложено создать кодовую фразу для ключа сайта, как показано ниже:
Выберите Да и нажмите ENTER. Вам будет предложено перестроить файл конфигурации Tripwire, как показано ниже:
Выберите Да и нажмите ENTER. Вам будет предложено перестроить файл политики Tripwire, как показано ниже:
Выберите Да и нажмите ENTER. Вам будет предложено ввести кодовую фразу ключа сайта, как показано ниже:
Введите свой пароль и нажмите ENTER. Вам будет предложено установить кодовую фразу для локального ключа, как показано ниже:
Введите свой пароль и нажмите ENTER. После установки Tripwire вы должны увидеть следующий экран:
Нажмите кнопку «ОК», чтобы завершить установку.
Настроить Tripwire
Далее вам нужно будет сгенерировать ключи Tripwire и инициализировать базу данных. Сначала измените каталог на Tripwire и перечислите все ключи и файлы с помощью следующей команды:
cd /etc/tripwire/
ls
Вы должны увидеть следующий вывод:
debian10-local.key site.key tw.cfg twcfg.txt tw.pol twpol.txt
Затем отредактируйте файл конфигурации Tripwire и установите для REPORTLEVEL значение 4.
nano /etc/tripwire/twcfg.txt
Измените следующую строку:
REPORTLEVEL =4
Сохраните и закройте файл, когда закончите.
Затем создайте новый файл конфигурации с помощью следующей команды:
twadmin -m F -c tw.cfg -S site.key twcfg.txt
Вам будет предложено ввести кодовую фразу вашего сайта, как показано ниже:
Please enter your site passphrase: Wrote configuration file: /etc/tripwire/tw.cfg
Затем создайте файл twpolmake.pl для оптимизации политики Tripwire.
nano twpolmake.pl
Добавьте следующие строки:
#!/usr/bin/perl $POLFILE=$ARGV[0]; open(POL,"$POLFILE") or die "open error: $POLFILE" ; my($myhost,$thost) ; my($sharp,$tpath,$cond) ; my($INRULE) = 0 ; while () { chomp; if (($thost) = /^HOSTNAME\s*=\s*(.*)\s*;/) { $myhost = `hostname` ; chomp($myhost) ; if ($thost ne $myhost) { $_="HOSTNAME=\"$myhost\";" ; } } elsif ( /^{/ ) { $INRULE=1 ; } elsif ( /^}/ ) { $INRULE=0 ; } elsif ($INRULE == 1 and ($sharp,$tpath,$cond) = /^(\s*\#?\s*)(\/\S+)\b(\s+->\s+.+)$/) { $ret = ($sharp =~ s/\#//g) ; if ($tpath eq '/sbin/e2fsadm' ) { $cond =~ s/;\s+(tune2fs.*)$/; \#$1/ ; } if (! -s $tpath) { $_ = "$sharp#$tpath$cond" if ($ret == 0) ; } else { $_ = "$sharp$tpath$cond" ; } } print "$_\n" ; } close(POL) ;
Сохраните и закройте файл, затем создайте файл конфигурации с помощью следующей команды:
perl twpolmake.pl twpol.txt > twpol.txt.new
twadmin -m P -c tw.cfg -p tw.pol -S site.key twpol.txt.new
Вы должны увидеть следующий вывод:
Please enter your site passphrase: Wrote policy file: /etc/tripwire/tw.pol
Затем создайте базу данных Tripwire с помощью следующей команды:
tripwire -m i -s -c tw.cfg
Вы должны увидеть следующий вывод:
Please enter your local passphrase: ### Warning: File system error. ### Filename: /var/lib/tripwire/debian10.twd ### No such file or directory ### Continuing...
Вы также можете отобразить сгенерированную базу данных с помощью следующей команды:
twprint -m d -d /var/lib/tripwire/debian10.twd
Вы должны увидеть следующий вывод:
Open Source Tripwire(R) 2.4.3.7 Database Database generated by: root Database generated on: Sun 09 May 2021 08:39:18 AM UTC Database last updated on: Never =============================================================================== Database Summary: =============================================================================== Host name: debian10 Host IP address: 45.58.38.142 Host ID: None Policy file used: /etc/tripwire/tw.pol Configuration file used: /etc/tripwire/tw.cfg Database file used: /var/lib/tripwire/debian10.twd Command line used: tripwire -m i -s -c tw.cfg =============================================================================== Object Summary: =============================================================================== ------------------------------------------------------------------------------- # Section: Unix File System -------------------------------------------------------------------------------
Если вы хотите обновить базу данных Tripwire, выполните следующую команду:
tripwire --update --accept-all
Вы должны получить следующий результат:
### Error: File could not be opened. ### Filename: /var/lib/tripwire/report/debian10-20210509-084141.twr ### No such file or directory ### Exiting...
Теперь протестируйте Tripwire с помощью следующей команды:
tripwire -m c -s -c /etc/tripwire/tw.cfg
Вы должны увидеть следующий вывод:
Open Source Tripwire(R) 2.4.3.7 Integrity Check Report Report generated by: root Report created on: Sun 09 May 2021 08:42:15 AM UTC Database last updated on: Never =============================================================================== Report Summary: =============================================================================== Host name: debian10 Host IP address: 45.58.38.142 Host ID: None Policy file used: /etc/tripwire/tw.pol Configuration file used: /etc/tripwire/tw.cfg Database file used: /var/lib/tripwire/debian10.twd Command line used: tripwire -m c -s -c /etc/tripwire/tw.cfg =============================================================================== Rule Summary: =============================================================================== ------------------------------------------------------------------------------- Section: Unix File System ------------------------------------------------------------------------------- Rule Name Severity Level Added Removed Modified --------- -------------- ----- ------- -------- Other binaries 66 0 0 0 Tripwire Binaries 100 0 0 0 Other libraries 66 0 0 0 Root file-system executables 100 0 0 0 * Tripwire Data Files 100 1 0 0 System boot changes 100 0 0 0 Root file-system libraries 100 0 0 0 (/lib) Critical system boot files 100 0 0 0 * Other configuration files 66 0 0 1 (/etc) Boot Scripts 100 0 0 0 Security Control 66 0 0 0 Root config files 100 0 0 0 Devices & Kernel information 100 0 0 0 (/dev) Invariant Directories 66 0 0 0 Total objects scanned: 27975 Total violations found: 2 =============================================================================== Object Summary: =============================================================================== ------------------------------------------------------------------------------- # Section: Unix File System ------------------------------------------------------------------------------- ------------------------------------------------------------------------------- Rule Name: Tripwire Data Files (/var/lib/tripwire/debian10.twd) Severity Level: 100 -------------------------------------------------------------------------------
По умолчанию файлы отчетов Tripwire находятся в папке /var/lib/tripwire/report/:
ls /var/lib/tripwire/report/
Вывод:
debian10-20210509-084215.twr
Вы можете проверить этот отчет с помощью следующей команды:
twprint -m r -t 4 -r /var/lib/tripwire/report/debian10-20210509-084215.twr
Подтвердить IDS Tripwire
На этом этапе Tripwire установлен и настроен. Теперь пришло время проверить, работает ли Tripwire.
Сначала создайте несколько файлов в вашей системе с помощью следующей команды:
touch fil1 file2 file3 file4 file5
Теперь запустите Tripwire, чтобы проверить, обнаруживает ли Tripwire эти файлы:
tripwire --check --interactive
Вы должны увидеть вновь созданные файлы в следующем выводе:
Open Source Tripwire(R) 2.4.3.7 Integrity Check Report Report generated by: root Report created on: Sun 09 May 2021 08:46:36 AM UTC Database last updated on: Never =============================================================================== Report Summary: =============================================================================== Host name: debian10 Host IP address: 45.58.38.142 Host ID: None Policy file used: /etc/tripwire/tw.pol Configuration file used: /etc/tripwire/tw.cfg Database file used: /var/lib/tripwire/debian10.twd Command line used: tripwire --check --interactive =============================================================================== ------------------------------------------------------------------------------- Rule Name: Other configuration files (/etc) Severity Level: 66 ------------------------------------------------------------------------------- Remove the "x" from the adjacent box to prevent updating the database with the new values for this object. Modified: [x] "/etc/tripwire" ------------------------------------------------------------------------------- Rule Name: Root config files (/root) Severity Level: 100 ------------------------------------------------------------------------------- Remove the "x" from the adjacent box to prevent updating the database with the new values for this object. Added: [x] "/root/file4" [x] "/root/file3" [x] "/root/fil1" [x] "/root/file2" [x] "/root/file5" Modified: [x] "/root" ===============================================================================
Вы также можете проверить сгенерированный отчет позже, используя следующую команду:
twprint --print-report --twrfile /var/lib/tripwire/report/debian10-20210509-084636.twr
Автоматизировать отчет Tripwire
Вы также можете настроить задание cron для запуска Tripwire в определенное время. Вы можете сделать это с помощью следующей команды:
crontab -e
Добавьте следующие строки:
00 06 * * * /usr/sbin/tripwire --check
Сохраните и закройте файл, когда закончите.
Приведенный выше файл будет запускать Tripwire каждое утро в 06:00. Вы можете проверить сгенерированный отчет в /var/lib/tripwire/report/.
Заключение
Поздравляем! вы успешно установили и настроили Tripwire IDS в Debian 10. Надеюсь, это поможет вам проверить, какие файлы или каталоги изменены в вашей системе.