Правила iptable работают только иногда

Правила iptable работают только иногда

Я заблокировал IP-адрес злоумышленника, который отправлял мне множество UDP-пакетов.

iptables -I ВВОД 1 -s IP_OF_ATTACKER -j ОТБРОС

Это правило работало отлично.

iptables -nvL --line-numbers

Трафик 22G был заблокирован на 2-3 дня:

num   pkts bytes target     prot opt in     out     source               destination
1    3203K   22G DROP       all  --  *      *       ATTACKER_IP          0.0.0.0/0

Однако, с последних 2-3 дней это правило больше не работает. Атакующий отправляет UDP-пакеты, а iptables их не блокирует.

num   pkts bytes target     prot opt in     out     source               destination
1     707K 3553M DROP       all  --  *      *       ATTACKER_IP         0.0.0.0/0

Что может быть причиной?

PS: Пожалуйста, не предлагайте обращаться к хостинг-провайдеру, если бы они могли помочь, меня бы здесь не было :)

Редактировать

Я использовал wireshark/tcpdump для анализа/перехвата пакетов. Он показывает, что все пакеты являются UDP. Я использую команду iptables (как упоминалось выше), чтобы увидеть, сколько данных заблокировало правило iptables. Выше приведен вывод заблокированных данных iptables. Когда iptables блокировал все данные, наш сервер работал нормально.

**IP Table rules**
# Generated by iptables-save v1.4.21 on Mon Jun 15 23:26:40 2015
*raw
:PREROUTING ACCEPT [8393:667810]
:OUTPUT ACCEPT [7043:795032]
COMMIT
# Completed on Mon Jun 15 23:26:40 2015
# Generated by iptables-save v1.4.21 on Mon Jun 15 23:26:40 2015
*nat
:PREROUTING ACCEPT [2517:112725]
:INPUT ACCEPT [2517:112725]
:OUTPUT ACCEPT [1018:179752]
:POSTROUTING ACCEPT [1018:179752]
COMMIT
# Completed on Mon Jun 15 23:26:40 2015
# Generated by iptables-save v1.4.21 on Mon Jun 15 23:26:40 2015
*mangle
:PREROUTING ACCEPT [8393:667810]
:INPUT ACCEPT [8393:667810]
:FORWARD ACCEPT [0:0]
:OUTPUT ACCEPT [7043:795032]
:POSTROUTING ACCEPT [7043:795032]
COMMIT
# Completed on Mon Jun 15 23:26:40 2015
# Generated by iptables-save v1.4.21 on Mon Jun 15 23:26:40 2015
*filter
:INPUT ACCEPT [23:1500]
:FORWARD ACCEPT [0:0]
:OUTPUT ACCEPT [18:2068]
:fail2ban-ssh - [0:0]
-A INPUT -s xx.xxx.xx.xx/32 -j DROP
COMMIT
# Completed on Mon Jun 15 23:26:40 2015

решение1

Я не совсем понимаю ваш список iptables или как он таким стал. Однако, похоже, есть таблицы nat и mangle, и поэтому вполне возможно, что ваши проблемные пакеты не проходят через обычную цепочку INPUT, а направляются через iptables по другому пути на этапе предварительной маршрутизации (который, кстати, будет проходить только один раз за соединение). Вы можете попробовать добавить:

sudo iptables -t raw -A PREROUTING -s IP_OF_ATTACKER -j DROP

Я сделал это на своем тестовом компьютере, и, кажется, все работает нормально:

$ sudo iptables-save -c
# Generated by iptables-save v1.4.21 on Tue Jun 16 11:12:51 2015
*raw
:PREROUTING ACCEPT [40:2664]
:OUTPUT ACCEPT [33:4520]
[31:2696] -A PREROUTING -s 192.168.111.103/32 -j DROP
COMMIT
# Completed on Tue Jun 16 11:12:51 2015
# Generated by iptables-save v1.4.21 on Tue Jun 16 11:12:51 2015
*nat
:PREROUTING ACCEPT [15:1344]
...

Примечание: я разместил этот же ответ на вашемРазмещение сообщений на форумах Ubuntu.

Связанный контент