Защита от ddos атак

ddos-letters-680x400[1]Denial of Service — буквально «отказ в обслуживании». Сам термин — это сокращение от английского Distributed Denial Of Service Attack, то есть дословно «распределенная атака типа „отказ в обслуживании“, выполнение одновременно с большого числа компьютеров или кратко называется DDOS атакой. Если говорить о технической стороне вопроса, то ее главная цель — парализовать работу веб-узла, путем выведения вычислительной системы из строя.

Еще несколько лет назад данный термин был практически неизвестен широкому кругу пользователей, а использовался в основном специалистами. Сегодня мы постоянно слышим в новостях о том, что тот или иной сайт подвергся действиям, направленным на отказ в обслуживании. При этом цели, которые преследуются DDOS атаками, могут быть самыми разными: обрушить конкурента на рынке, выставить свои требования владельцам, привлечь внимание и пр, взломать сервер для получения некой информации (при внештатной ситуации ПО может выдать какую-либо критическую информацию, например, версию, часть программного кода) и пр.
Список команд, полезных для определения ддоса (DDos – отказ в обслуживании) или флуда, а так же для отражения нераспределенных атак.

netstat -ntu | awk ' $5 ~ /^[0-9]/ {print $5}' | cut -d: -f1 | sort | uniq -c | sort -n

netstat -anp |grep 'tcp\|udp' | awk '{print $5}' | cut -d: -f1 | sort | uniq -c | sort -n

netstat -ntu | awk ' $5 ~ /^(::ffff:|[0-9|])/ { gsub („::ffff:“,»«,$5); print $5}' | cut -d: -f1 | sort | uniq -c | sort -nr

netstat -ant | awk '/^tcp/ { split ($5,,»:"); CNT[[1]]++ }; END { OFS="\t"; for (ip in CNT) { print CNT[ip],ip };}'

# Без сортировки
netstat -ant | awk '/^tcp/ { split ($5,IP,":"); CNT[IP[1]]++ }; END { OFS="\t"; for (ip in CNT) { print CNT[ip],ip };}'

# С разбивкой по портам
netstat -nt | awk -F":" '{print $2}' | sort | uniq -c | sort -n

Число коннектов

# Число коннектов на 80 порт:
netstat -na | grep :80 | wc -l
# То же, в статусе SYN
netstat -na | grep :80 | grep syn

 — для фильтрации не желательного трафика

Вот так добавляем в фильтр IP
iptables -A INPUT -p tcp --dport 80 -s 95.153.67.144 -j DROP
# если надо блочить IP полностью
iptables -A INPUT -s 95.153.67.144 -j DROP

Вот так смотрим списко уже добавленных
iptables -L -n
iptables -L -n --line-numbers

А вот так убираем из фильтра IP
iptables -D INPUT -s 1.2.3.4 -j DROP
# или удалить по номеру правила
iptables -L -n --line-numbers
iptables -D INPUT 4

А вот так очищаем вообще весь список
iptables -F

  • Seryak

    Констанин, спасибо за статью.

    Оформите , пожалуйста, листнинг кода без html тегов ?

  • Пензин Константин

    Извиняюсь, плагин неверно отработал

Запись навигация

Top