Як я можу виявити Slowloris?


14

Я майже впевнений, що опинився під атакою Слоулоріса. Я встановив правило iptables, щоб обмежити максимальне з'єднання зі своїм веб-сервером, але я хотів би знати, як я можу зрозуміти, чи справді це була атака Slowloris, і якщо так, то як я можу знайти IP-адресу зловмисника. Я дуже хотів би передати журнали своєму провайдеру.

Спасибі

Відповіді:


5

Атаки Slowloris працюють, надсилаючи дані запиту якомога повільніше. Отже, якщо ви могли виміряти використання пропускної здатності за ip-адресою, то, якщо вона нижча за деякий поріг (знайдено шляхом вимірювання пропускної здатності у відомій атаці уповільнення), то ви знаєте, що ви атакуєте.

Щоб запобігти атакам, я б запропонував переключити програмне забезпечення веб-сервера. Я використовую cherokee, який є стійким у своїй конфігурації за замовчуванням. Я не можу встановити, чи вразливий nginx, але є lighttpd. Я також не можу бути впевнений, що використання стійкого веб-сервера як проксі може змінити значення.

Ось додаткова інформація: http://ha.ckers.org/blog/20090617/slowloris-http-dos/


10

Рівень 1: простий повільний DOS


Для знаходження ip-адреси зловмисника повільного періоду я використовую такий командний рядок:

netstat -ntu -4 -6 |  awk '/^tcp/{ print $5 }' | sed -r 's/:[0-9]+$//' |  sort | uniq -c | sort -n

Це дасть вам кількість активних з'єднань для кожного підключеного IP-адреси

Якщо ви перебуваєте під простою атакою DOS, дитина з одним або кількома IP-адресами, той, який має 50-100 з'єднань (або більше), швидше за все, є зловмисником, який ви можете скинути.

Це для того, щоб виявити та скинути (за допомогою iptables або бажаного hlfw) їх "реального часу", якщо ви підключені до сервера під час атаки.

Додавання часу обробки (аргумент% D або% T) у ваші журнали apache також, ймовірно, може допомогти виявити атаки повільних темпів "посмертного" шляхом аналізу журналів, якщо ви не маєте цю інформацію у своїх журналах, ви не зможете знайти щось цікаве . Див. Http://httpd.apache.org/docs/current/mod/mod_log_config.html для конфігурації журналу.

Рівень 2: реальна велика повільна DDOS


netstat (використовувати оновлення netstat для оновлення) все ще може допомогти вам побачити, що деякі IP-адреси просто завжди підключені

Щоб боротися з slowloris, на apache встановіть модулі reqtimeout і налаштуйте його, наприклад:

http://pastebin.com/3BNNwfyb

Після цього, кожен 408, який ви бачите в access_log, на 99.999% впевнений, що ip зловмисника ip.

Використовуючи модуль apache reqtimeout, ви можете легко протистояти тисячам ips та тисячам пакетів / секунду на гідному спеціалізованому сервері

Iptables також можуть трохи допомогти з чимось на зразок:

iptables -A INPUT -p tcp --syn --dport 80 -m connlimit --connlimit-above 100 -j DROP
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.