Русское сообщество Chinascript.ru по поддержке и русской локализации Discuz!, ECShop, ECMall, UCenter

 Забыли пароль?
 Регистрация
Поиск
Популярное: Discuz ECMall ECShop
Просм.: 5194|Ответить: 5

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

[Скопировать ссылку]
Опубликовано 20-06-2011 11:39:28 | Показать все сообщения |Режим чтения
Наши разработки
tcpdump -  это мощнейшая утилита UNIX, позволяющая перехватывать и анализировать сетевой трафик, проходящий через сетевые интерфейсы. Об установке читайте в документации утилиты или на сайте разработчика, в FreeBSD она есть в портах, в Debian Linux в репозиториях.

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

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

Приступим к анализу полученных данных через tcpdump, отпарсим лог следующей командой:
  1. 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 тем вероятнее что это бот.
Если список очень длинный можно ограничить его указав нужное количество выводимых строк
  1. 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
Скопировать код
Что бы получить только IP адреса, без первого столбца, нужно убрать ключ -c после uniq
Вывод парсинга можно перенаправить в файл, а затем простым bash-скриптом, заблокировать все IP со списка.
  1. #!/bin/bash
  2. BLOCKDB="ips.txt"
  3. IPS=$(grep -Ev "^#" $BLOCKDB)
  4. for i in $IPS
  5. do



  6. iptables -A INPUT -s $i -j DROP
Скопировать код

Очень похожие трюки иногда проделывают с помощью утилиты netstat.
Пока это все, что я хотел написать о tcpdump.
P.S. Вопросы только в этой теме.

Взято с WGT-IT.Ru


Опубликовано 20-06-2011 16:50:08 | Показать все сообщения
Бред полный. Это как бороться с терроризмом, выворачивая корманы у миллионов граждан. Есть более красивые и простые решения - тем-же nginx с  помощью limit_conn cglob ..... ИМХО
 Автор| Опубликовано 21-06-2011 10:46:12 | Показать все сообщения
готов поспорить! при большой атаке и nginx не справится! а это хоть какое никакое решение!
Опубликовано 21-06-2011 12:28:21 | Показать все сообщения
сам делал или копипастил?
Опубликовано 16-04-2014 12:35:29 | Показать все сообщения
добавил CybSport.com в 21-06-2011 12:28
сам делал или копипастил?

фигня а не решение
Опубликовано 03-09-2016 15:26:04 | Показать все сообщения
а толку? Не поможет ведь все равно. Трафик то УЖЕ пришел. И закрывать его фаером без толку, канал ведь им забит.
Чтобы ответить, вам надо авторизироваться в системе Вход | Регистрация

Правила начислений

Закрыть

Горячая информацияНазад /2 Вперед

Карта|Теги|Черный список|Версия для КПК|Архив|RSS|Русское сообщество Chinascript.ru

GMT+2, 21-11-2017 04:22 , Processed in 0.039493 second(s), 18 queries , Gzip On.

Powered by Discuz! X3.1 Licensed

© 2001-2013 Comsenz Inc.

Быстрый ответ Вернуться к началу Назад к списку