IPTables Как заблокировать определенный пакет UDP? - PullRequest
0 голосов
/ 02 марта 2012

Мне было интересно, возможно ли заблокировать этот конкретный пакет в IPTables?

IP (tos 0x0, ttl 122, id 59478, offset 0, flags [none], proto: **UDP** (17), **length: 32**) 49.125.39.7.53125 > 68.68.27.40.34535: UDP, **length 0**
    0x0000:  4500 0020 e856 0000 7a11 a086 317d 2707  E....V..z...1}'.
    0x0010:  4444 1b28 cf85 86e7 0008 0000 0000 0000  DD.(............
    0x0020:  0000 0000 0000 0000 0000 0000 0000

IP (tos 0x0, ttl  43, id 42852, offset 0, flags [none], proto: UDP (17), length: 32) 15.205.231.92.63002 > 68.68.27.40.18287: UDP, length 0
    0x0000:  4500 0020 a764 0000 2b11 91d3 0fcd e75c  E....d..+......\
    0x0010:  4444 1b28 f61a 476f 0008 0000 0000 0000  DD.(..Go........
    0x0020:  0000 0000 0000 0000 0000 0000 0000     

Это поддельная DoS-атака со случайными исходными IP-адресами на случайные порты назначения, исчерпывающими порты udp, в которых нуждается наше серверное приложение. Я хочу заблокировать пакет в соответствии с выделенными частями дамп tcp, а именно UDP длина: 32 + длина 0 в конце. Это возможно?

Или возможно заблокировать пакеты шестнадцатеричной строкой в ​​дампе?

Спасибо, Флойд

1 Ответ

0 голосов
/ 02 марта 2012

В IPTables есть модуль u32 для проверки, имеют ли заданные значения количества до 4 байтов, извлеченных из пакета. Вы можете проверить, является ли пакет DoS-аттачеком или нет. Ниже приведен пример:

iptables -A INPUT -j DROP -m u32 --u32 "16 & 0xFFFF = 0x4444"

См. справочную страницу iptables (вы должны использовать man iptables в вашей среде) для более подробной информации.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...