← Вернуться в блог

Ограничение доступа по IP в Nginx: зачем это нужно и как работает

Ограничение доступа по IP в Nginx: зачем это нужно, требования Минцифры и как геофильтрация повышает безопасность сервисов.

Ограничение доступа по IP в Nginx

Ограничение доступа по IP-адресам — одна из базовых практик защиты веб-сервисов. В этой статье разберём, зачем ограничивать доступ к сервисам только из российских сетей, как это связано с требованиями Минцифры и какую роль играет Nginx в реализации такой схемы.

Безопасность публичных сервисов начинается не только с паролей, сертификатов и обновлений. Важная часть защиты — сокращение поверхности атаки: чем меньше лишних точек входа доступно из интернета, тем ниже вероятность автоматического сканирования, подбора учётных данных и эксплуатации уязвимостей.

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

Поэтому для части наших сервисов мы применяем географическое ограничение доступа: обращения с IP-адресов, не относящихся к российским сетям, блокируются.

Зачем это нужно

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

Ограничение доступа по IP-диапазонам позволяет:

  • соответствовать отраслевым рекомендациям и требованиям регуляторов (в том числе Минцифры);
  • снизить количество автоматических сканирований;
  • уменьшить нагрузку на публичные точки входа;
  • сократить число попыток подбора паролей;
  • уменьшить вероятность эксплуатации известных уязвимостей;
  • сделать журналы безопасности чище и полезнее для анализа;
  • дополнить существующие меры защиты без изменения пользовательского сценария.

Это не замена полноценной информационной безопасности. Мы по-прежнему используем аутентификацию, контроль доступа, обновления, журналирование, резервное копирование и мониторинг. Географическая фильтрация — дополнительный слой защиты.

Как формируется список разрешённых сетей

Для фильтрации используется актуальный список российских IP-диапазонов в формате CIDR. Такой список регулярно обновляется, потому что адресное пространство операторов связи меняется: появляются новые подсети, часть диапазонов передаётся другим владельцам, меняются маршруты и регистрационные данные.

В качестве одного из источников можно использовать агрегированные списки IPdeny. Они публикуют country IP zone files, включая агрегированные файлы по странам. Для России это файл:

ru-aggregated.zone.

Что видит пользователь

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

Если подключение идёт с зарубежного IP-адреса, доступ может быть ограничен. В этом случае пользователь получает страницу с объяснением причины блокировки и рекомендацией обратиться в поддержку, если доступ действительно необходим.

Важное ограничение

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

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

Вывод

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

Техническое описание реализации, скрипт обновления списка и пример настройки Nginx опубликованы в базе знаний:

Ограничение доступа к Nginx только с российских IP-адресов.