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

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

Автор: c5vita  \  Опубликовано: 4-05-2012, 04:40
Защита от DDoS с помощью утилиты tcpdump


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


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

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

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

Глазами все не уследить, при атаке на веб-сервер вывод tcpdump-a сумасшедшей скоростью
будет двигаться вдоль окна вывода терминала :) Поэтому, мы сначала запишем вывод
tcpdump-a в файл. Пакетов 200-300 хватит.

tcpdump -v -n -w attack.log dst port 80 -c 250

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

Приступим к анализу полученных данных через tcpdump, отпарсим лог следующей командой
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 тем вероятнее что это бот.

Если список очень длинный можно ограничить его указав нужное количество выводимых строк
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 со списка.

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

Очень похожие трюки иногда проделывают с помощью утилиты netstat.



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


Если ссылка на файл уже не работает нажмите на кнопку "Сообщить об ошибке" и напишите в окне для жалобы "битая ссылка".

После этого файл будет перезалит в течении суток.
    • Рейтинг: +5
Просмотров: 3043  \  Комментариев: 0
Другие новости по теме:
  • Защита от DDoS с помощью (D)DoS Deflate
  • Защита Apache от выключения под воздействием DDos атак
  • Защита от легкой flood и ddos атаки по HTTP протоколу используя mod_dosevasive
  • DC DDoS v. 1.1 overfuck version
  • ObjACCinjector
Уважаемый посетитель!
Вы зашли на сайт как незарегистрированный пользователь.
Мы рекомендуем Вам зарегистрироваться либо войти на сайт под своим именем.
Информация
Посетители, находящиеся в группе Гости, не могут оставлять комментарии к данной публикации.

Blayzer.uz © 2011-2016 - Анонсы серверов lineage 2

Карта сайта
Lineage II is a trademark of NCsoft Corporation. Copyright © NCsoft Corporation 2005-2015. All rights reserved.
Яндекс.Метрика