Суббота, 18.05.2024
Мой сайт
Меню сайта
Категории раздела
Новости [13]
Авторство L2Make.net [10]
Клиенты игры [3]
Дополнения для клиента [12]
Веб-движки [4]
Шаблоны\Скины [45]
Сборки [26]
Дополнения для сервера [36]
Текстуры NPC [2]
Готовые NPC [3]
Исходники [6]
Защиты [2]
Геодаты [1]
Эвенты [0]
Программы [3]
Раздел продажи [12]
Мануалы [17]
Клановые Эмблемы [1]
Рассказы Lineage2 [2]
Lineage Music [1]
Мини-чат
Наш опрос
Ты подписался на новости нашего сайта по смс?

Всего ответов: 13
Статистика

Онлайн всего: 1
Гостей: 1
Пользователей: 0
Форма входа
Главная » Файлы » Мануалы

Защита от DDoS с помощью утилиты tcpdump
[ · Скриншот ] 01.12.2011, 19:43
Защита от 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.
Категория: Мануалы | Добавил: kraip
Просмотров: 350 | Загрузок: 0 | Рейтинг: 1.2/18
Всего комментариев: 0
Добавлять комментарии могут только зарегистрированные пользователи.
[ Регистрация | Вход ]
Поиск
Друзья сайта
  • Официальный блог
  • Сообщество uCoz
  • FAQ по системе
  • Инструкции для uCoz
  • Copyright MyCorp © 2024
    Используются технологии uCoz