Как я могу создать черный список ips на nginx за cloudflare? (Анти DoS / DDoS) - PullRequest
0 голосов
/ 31 мая 2019

Мой сайт получает много DoS / DDoS-атак.Я установил nginx за Cloudflare с fail2ban.

Чтобы исправить сначала DoS-атаки, у меня есть ограничение скорости в nginx с восстановлением исходных ips и затем запретом IP на 1 час через fail2ban, НОего просто не работает .

Полагаю, потому что IP-адреса Cloudflare все еще подключаются.

Я восстанавливаю IP с помощью set_real_ip_from & real_ip_header CF-Connecting-IP; !Кроме того, мой nginx error.log просто получает спам, и я не вижу, чтобы этот IP получал ограниченную скорость.

error.log спамил более чем 90 тысяч строк с этим здесь:

2019/05/29 20:44:47 [error] 1726#1726: *1898 recv() failed (104: Connection reset by peer) while reading response header from upstream, client: 99.999.999.999, server: localhost, request: "GET /index.php HTTP/1.1", upstream: "fastcgi://127.0.0.1:9000", host: "example.com" 

или

2019/05/29 23:33:08 [error] 26124#26124: *135 upstream timed out (110: Connection timed out) while connecting to upstream, client: 99.9999.999.99, server: localhost, request: "GET /index.php HTTP/1.1", upstream: "fastcgi://127.0.0.1:9000", host: "example.com" ```


мой предел скорости в nginx выглядит следующим образом:

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

server {

    include /etc/nginx/cloudflare; #  whitelisting the ip's from cloudflare etc

    location / {
        root   /usr/share/nginx/html;
        index  index.html index.htm index.php;
        limit_conn conn_limit_per_ip 15;
        limit_req zone=mylimit nodelay;
    } .....

Это как-то возможносоздать черный список в nginx (бесплатная версия), чтобы заблокировать IP-адреса на X секунд без fail2ban?

Мой другой вопрос: почему все это не работает, и только один IP (DoS) может снять мой полный?Сервер за режимом UAM в Cloudflare и этим ограничением скорости с nginx.Если бы кто-то мог найти время и объяснить это мне, это было бы удивительно!

Прошу прощения за мой английский.


РЕДАКТИРОВАТЬ: Если я устанавливаю ограничение скорости, например, для проверки 3r / s и обновления 3 раза вПросмотрите мой URL, я вижу, что это работает, и это дает мне ошибку, как это должно быть.Но в любом случае только один IP-адрес может снять мой сервер, я не понимаю.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...