Можно получить общее представление о том, если оно делает что-нибудь путем выполнения кошки/proc/interrupts и наблюдения, находятся ли процессы, которые Вы пытались изолировать, на создании прерываний на процессорах, которые, как предполагается, выполняют Ваш высокоприоритетный процесс.
Slowloris набрасывается на работу отправкой, запрашивают данные, максимально медленные. Поэтому, если Вы могли бы измерить использование пропускной способности на IP-адрес затем, если это ниже некоторого порога, (найденный путем измерения пропускной способности в известном нападении slowloris) затем Вы знаете, что находитесь под ударом.
Для предотвращения нападений я предложил бы переключить программное обеспечение веб-сервера. Я использую язык чероки, который является стойким в, он - конфигурация по умолчанию. Я не могу установить, уязвим ли nginx, но lighttpd. Я также не могу быть уверен, что с помощью стойкого веб-сервера, поскольку прокси будет иметь любое значение.
Вот больше информации: http://ha.ckers.org/blog/20090617/slowloris-http-dos/
Уровень 1: простой slowloris DOS
Чтобы найти IP-адрес злоумышленника slowloris, я использую следующую командную строку:
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 также, вероятно, может помочь обнаруживать атаки slowloris «посмертно» путем анализа журналов, если у вас нет этой информации в журналах, вы не сможете найти ничего интересного. См. http://httpd.apache.org/docs/current/mod/mod_log_config.html для конфигурации журнала.
Уровень 2: real big slowloris DDOS
netstat (используйте watch netstat для refresh) все еще может помочь вам увидеть, что некоторые IP-адреса просто всегда подключены
Для борьбы с slowloris на apache установите модули reqtimeout и настройте их, например:
После этого каждые 408, которые вы видите в access_log, на 99,999% уверены, что это ip злоумышленника.
Используя модуль apache reqtimeout, вы можете легко противостоять тысячам IPS и тысячам пакетов в секунду на достойном выделенном сервере
Iptables также может немного помочь, например:
iptables -A INPUT -p tcp --syn --dport 80 -m connlimit --connlimit-above 100 -j DROP