DDoS, peering, 15-Янв-13, 21:49 [смотреть все]1)Подскажите какие критерии можно добавить для большей фэективности. 2) Находил много примеров с использование tcpdump и создание чёрного списка,,, но застрял на этапе транспорта в конфиг iptables,, как лучше реализовать iptables -F iptables -X iptables -t nat -F iptables -F INPUT #iptables -F OUTPUT iptables -F FORWARD # Установка политик по умолчанию iptables -P INPUT DROP iptables -P FORWARD DROP iptables -P OUTPUT ACCEPT # Разрешаем локальный интерфейс iptables -A INPUT -i lo -j ACCEPT iptables -A INPUT -s ********** -j DROP iptables -A INPUT -s ****** -j DROP iptables -A INPUT -s ***** -j DROP iptables -I INPUT -p tcp --syn --dport 80 -m connlimit --connlimit-above 10 --connlimit-mask 24 -j DROP iptables -I INPUT -p tcp --syn --dport 80 -m hashlimit --hashlimit-above 1/second --hashlimit-burst 20 --$ # Простая защита от DoS-атаки iptables -A INPUT -p tcp -m tcp --tcp-flags SYN,ACK,FIN,RST RST -m limit --limit 1/s -j ACCEPT # Защита от спуфинга iptables -I INPUT -m conntrack --ctstate NEW,INVALID -p tcp --tcp-flags SYN,ACK SYN,ACK -j REJECT --rejec$ # Защита от попытки открыть входящее соединение TCP не через SYN iptables -I INPUT -m conntrack --ctstate NEW -p tcp ! --syn -j DROP # Закрываемся от кривого icmp iptables -I INPUT -p icmp -f -j DROP # REL, ESTB allow iptables -A INPUT -p tcp -m state --state RELATED,ESTABLISHED -j ACCEPT iptables -A INPUT -p udp -m state --state RELATED,ESTABLISHED -j ACCEPT # Защита сервера SSH от брутфорса iptables -A INPUT -p tcp --syn --dport 22 -m recent --name root --set iptables -A INPUT -p tcp --syn --dport 22 -m recent --name root --update --seconds 30 --hitcount 3 -j DROP #iptables -A INPUT -m conntrack --ctstate NEW -p tcp --sport 1024:65535 --dport 20:21 -j ACCEPT # Разрешаем рабочие порты iptables -A INPUT -p tcp --dport 20 -j ACCEPT iptables -A INPUT -p tcp --dport 21 -j ACCEPT iptables -A INPUT -p tcp --dport 22 -j ACCEPT iptables -A INPUT -p tcp --dport 25 -j ACCEPT iptables -A INPUT -p udp --dport 53 -j ACCEPT iptables -A INPUT -p tcp --dport 53 -j ACCEPT iptables -A INPUT -p tcp --dport 80 -j ACCEPT iptables -A INPUT -p tcp --dport 110 -j ACCEPT # Разрешение главных типов протокола ICMP iptables -A INPUT -p icmp --icmp-type 3 -j ACCEPT #iptables -A INPUT -p icmp --icmp-type 8 -j ACCEPT #iptables -A INPUT -p icmp --icmp-type 8 -j LOG --log-level debug --log-prefix "PING IP_TABLES:" iptables -A INPUT -p icmp --icmp-type 11 -j ACCEPT iptables -A INPUT -p icmp --icmp-type 12 -j ACCEPT
|
- DDoS, pavlinux, 22:47 , 15-Янв-13 (1)
> # Разрешение главных типов протокола ICMPЕсли ответишь зачем тебе ICMP, расскажу дальше.
- DDoS, peering, 11:32 , 16-Янв-13 (2)
>> # Разрешение главных типов протокола ICMP > Если ответишь зачем тебе ICMP, расскажу дальше.для обмена служебной информации между web и удалённым хостом, 3,11,12 являются обязательными типами icmp сообщений: 3 ошибки , 11 TTL, 12, ошибки в Ip заголовке. Но меня не пытаються досить с помощью icmp, проблема такова 2013-01-15 18:42:07 ***** 200 65 0 "POST / HTTP/1.1" "-" "-" шлют пустые запросы
- DDoS, pavlinux, 20:50 , 16-Янв-13 (3)
>>> # Разрешение главных типов протокола ICMP >> Если ответишь зачем тебе ICMP, расскажу дальше. > для обмена служебной информации между web и удалённым хостом, Ну в двух словах - он нафиг не нужен. За тебя всё делает провайдер. А пакеты с TTL меньше 30 ваще прибивать надо, ибо самый маленький дефолтный только у линуксов - 64, если пакет прошел 30 хопов, то такой клиент ваще не нужен, только сокет занимать пока пакет туда-обратно по 5 секунд летать будет. Битые заголовки - можно специально генерировать, теперь твой задоссенный сервак, помимо отшиба соединений, должен будет уведомлять отправителя о том, что мол битый пакет прислал. ICMP сообщения, о том что поменялся маршрут, сам понимаешь, на сервеке не упёрлись.
- DDoS, ne4to, 20:58 , 16-Янв-13 (4)
>2013-01-15 18:42:07 ***** 200 65 0 "POST / HTTP/1.1" "-" "-" шлют пустые запросыgrep + awk + ipset примеров тьма
- DDoS, pavlinux, 21:05 , 16-Янв-13 (5)
>>2013-01-15 18:42:07 ***** 200 65 0 "POST / HTTP/1.1" "-" "-" шлют пустые запросы > grep + awk + ipset > примеров тьма Да это обычные скан-боты, проверяют жив-нежив. (D)DOS-клиент делает только TCP/IP-рукопожатия, устанавливает ESTABL. и вываливается в паузу. - DDoS, peering, 15:56 , 17-Янв-13 (7)
>>2013-01-15 18:42:07 ***** 200 65 0 "POST / HTTP/1.1" "-" "-" шлют пустые запросы > grep + awk + ipset > примеров тьма ipset -N ddos iphash iptables -A INPUT -p tcp -m tcp --dport 80 -m set --set ddos src -j DROP while true; do tail -10000 /var/www/httpd-logs/site.ru.access.log | sort | cut -f 1 -d " " | uniq -c | awk '($1>50){print $2}' | xargs -tl -I _ ipset -A ddos _;sleep 30; done Можете подсказать,,, как лучше разместить данное правило в моём конфиге или нужно вынести отдельно ? Просто сложилось мнение что из за while true может получиться зацикливание ???
- DDoS, peering, 14:03 , 17-Янв-13 (6)
>[оверквотинг удален] > делает провайдер. > А пакеты с TTL меньше 30 ваще прибивать надо, ибо самый маленький > дефолтный только у линуксов - 64, если пакет прошел 30 хопов, > то такой клиент ваще не нужен, только сокет занимать пока пакет > туда-обратно по 5 секунд летать будет. > Битые заголовки - можно специально генерировать, теперь твой > задоссенный сервак, помимо отшиба соединений, должен будет > уведомлять отправителя о том, что мол битый пакет прислал. > ICMP сообщения, о том что поменялся маршрут, сам понимаешь, на сервеке не > упёрлись.А как http протокол будет работать, ведь работает он через tcp а ему необходимо подтверждения,, хотя я попробовал отключить все типы,,, вроде работает.
- DDoS, pavlinux, 18:58 , 17-Янв-13 (8)
>>[оверквотинг удален] > А как http протокол будет работать, ведь работает он через tcp а > ему необходимо подтверждения,, хотя я попробовал отключить все типы,,, вроде работает. У IP/TCP/HTTP есть контрольные суммы и размеры в заголовках, если заголовок битый или контрольная сумма не совпала, пакеты убиваются и отправляются сообщения о запросе повтора, иль просто молча убиваются. TCP соединение ваще тяжело прибить. Говорю ж, ICMP полезен на промежуточных узлах, на оконечных, типа сервера или клиента он бесполезен. Максимум, что можно оставить - это ICMP-пакеты от маршрутизатора подсети сервера.
|