IP-адрес блока NGINX, подсеть и руководство пользователя |

24 февраля Интернет

Недавно я заметил значительное увеличение трафика на сайт, как ни странно, весь трафик был прямым трафиком и, похоже, исходит от одного провайдера — xlhost.com inc. После небольшого исследования я обнаружил, что этот провайдер печально известен тем, что позволяет людям запускать VPS с ботами, скребками и т. Д. И общими плохими намерениями.

xlhost block nginx

Мне нужно было найти способ блокировать весь трафик от этого провайдера, что заставило меня задуматься о том, как я могу это сделать, я решил взглянуть на две вещи — диапазон IP-адресов и также бороться с ботами, которых мы можем блокировать пользовательскими агентами, которые, будучи Используется для очистки сайта. Цель этого поста — предоставить руководство о том, как заблокировать эти IP-адреса и любые другие IP-адреса, которые вы, возможно, не захотите посещать на своем веб-сайте. Со временем я добавлю в этот список с вашей помощью.

Блокировка пользовательских агентов в NGINX

Это очень просто сделать, но только действительно полезно, если они нарушают IP, используют там своего собственного бота, нам нужно убедиться, что журналы доступа включены в первую очередь (нажмите на ссылку). После просмотра этих журналов для нарушающих IP и пользовательских агентов я выделю один, который мы заблокируем ниже.

блокировать и бот или пользовательский агент в nginx

Интересующая нас часть заключается в следующем:

WeSEE: реклама / PageBot (http://www.wesee.com/bot/

Похоже, это любопытный бот, пытающийся увидеть, что запускает реклама techieshelp, и пришло время его убрать. Для этого нам нужно отредактировать блок сервера для нашего сайта, который обычно находится в следующем каталоге и назван в честь вашего сайта.

/ И т.д. / Nginx / сайты, есть в наличии /

После того, как вы нашли свой файл, добавьте следующее в свой блок сервера, как упомянуто в этом примере, мы блокируем WeSEE: Ads / PageBot (http://www.wesee.com/bot.

if ($ http_user_agent = "WeSEE: Ads / PageBot (http://www.wesee.com/bot") {
возврат 403;}

Это должно выглядеть так, как показано ниже, очевидно, вы можете заменить пользовательский агент любым пользовательским агентом.
заблокировать пользовательский агент nginx

Вы должны добавить вышеупомянутое для каждого пользовательского агента, что заставило меня думать, что блокировка IP-адресов или подсетей была бы лучше.

Блокировка IP-адреса или подсети в NGINX

В этом примере я блокирую подсети на xlhost.com, но со временем добавлю больше к файлу deny, который мы создаем. Процесс, описанный ниже, включает создание файла deny.conf и включение его в файл nginx.conf в нашем блоке http — так все будет в порядке. Сначала давайте найдем подсети, которые мы хотим заблокировать. В своем журнале доступа, как упоминалось выше, найдите нарушающий IP-адрес, а затем воспользуйтесь сайтом ниже, чтобы получить свою подсеть благодаря @linevty !.

http://bgp.he.net/

Это даст вам подсеть, как видно из моего примера.
заблокировать подсеть в nginx

Теперь вернемся на ваш сервер и запустите следующую команду для создания deny.conf:

nano /etc/nginx/deny.conf

Сейчас мы находимся в этом файле, и нам нужно добавить следующее, чтобы заблокировать подсети, которые мы не хотим разрешать просматривать на нашем сайте — здесь я блокирую большинство подсетей xlhosts — пожалуйста, пришлите мне больше, если вы знаете о них!

отрицать 209.51.197.0/24; # XLHOST IP
отказать 209.190.121.32/27; #XLHOST IP
отказать 209.190.0.0/17; # XLHOST IP
отказать 173,45,64,0/18; # XLHOST IP
отрицать 64.79.64.0/19; # XLHOST IP
отрицать 64.79.89.0/19; # XLHOST IP
отрицать 64.79.85.0/19; # XLHOST IP
отрицать 207.182.155.96/28; #AXARNET
отказать 207.182.158.136/29; #AXARNET
отказать 91.142.208.0/20; #AXARNET
отказать в 95.141.32.0/20; # SeFlow.it
отказать 82.103.128.0/18; #EASYSPEEDY внешняя сеть

После сохранения этого файла нам нужно получить nginx для вызова этого файла. Отредактируйте файл NGINX.CONF с помощью следующей команды.

nano /etc/nginx/nginx.conf

Вам будет представлен экран, аналогичный приведенному ниже, выделите раздел, в котором указано access_log off: и измените его на on.

Затем найдите блок HTML и добавьте следующую строку в блок HTML, он должен выглядеть как в примере ниже.

include /etc/nginx/deny.conf;

HTML-блок nginx

Сохраните файл, и нам нужно перезапустить службу NGINX с помощью следующей команды.

sudo service nginx restart

Теперь вы заблокировали подсети с хоста xl, используйте тот же процесс, чтобы заблокировать другие нарушающие ips и подсети. Если у вас были проблемы с различными ботами, пользовательскими агентами и неприятными IP-подсетями, тогда, пожалуйста, прокомментируйте ниже, и мы можем составить главный список запретов.

NGINX IP DENY MASTER LIST

отрицать 209.51.197.0/24; # XLHOST IP
отказать 209.190.121.32/27; #XLHOST IP
отказать 209.190.0.0/17; # XLHOST IP
отказать 173,45,64,0/18; # XLHOST IP
отрицать 64.79.64.0/19; # XLHOST IP
отрицать 64.79.89.0/19; # XLHOST IP
отрицать 64.79.85.0/19; # XLHOST IP
отрицать 207.182.155.96/28; #AXARNET
отказать 207.182.158.136/29; #AXARNET
отказать 91.142.208.0/20; #AXARNET
отказать в 95.141.32.0/20; # SeFlow.it
отказать 82.103.128.0/18; #EASYSPEEDY внешняя сеть

Ссылка на основную публикацию