Недавно стали DDoS-ить DNS сервер. Некий школьнику своего домена alexcoolshow.ru указал наши DNS, соответственно пришли боты и стали дёргать сервера.
Немного сложности добавляло то, что один запрос вида alexcoolshow, другой AlExCoOlShOw, третий еще как-нибудь играется с регистрами букв.
По умолчанию модуль strings в iptables не умеет работать с регистром, но есть ключик --icase.
Пример правил:
iptables -A INPUT -p tcp -m multiport --dport 53,993 -m string --string 'alexcool' --algo bm --icase -j DROP
iptables -A INPUT -p udp -m multiport --dport 53,993 -m string --string 'alexcool' --algo bm --icase -j DROP
Запрещаем все запросы к DNS (порты 53 и 993), имеющие запрос вида alexcool, независимо от регистра букв. Нагрузка на процессоры незаметна, в отличие от постоянного дерганья nameserver.