LINUX.ORG.RU
ФорумAdmin

защитить dns от атаки

 , , ,


0

2

Валят сервак dns. Хз че делать. Айпишники не левые, а как раз из своих сетей. Трафика 80-100 мегабит. Говорят, что в debian работает

 $iptables -A INPUT -p udp --dport 53 -m string --from 30 --algo bm --hex-string '|0000FF0001|' -m recent --set --name dnsanyquery
$iptables -A INPUT -p udp --dport 53 -m string --from 30 --algo bm --hex-string '|0000FF0001|' -m recent --name dnsanyquery --rcheck --seconds 1800 --hitcount 3 -j DROP

Я себе в 6 centos залил - не банит. Может модуля какого не хватает или хз. В iptables -L правила добавлены

★★★★★

Последнее исправление: andrew667 (всего исправлений: 1)

Покажите


iptables -vnL --line-numbers

Возможно, проблема в очередности применения правил - в центосе много правил по умолчанию.

pianolender ★★★
()
Ответ на: комментарий от pianolender
Chain INPUT (policy DROP 8601 packets, 486K bytes)
num   pkts bytes target     prot opt in     out     source               destination         
1     5838 1312K ACCEPT     all  --  lo     *       0.0.0.0/0            0.0.0.0/0           
2      11M 1017M ACCEPT     all  --  *      *       0.0.0.0/0            0.0.0.0/0           state RELATED,ESTABLISHED 
3        5   264            tcp  --  *      *       0.0.0.0/0            0.0.0.0/0           tcp dpt:22 flags:0x17/0x02 recent: SET name: ssh side: source 
4        0     0 DROP       tcp  --  *      *       0.0.0.0/0            0.0.0.0/0           tcp dpt:22 flags:0x17/0x02 recent: CHECK seconds: 60 hit_count: 3 name: ssh side: source 
5     9611  464K tcp_packets  tcp  --  *      *       0.0.0.0/0            0.0.0.0/0           
6    2630K  168M            udp  --  *      *       0.0.0.0/0            0.0.0.0/0           udp dpt:53 STRING match "|00ff0001|" ALGO name bm FROM 1 TO 65535 recent: SET name: dnsany side: source 
7    63698 4051K DROP       udp  --  *      *       0.0.0.0/0            0.0.0.0/0           udp dpt:53 STRING match "|00ff0001|" ALGO name bm FROM 1 TO 65535 recent: CHECK seconds: 60 hit_count: 3 name: dnsany side: source 
8      15M  961M udp_packets  udp  --  *      *       0.0.0.0/0            0.0.0.0/0           
9     2361  149K icmp_packets  icmp --  *      *       0.0.0.0/0            0.0.0.0/0           
10     190 10391 LOG        all  --  *      *       0.0.0.0/0            0.0.0.0/0           limit: avg 3/min burst 3 LOG flags 0 level 7 prefix `IPT INPUT packet died: ' 

Chain FORWARD (policy DROP 0 packets, 0 bytes)
num   pkts bytes target     prot opt in     out     source               destination         
1        0     0 ACCEPT     all  --  eth1   *       0.0.0.0/0            0.0.0.0/0           
2        0     0 ACCEPT     all  --  eth0   *       0.0.0.0/0            0.0.0.0/0           
3        0     0 ACCEPT     all  --  lo     *       0.0.0.0/0            0.0.0.0/0           
4        0     0 ACCEPT     all  --  *      *       0.0.0.0/0            0.0.0.0/0           state RELATED,ESTABLISHED 

Chain OUTPUT (policy DROP 0 packets, 0 bytes)
num   pkts bytes target     prot opt in     out     source               destination         
1        0     0 ACCEPT     all  --  *      eth1    0.0.0.0/0            0.0.0.0/0           
2      23M   33G ACCEPT     all  --  *      eth0    0.0.0.0/0            0.0.0.0/0           
3     5838 1312K ACCEPT     all  --  *      lo      0.0.0.0/0            0.0.0.0/0           

Chain allowed (0 references)
num   pkts bytes target     prot opt in     out     source               destination         
1        0     0 ACCEPT     tcp  --  *      *       0.0.0.0/0            0.0.0.0/0           tcp flags:0x17/0x02 
2        0     0 ACCEPT     tcp  --  *      *       0.0.0.0/0            0.0.0.0/0           state RELATED,ESTABLISHED 
3        0     0 DROP       tcp  --  *      *       0.0.0.0/0            0.0.0.0/0           

Chain icmp_packets (1 references)
num   pkts bytes target     prot opt in     out     source               destination         
1     2197  122K ACCEPT     icmp --  *      *       0.0.0.0/0            0.0.0.0/0           icmp type 8 
2       26 12179 ACCEPT     icmp --  *      *       0.0.0.0/0            0.0.0.0/0           icmp type 11 

Chain tcp_packets (1 references)
num   pkts bytes target     prot opt in     out     source               destination         
1       12   828 ACCEPT     tcp  --  *      *       1.2.3.192/26   0.0.0.0/0           
2     1891  105K ACCEPT     tcp  --  *      *       0.0.0.0/0            0.0.0.0/0           tcp dpt:53 

Chain udp_packets (1 references)
num   pkts bytes target     prot opt in     out     source               destination         
1     160K   12M ACCEPT     udp  --  *      *       1.2.3.192/26   0.0.0.0/0           
2      14M  949M ACCEPT     udp  --  *      *       0.0.0.0/0            0.0.0.0/0           udp dpt:53 

Кроме того создается файл dnsany в /proc/net/xt_recent, там много айпишников, но тех, с которых я делаю контрольный тест не попадают в этот список. Время уже до минуты уменьшил. Бан по ssh отрабатывает. Если что 1.2.3.192/26 - эта сетка изменена дабы не светиться.

andrew667 ★★★★★
() автор топика
Последнее исправление: andrew667 (всего исправлений: 2)
Ответ на: комментарий от andrew667

Навскидку с порядком применения правил проблем не вижу. Могу предложить вот что:

watch -n 1 "iptables -vnL --line-numbers"

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

Файл в /proc/net/xt_recent тоже можно смотреть через watch, чтобы оперативнее видеть изменения. В общем, пакеты ваши тестовые куда-нибудь да попадают, видимо, просто, не туда - надо разбираться.

pianolender ★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.