1) Фаервол
2) И грамотно настроенный веб сервер!
Пример:
1) Фаерволл PF.
Обозначаем фильтер протоколов в rc.conf
pf=YES pf_rules=/etc/pf.conf Код: /etc/pf.conf set block-policy drop # Если кто то попал под правило block молча откидаем его пакеты set fingerprints "/etc/pf.os" # Файл с всеми извесными ОС, PF может резать людей по версиям ОС set loginterface $ext_if # С какого интерфейса статистику снимать будем. set optimization normal # Нормализация хождения трафика scrub in all # Нормализация входящего трафика scrub out all # Нормализация исходящего трафика table persist # Создаём таблицу DDOS block quick from to any # Всех кто в таблице DDOS рубим и не смотрим на остальные правила # Защита от ДДОС атак на WWW сервер pass in on $ext_if proto tcp from any to $int_if port www flags S/SA keep state ( max-src-conn-rate 50/5, overload flush)
# Если кто то хочет создать больше чем 50 линков за 5 сек добавлять в таблицу DDOS
Посмотреть всех кто попался на удочку так pfctl -t ddos -T show а очистить таблицу так
pfctl -t ddos -T flush
Мини мануал по командам PF
- pfctl -f /etc/pf.conf - Загрузить правила из файла /etc/pf.conf
- pfctl -nf /etc/pf.conf - Проверить валидность правил из файла /etc/pf.conf - НО НЕ ЗАГРУЖАТЬ
- pfctl -Nf /etc/pf.conf - Загрузить только правила NAT
- pfctl -Rf /etc/pf.conf - Загрузить только фильтрующие правила
- pfctl -sn - Посмотреть активные правила NAT ТРАНСЛЯЦИИ
- pfctl -sr - Посмотреть активные правила фильтра
- pfctl -ss - Показать текущую таблицу состояний (state table)
- pfctl -si - Показать статистику
- pfctl -sa - Показать ВСЁ что можна
Другие примеры PF:
# added by defsite.ru set loginterface em0 set optimization aggressive set limit {states 120000, frags 10000} set limit src-nodes 70000 set skip on { lo0 } pass in quick on em0 inet proto tcp from any to 77.91.229.144 port 80 flags S/SA synproxy state (max 100000, source-track rule, max-src-states 60, max-src-conn 50, if-bound, adaptive.start 60000, adaptive.end 120000)
Дополнительная информация по PF
2. web server
Устанавливаем в паре 2 веб сервера Nginx and Apache
На порту 80 работает Nginx а на 8080 работает Apache
Дуступ к порту 8080 разрешен только из интерфейса lo0.
И того Nginx выступает в качестве кешырующего веб сервера а апач в качестве выполняймого.
И вот когда Вас ДОСЯТ или ДДОСЯТ, Nginx первый раз берет страничку у апачаИ того Nginx выступает в качестве кешырующего веб сервера а апач в качестве выполняймого.
И вот когда Вас ДОСЯТ или ДДОСЯТ Nginx первый раз берет страничку у апача а второй и все последующие отдайот из кеша и сразу рубает линк с ДДОСЕРОМ, а второй и все последующие отдаёт из кеша и сразу рубает линк с ДДОСЕРОМ.
Источник