Суббота, 18.05.2024, 13:01
Приветствую Вас Гость | RSS
UBUNTOLOG
Главная | Каталог статей | Регистрация | Вход
Форма входа

Меню сайта
Категории раздела
Server [44]
WEB [14]
Все что связанно с web технологиями
Desktop [11]
Все что связанно с рабочей станцией
Статистика

Онлайн всего: 1
Гостей: 1
Пользователей: 0
Поиск
Друзья сайта
  • Официальный блог
  • Сообщество uCoz
  • FAQ по системе
  • Инструкции для uCoz
  • Главная » Статьи » Server

    DDos

    Определяем процессы Apache в среднем их должно быть не более 30

     

    deb

    ps aux | grep apache | wc -l

    cenos

    ps aux | grep httpd | wc -l

     

    Смотрим число коннектов на порт

    netstat -na | grep :80 | wc -l

    netstat -na | grep :443 | wc -l

     

    Смотрим колличество SYN запросов

    netstat -na | grep :80 | grep SYN | sort -u | more

    netstat -na | grep :443 | grep SYN | sort -u | more

    netstat -n -t | grep SYN_RECV | wc -l

     

    Смотрим на какой домен идут запросы

    tcpdump -npi eth0 port domain

     

    Сортируем ко-во запросов с ip по всем портам

    netstat -ntu | awk '{print $5}'| cut -d: -f1 | sort | uniq -c | sort -nr | more

    или

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

    или

    netstat -antu | awk '$5 ~ /[0-9]:/{split($5, a, ":"); ips[a[1]]++} END {for (ip in ips) print ips[ip], ip | "sort -k1 -nr"}'

     

    По определенному порту

    netstat -ntu | grep ":80\ " | awk '{print $5}'| cut -d: -f1 | sort | uniq -c | sort -nr | more

    или полный вывод по порту

    netstat -na | grep :80 | sort | uniq -c | sort -nr | more

     

    Смотрим на какие порты стучится определенный ip

    netstat -na | grep 127.0.0.1

     

    Смотрим ip с числом запросов к сервису

    cat /full_patch/access.log | awk '{print $1}' | sort | uniq -c

     

    Смотрим с каких агентов заходили юзеры

    cat /full_patch/access.log | awk -F\" '{print $6}' | sort | uniq -c | sort -n

     

    Блокировка IPTABLES

     

    TCP на 80 порт с определенного IP

    iptables -A INPUT -p tcp --dport 80 -s 12.34.56.78 -j DROP

     

    TCP с определенного IP на все порты

    iptables -A INPUT -s 12.34.56.78 -j DROP

     

    Список заблокированных

    iptables -L -n

    или

    iptables -L -n —line-numbers

     

    Отмена блокировки IP

    iptables -D INPUT -s 127.0.0.1 -j DROP

    или удаления правила по номеру

    iptables -D INPUT 6

     

    Отчистить таблицу правил

    iptables -F

     

    Профилактика для зашиты от Ddos

     

    максимальное количество подключений с одного IP на 80 порт

    iptables -A INPUT -p tcp --dport 80 -m connlimit --connlimit-above 128 -j DROP

    iptables -A INPUT -p tcp --dport 80 -j ACCEPT

     

    То же для DNS

    iptables -A INPUT -p udp --dport 53 -m connlimit --connlimit-above 16 -j DROP

    iptables -A INPUT -p udp --dport 53 -j ACCEPT

     

    Следующее правило в iptables будет препятствовать спуфингу от нашего имени. Как правило, во время ddos мы получаем пакет с установленными флагами SYN и ACK по еще не открытому соединению (этой комбинацией флагов обладает только ответ на SYN-пакет). Это говорит о том, что кто-то послал другому хосту SYN-пакет от нашего имени, и ответ пришел к нам.
    По данному правилу, наш хост ответит RST-пакетом, после получения которого атакуемый хост закроет соединение.

    iptables -I INPUT -m conntrack --ctstate NEW,INVALID -p tcp --tcp-flags SYN,ACK SYN,ACK -j REJECT --reject-with tcp-reset

     

    Сохраняем правила

    iptables-save > /etc/iptables.rules

     

    Дополнительно можно настроить Fail2ban



    Источник: https://maxidrom.net/archives/1454
    Категория: Server | Добавил: Vyacheslav (08.12.2021)
    Просмотров: 180 | Комментарии: 2 | Рейтинг: 0.0/0
    Всего комментариев: 0
    Имя *:
    Email *:
    Код *:
    Copyright VR © 2024
    Сделать бесплатный сайт с uCoz