Пятница, 15.11.2024, 06:38
# FreeBSD ГлавнаяРегистрацияВход
Приветствую Вас Гость | RSS
Меню сайта
Категории раздела
Мои статьи [167]
Статистика

Онлайн всего: 1
Гостей: 1
Пользователей: 0
Форма входа
 Каталог статей 
Главная » Статьи » Мои статьи

Немного о защите от dos(ddos) атак
Сегодня я хотел бы описать установку модуля mod_evasive, для веб-сервера Апач. Чем же хорош этот модуль? Наверное все знают что такое dos (ddos) атака, а многие имели опыт с ней столкунуться. В настоящее время организовать такую атаку не составит больших денежных вливаний, а последствия могут быть ощутимые, например для интернет-магазина. Итак mod_evasive – это имодуль защиты от dos(ddos), брут форс атак. Но не стоит думать что это панацея, он справиться только с слабой dos(ddos) атакой, для чего то более сурьезного, необходимо принимать иные меры.

Устанавливать этот модуль я буду на ОС CentOS 5.5. Подразумевается что Апач, версии 2 у вас уже установлен.

1. Подключаем репозиторий Epel. Об этой операции можно прочесть здесь!

2. Устанавливаем модуль

# yum install mod_evasive

3. Редактируем конфигурационный файл Апача

# vi /etc/httpd/conf/httpd.conf

Добавляем следующии строки:

<IfModule mod_evasive20.c>
DOSHashTableSize 3097
DOSPageCount 6
DOSSiteCount 100
DOSPageInterval 2
DOSSiteInterval 2
DOSBlockingPeriod 600
DOSEmailNotify admin@corp.ru
DosWhitelist 90.52.18.19
</IfModule>

Описание настроек:
DOSHashTableSize: это размер хэш-таблицы которая обрабатывает запросы к веб-серверу.
DOSPageCount: число запросов к одной странице от одного и того же IP в течение указаного интервала времени.
DOSSiteCount: число запросов ко всем страницам домена, т.е если поступило более 50-ти запросов с одного ай-пи на разные страницы домена – тогда такой ай-пи будет заблокирован.
DOSPageInterval: Интервал для директивы DOSPageCount (в секундах)
DOSSiteInterval: Интервал для директивы DOSSiteCount (в секундах)
DOSBlockingPeriod: На сколько заблокировать ай-пи (в секундах)
DOSEmailNotify: может быть использован для уведомления, будет отправлять сообщение по электронной почте о том что такой-то IP был заблокирован.
DOSSystemCommand: эта директива используется для выполнения какой-нибудь вашей команды когда IP блокируется. Вы можете использовать это для добавления IP-адреса в таблицу фаервола.
(пример: "/sbin/iptables -A INPUT -p tcp –dport 80 -s %s -j REJECT” В %s передается от модуля IP)
DOSWhiteList: список белых IP адресов, можно и по маскам (например 192.168.0.*)

4. Теперь протестируем работу модуля. Создадим перловый скрипт:

# vi test

Добавляем такие строки:

#!/usr/bin/perl

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 a+x test

Запускаем скрипт:

# ./test

И видим такое:

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

Ну что ж модуль работает. На этом все.

Категория: Мои статьи | Добавил: Admin (08.11.2011)
Просмотров: 1028 | Рейтинг: 0.0/0
Всего комментариев: 0
Имя *:
Email *:
Код *:
Поиск
Друзья сайта
  • Официальный блог
  • Сообщество uCoz
  • FAQ по системе
  • Инструкции для uCoz
  • Copyright MyCorp © 2024Сделать бесплатный сайт с uCoz