The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]




Версия для распечатки Пред. тема | След. тема
Новые ответы [ Отслеживать ]
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-пакеты от маршрутизатора подсети сервера.




Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2024 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру