LINUX.ORG.RU

Для начала блок в iptables подсетей herzner, ovh и тп… Если запрашиваемые данные существуют - кешировать их… Если не существуют - то добавлять ip всех кто такое запрашивает в блок, например через fail2ban…

serg1982
()

и главное если у вас действительно по ip флуд, а у вас обычный сайт куда посетили ходят по домену, то в самом nginx сделать что бы он перестал отвечать по ip…

как то так например:

server {

    listen 80 default_server;
    listen [::]:80 default_server;

    server_name _;
    return 444;

}

serg1982
()
Последнее исправление: serg1982 (всего исправлений: 1)
Ответ на: комментарий от serg1982

У меня каждую секунду со множественных ип вот такой флуд запросы

скрин https://hostingkartinok.com/show-image.php?id=46943cf4427195ba7a24bac789df7278

server {

listen 80 default_server;
listen [::]:80 default_server;

server_name _;
return 444;

}

Типа с тех ип с которых мусорные запросы идут, сделать, чтоб он им ответ кидал ошибку типа?

AntiDOs1111
() автор топика
Ответ на: комментарий от serg1982

А как через fail2ban сделать так >> то добавлять ip всех кто такое запрашивает в блок, например через fail2ban…?)

AntiDOs1111
() автор топика

Не пытайся защититься от атак с помощью конфигурации Nginx. Ты так потратишь больше ресурсов, чем потенциально сможешь сэкономить. Блочь через iptables + ipset.

i-rinat ★★★★★
()
Ответ на: комментарий от i-rinat

Ну и через это я тоже не умею iptables + ipset., и блочить как типа по ип? Вдруг обычные клиенты тоже попадут под бан, есть норм где написано как это делать iptables + ipset?

AntiDOs1111
() автор топика
Ответ на: комментарий от AntiDOs1111

блочить как типа по ип

Да, блочить по IP-адресу. Просто дропать, без отсылки RST.

Вдруг обычные клиенты тоже попадут под бан

Возможно. Придётся выбрать, хочешь ли ты обрабатывать каждый запрос или нет. Блочить по параметрам в Nginx может оказаться дороже по ресурсам, чем просто отдавать ответы.

есть норм где написано как это делать iptables + ipset?

https://wiki.archlinux.org/index.php/Ipset#Blocking_a_list_of_network
https://wiki.archlinux.org/index.php/Ipset#Blocking_a_list_of_IP_addresses

i-rinat ★★★★★
()
Ответ на: комментарий от i-rinat

Ну меня сервер нормальный, там 2 ядра, 4гб озу и 30гб ссд, лучше фильтровать через нгинс попробовать, чтоб клиенты не пострадали, если уж не поможет, тогда уж через блок)

Просто как правильно файл конфиг нгинса настроить я хз, мне бы, чтоб скинули текст файл пример как выставить такие настройки, а то вдруг я не туда впишу

AntiDOs1111
() автор топика
Ответ на: комментарий от pinachet

Не занешь как мне правильно добавить в ngix.conf этот

код

if ($request_method !~ ^(GET|HEAD|POST)$ ) { return 444; }

В какую секцию вписать?

AntiDOs1111
() автор топика

Сами запросы имеют смысл в логике твоего приложения? Как они обрабатываются сейчас?

level1 ★★
()
Ответ на: комментарий от level1

Сейчас я этот код еще не поставил, так как мне скзалаи, что норм запросы GET тогда не пройдут

AntiDOs1111
() автор топика
Ответ на: комментарий от pinachet

При ddos использовать логирование фаервола сомнительная штука, лишняя нагрузка на хост

avb
()
Ответ на: комментарий от pinachet

Не понял «В блок vhosts для твоего vhost», у меня такого нету в ngix.conf там есть хттп и сервер

AntiDOs1111
() автор топика
Ответ на: комментарий от serg1982

А как правильно вставить это ткод в нгинс.конф?

AntiDOs1111
() автор топика
Ответ на: комментарий от Sorcus

Как правильно вставить код?

limit_conn_zone $binary_remote_addr zone=conn_limit_per_ip:10m;
limit_req_zone $binary_remote_addr zone=req_limit_per_ip:10m rate=5r/s;

server {
limit_conn conn_limit_per_ip 10;
limit_req zone=req_limit_per_ip burst=10 nodelay;
}

У меня сейчас стоит так в nginx.conf cкрин: https://hostingkartinok.com/show-image.php?id=7eb2180a3266d09f59c72e6d4b986fd7

AntiDOs1111
() автор топика
Ответ на: комментарий от AntiDOs1111

https://nginx.org/ru/docs/http/ngx_http_limit_conn_module.html
Ну вроде как у тебя правильно сделано... Или не работает?
Вообще в документации написано, что ограничения применяются на каждый IP в частности.
Т.е. если у тебя 10 запросов/сек и все с разных IP, это скорее всего не поможет.
У тебя запрашивают только статику?
Как вариант, можно страницы закешировать nginx-ом, чтобы не насиловать движок генерацией контента.
Главное не забыть про то, что страницы с cookie и прочее лучше не кешировать, а то так и до уязвимостей дойти можно.

Sorcus
()
Ответ на: комментарий от targitaj

Он как то странно работает CloudFlare, там норм ток проверка капчи и все, но это не спасает, последние запросы флуда на сайт не отображаются, может там есть лимит трафика хз, я через него ток блокировал некоторые ип, с которых были дос флуды запросов

AntiDOs1111
() автор топика
Ответ на: комментарий от Sorcus

Ну когда был дос флуд запросов типа GET/29i1934? трафик не падал особо, то есть я изменил файл конфиг нгинса вписал туда эти строки и перезапустил весь сервер, и флуд так же был( хз че делать

Пока ток помогла настройка sysctl и в nginx настройка от флуд, чтоб сервер не ложился вообще, но вот как отсеить напрочь этот дос когда он бывает, я хз

AntiDOs1111
() автор топика
Ответ на: комментарий от targitaj

Там даже через фирефол допустим, что жать, чтоб забанить, он как бы не очень ясно показывается, фильтр или исключения, это на выбор показывается в фиревол))

AntiDOs1111
() автор топика
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.