Предпазване от DNS amplification attack

Последните дни бях подложен на DNS amplification attack. Какво значи това? Изпращат се малки заявки към DNS сървъра, отговора на които е доста по-голям от тях. Например – ANY, NS, TXT, MX. Целта на атаката е с малък обем входящ трафик да предизвикат голям обем изходящ трафик генериран от DNS сървъра. При мен с 5mbps входящ трафик се генерираха около 50mbps изходящ. Първоначално тръгнах да се боря по “хамалския” начин с атакуващите – блирах един по един IP адресите, които изпращаха голям брой такива малки заявки, чиито отговор е в пъти поголям от заявката. Това естествено не даде голям резултат, тъй като атакуващите постоянно добавяха нови и нови заразени машини, които да правят същото – изпращат малки заявки, които генерират големи отговори.

След няколко часа четене на iptables намерих начин на лимитирам броя заявки от единичен IP адрес. Ето как изглежда и моето правило за 20 заявки на секунда:

/sbin/iptables -I INPUT -p udp --dport 53 -m state \
     --state NEW -m recent --set
/sbin/iptables -I INPUT -p udp --dport 53 -m state \
      --state NEW -m recent --update --seconds 1 \
      --hitcount 20 -j DROP

Какво се случи след добавянето на въпросното правило – атаката продължи, но изходящия трафик от 50mbps падна драстично 2-5mbps на сървър. Резултата е спестено огромно количество fake изходящ трафик.

This entry was posted in IT, Проекти and tagged , , . Bookmark the permalink.

One Response to Предпазване от DNS amplification attack

  1. Pingback: Предпазване от DNS amplification attack (part 2) | Боян Пейчев

Leave a Reply

Your email address will not be published. Required fields are marked *