У меня есть сеть с клиентским компьютером, другим компьютером, на котором работает Snort, и сервером. На компьютере snort iptables настроен следующим образом:
Chain INPUT (policy ACCEPT)
target prot opt source destination
Chain FORWARD (policy DROP)
target prot opt source destination
NFQUEUE all -- anywhere anywhere NFQUEUE num 0
Chain OUTPUT (policy ACCEPT)
target prot opt source destination
Я запускаю Snort следующим образом:
snort --daq nfq -Q -v -c myrules.config -l alertsFolder
, где myrules.config
равно
config policy_mode: inline
pass tcp 100.1.5.0/24 ANY -> 100.1.10.10 7777 (sid:1000005; rev:1;)
rate_filter gen_id 1, sig_id 1000005, track by_dst, count 1, seconds 1, new_action drop, timeout 3, apply_to 100.1.10.10
event_filter gen_id 1, sig_id 1000005, type limit, track by_dst, count 10, seconds 60
reject tcp 100.1.0.0/16 ANY -> 100.1.10.10 7777 (msg: "XML Read Attempt Detected"; sid:1000001; content:".xml";)
reject tcp !100.1.5.0/24 ANY -> 100.1.10.10 7777 (msg: "Attempt to read classified file"; sid:1000002; content:"classified";)
. клиентский компьютер выполняет SYN-флуд-атаку на серверный компьютер, отправляя 100 пакетов в секунду. Вывод, который я получаю на машине server
с использованием tcpdump
, выглядит следующим образом:
10:11:52.894569 IP 100.1.5.10.12193 > 100.1.10.10.7777: Flags [R.], seq 21003482, ack 1320763584, win 0, length 0
10:11:52.895569 IP 100.1.5.10.45436 > 100.1.10.10.7777: Flags [R.], seq 3698516011, ack 33203479, win 0, length 0
10:11:52.896568 IP 100.1.5.10.37605 > 100.1.10.10.7777: Flags [R.], seq 1560725016, ack 1734627889, win 0, length 0
10:11:52.897567 IP 100.1.5.10.18756 > 100.1.10.10.7777: Flags [R.], seq 1800846346, ack 1536608543, win 0, length 0
10:11:52.898567 IP 100.1.5.10.18653 > 100.1.10.10.7777: Flags [R.], seq 1037523318, ack 68154478, win 0, length 0
Обратите внимание, что 100.1.5.10 - это IP-адрес клиента, а 100.1.10.10 - это IP-адрес сервера. Вывод tcpdump
, очевидно, показывает, что клиентский компьютер отправляет R. пакеты на сервер: однако я проверил, и клиент вообще не отправляет R. пакеты на сервер. Эти пакеты создаются машиной snort.
Может кто-нибудь помочь мне разобраться, что происходит?