Атака SlowHTTP

Есть такой вид атаки SlowHTTP. Это когда берется большой файл (1мб хватит) и начинает «тянуться» клиентом оооочень долго. При этом сокет сервера занят. 256  сокетов может открыть apache (если нет nginx).  Чем интересна данная атака, что для нее не нужно много ресурсов. Мне удавалось программой slowhttptest повесить свои, вполне серьезные продакшен сервера.

Решается эта проблема ограничением на соединение от одного IP, в примере 50 соединений на 80 порт с одного IP.

-A INPUT -p tcp --syn --dport 80 -m connlimit --connlimit-above 50 -j REJECT --reject-with tcp-reset

Sendmail-заглушка для Linux

Оригинал статьи тут — http://habrahabr.ru/post/49665/

Заглушка для почты на сервере разработки:

#!/bin/sh 
prefix="/var/mail/sendmail/new"
numPath="/var/mail/sendmail"

if [ ! -f $numPath/num ]; then 
echo "0" > $numPath/num 
fi 
num=`cat $numPath/num` 
num=$(($num + 1)) 
echo $num > $numPath/num 

name="$prefix/letter_$num.txt"
while read line 
do 
echo $line >> $name
done 
chmod 777 $name
/bin/true

Скрипт сохраняем в папку /usr/bin под любым угодным вам именем и делаем исполняемым (sudo chmod +x). Я использовал fake_sendmail.sh.

Теперь все исходящие письма будут складываться в /var/mail/sendmail. Так же необходимо выставить для папки права на запись. (chmod 777 -R /var/mail/sendmail).

Примечание:
Для сбора писем почтовиком (о чем ниже), нужно в этой папке создать следующую структуру папок:
/var/mail/sendmail/
— cur
— new
— tmp
И дать права на запись.

Настройка PHP.
У меня стоит Кубунта, так что все пути относительно нее. Итак, находим в папке /etc/php5/apache2 файл php.ini и меняем в нем путь к sendmail на:

sendmail_path = /usr/bin/fake_sendmail.sh.