Гланая Страница  | Добавить в Закладки  | Регистрация на Сайте  | Вход  | RSS
  Lineage 2  |   Counter - Strike  |   Perfect World  |   World Of Warcraft  |   AION  |   Rising Force Online  |   Ragnarok Online  |   MU Online  |   Cabal Online  |   Battlefield 2  |   Call Of Duty 4  
Забыл пароль | Регистрация


Dedicated Hosting

Защита от DDoS с помощью утилиты tcpdump

Защита от DDOS
tcpdump - это мощнейшая утилита UNIX, позволяющая перехватывать
и анализировать сетевой трафик, проходящий через сетевые интерфейсы. Об установке
читайте на сайте разработчика, в FreeBSD она есть
в портах, в Debian Linux в репозиториях.

Приведу пример как можно использовать tcpdump.
Например, на сервере отключены логи, идет легкая ddos атака,
происходит что-то не ладное, вы хотите быстро посмотреть масштабность или убедиться,
что это DDoS-атака, а не DoS или может это вообще никак не связано с внешним миром?
Давайте посмотрим

Code
tcpdump -v -i eth0 dst port 80


После выше набранной команды вы сможете наблюдать список подключений к 80-у порту,
чем больше повторных подключений с одинаковых хостов тем вероятнее мы столкнулись
с DoS или DDoS атакой. Как вы уже наверное догадались, изменив порт можно проверить
есть ли атака на FTP, SSH или другие сервисы которые крутятся на сервере.
Добавив ключ -n имена хостов преобразуются в IP адреса.

Глазами все не уследить, при атаке на веб-сервер вывод tcpdump-a сумасшедшей скоростью
будет двигаться вдоль окна вывода терминала smile Поэтому, мы сначала запишем вывод
tcpdump-a в файл. Пакетов 200-300 хватит.
Code
tcpdump -v -n -w attack.log dst port 80 -c 250


-v - самый простой уровень логирования, без изысканности.
-n - преобразуем имена хостов в IP адреса
-w - записываем анализ трафика в файл
-c - количество захваченных пакетов

Приступим к анализу полученных данных через tcpdump, отпарсим лог следующей командой
Code
tcpdump -nr attack.log |awk '{print $3}' |grep -oE '[0-9]{1,}\.[0-9]{1,}\.[0-9]{1,}\.[0-9]{1,}' |sort |uniq -c |sort -rn


Результат будет - 2 столбца, в первом количество подключений, во втором IP.
Чем больше подключений для одного IP тем вероятнее что это бот.

Если список очень длинный можно ограничить его указав нужное количество выводимых строк
Code
tcpdump -nr attack.log |awk '{print $3}' |grep -oE '[0-9]{1,}\.[0-9]{1,}\.[0-9]{1,}\.[0-9]{1,}' |sort |uniq -c |sort -rn | head -20


Мы добавили head -20

Что бы получить только IP адреса, без первого столбца, нужно убрать ключ -c после uniq
Вывод парсинга можно перенаправить в файл, а затем простым bash-скриптом, заблокировать все IP со списка.

Code
#!/bin/bash
BLOCKDB="ips.txt"
IPS=$(grep -Ev "^#" $BLOCKDB)
for i in $IPS
do
iptables -A INPUT -s $i -j DROP

 При копировании материала, ссылка на make-servers.ru обязательна !
Просмотров: 906 | Рейтинг: 5.0/5 |

Комментариев (0)
Добавлять комментарии могут только зарегистрированные пользователи.
[ Регистрация | Вход ]
       
       
Lineage 2 →
Counter - Strike →
Perfect World →
World Of Warcraft →
AION →
RF Online →
Ragnarok Online →
MU Online →
Cabal Online →
Battlefield 2 →
Call Of Duty 4 →
Нужные файлы →
       

Подпишитесь и получайте обновления через RSS или e-mail.