Как показывает статистика, порядка 60% рабочего времени системных администраторов и специалистов по ИБ обычно уходит на настройку железа и софта, остальное — на устранение неисправностей, последствий инцидентов и другие текущие задачи. Поэтому любое средство, призванное облегчить конфигурирование и администрирование оборудования, всегда вызывает интерес. Один из таких инструментов, внедренных в универсальный шлюз безопасности (UTM) Traffic Inspector Next Generation, называется GeoIP. О его устройстве и принципах работы, а также о том, зачем он вообще нужен, мы сегодня и поговорим.

Уроки географии

В процессе настройки правил брандмауэра или системы контроля доступа к интернету администратор обычно оперирует группами (или списками) IP-адресов.  Такие группы могут формироваться исходя из различных принципов: например, по тематической направленности сайтов (обычно подобные списки составляются вручную или предоставляются публичными сервисами), по рейтинговой системе — исходя из отзывов пользователей, или по географическому признаку. Рассмотрим последний случай чуть более подробно.

Определить местоположение IP-адреса можно различными способами. Чаще всего для этого используется база данных RIPE или сервисы WHOIS, предоставляющие информацию из нескольких источников. RIPE NCC — это один из пяти региональных интернет-регистраторов, выполняющих регистрацию и координацию деятельности интернет-ресурсов. Он поддерживает специальную базу данных, которая содержит регистрационную информацию для сетей в регионе обслуживания RIPE NCC и соответствующие контактные данные. Она, в частности, используется не только для получения сведений о географическом местоположении сетей, но и в целях формирования политик маршрутизации сетевыми операторами (RIPE IRR), или для предоставления обратной системы доменных имен (rDNS) и делегирования ENUM.

В свою очередь, AS — это система IP-сетей и роутеров, управляемых одним или несколькими операторами, которые используют единую политику BGP-маршрутизации. В рамках этой системы каждой сети, относящейся к локальному провайдеру, присваивается уникальный идентификатор ASN. Снаружи, из интернета, «видна» только политика маршрутизации провайдера, а за маршрутизацию внутри своего сегмента отвечает уже он сам. Номера AS выделяются организацией под названием Internet Assigned Numbers Authority, которая также выделяет IP-адреса региональным интернет-регистраторам. Соответственно, существуют базы ASN, запросы к которым позволяют определить географическое местоположение той или иной сети по ее IP-адресу. Одна из таких баз расположена, например, на сайте IANA, локальные базы поддерживаются региональными интернет-регистраторами. Существуют и агрегаторы, предоставляющие доступ к своим базам, иногда — на платной основе.

Однако способ определения географической привязки IP-адреса по базам ASN и RIPE не отличается высокой точностью. Прежде всего потому, что актуальность этих сведений очень сильно зависит от от аккуратности ответственных за объекты в RIPE или аналогичных организаций в Азии, Америке, Африке, как со стороны сотрудников этих организаций, так и со стороны тех, кто непосредственно использует эти объекты. Кроме того, очень важно, насколько актуальна содержащаяся в базах информация и как часто она обновляется. В общем, там, где определяющую роль играет человеческий фактор, ошибки неизбежны. Иногда сами владельцы IP-адресов или идентификаторов AS отправляют уточнение по местоположению их сетей непосредственно агрегаторам, но это происходит далеко не всегда. В результате базы порой могут содержать недостоверные данные.

Например, для IP-адреса 77.91.73.1 база RIPE сообщает, что он — британский, один из сервисов ASN с этим полностью согласен, а вот другой считает, что указанный адрес расположен в Нидерландах. Большинство агрегаторов выдает в качестве географической привязки DE/Frankfurt, некоторые — PL/Wloclawek, другие — RU/Moscow (или даже Красноярск). На самом же деле устройство с этим IP-адресом находится в Германии.

Решить именно эту проблему и призван инструмент GeoIP, добавленный в архитектуру универсального шлюза безопасности Traffic Inspector Next Generation (TING).

Как работает GeoIP? 

Алгоритм работы GeoIP достаточно прост. Вместо конкретного списка IP-адресов, сгруппированных по тому или иному признаку, администратор TING может использовать алиас вроде «RU», «GB» или «US», обозначающий некий географический регион (алиасы также можно группировать произвольным образом). В этом случае шлюз безопасности TING отправляет запрос на специальный сервер GeoIP, поддерживаемый компанией Smart-Soft. В ответ на запрос сервер отсылает специальным образом сформированный JSON, который содержит массив IP-адресов сетей соответствующей страны или группы стран. TING сохраняет этот список IP-адресов в качестве правила, в дальнейшем оно может быть использовано при изменении настроек.

Актуальность данных в рамках этой технологии поддерживается за счет использования двойного кеширования. Первый уровень кеша располагается на сервере GeoIP, и обновляется раз в сутки, либо при любых изменениях в базе данных IP-адресов. Второй уровень кеша хранится на стороне клиента на устройстве TING и обновляется каждые 2 часа.

Списки IP-адресов формируются хранятся на шлюзе безопасности в формате Classless Inter-Domain Routing (CIDR), что позволяет использовать их в целях фильтрации трафика. Как известно, нотация CIDR представляет собой компактное представление IP-адреса и связанной с ним сетевой маски, и включает сам IP-адрес, символ косой черты и десятичное число, определяющее сетевую маску. Число также можно рассматривать как ширину (в битах) сетевого префикса. Такой адрес может обозначать конкретный адрес интерфейса (включая идентификатор хоста, например, 192.168.0.1/8), или представлять собой начальный адрес сети. Нотация CIDR может использоваться даже без IP-адреса, например, при ссылке на /24 как на общее описание сети IPv4, которая имеет 24-битный префикс и 8-битные номера хостов.

Практическое применение

Использовать полученные с сервера GeoIP данные можно несколькими способами. Самый очевидный из них — применять географические алиасы в правилах брандмауэра вместо списков IP-адресов. В целом конкретные варианты использования GeoIP ограничены, пожалуй, исключительно фантазией администратора TING. Технология найдет свое применение везде, где необходимо формировать правила на основе списков IP, объединенных по географическому признаку. А таких случаев в практике применения шлюза безопасности может быть очень много.

Комментарии (2)


  1. Konvergent
    20.01.2023 16:06
    +1

    Не очень понял. Если хотели попутно рассказать концепцию работы GeoIP, тогда нет ссылок на аббревиатурах (я один их все не знаю?), и мало примеров.

    А так, да, можно было кратко: Мы добавили GeoIP в продукт =)


  1. gmtd
    20.01.2023 22:18
    +2

    Тоже ожидал большего

    Каким образом составляются данные GeoIP?

    Чем лучше GeoIP от Smart-Soft GeoIP от MindMax и других провайдеров сервиса?

    Сравнение, обзор и т.п.