Бруй В.В., Карлов С.В. - Linux-сервер - пошаговые инструкции - инсталляции и настройки (1077321), страница 61
Текст из файла (страница 61)
В рассматриваемом примере отслеживаются все адреса.Строка:var SMTP $HOME_NETпредписывает отслеживать атаки на службы SMTP на системах вашей сети.Строка:var HTTP_SERVERS $HOME_NETпредписывает отслеживать атаки на службы HTTP на системах вашей сети.Строка:var SQL_SERVERS $HOME_NETпредписывает отслеживать атаки на службы SQL на системах вашей сети.Строка:var DNS_SERVERS $HOME_NETпредписывает отслеживать атаки на службы DNS на системах вашей сети.250Часть 4. Программное обеспечение для ограничения доступа к серверу...Строка:var RULE_PATH ./определяет путь к файлам, содержащим правила Snort.Строка:preprocessor frag2предписывает обнаруживать дефрагментацию IP-пакетов и основанных на ней атаках.Строка:preprocessor stream4: detect_scans,detect_state_problemsпредписывает осуществлять детальный анализ TCP и регистрировать на его основе попытки сканированияпортов, определения типа операционной системы и др.
Для конфигурирования используются следующиеопции:• detect_scans – используется для обнаружения незаметных сканирований портов и выдачи предупреждений;• detect_state_problems – используется для обнаружения сбоев в работе TCP;• keepstats – используется для сохранения статистики сеанса;• noinspect – используется только для выключения режима детального анализа трафика TCP;• timeout – используется для установки или изменения заданного по умолчанию счетчика времениблокировки сеанса;• memcap – используется для ограничения объема памяти;• log_flushed_streams – используется для записи всей информации, накопленной в буфере, надиск.detect_scansВрассматриваемомпримереиспользуютсятолькоопциииdetect_state_problems, позволяющие регистрировать сканирование портов и сбои TCP.Строка:preprocessor stream4_reassemble: both, ports allпредписывает использовать дополнительные возможности детального анализа трафика TCP.
Для конфигурирования дополнительных возможностей используются следующие опции:• clientonly – используется для детального анализа трафика только со стороны клиента;• serveronly – используется для детального анализа трафика только со стороны сервера;• both – используется для детального анализа трафика, как со стороны клиента, так и сервера;• noalerts м используется для выключения всех предупреждений во время анализа трафика;• ports – используется для задания отслеживаемых номеров портов.detect_scansВрассматриваемомпримереиспользуютсятолькоопциииdetect_state_problems, позволяющие осуществлять детальный анализ трафика как со стороны клиента, так и сервера для всех номеров портов.Строка:preprocessor http_decode: 80предписывает отслеживать деструктивные воздействия на вашу систему по протоколу HTTP.Строка:preprocessor rpc_decode: 111 32771предписывает отслеживать деструктивные воздействия на вашу систему по протоколу RPC.
В рассматриваемом примере в качестве опций используются номера портов, задаваемые по умолчанию.Строка:preprocessor boпредписывает отслеживать трафик Back Orifice.Строка:preprocessor telnet_decodeпредписывает отслеживать деструктивные воздействия на вашу систему по протоколу TELNET и FTP.Строка:preprocessor portscan: $HOME_NET 4 3 portscan.logпредписывает обнаруживать и регистрировать сканирование портов с использованием UDP или TCPпакетов с SYN-битом.
В рассматриваемом примере регистрируются пакеты, обращающиеся к четырем различным портам за время меньшее, чем три секунды.Строка:preprocessor portscan-ignorehosts: 212.45.28.122 212.45.28.123предписывает не анализировать и не регистрировать трафик с IP-адресов 212.45.28.122 и 212.45.28.123.Строка:output alert_syslog: LOG_AUTH LOG_ALERTпредписывает регистрировать все обращения Snort с помощью syslogd.Строка:include classification.configГлава 19. Snort – программное обеспечение для обнаружения попыток вторжения251предписывает подключить файл classification.config.Шаг 2Для запуска и остановки Snort создайте файл /etc/init.d/snort, содержащий следующие строки:#!/bin/bash# This shell script takes care of starting and stopping the snort IDSdaemon.## chkconfig: 2345 40 60# description: Snort is a lightweight network intrusion detection toolthat \#currently detects more than 1100 host and network \#vulnerabilities, portscans, backdoors, and more.# Source function library..
/etc/init.d/functions# Source networking configuration.. /etc/sysconfig/network# Check that networking is up.[ ${NETWORKING} = "no" ] && exit 0# Specify your network interface hereINTERFACE=eth0RETVAL=0prog="Snort"start() {echo -n $"Starting $prog: "daemon /usr/bin/snort -A fast -u snort -g snort -b -s -z -d -D \-i $INTERFACE -c /etc/snort/snort.confRETVAL=$?echo[ $RETVAL = 0 ] && touch /var/lock/subsys/snortreturn $RETVAL}stop() {echo -n $"Shutting down $prog: "killproc snortRETVAL=$?echo[ $RETVAL = 0 ] && rm -f /var/lock/subsys/snortreturn $RETVAL}# See how we were called.case "$1" instart)start;;stop)stop;;status)status snort;;restart)stopstart;;252Часть 4. Программное обеспечение для ограничения доступа к серверу...condrestart)[ -f /var/lock/subsys/snort ] && restart;;*)echo $"Usage: $prog {start|stop|status|restart|condrestart}"exit 1esacexit $RETVALШаг 3Установите права доступа к файлу, назначьте его владельцем пользователя root и создайте соответствующие ссылки:[root@drwalbr /]# chmod 700 /etc/init.d/snort[root@drwalbr /]# chown 0.0 /etc/init.d/snortЕсли вы хотите, чтобы Snort автоматически запускался при загрузке системы, создайте соответствующие ссылки:[root@drwalbr /]# chkconfig --add sshd[root@drwalbr /]# chkconfig --level 2345 sshd onТестирование SnortШаг 1Запустите Snort:[root@drwalbr snort]# /etc/init.d/snort startЗапускается Snort: eth0: Promiscuous mode enabled.[ОК]Шаг 2Просканируйте какую-нибудь систему в локальной сети с помощью сканера портов, например, Nmap(http://www.insecure.org/) в режиме определения типа операционной системы:[root@drwalbr snort]# nmap -O 192.168.10.5eth0: Promiscuous mode enabled.…eth0: Promiscuous mode enabled.Starting nmap V.
2.54BETA34 ( www.insecure.org/nmap/ )Insufficient responses for TCP sequencing (3), OS detection may be lessaccurateInsufficient responses for TCP sequencing (3), OS detection may be lessaccurateInsufficient responses for TCP sequencing (3), OS detection may be lessaccurateInteresting ports on (192.168.10.5):(The 1548 ports scanned but not shown below are in state: closed)PortStateService21/tcpopenftp22/tcpfilteredssh25/tcpfilteredsmtp80/tcpopenhttp110/tcpfilteredpop-33000/tcpopenppp3306/tcpfilteredmysql6667/tcpopenircNo exact OS matches for host (If you know what OS is running on it, seehttp://www.insecure.org/cgi-bin/nmap-submit.cgi).TCP/IP fingerprint:SInfo(V=2.54BETA34%P=i386-asplinux-linuxgnu%D=4/10%Time=3E953AC4%O=21%C=1)T1(Resp=Y%DF=N%W=E000%ACK=S++%Flags=AS%Ops=M)T2(Resp=N)T3(Resp=N)T4(Resp=N)Глава 19.
Snort – программное обеспечение для обнаружения попыток вторжения253T5(Resp=Y%DF=N%W=0%ACK=S++%Flags=AR%Ops=)T6(Resp=Y%DF=N%W=0%ACK=O%Flags=R%Ops=)T7(Resp=Y%DF=N%W=0%ACK=S%Flags=AR%Ops=)PU(Resp=Y%DF=N%TOS=0%IPLEN=38%RIPTL=148%RID=E%RIPCK=E%UCK=0%ULEN=134%DAT=E)Nmap run completed -- 1 IP address (1 host up) scanned in 52 secondsЗАМЕЧАНИЕ Нужно осуществлять сканирование систем, не указанных в строке: preprocessorportscan-ignorehosts: 212.45.28.122 212.45.28.123 файла /etc/snort/snort.conf.Шаг 3В файле /var/log/snort/portscan.log:Apr 10 13:32:33 192.168.2.99:39192Apr 10 13:32:35 192.168.2.99:39197Apr 10 13:34:28 192.168.2.99:37780Apr 10 13:34:28 192.168.2.99:38239Apr 10 13:34:28 192.168.2.99:51081Apr 10 13:34:28 192.168.2.99:52548Apr 10 13:34:28 192.168.2.99:59773Apr 10 13:34:28 192.168.2.99:40720Apr 10 13:34:28 192.168.2.99:38440Apr 10 13:34:28 192.168.2.99:54059Apr 10 13:34:28 192.168.2.99:54856…Apr 10 13:34:38 192.168.2.99:35300Apr 10 13:34:40 192.168.2.99:35301Apr 10 13:34:38 192.168.2.99:35302Apr 10 13:34:38 192.168.2.99:35304Apr 10 13:34:38 192.168.2.99:35306Apr 10 13:34:40 192.168.2.99:35302Apr 10 13:34:44 192.168.2.99:35299Apr 10 13:34:46 192.168.2.99:35300Apr 10 13:34:48 192.168.2.99:35301Apr 10 13:34:46 192.168.2.99:35302Apr 10 13:34:46 192.168.2.99:35304Apr 10 13:34:46 192.168.2.99:35306Apr 10 13:34:48 192.168.2.99:35302Apr 10 13:34:52 192.168.2.99:35297Apr 10 13:34:55 192.168.2.99:35300Apr 10 13:34:56 192.168.2.99:35301Apr 10 13:34:55 192.168.2.99:35302Apr 10 13:34:55 192.168.2.99:35304Apr 10 13:34:55 192.168.2.99:35306Apr 10 13:34:56 192.168.2.99:35302Apr 10 13:35:00 192.168.2.99:35298->->->->->->->->->->->192.168.10.5:21 SYN ******S*192.168.10.5:21 SYN ******S*192.168.10.5:2035 SYN ******S*192.168.10.5:657 SYN ******S*192.168.10.5:329 SYN ******S*192.168.10.5:1516 SYN ******S*192.168.10.5:1472 SYN ******S*192.168.10.5:314 SYN ******S*192.168.10.5:388 SYN ******S*192.168.10.5:586 SYN ******S*192.168.10.5:613 SYN ******S*->->->->->->->->->->->->->->->->->->->->->192.168.10.5:21 SYN *2****S*192.168.10.5:21 NULL ********192.168.10.5:21 NMAPID **U*P*SF192.168.10.5:1 SYN ******S*192.168.10.5:1 XMAS **U*P**F192.168.10.5:21 NMAPID **U*P*SF192.168.10.5:21 SYN ******S*192.168.10.5:21 SYN *2****S*192.168.10.5:21 NULL ********192.168.10.5:21 NMAPID **U*P*SF192.168.10.5:1 SYN ******S*192.168.10.5:1 XMAS **U*P**F192.168.10.5:21 NMAPID **U*P*SF192.168.10.5:21 SYN ******S*192.168.10.5:21 SYN ******S*192.168.10.5:21 NULL ********192.168.10.5:21 NMAPID **U*P*SF192.168.10.5:1 SYN ******S*192.168.10.5:1 XMAS **U*P**F192.168.10.5:21 NMAPID **U*P*SF192.168.10.5:21 SYN ******S*вы увидите информацию о пакетах, с помощью которых Nmap пытался обнаружить открытые порты и типоперационной системы на сервере 192.168.10.5.Выполнение Snort в среде chroot-jailПотенциальные уязвимости Snort, как и любого другого программного обеспечения, могут использоваться для реализации атак на вашу систему.
Поэтому для повышения безопасности системы рекомендуетсявыполнять Snort в окружении chroot-jail. Для этого необходимо выполнить следующие операции.Шаг 1Создайте каталоги для размещенияних пользователя snort:[root@drwalbr /]# mkdir -p[root@drwalbr /]# mkdir -p[root@drwalbr /]# chown -RSnort в окружении chroot-jail, назначьте владельцем второго из/chroot/snort/etc/snort/chroot/snort/var/log/snortsnort.snort /chroot/snort/var/log/snort254Часть 4. Программное обеспечение для ограничения доступа к серверу...ЗАМЕЧАНИЕ Для повышения безопасности вашей системы каталог /chroot/snort/ рекомендуетсяразмещать на отдельном разделе диска.Шаг 2Переместите конфигурационные файлы Snort в соответствующие подкаталоги окружения chroot-jail:[root@drwalbr /]# mv /etc/snort/* /chroot/snort/etc/snort[root@drwalbr /]# chmod 0644 /chroot/snort/etc/snort/*Шаг 3Для запуска и остановки Snort в окружении chroot-jail создайте файл /etc/init.d/snort, содержащий следующие строки:#!/bin/bash# This shell script takes care of starting and stopping the snort IDSdaemon.## chkconfig: 2345 40 60# description: Snort is a lightweight network intrusion detection toolthat \#currently detects more than 1100 host and network \#vulnerabilities, portscans, backdoors, and more.# Source function library..