![](https://habrastorage.org/getpro/habr/upload_files/f68/0bb/b43/f680bbb431ed34762e46a9bc5b4bed90.jpg)
Привет Хабр!
Сегодня в статье расскажу о недооценённом и малоизвестном сервисе информационной безопасности в межсетевых экранах (МСЭ) Zyxel VPN / ATP / USG Flex.
Сервис называется Geo Enforcer (Гео IP). С прошлого года, ориентировочно с версии 5.10, он стал бесплатным, не требует лицензию и процедур активаций.
Что это такое и чем он полезен?
Мои предыдущие статьи:
В конце текста информация обо мне.
Сервис Гео-IP преобразует IP-адреса в географические адреса. На основе IP-адреса отправителя входящего трафика сервис определяет, из какой страны поступает этот трафик. Если окажется, что отправитель трафика находится в стране, отсутствующей в разрешающем правиле файрволла, то межсетевой экран заблокирует этот трафик для обеспечения безопасности вашей сети. Есть другие варианты применения сервиса, об этом в статье будет рассказано.
Заказчики ИТ-объектов неоднократно изъявляли желание ограничить интернет в гостевой сети от зарубежных сайтов и оставить только российские сайты. Кроме них, на разных независимых от них объектах произошло два события, после которого Гео-IP им явно потребовался.
1. После ввода режима самоизоляции в 2020 году учащихся перевели на дистанционку и лекции проводили на серверах видеоконференций, вскоре подвергшиеся DDoS-атакам, что вызывало проблемы при подключении к серверам и ширина интернет-канала значительно сужалась и приводило к задержкам воспроизведения видео и аудиопотоков. Анализ логов показал, что перед DDoS-атаками серверы видеоконференций сканировали на наличие свободных портов и спустя время ДДоСили найденные открытые порты. Сканирование и атаки велись с разных зарубежных IP, но ни разу не было IP из России и бывших советских республик.
Стали ли бы сканировать серверы видеоконференций из России, защищённого МСЭ с Гео-IP, который отбрасывает все входящие соединения от всех стран, кроме той, в которой учащиеся проживали? Всё равно в период карантина за границу никто не выезжал.
2. Сотрудников других разных объектов перевели на удалёнку. Чтобы их серверы не сканировали с последующими атаками, к ним необходимо запретить доступ от всех стран, кроме той, в которой сотрудники проживали.
Понимаю, что Гео-IP не подходит тем, у кого клиенты или сотрудники разбросаны по всему миру, но тем не менее, есть компании, у которой сотрудники находятся в пределах одной страны. Судя по тому, что массовый перевод на удалёнку продолжается по сегодняшний день и ходит много разговоров об ограничений гостей от зарубежных сайтов в гостевых Wi-Fi сетях, поэтому проведу знакомство с Гео-IP. Пусть он будет у вас всегда под рукой, чем полное его отсутствие и нечем будет противостоять в момент проявления угрозы. Тем более, он стал бесплатным, штатно присутствует в прошивке МСЭ Zyxel VPN / ATP / USG Flex. Ничего покупать и активировать не нужно.
Предупреждён, значит вооружён.
Теперь приступим к знакомству с сервисом Гео-IP на МСЭ Zyxel USG Flex 500 (версия прошивки 5.20 с дефолтным конфигом) с краткими пояснениями, к чему и для чего можно применить этот сервис для полного понимания.
С веб-интерфейсом МСЭ Zyxel можно познакомиться в виртуальной лаборатории Zyxel:
На странице Geo IP (рис.1) можно "пробить" IP адрес, какой стране принадлежит. При отсутствии принадлежности к стране, можно вручную добавить IP к стране, если обновление базы адресов "IP - страна" не помогает.
![Рис.1 - Страница Гео-IP. Рис.1 - Страница Гео-IP.](https://habrastorage.org/getpro/habr/upload_files/f95/a23/0c3/f95a230c31bd9acf172dcb422bfaed54.png)
Или в консоли (рис.2 и 3).
![Рис.2 - Узнаём страну по IP. Рис.2 - Узнаём страну по IP.](https://habrastorage.org/getpro/habr/upload_files/cb7/d2f/71b/cb7d2f71b8f2f8ef27a0a8690785d17b.png)
![Рис.3 - Добавление отсутствующего IP к стране. Рис.3 - Добавление отсутствующего IP к стране.](https://habrastorage.org/getpro/habr/upload_files/523/6ae/d05/5236aed0516bfdbee08d0861f92fd19c.png)
Для консоли текст команд для копипаста:
show geo-ip geography address х.х.х.х (где х.х.х.х - это IP)
Для добавления отсутствующего IP:
configure terminal
geo-ip geography RU all address х.х.х.х (где х.х.х.х - это IP)
write
exit
Для работы с Гео-IP в различных сценариях создал профиль с названием "Russkie_IP", в котором IP принадлежат России (рис.4 и рис.5).
![Рис.4 - Выбор страны в создаваемом профиле. Рис.4 - Выбор страны в создаваемом профиле.](https://habrastorage.org/getpro/habr/upload_files/929/960/770/929960770c4aa3d1520cc8fb09851b66.png)
![Рис.5 - Создан Гео-IP профиль с IP, принадлежащие России. Рис.5 - Создан Гео-IP профиль с IP, принадлежащие России.](https://habrastorage.org/getpro/habr/upload_files/00f/622/ca6/00f622ca6d9ef6532e4d8ec8ccc5e07c.png)
В консоли (рис.6).
![Рис.6 - Создание Гео-IP профиля с IP, принадлежащие России. Рис.6 - Создание Гео-IP профиля с IP, принадлежащие России.](https://habrastorage.org/getpro/habr/upload_files/89d/b4b/afa/89db4bafa2d6b478c2fa689b6a0f51dd.png)
Для консоли текст команд для копипаста:
configure terminal
address-object Russkie_IP geography RU all
write
exit
Где можно применить Гео-IP:
1) В файрволле (рис.7).
В правилах файрволла ("КОНФИГУРАЦИЯ -> Безопасность -> Политики") Гео-IP профиль "Russkie_IP" можно применить к "Источник:" (откуда запрос/соединение приходит) и к "Назначение:" (куда запрос/соедиение будет отправлено).
![Рис.7 - Правило файрволла с применением профиля Гео-IP. Рис.7 - Правило файрволла с применением профиля Гео-IP.](https://habrastorage.org/getpro/habr/upload_files/4b7/61c/289/4b761c28975abbc8dfd32f316943039d.png)
В начале статьи приводил пример о сканировании серверов видеоконференций с последующими ДДоС-атаками. Для предотвращения получения информации о доступных IP и TCP/UDP портах лицам, находящиеся за пределами России или использующие сервисы с подменой публичного IP, закроем IP серверов видеоконференций от зарубежных запросов/соединений как на рис.9 или 10, при условии, что в штатном дефолтном правиле файрволла стоит "deny" (рис.11 или 12) и отсутствуют другие недефолтные разрешающие правила.
Заранее создадим расписание (рис.8) для включения/выключения правила файрволла, а потом перейдём к созданию правила файрволла (рис.9 или 10).
![Рис.8 - Создание расписания. Рис.8 - Создание расписания.](https://habrastorage.org/getpro/habr/upload_files/3e5/e41/de2/3e5e41de2c03437e08692f412b104adc.png)
Для консоли текст команд для копипаста:
configure terminal
schedule-object Rabochii_grafik 07:45 18:00 mon tue wed thu fri sat
write
exit
Проверка добавленного расписания:
show schedule-object
Примечание: профиль "Rabochii_grafik" создавал в расписании для включения правила файрволла в 7:45 и выключения в 18:00, чтобы в вечернее, ночное время и в воскресенье все серверы видеоконференций всем были недоступны, всё равно занятий нет в такое время.
Теперь приступаем к созданию правила файрволла (рис.9 или 10) с применением профиля из Гео-IP "Russkie_IP" и из расписания "Rabochii_grafik".
![Рис.9 - Создание политики (правила) в файрволле. Рис.9 - Создание политики (правила) в файрволле.](https://habrastorage.org/getpro/habr/upload_files/48c/192/9e1/48c1929e1cff98b1d985584484ff8b3e.png)
В консоли (рис.10)
![Рис.10 - Создание правила в файрволле. Рис.10 - Создание правила в файрволле.](https://habrastorage.org/getpro/habr/upload_files/61a/790/a26/61a790a26af2514b7a107e79e207859e.png)
Для консоли текст команд для копипаста:
configure terminal
secure-policy insert 1
description Tolko_iz_Rossii
name WAN_to_DMZ
from WAN
to DMZ
sourceip Russkie_IP
schedule Rabochii_grafik
action allow
log
exit
write
-
exit
Проверка добавленного правила:
show secure-policy 1
![Рис.11 - Дефолтное правило файрволла. Рис.11 - Дефолтное правило файрволла.](https://habrastorage.org/getpro/habr/upload_files/264/4f9/956/2644f9956b4e91db4799252569b3d322.png)
В консоли, рис.11
![Рис.12 - Проверка действия в дефолтном правиле. Рис.12 - Проверка действия в дефолтном правиле.](https://habrastorage.org/getpro/habr/upload_files/266/5f5/824/2665f58247fc54fad6ec0c8c6c48886f.png)
Для консоли текст команд для копипаста:
show secure-policy status
Примечание: не забудьте в дефолтном правиле "WAN_to_Device" (рис.13) в пункте "Источник:" выставить свой профиль Гео-IP или выключите правило, если не пользуетесь AH, ESP, IKE, NATT.
![Рис.13 - Модернизация дефолтного правила "WAN_to_Device". Рис.13 - Модернизация дефолтного правила "WAN_to_Device".](https://habrastorage.org/getpro/habr/upload_files/9df/824/a0f/9df824a0ff348404ff918396a34952fe.png)
Теперь про другой вариант применения Гео-IP, в котором заказчики хотят ограничить гостевую сеть от зарубежных сайтов и оставить доступными только российские сайты. Немного модернизуем дефолтное правило "LAN1_Outgoing" (рис.14).
![Рис.14 - Обновлённое правило, в котором доступны только российские ресурсы. Рис.14 - Обновлённое правило, в котором доступны только российские ресурсы.](https://habrastorage.org/getpro/habr/upload_files/efc/8c8/e5b/efc8c8e5b7401b036b7f6d76b8c20229.png)
В консоли (рис.15).
![Рис.15 - Модернизация дефолтного правила "LAN1_Outgoing", в котором доступны только российские ресурсы. Рис.15 - Модернизация дефолтного правила "LAN1_Outgoing", в котором доступны только российские ресурсы.](https://habrastorage.org/getpro/habr/upload_files/8d3/b59/02c/8d3b5902c467a041f0d2eaa25340f100.png)
Набранный текст команд для копипаста:
configure terminal
secure-policy 1
description Tolko_v_Rossiu
to WAN
destinationip Russkie_IP
log
exit
write
-
exit
Проверка правила:
show secure-policy 1
2) В контроле сессий (рис.16).
В правилах контроля сессий ("КОНФИГУРАЦИЯ -> Безопасность -> Контроль сессий") профиль "Russkie_IP" можно применить к "IP-адрес".
![Рис.16 - Создание профиля с лимитом сессий. Рис.16 - Создание профиля с лимитом сессий.](https://habrastorage.org/getpro/habr/upload_files/aa2/133/60c/aa213360c89f41d14431eaa89901314c.png)
Для консоли текст команд для копипаста:
configure terminal
session-limit insert 1
activate
address Russkie_IP
limit 512
write
exit
Таким образом, количество (лимит) соединений для хоста из профиля с российскими IP можно увеличить, как пример, до 4096 сессий, а у зарубежных IP будут дефолтные 1000 сессий , если есть угроза флуда с их стороны или со стороны гостевой сети.
Или, как вариант, ограничением количества сессий, обезопасим российские сайты от флуда со стороны непредсказуемых гостей в гостевой сети до 512 сессий, чтобы потом не досталось админу за гостей.
Напоминаю, правила действуют снизу вверх.
3) В веб-аутентификации (рис.17).
В правилах веб-аутентификации ("КОНФИГУРАЦИЯ -> Веб-аутентификация") профиль "Russkie_IP" можно применить к "IP-адрес источника" и "IP-адрес назначения".
![Рис.17 - Создание политики (правила) веб-аутентификации. Рис.17 - Создание политики (правила) веб-аутентификации.](https://habrastorage.org/getpro/habr/upload_files/f57/d39/b10/f57d39b10d432afdf2c1643eb554a57e.png)
Как правило, веб-аутентификация больше применима для авторизации гостей в гостевой Wi-Fi сети. У них при подключении к любому сайту выскакивает страница авторизации с просьбой ввести номер телефона. Подробнее об этом тут.
Благодаря присутствующему здесь Гео-IP, можно реализовать другой сценарий для рабочей сети. Например, сотрудников к российским сайтам допустить без авторизации, а к зарубежным только после ввода логина и пароля, ранее выданные им. Их можно локально создать там же в МСЭ ("КОНФИГУРАЦИЯ -> Объект -> Пользователи/группы" или "КОНФИГУРАЦИЯ -> Хотспот -> Биллинг") или подключить к внешнему RADIUS серверу и т.д. Вариантов множество.
О биллинге немного написано тут.
Таким образом, кому не разрешено выдать учётку, тот не сможет сёрфиться по зарубежным сайтам. Пример настройки сценария на рис.18 или в консоли на рис.19.
![Рис.18 - Настройка веб-аутентификации, в котором запрашивается авторизация при выходе на зарубежные ресурсы. Для российских ресурсов не запрашивает. Рис.18 - Настройка веб-аутентификации, в котором запрашивается авторизация при выходе на зарубежные ресурсы. Для российских ресурсов не запрашивает.](https://habrastorage.org/getpro/habr/upload_files/71b/b17/4d8/71bb174d8354d2fa0e24c33200451947.png)
![Рис.19 - Настройка веб-аутентификации, в котором запрашивается авторизация при выходе на зарубежные ресурсы. Для российских ресурсов не запрашивает. Рис.19 - Настройка веб-аутентификации, в котором запрашивается авторизация при выходе на зарубежные ресурсы. Для российских ресурсов не запрашивает.](https://habrastorage.org/getpro/habr/upload_files/463/eea/764/463eea76441c47f2933fab0fae57b5f6.png)
Для консоли текст команд для копипаста:
configure terminal
web-auth activate
web-auth policy insert 1
activate
interface lan1
destination Russkie_IP
no authentication
exit
web-auth policy insert 2
activate
interface lan1
authentication force
exit
write
exit
Проверка дефолтного правила веб-аутентификации:
show web-auth default-rule
Привести дефолтное правило в дефолтное состояние:
web-auth default-rule authentication unnecessary no log
4) В BWM (Bandwidth Management) (рис.20).
Это управление пропускной способностью. Ограничение скорости силами МСЭ любому устройству/учётке/подсети или группе устройств/учёток/подсетей.
В правилах BWM ("КОНФИГУРАЦИЯ -> BWM") профиль Russkie_IP можно применить к "Источник" и "Назначение".
![Рис.20 - Создание политики (правила) BWM. Рис.20 - Создание политики (правила) BWM.](https://habrastorage.org/getpro/habr/upload_files/642/61e/9d1/64261e9d110acbcb29b9ba84b6d7ed5e.png)
Здесь вроде всё понятно. Установка ограничений в Кбит/с на входящую/исходящую скорость к хостам и от хостов по конкретно выбранной стране или группе выбранных стран.
5) В маршрутизации (рис.21).
В правилах маршрутизации ("КОНФИГУРАЦИЯ -> Сеть -> Маршрутизация") профиль "Russkie_IP" можно применить к "IP-адрес источника" и "IP-адрес назначения".
![Рис.21 - Создание политики (правила) маршрутизации.
Рис.21 - Создание политики (правила) маршрутизации.](https://habrastorage.org/getpro/habr/upload_files/64e/0e8/83d/64e0e883dec1fec28721483de29bec07.png)
Как пример, при наличии двух провайдеров с разными тарифами и лимитами, можно направлять/принимать весь российский трафик только на первый WAN порт. Весь остальной трафик направить на второй WAN порт.
А как в логах? (Рис.22).
Здесь отображены логи с флагом страны, откуда и куда ходят запросы. Познавательно и читабельно.
![](https://habrastorage.org/getpro/habr/upload_files/6e0/3fc/a9d/6e03fca9dc69e01aeb824330f54626ef.png)
На сегодня всё.
Об авторе:
Кто я? Меня зовут Александр. 16 лет профессионально занимаюсь СКС и сетевым оборудованием. Получил много опыта работы с сетевым оборудованием различных вендоров. Приветствую простоту и дружелюбность конфигурирования/мониторинга сетевого оборудования, ответственность вендора за качество выпускаемой продукции и готовность исправлять недостатки, чтобы не тормозили сдачу новых проектов в назначенные сроки. Меня можно встретить и лично пообщаться в Телеграме - @NSanchez13, так что, если будут вопросы, комментарии, мнения – милости прошу.
Комментарии (5)
Maxim_Q
10.03.2022 17:09Для быстрой работы фаервола все адреса допустим из России хранятся в памяти? Сколько они места в RAM занимают? И на сколько стран хватит памяти Zyxel USG Flex 500 что рассмотрен в обзоре?
algerka
11.03.2022 06:53У меня сложилось впечатление, что автор ошибочно считает будто Geo-IP защитит от DDOS атаки.
Zyxel_South Автор
11.03.2022 08:24Для быстрой работы фаервола все адреса допустим из России хранятся в памяти? Сколько они места в RAM занимают? И на сколько стран хватит памяти Zyxel USG Flex 500 что рассмотрен в обзоре?
У USG Flex 500 4 гб оперативки. База всех адресов хранится локально и периодически обновляется. Сколько места занимает, не знаю.
Dukat
И пользователи, использующие VPN с сервером в другой стране, например, из соображений гигиены, идут лесом.
Zyxel_South Автор
Такому пользователю правило-исключение можно создать в файрволле или отдельную учётку для веб-аутентификации, если руководитель и отдел ИБ разрешают.