Как и обещал, вторая часть. Сегодня о примитивных атаках. (Будет дополняться)
Как распознать DDOS атаку и тем более увидеть что за атака была? Не всегда мы можем находится возле сервера, да и если при атаке сервер не доступен, тип атаки мы не узнаем (за исключением некоторых атак, которые видны по логам).
Итак, "тупые" атаки можно в целом детектить иптаблесом, это просто, детекция идет по ряду параметров, которые зачастую присутствуют в таких атаках.
Детектить можно по source port, с предыдущего поста, есть сурс порты амплификаций.
Код
-A INPUT -p udp -m multiport --sports 53,123,19,161,17,9987,1900 -j LOG --log-prefix "AMPF: "
Наиболее распространенные амплификации.
Так-же, можно детектить по фрагментированным пакетам и их размерам, зачастую, кс такие пакеты не использует.
Код
-A INPUT -p udp -f -j LOG --log-prefix "Frag: " --log-level 7
-A INPUT -p icmp -f -j LOG --log-prefix "Frag: " --log-level 7
-A INPUT -p udp -m length --length 1450:1500 -j LOG --log-prefix "SIZE: " --log-level 7
Первыми двумя правилами логиуем фрагментированные udp и icmp, 3тим - по размеру пакетов.
Так-же, ко всем правилам добавлен префикс, который поможет нам определить какие именно правило сработало.
После применения правил, вся информация будет доступна в системных логах, /var/log/kern.log | /var/log/messages | /var/log/syslog
У данного метода определения, есть существенные недостаток, при атаках, системные логи вырастают до очень больших размеров, с этим надо быть аккуратнее.
Это самый просто вариант.
Дальше будет более сложные варианты на основе софта с ядерным модулем PF_RING
ps\\ И да, логи "правильно" чистить надо так:
Код
cat /dev/null > /var/log/kern.log
Или другой лог.
