Привет Хабр!
Сегодня в статье расскажу о недооценённом и малоизвестном сервисе информационной безопасности в межсетевых экранах (МСЭ) 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 - страна" не помогает.
Или в консоли (рис.2 и 3).
Для консоли текст команд для копипаста:
show geo-ip geography address х.х.х.х (где х.х.х.х - это IP)
Для добавления отсутствующего IP:
configure terminal
geo-ip geography RU all address х.х.х.х (где х.х.х.х - это IP)
write
exit
Для работы с Гео-IP в различных сценариях создал профиль с названием "Russkie_IP", в котором IP принадлежат России (рис.4 и рис.5).
В консоли (рис.6).
Для консоли текст команд для копипаста:
configure terminal
address-object Russkie_IP geography RU all
write
exit
Где можно применить Гео-IP:
1) В файрволле (рис.7).
В правилах файрволла ("КОНФИГУРАЦИЯ -> Безопасность -> Политики") Гео-IP профиль "Russkie_IP" можно применить к "Источник:" (откуда запрос/соединение приходит) и к "Назначение:" (куда запрос/соедиение будет отправлено).
В начале статьи приводил пример о сканировании серверов видеоконференций с последующими ДДоС-атаками. Для предотвращения получения информации о доступных IP и TCP/UDP портах лицам, находящиеся за пределами России или использующие сервисы с подменой публичного IP, закроем IP серверов видеоконференций от зарубежных запросов/соединений как на рис.9 или 10, при условии, что в штатном дефолтном правиле файрволла стоит "deny" (рис.11 или 12) и отсутствуют другие недефолтные разрешающие правила.
Заранее создадим расписание (рис.8) для включения/выключения правила файрволла, а потом перейдём к созданию правила файрволла (рис.9 или 10).
Для консоли текст команд для копипаста:
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".
В консоли (рис.10)
Для консоли текст команд для копипаста:
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
Для консоли текст команд для копипаста:
show secure-policy status
Примечание: не забудьте в дефолтном правиле "WAN_to_Device" (рис.13) в пункте "Источник:" выставить свой профиль Гео-IP или выключите правило, если не пользуетесь AH, ESP, IKE, NATT.
Теперь про другой вариант применения Гео-IP, в котором заказчики хотят ограничить гостевую сеть от зарубежных сайтов и оставить доступными только российские сайты. Немного модернизуем дефолтное правило "LAN1_Outgoing" (рис.14).
В консоли (рис.15).
Набранный текст команд для копипаста:
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-адрес".
Для консоли текст команд для копипаста:
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-адрес назначения".
Как правило, веб-аутентификация больше применима для авторизации гостей в гостевой Wi-Fi сети. У них при подключении к любому сайту выскакивает страница авторизации с просьбой ввести номер телефона. Подробнее об этом тут.
Благодаря присутствующему здесь Гео-IP, можно реализовать другой сценарий для рабочей сети. Например, сотрудников к российским сайтам допустить без авторизации, а к зарубежным только после ввода логина и пароля, ранее выданные им. Их можно локально создать там же в МСЭ ("КОНФИГУРАЦИЯ -> Объект -> Пользователи/группы" или "КОНФИГУРАЦИЯ -> Хотспот -> Биллинг") или подключить к внешнему RADIUS серверу и т.д. Вариантов множество.
О биллинге немного написано тут.
Таким образом, кому не разрешено выдать учётку, тот не сможет сёрфиться по зарубежным сайтам. Пример настройки сценария на рис.18 или в консоли на рис.19.
Для консоли текст команд для копипаста:
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 можно применить к "Источник" и "Назначение".
Здесь вроде всё понятно. Установка ограничений в Кбит/с на входящую/исходящую скорость к хостам и от хостов по конкретно выбранной стране или группе выбранных стран.
5) В маршрутизации (рис.21).
В правилах маршрутизации ("КОНФИГУРАЦИЯ -> Сеть -> Маршрутизация") профиль "Russkie_IP" можно применить к "IP-адрес источника" и "IP-адрес назначения".
Как пример, при наличии двух провайдеров с разными тарифами и лимитами, можно направлять/принимать весь российский трафик только на первый WAN порт. Весь остальной трафик направить на второй WAN порт.
А как в логах? (Рис.22).
Здесь отображены логи с флагом страны, откуда и куда ходят запросы. Познавательно и читабельно.
На сегодня всё.
Об авторе:
Кто я? Меня зовут Александр. 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 Автор
Такому пользователю правило-исключение можно создать в файрволле или отдельную учётку для веб-аутентификации, если руководитель и отдел ИБ разрешают.