| 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 | ||||
|
|
||||
|
Защита от DDoS с помощью утилиты tcpdump |
||
|
2011 Окт 13 | 15:56
BlesseNtumble → Lineage 2
|
||
|
Защита от 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 сумасшедшей скоростью будет двигаться вдоль окна вывода терминала Поэтому, мы сначала запишем вывод 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 |
|
||
| Меню |
| Обновления Форума |
| Новые Файлы |
| Популярные Файлы |
| Рейтинг Скачиваний |
| Статьи |
| Случайные Файлы |
| Блок |
|
|