
Блокировка соединений используя Nginx
В этой теме «Блокировка соединений используя Nginx» я расскажу как блокировать посетителей с помощью Nginx, используя IP-адрес, referrer, сеть, страну. Это очень распространенная тема т.к нужно всегда блокировать трафик ( большая часть — боты).
Примеры использования блокировки соединений используя Nginx
1. Блокировка по IP в Nginx, для этого используйте этот синтаксис:
deny 18.19.45.67; # DOS attack, denied.
Всегда оставляйте комментарии потому что вы можете вспомнить, почему он был заблокирован позже.
2. Блокировка User Agent и заблокировать все эти ненужные сканеры:
if ($http_user_agent ~ "Purebot|Lipperhey|MaMa CaSpEr|libwww-perl|Mail.Ru|gold crawler" ) {return 403;}
3. Блокировка Referrer, вы можете также блокировать соединения, основываясь на информации о referrer-лах, который отправляется с веб-заголовков:
if ($http_referer ~* "bingo|casino|viagra") {return 403;}
4.Блокировка целой сети, если вы испытываете атаки с различных IP-адресов в пределах той же сети, то стоит заблокировать всю сеть. Вы можете сделать это, используя тот же синтаксис что и при блокировки IP-адрес, но вместо одного IP-адреса, необходимо добавить маску подсети. Пример:
deny 191.121.109.0/24;deny 218.117.113.0/20;
5. Блокировка с использованием GeoIP и стран на nginx
С использованием GeoIP очень легко заблокировать всю страну, вы можете сделать это с помощью правил брандмауэра, или просто настройке веб-сервера Nginx, чтобы блокировать выбранную страну, которая иметься в базу данных GeoIP.
Во-первых, необходимо установить GeoIP и скачать базы данных, а затем прописать в вашей системе внутри блока HTTP {} следующий код:
if ($geoip_country_code ~ (CN|KR) ) {return 403;}
В этом примере я блокирую Китай и Корею. Во всяком случае, это все на сегодня, надеюсь, что это руководство поможет вам блокировать ваши нежелательных посетителей от удара сервер Nginx. Блокировка соединений используя Nginx завершена.
Was this helpful?
0 / 0