
Привет Хабр!
Сегодня в статье расскажу о недооценённом и малоизвестном сервисе информационной безопасности в межсетевых экранах (МСЭ) 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, так что, если будут вопросы, комментарии, мнения – милости прошу.
ссылка на оригинал статьи https://habr.com/ru/company/zyxel/blog/652743/
Добавить комментарий