🌐 Блокировка IP-адресов на Nginx |

🌐 Блокировка IP-адресов на Nginx

Мануал

В этой заметке вы узнаете о блокировке IP-адресов в Nginx.

Это позволяет контролировать доступ к серверу.

Nginx является одним из лучших веб-сервисов на сегодняшний день.

Скорость обработки запросов делает его очень популярным среди системных администраторов.

Кроме того, он обладает завидной гибкостью, что позволяет использовать его во многих ситуациях.

Наступает момент, когда необходимо ограничить доступ к определенным компьютерам или IP-адресам.

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

💗 Советы и рекомендации по обеспечению безопасности вашего веб-сервера Nginx

Блокирование IP-адресов на Nginx

Модуль ngx_http_access_module позволяет ограничить доступ к определенным клиентским адресам в соответствии с документацией Nginx.

Это позволяет использовать разрешающие и запрещающие правила для контроля IP-адресов, которые могут получить доступ к определенным ресурсам сервера Nginx.

Итак, давайте рассмотрим несколько примеров настройки

Блокирование доступа по IP-адресу к вашему сайту

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

Для этого необходимо открыть файл конфигурации сайта (ServeBlocks) или, как говорят в Apache, Virtualhost и добавить в него что-то вроде этого.

location / {
   deny [IP];
 }

Таким образом, доступ к указанному IP-адресу ограничивается корнем сайта.

То есть самого сайта.

IP-адрес можно указать как в IPv4, так и в IPv6, и Nginx полностью его распознает.

Затем сохраните изменения и закройте редактор.

А для применения изменений можно перезапустить службу.

sudo systemctl reload nginx

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

Иногда случается так, что ограничение, которое Вы хотите ввести, не столь радикально, и Вы хотите сделать это только для определенного подкаталога.

В этом случае также можно, немного изменив предыдущее правило, определить новую директиву.

location /subdirectory {
   deny 3.4.5.6;
 }

В данном случае ограничивается IP-адрес 3.4.5.6 по пути /subdirectory.

Опять же, чтобы изменения вступили в силу, необходимо сохранить их, а затем перезапустить Nginx.

Разрешить доступ  одному IP-адресу

Время от времени нам приходится выполнять обратную операцию, то есть разрешать доступ только одному IP-адресу и запрети доступ остальным.

Для этого можно комбинировать запрещающие и разрешающие правила, разрешая один и запрещая остальные,

location / {
   allow 3.4.5.6;
   deny all;
 }

В этом случае доступ разрешен для IP-адреса 3.4.5.6, но запрещен для остальных.

Таким образом, доступ будет осуществляться только с одного IP-адреса.

Еще один пример блокировки IP на Nginx

Существуют и другие примеры использования данной ситуации.

Один из них – ограничение IP-адреса не для всего сайта, а для поддомена.

В этом случае придется редактировать не расположение сайта, а более общую конфигурацию сервера

server {
  server subdomain.unixcop.com;
  deny 7.8.9.10;
}

Конечно, можно также блокировать несколько IP-адресов или непосредственно диапазоны.

location / {
   deny 192.168.1.1/24;
   allow all;
 }

Таким образом, можно быстро запретить диапазон IP-адресов в сети и разрешить остальные.

Заключение

Nginx настолько гибок, что с помощью нескольких строк можно заблокировать доступ одного или нескольких IP-адресов к вашему сайту.

см. также:

Пожалуйста, не спамьте и никого не оскорбляйте. Это поле для комментариев, а не спамбокс. Рекламные ссылки не индексируются!
Добавить комментарий