Посоветуйте анти-дос или как защитится от доса?

Статус
В этой теме нельзя размещать новые ответы.
гигабитный канал решил проблему. по крайней мере пока.
 
secureservertech не лучшее решение по защите от ддос атак. хостили у них несколько сайтов. После начала более менее серьзной атаки сайт ложится на сутки. И начинается переписка с админами. а они в свою очередь с американскими админами.. В конце концов атака отбивается гдето через сутки. Атака повторяется опять сутки лежим. Плюнули, переехали к antiddos.org - ситуация заметно улучшилась. Во время атак сайт тупит минут 5 и дальше все летает.
 
mod_evasive - защита от DOS и DDOS атак

Собственно ДОС и ДДОС атаки проблема практически всех кто предоставляет такую услугу как хостинг и как всегда кому-то не очень понравится какой нить из проетов что размещены у вас на сервере и как всегда мозгов нет чтобы сломать а задосить ето и 5-ти класник может. Вот собственно нашел модуль какой сможет спасти вас от нашествия ДОС и ДДОС атак вместо того чтобы закидать всех негодяев в фаервол (что же ето за хостинг когда тебя пол мира не видит :)).

И так установка mod_evasive для Apache 1.3 и Apache 2.2 в портаx его нету так что нуно качать вот тут.

srv2# wget Для просмотра ссылки Войди или Зарегистрируйся
srv2# tar xfz mod_evasive_1.10.1.tar.gz
srv2# cd mod_evasive
srv2# whereis apxs
apxs: /usr/local/sbin/apxs /usr/local/man/man8/apxs.8.gz // По умолчанию он тут
srv2# /usr/local/sbin/apxs apxs -i -a -c mod_evasive.c // для Apache 1.3
srv2# /usr/local/sbin/apxs apxs -i -a -c mod_evasive2.c // для Apache 2.2
srv2# rehash
После успешной установки в конфиг апача нужно добавить несколько строк:

Для Apache 1.3

<IfModule mod_evasive.c>
DOSHashTableSize 3097
DOSPageCount 2
DOSSiteCount 50
DOSPageInterval 1
DOSSiteInterval 1
DOSBlockingPeriod 300
</IfModule>
Для Apache 2.2

<IfModule mod_evasive20.c>
DOSHashTableSize 3097
DOSPageCount 2
DOSSiteCount 50
DOSPageInterval 1
DOSSiteInterval 1
DOSBlockingPeriod 300
</IfModule>
После чего перезапустим Апач

srv2# /usr/local/etc/rc.d/apache restart
В падарок к етому модулю в архиве сразу предоставлен тест для проверки работоспособности модуля. С вот таким содержанием.

#!/usr/bin/perl

# test.pl: small script to test mod_dosevasive's effectiveness

use IO::Socket;
use strict;

for(0..100) {
my($response);
my($SOCKET) = new IO::Socket::INET( Proto => "tcp",
PeerAddr=> "127.0.0.1:80");
if (! defined $SOCKET) { die $!; }
print $SOCKET "GET /?$_ HTTP/1.0\n\n";
$response = <$SOCKET>;
print $response;
close($SOCKET);
}
Только не забудте поставить на него права для запуска chmod +r имя файла.
Если после запуска скрипта видим примерно вот такую штуку

HTTP/1.1 200 OK
HTTP/1.1 200 OK
HTTP/1.1 200 OK
HTTP/1.1 200 OK
HTTP/1.1 200 OK
HTTP/1.1 200 OK
HTTP/1.1 200 OK
HTTP/1.1 200 OK
HTTP/1.1 200 OK
HTTP/1.1 200 OK
HTTP/1.1 200 OK
HTTP/1.1 200 OK
HTTP/1.1 200 OK
HTTP/1.1 200 OK
HTTP/1.1 200 OK
HTTP/1.1 200 OK
HTTP/1.1 200 OK
HTTP/1.1 403 Forbidden
HTTP/1.1 403 Forbidden
HTTP/1.1 403 Forbidden
HTTP/1.1 403 Forbidden
HTTP/1.1 403 Forbidden
HTTP/1.1 403 Forbidden
HTTP/1.1 403 Forbidden
HTTP/1.1 403 Forbidden
HTTP/1.1 403 Forbidden
HTTP/1.1 403 Forbidden
HTTP/1.1 403 Forbidden
HTTP/1.1 403 Forbidden
HTTP/1.1 403 Forbidden
HTTP/1.1 403 Forbidden
HTTP/1.1 403 Forbidden
HTTP/1.1 403 Forbidden
HTTP/1.1 403 Forbidden
HTTP/1.1 403 Forbidden
HTTP/1.1 403 Forbidden
HTTP/1.1 403 Forbidden
HTTP/1.1 403 Forbidden
HTTP/1.1 403 Forbidden
HTTP/1.1 403 Forbidden
Значит все работает отлично.


P.S. Проверял на Апаче 1,3 первых 5 - 10 минут ДОС атаки держыт дальше Апач всетаки падает. Всетаки Апач дайот ответ на запрос хоть и Forbidden но отвечает. А окончательно проблему возможно решить с ДОС и ДДОС атаками с стандартным фаерволом OpenBSD тоисть PF. Вскоре статья будет дополнена конфигурацией по настройке PF.

Вот собственно дополнение:

cat /etc/pf.conf
ext_if="em0"

table <ddos> persist
block in log quick from <ddos>

pass in on $ext_if proto tcp to $ext_if \
port www flags S/SA keep state \
( max-src-conn-rate 100/5, overload <ddos> flush)
А всех кто попал к нам в блек лист можем посмотреть вот так:
pfctl -t ddos -T show
А удалить вот так
pfctl -t ddos -T flush
А для удобства я кинул в крон вот такую строчку
чтобы каждых 20 минут само чистило
*/20 * * * * root pfctl -t ddos -T flush
 
универсальных решений нет.
зависит от атаки.
если tcp\icmp - зависит от мощности, слабые атаки - можно отбить на 1 сервере. мощные (выше чем аплинк сервера) - решается фильтрацией трафика посредниками, либо созданием кластера\геокластера
если сильный udp - суши весла и обращайся к ДЦ чтобы магистральщики лочили
 
HOSTER, зачем бороться с досом апачем ? ты мне скажи ?
лучше просто настроить апач+нгикс.
и установить на сервер бесплатное анти досс решение типо pf /ddos/iptables
 
лучше конечно такую защиту доверить отдельному компьютеру или устройству.. cisco guard например, всего 90к$ ;)
 
И пробивается на раз :)
 
а как быть с картинками :)
через <img src=""> сплоиты пролезут ?

для картинок сплоиты не прокатят. тут два варианта:
обычный - по реферу давать 302 назад на тот сайт, толку немного, слегка подгрузит тот сайт.

 
Статус
В этой теме нельзя размещать новые ответы.
Назад
Сверху