Сетевые системы IDS
9.3. Сетевые системы IDS
Работа сетевых систем обнаружения вторжения отличается от локальных. Философия дизайна сетевых IDS состоит в сканировании сетевых пакетов на маршрутизаторе или выделенном узле, проводящем аудит пакетов и регистрирующем в специальном журнале все подозрительные пакеты с дополнительными сведениями. Обрабатывая эти подозрительные пакеты, сетевая система IDS может сканировать собственную базу данных известных сигнатур сетевых атак и назначать уровень важности каждому пакету. Если уровень достаточно высок, членам команды безопасности отправляется предупреждающее SMS или почтовое сообщение, чтобы они могли исследовать природу аномалии.
Сетевые IDS стали популярнее по мере роста размера и трафика Интернета. Профессионалами по безопасности очень ценятся системы IDS, способные сканировать огромный трафик сетевой активности и успешно выявлять подозрительные действия. Незащищённость, присущая протоколам TCP/IP делает крайне важной разработку сканеров, программ, прослушивающих сеть, и других средств сетевого аудита для выявления нарушений в системе безопасности, возникших в результате злонамеренной сетевой активности:
Подделывание IP
Атаки типа «отказ в обслуживании»
Отравление кэша arp
Искажение имён DNS
Атаки типа «человек посередине» (man-in-the-middle)
Многие сетевые IDS требуют, чтобы сетевое устройство компьютера работало в неразборчивом (promiscuous) режиме, позволяющем перехватывать все передаваемые по сети пакеты. Этот режим можно включить с помощью команды ifconfig, например, так:
ifconfig eth0 promisc |
Запустите ifconfig без параметров, и вы увидите, что теперь eth0 в «неразборчивом» режиме (PROMISC).
eth0 Link encap:Ethernet HWaddr 00:00:D0:0D:00:01 inet addr:192.168.1.50 Bcast:192.168.1.255 Mask:255.255.252.0 UP BROADCAST RUNNING PROMISC MULTICAST MTU:1500 Metric:1 RX packets:6222015 errors:0 dropped:0 overruns:138 frame:0 TX packets:5370458 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:100 RX bytes:2505498554 (2389.4 Mb) TX bytes:1521375170 (1450.8 Mb) Interrupt:9 Base address:0xec80 lo Link encap:Local Loopback inet addr:127.0.0.1 Mask:255.0.0.0 UP LOOPBACK RUNNING MTU:16436 Metric:1 RX packets:21621 errors:0 dropped:0 overruns:0 frame:0 TX packets:21621 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:0 RX bytes:1070918 (1.0 Mb) TX bytes:1070918 (1.0 Mb) |
С помощью tcpdump (включённого в Red Hat Enterprise Linux) или подобного инструмента, мы увидим большие потоки информации, движущиеся по сети:
tcpdump: listening on eth0 02:05:53.702142 pinky.example.com.ha-cluster > \ heavenly.example.com.860: udp 92 (DF) 02:05:53.702294 heavenly.example.com.860 > \ pinky.example.com.ha-cluster: udp 32 (DF) 02:05:53.702360 pinky.example.com.55828 > dns1.example.com.domain: \ PTR? 192.35.168.192.in-addr.arpa. (45) (DF) 02:05:53.702706 ns1.example.com.domain > pinky.example.com.55828: \ 6077 NXDomain* 0/1/0 (103) (DF) 02:05:53.886395 shadowman.example.com.netbios-ns > \ 172.16.59.255.netbios-ns: NBT UDP PACKET(137): QUERY; BROADCAST 02:05:54.103355 802.1d config c000.00:05:74:8c:a1:2b.8043 root \ 0001.00:d0:01:23:a5:2b pathcost 3004 age 1 max 20 hello 2 fdelay 15 02:05:54.636436 konsole.example.com.netbios-ns > 172.16.59.255.netbios-ns:\ NBT UDP PACKET(137): QUERY; REQUEST; BROADCAST 02:05:56.323715 pinky.example.com.1013 > heavenly.example.com.860:\ udp 56 (DF) 02:05:56.323882 heavenly.example.com.860 > pinky.example.com.1013:\ udp 28 (DF) |
Заметьте, что пакеты, не предназначенные нашему компьютеру (pinky.example.com), также были перехвачены и зарегистрированы утилитой tcpdump.
9.3.1. Snort
Хотя tcpdump и является полезным инструментом аудита, он не является настоящей IDS, потому что он не анализирует пакеты и не отмечает в них аномалии. tcpdump просто выводит на экран или в журнал информацию обо всех пакетах без какого-либо анализа. Настоящая IDS анализирует пакеты, помечаёт подозрительные передаваемые пакеты и сохраняет их в форматированном журнале.
Snort — IDS, разработанная с целью полно и точно регистрировать подозрительную сетевую активность и уведомлять администраторов о возможности взлома. Snort использует стандартную библиотеку libcap и tcpdump в качестве низкоуровневого средства перехвата пакетов.
Самая ценная возможность Snort, расширяющая его функциональность — гибкая подсистема сигнатур атак. Snort содержит постоянно обновляемую базу данных атак, которую можно пополнять и обновлять через Интернет. Пользователи могут создавать сигнатуры во время новых сетевых атак и отправлять их в списки рассылки сигнатур Snort (размещённые на сайте http://www.snort.org/lists.html), чтобы помочь всем остальным пользователям Snort. Такая этика коллективного использования сделала Snort одной из самых современных и мощных сетевых IDS.
![]() | Замечание |
---|---|
Система Snort не включёна в состав Red Hat Enterprise Linux и не поддерживается. Это популярное приложение описано здесь для сведения пользователей, которые могут им заинтересоваться. |
За дополнительными сведениями об использовании Snort обратитесь к официальному сайту по адресу http://www.snort.org/.