Рубрика: DDoS

ЗАЩИТА ОТ ЛЕГКОЙ FLOOD И DDOS АТАКИ ПО HTTP-ПРОТОКОЛУ ИСПОЛЬЗУЯ MOD_DOSEVASIVE

Защита от ddos mod_evasive — (mod_dosevasive) HTTP DoS or DDoS attack or brute force attack Apache модуль для организации защиты от DDoS атак.

Преамбула Не стоит думать что слабый ddos не сможет нанести ущерба вашему серверу. Например атакующих зомби-машин всего 50-150, все они с толстыми каналами, а вы уехали в командировку или у вас 10-ки серверов и вы не успеваете физически мониторить все. В таком случае даже не большое количество машин смогут зафлудить канал, или заставить выйти из строя веб сервер apache, mysql, etc. Другое дело когда администратор 24 часа в сутку мониторит сервер, и с легкостью обнаруживает атаки, далее с легкостью и в считанные секунды заносит несколько правил в таблицу фаервола при этом спокойно попивая кофе, продолжает заниматься своими делами. Но такое бывает редко, смотреть сутками и мониторить вывод комманд netstat, top, mtop убийственно для вашего мозга, и глаза устанут, не будет весело это точно, поэтому нужно автоматизировать процесс блокировки атакующих зомби-машин.

Один из методов как защитить свой сервер от флуд атак и слабого ddos-a по http протоколу это установить модуль для веб-сервера Apache — mod_dosevasive.

Установка и настройка mod_dosevasive

Read More «ЗАЩИТА ОТ ЛЕГКОЙ FLOOD И DDOS АТАКИ ПО HTTP-ПРОТОКОЛУ ИСПОЛЬЗУЯ MOD_DOSEVASIVE»

ПОПЫТКА ЗАЩИТЫ ОТ DDOS

Недавно озаботился поиском адекватного решения для защиты некоторых подконтрольных ресурсов от DDos атак.
Первое что посоветовали — Cisco Guard. Но так как требовалось что то легкое и не столь дорогое, то решил посмотреть в сторону софтверных продуктов.
После непродолжительного гугления наткнулся на небольшой скриптик (D)DoS-Deflate

Работает довольно просто — каждую минуту по крону запускается команда
netstat -ntu | awk '{print $5}' | cut -d: -f1 | sort | uniq -c | sort -n
и выбираются все айпишники число соединений с которых превышает заданное в конфиге ограничени(по умолчанию 150).
Время бана тоже настраивается в конфиге. Также можно выбрать с каким файрволом работать — iptables или apf(надстройка над iptables).

Решение довольно очевидное, словесные описания проскакивали и до этого, но такой готовой реализации ранее не встречал.

UPD: не забываем что этот скрипт в силу своей простоты не спасет от серьезных заказных атак, но большинство кулхацкеров остановит

УСТАНОВКА И НАСТРОЙКА СИСТЕМЫ ОБНАРУЖЕНИЯ И БЛОКИРОВАНИЯ ПОПЫТОК СКАНИРОВАНИЯ ПОРТОВ PSAD

Анализируя файлы событий системы любому системному администратору не раз приходилось сталкивается с фактами сканирования портов его системы.

В данной статье рассказывается о том, как с помощью psad (Port Scan Attack Detector) автоматически регистрировать и блокировать попытки сканирования портов вашего компьютера. Сайт проекта psad находится по адресу http://www.cipherdyne.org/

Установка psad в Fedora

Пользователи дистрибутивов Fedora могут установить psad из официальных репозиториев:

# yum install psad

Сборка psad из исходных текстов

На момент написания статьи последняя версия psad была 1.4.8.

1. Загрузите последнюю версию с сайта http://www.cipherdyne.org/psad/download/:

# wget http://www.cipherdyne.org/psad/download/psad-1.4.8-1.src.rpm

2. Произведите сборку RPM-пакета под ваш дистрибутив:

# rpmbuild -rebuild psad-1.4.8-1.src.rpm

3. Установите psad:

# rpm -ihv /usr/src/redhat/RPMS/i386/psad-1.4.8-1.i386.rpm

Read More «УСТАНОВКА И НАСТРОЙКА СИСТЕМЫ ОБНАРУЖЕНИЯ И БЛОКИРОВАНИЯ ПОПЫТОК СКАНИРОВАНИЯ ПОРТОВ PSAD»

Отбиваем UDP flood на нестандартные порты.

Прописываем вот это

iptables -A INPUT -p udp -m udp —dport 20100:20500 -m state —state NEW -m recent —update —seconds 30 —hitcount 10 —name DEFAULT —rsource -j DROP
iptables -A INPUT -p udp -m udp —dport 20100:20500 -m state —state NEW -m recent —set —name DEFAULT —rsource

Если за 30 секунд, с одного айпи приходит более 10 подключений, то дроп!

Вот рабочий вариант:

 

# Максимум 10 одновременных соединений с одного IP
iptables -A INPUT-p udp —dport 27015 -m iplimit —iplimit-above 10 -j REJECT

# Блокировка более 10 SYN
iptables -I INPUT -p udp —syn —dport 27015 -j DROP -m iplimit —iplimit-above 10

iptables -N udp-flood
iptables -A OUTPUT -p udp -j udp-flood
# Лимит на 50 запросов в секунду для интерфейса eth0
iptables -A udp-flood -p udp -m limit —limit 50/s -j RETURN
iptables -A udp-flood -j LOG —log-level 4 —log-prefix ‘UDP-flood attempt: ‘
iptables -A udp-flood -j DROP