Блокировать будем социальные сети, торренты, видеохостинги. На основании приказа руководителя три названные категории должны быть недоступны даже пользователям с полным доступом в Интернет. Политики безопасности по разграничению доступа настраивались тут.
Существуют разные способы блокировки. На этой странице рассмотрены варианты блокировок по URL-фильтрации, DNS-фильтрации и URL-категориям через политику. У каждого способа есть достоинства и недостатки. Рассмотрим их далее.
URL-фильтрация.
URL-фильтрации – это самый логичный и популярный способ ограничения доступа к сайтам.
Для использования URL-фильтрации существует несколько важных условий, без выполнения которых настройки не будут работать.
1.Наиболее критичное – наличие активированных лицензий URL Remote Query и Content Security Group. Если лицензии отсутствуют – дальше можно не продолжать.
URL Remote Query лицензия даёт доступ к базе категорий URL, но не включает механизм фильтрации.
Content Security Group – это ключевая лицензия, которая включает механизм фильтрации и применяет политики к трафику.
Если есть URL Remote Query, но нет Content Security Group, то USG может получать категории сайтов из облака, но не сможет применить блокировку (политика не сработает для категорий из облака). Информация на официальном сайте это подтверждает. support.huawei.com
Просто активации лицензии не достаточно. Нужно еще скачать и установить модуль для URL Remote Query.
2.Отключение Fast forwarding. При включенном Fast forwarding трафик, не проходит глубокую программную обработку в CPU.
1 2 |
system-view undo hardware fast-forwarding enable |
URL-фильтрация особенно с облачной категоризацией требует анализа пакетов (DPI) и сравнения с базой URL, что невозможно сделать на аппаратном уровне. Fast Forwarding отключает DPI, поэтому URL-фильтрация не применяется. Отключение Fast forwarding запускает в работу URL-фильтрацию, но при этом существенно снижает производительность USG.
URL Remote Query.
Настроим связь с облачным сервером Huawei для загрузки базы категорий.
После активации лицензии URL Remote Query её статус Enabled (активна), но feature package not loaded – не загружен требуемый компонент.
Загружаем и устанавливаем указанный модуль.
При нажатии [Online Upgrade] нужно выбрать режим обновления.
Current component package – если необходимо применить модуль немедленно без перезагрузки. Это обычный безопасный способ обновления компонентов. Выбираем его.
Startup component package – компонент применится только после перезагрузки устройства. Подходит для плановых обновлений, например, ночью.
Automatically install downloaded file – автоматическая установка скаченного файла после загрузки.
Нажимаем ОК.
Убедится что модуль установлен можно на кнопку [Select]. Статус Run.
Далее немного непонятная ситуация. Сервер находился в состоянии No connect пока не была выбрана страна. Больше ничего не настраивалось. После выбора страны сервер законнектился.
Состояние соединения сервера можно просматривать на странице настройки профиля или через CLI.
1 |
display url-filter global-configuration |
Если подключение не происходит можно понажимать кнопку-ссылку [Remote Query Server Connectivity Diagnosis], посмотреть на какие адреса идет обращение, потом добавить их в доверенные.
Выполнить
1 |
ping update.hicloud.com |
Если пинг не проходит, то нужно отключить все политики, default-политику установить в Permit (разрешение). Если после этого пинг не заработает, то значит в Huawei установили блокировку для вашего региона, ничего не поделать. Скачивать оф-лайн базы. Если пинг начал проходить, то адрес сервера нужно добавить в исключения запрещающей политики (или создать новую), включить обратно все ранее отключенные политики.
Принцип действия блокировки по URL.
Принцип действия блокировки следующий. Мы создаем профиль URL в котором отмечаем одну нужную категорию. Данные для категории поступают из облачного сервера Huawei и содержат полные списки адресов по заданной тематике. Профиль выполняет назначенное ему действие: блокирует или разрешает. Но применяется профиль в политике, потому что в нем самом не указывается направление трафика, IP-источника, сервис и тп. В соответствии с этим создадим профиль и политику.
Профиль для URL-фильтрации.
Создаем новый профиль.
Name – любое понятное название профиля URL-фильтрации.
Filter Encrypted Traffic – включает фильтрацию HTTPS-трафика, чтобы фильтровать сайты по HTTPS. Включаем. USG анализирует SNI (Server Name Indication) в TLS-запросах. Это не требует SSL расшифровки, поэтому нагрузка не максимальная, но всё равно возрастает. К примеру SSL inspection расшифровывает трафик полностью. URL-фильтрация работает только с HTTP и HTTPS, потому что она анализирует именно URL-запросы, а они бывают только в этих протоколах.
Default Action – определяет, что делать с сайтами, не попавшими ни в категории, ни в белые/чёрные списки.
Режимы:
Allow – если сайт не попал ни под одно правило, то он разрешается.
Alert – разрешает доступ, но пишет в лог, что сайт был посещён.
Block – если сайт не попал ни под одно правило, значит он запрещается.
Оставляем значение Allow. Если поставить Default Block и применить к политике, то политика превратится в полный блокиратор доступа в Интернет. Вот пример: пользователь открывает произвольный сайт который никаким способом не присутствует в профиле:
-сайт не входит в белый список;
-сайт не входит в чёрный список;
-сайт не попадает ни под одну категорию с явно заданным действием;
-у профиля стоит Default Action: Block – следовательно, сайт будет заблокирован.
И так будет происходить со всеми сайтами, потому что они не добавлены в профиль.
Логика работы профиля:
Если URL есть в Whitelist – разрешить.
Если URL есть в Blacklist – блокировать.
Если URL попал в категорию с действием Block – блокировать.
Если попал в категорию с действием Allow – разрешить.
Если не попал никуда – использовать Default Action.
Malicious URL Detection – если включить, будет блокировать вредоносные URL из облачной базы Huawei. Требует обновлений и подключения к облаку. Полезно, но не связано напрямую с категориями URL.
URL Whitelist/Blacklist – вручную добавляемые URL-адреса. Белый список имеет приоритет над чёрным.
Whitelist – разрешает указанные URL/хосты даже если они попали под запрещённую категорию.
Blacklist – запрещает указанные URL/хосты даже если они не попали под категорию. Используется для ручной блокировки конкретных сайтов.
Белый и черный список работают следующим образом. Мы включили User-defined и заблокировал категорию Social Network. Все соц.сети теперь блокируются. Но нам нужно разрешить только facebook.com. Добавляем facebook.com в Whitelist, и он будет разрешён, несмотря на общую блокировку соц.сетей.
URL Filtering Level – задаёт предустановленный уровень фильтрации по категориям сайтов, или использует пользовательский (User-defined) режим.
High, Medium, Low – уровни с предустановленными для блокировки категориями типо порнография, нелегальная деятельность, соц.сети, видео хостинги. Не используем.
User-defined – пользователь сам выбирает конкретные категории. Это то, что нужно в данном случае.
В профиле нужно отметить только Social Network. Если на других категориях установлен чекпоинт на блокировку, то его нужно вернуть на Allow, чтоб данный профиль относился только к социальным сетям.
Поля Re-marked DSCP используются для маркировки трафика, попадающего под ту или иную категорию, с целью дальнейшей обработки. При блокировке маркировка не используется.
Кнопка-ссылка [Configure] нужна для настройки дополнительных параметров, применяемых ко всем URL-фильтрующим профилям сразу, а не к каждому по отдельности.
Malicious URL Settings: Timeout – время в минутах, на которое блокируются URL-адреса, распознанные как вредоносные (по базе Huawei). Используется при автоматической блокировке угроз (фишинг, ботнет и т.д.)
Encrypted Traffic Consistency Check – при включении позволяет проверять соответствие заголовков HTTPS-запросов с URL, даже если шифрование скрывает фактическое содержимое. Полезно для блокировки обходов через шифрованные прокси.
Google Account Control List – позволяет задать допустимые домены Google Workspace, к которым разрешён доступ. Использует HTTP Header X-GoogApps-Allowed-Domains. Пример: разрешить вход в Google Диск только с корпоративного аккаунта @company.com.
Safe Search (Безопасный поиск) – принудительно активирует безопасный поиск (SafeSearch) в поддерживаемых поисковых системах, который блокирует явный контент 18+ в результатах поиска.
Action Mode (Режим действия)
Strict (Строгий) – блокирует все URL, кроме явно разрешённых в Whitelist.
Lenient (Лояльный) – блокирует только URL из Blacklist, остальные разрешены.
Whitelist Mode (Режим белого списка) – разрешает только трафик, соответствующий Whitelist (все остальные запросы блокируются).
Google Account Control – ограничивает доступ к сервисам Google (например, YouTube) только для авторизованных пользователей.
Whitelist for Nested Links (Белый список для вложенных ссылок) – контролирует доступ к контенту, загружаемому через iframe или редиректы.
Whitelist-based Filtering (Фильтрация по белому списку) — блокирует все HTTP-запросы, кроме тех, где поле Referer совпадает с Whitelist.
Referer Host (Проверка Referer) – определяет, как обрабатывать запросы с пустым/некорректным Referer.
Настройка через CLI.
1 2 3 4 5 6 |
profile type url-filter name BLOCK_SOCIAL_URL category pre-defined subcategory-id 108 action block category pre-defined subcategory-id 251 action block category pre-defined subcategory-id 177 action block https-filter enable quit |
Аналогично создаем профиль для торрентов и видеохостингов.
Настройка через CLI.
1 2 3 4 |
profile type url-filter name BLOCK_TORRENTS_URL category pre-defined subcategory-id 101 action block category pre-defined subcategory-id 155 action block https-filter enable |
С торрентами не всё так однозначно. Категории 101 и 155 касаются именно сайтов, а не самих P2P-протоколов. Заблокируются веб-страниц, через которые можно, скачать торрент-файл. Чтоб полностью заблокировать торренты нужно использовать AppControl.
App Control (контроль приложений) позволяет блокировать протокол BitTorrent и подобные. Это отдельная тема.
1 2 3 |
profile type url-filter name BLOCK_VIDEOHOSTINGS_URL category pre-defined subcategory-id 135 action block https-filter enable |
В результате созданы три профиля.
Политика для URL-фильтрации.
Создаем политику безопасности.
Через CLI.
1 2 3 4 5 6 7 8 |
security-policy rule name BLOCK-SOCIAL-URL source-zone trust destination-zone untrust service http https profile url-filter BLOCK_SOCIAL_URL action permit quit |
Расположение.
1 2 3 |
security-policy rule move BLOCK-SOCIAL-URL before FULL-INTERNET-ACCESS quit |
Если в системе требуется управляемость, то для каждой категории нужно создавать отдельную политику.
Допустим мы добавили в одну политику все URL-категории: соц.сети, торренты, видеохостинги. Появляются пользователи, которым руководитель разрешил доступ в соц. сети. Добавляя пользователя в исключения политики с тремя категориями, мы разрешаем ему доступ туда, куда ему запрещено. К исключению относится всё содержание политики и если в ней указаны три категории, то все они становятся доступны. По этой причине создаем три отдельных политики: BLOCK-SOCIAL, BLOCK-TORRENTS, BLOCK-VIDEOHOSTINGS.
Политики через CLI.
Для торрентов.
1 2 3 4 5 6 7 8 9 |
security-policy rule name BLOCK-TORRENTS-URL source-zone trust destination-zone untrust service http https profile url-filter BLOCK_TORRENTS_URL action permit rule move BLOCK-TORRENTS-URL before FULL-INTERNET-ACCESS quit |
URL-фильтрация только частично подходит в данном случае, потому что она блокирует сайты торрент-трекеров, но не сами .torrent-файлы или протокол, тк она работает по HTTP/HTTPS.
Для видеохостингов.
1 2 3 4 5 6 7 8 9 |
security-policy rule name BLOCK-VIDEOHOSTINGS-URL source-zone trust destination-zone untrust profile url-filter BLOCK_VIDEOHOSTINGS_URL service http https action permit rule move BLOCK-VIDEOHOSTINGS-URL before FULL-INTERNET-ACCESS quit |
Почему action у всех политик permit, а не deny? Потому что само блокирование делает профиль URL-фильтра, а не правило политики. Правило разрешает доступ, а профиль фильтрует внутри этого разрешения. Если указать action deny, то правило бы вообще не пустило трафик даже на разрешённые URLы.
Расположение должно быть выше правила полного доступа в Интернет.
1 |
display security-policy rule all |
Настройка завершена. Доступ к указанным сайтам по категориям URL заблокирован.
Проверка статистики.
1 |
display url-filter statistics |
Pre-defined URL Numbers 38714 – локальная база загружена, есть офлайн-категории.
External URL Numbers 0 – означает что с облачной базой не было взаимодействия. Нужно убедиться, что есть доступ к серверу, с которого скачиваются базы. Еще причина может быть в отсутствии лицензии Content Security Group.
Проверка.
vk.com facebook.com ok.ru не открываются.
ru-ru.facebook.com открывается в некоторых браузерах. Тик-ток открывается. Т.е. работает не полностью. Возможно из-за отсутствия лицензии Content Security Group не работают категории из облака.
Иногда появляется такая табличка.
Категории можно добавить вручную.
В разделе Object > URL Category можно найти предопределённые категории. Если их открывать, то они пустые, но это не означает, что они действительно пусты или не работают. Это интерфейс для ручного редактирования категорий. Он не отображает встроенную облачную (или локальную) базу Huawei, которая используется для категоризации URL-адресов. То что видно как «пусто», означает лишь: в эту категорию ничего не добавили вручную. Однако при проверке URL-фильтра USG всё равно сверяется со своей встроенной/обновляемой базой.
Например, заглушим полностью facebook.com и тик-ток. Добавим эти URL вручную в существующую категорию.
Звездочки означают что в указанном URL учитывается всё что слева и с права.
1 2 3 |
url-filter category pre-defined subcategory-id 108 add url *facebook.com* add url *tiktok.com* |
Проверяем тик-ток.
Больше пользователи на работе не поют и не танцуют.
Фильтрация по URL-категории.
Далее рассмотрен более упрощенный метод с использованием категорий в политике безопасности.
URL Category vs URL Filtering.
Разберем в чем разница этих двух способов.
URL Category это каталог классифицированных URL-адресов, сгруппированных по типу содержимого. Обновляются через облако Huawei. Позволяют объединять группы сайтов без перечисления каждого адреса вручную. Но вручную добавить категорию и внести в нее URL так же есть возможность. Категория – это просто метка. Она сама по себе ничего не блокирует, пока не будет использована в URL-фильтре или политике безопасности.
URL Filtering это механизм, который использует категории (или вручную заданные URL) для применения назначенных действий в создаваемом профиле. Профиль URL Filtering действует сам, но через применение в политике безопасности т.к. надо указать для какого направления, IP, сервиса его использовать.
Выбор категории например p2p в URL Category это абсолютна та же категория которая выбирается в URL Filtering профиле при его настройке (101 и 155). Они берутся из общей облачной базы.
При использовании URL Category для запрета сайтов, действие политики должно быть Deny. При использовании URL Filtering для запрета сайтов, при условии настроенного запрета в профиле, действие политики должно быть Permit.
Для использования облачной базы категорий в обоих способах требуется лицензия URL Remote Query и для URL Filtering еще Content Security Group.
URL Category выгодно применять, когда нужно быстро что-то заблокировать или наоборот разрешить доступ только по заданным URL.
URL Filtering выгоден для более гибкого управления и масштабируемости.
Для примера выполним блокировку соц. сетей с использованием URL Category.
Сперва создадим собственную категорию с URL соц.сетей, затем применим ее в политике.
1 2 3 4 5 |
url-filter category user-defined name SOCIAL add url *vk.com* add url *ok.ru* add url *facebook.com* add url *tiktok.com* |
Создаем политику с категорией SOCIAL.
1 2 3 4 5 6 7 8 9 |
security-policy rule name BLOCK-SOCIAL-CATEGORY source-zone trust destination-zone untrust service http service https url user-defined sub-category SOCIAL action deny quit |
Располагаем правило выше правила FULL-INTERNET-ACCESS.
1 |
display security-policy rule all |
Не забываем следить за колонкой Hits, которая сообщает о том, что политика срабатывает.
Проверяем.
Все вышеперечисленные адреса недоступны.
DNS-фильтрация.
DNS-фильтрация – это более грубый способ блокировки доступа к ресурсам, работающий на уровне L3/L4, при котором фильтрация происходит во время DNS-запроса, точнее ответа (разрешения (resolving) доменного имени в IP-адрес). Этот метод позволяет блокировать домены целиком, но не различает отдельные страницы или URL внутри сайта. Для него тоже нужны лицензии URL Remote Query и Content Security Group. Из недостатков можно отметить обход блокировки в случае использования прямых IP-адресов на сайт вместо доменных имен, но большинство пользователей этого не знают.
DNS-фильтрацию логично использовать на устройствах с низкой производительностью, и когда не требуется точечная настройка/исключения. Можно использовать комбинированный вариант c URL-фильтрацией.
В доменных сетях, где контроллер домена выполняет роль DNS-сервера, DNS-фильтрация на Huawei USG не сработает, если трафик DNS не проходит через сам USG. Это ограничение на использование данного метода.
Профиль для DNS-фильтрации.
Создаем новый профиль. Порядок действий аналогичен с URL-профилем.
Redirect – когда включен, все заблокированные DNS-запросы перенаправляются на указанный IP-адрес вместо того, чтобы просто отбрасываться.
Можно добавлять домены вручную. Черный и белый списки работают аналогично URL-фильтрации. Чёрный список блокирует указанные домены. Белый список разрешает указанные домены, даже если попадают под категорию блокировки.
Выбираем категорию соц.сетей. Другие категории убираем.
Уровень контроля выполняется только по доменному имени, до установления соединения. Влияет только на DNS-запросы L3-L4. Глубокий анализ HTTP не выполняется.
Настройка через CLI.
1 2 3 4 5 6 |
system-view profile type dns-filter name BLOCK_SOCIAL_DNS category pre-defined subcategory-id 108 action block category pre-defined subcategory-id 177 action block category pre-defined subcategory-id 251 action block quit |
Политика для DNS-фильтрации.
Создаем.
Указывать сервис dns в политике не обязательно.
Настройка через CLI.
1 2 3 4 5 6 7 8 |
system-view security-policy rule name BLOCK-SOCIAL-DNS source-zone trust destination-zone untrust profile dns-filter BLOCK_SOCIAL_DNS action permit quit |
Располагаем правило выше правила FULL-INTERNET-ACCESS.
1 2 3 |
security-policy rule move BLOCK-SOCIAL-DNS before FULL-INTERNET-ACCESS quit |
После настройки политики безопасности сайты начинают блокироваться если DNS USG единственный для пользователей в сети.
Можно проверить статистику работы DNS-фильтра.
1 |
display dns-filter statistics |
Total Denied Requests 21 – заблокировано DNS-фильтром успешно.
Аналогично настраивается профиль и политика для торрентов и видеохостингов.
Итог.
Указанные в начале категории сайтов больше не доступны для пользователей. На основании представленной информации можно подобрать для своей ситуации оптимальный метод блокировки. Понимая процесс, можно скомбинировать методы и блокировать любые другие сайты.