В предыдущей статье мы познакомились с тестовой прошивкой из коробки у NFGW Usergate C150, допиливанием шаблона для мониторинга и закончили на утечке памяти, а точнее застыли в ожидании фикса этой утечки.

Продолжаем наблюдение за развитием импортозамещённого NGFW и смотрим, что изменилось за 4 месяца.

Утечка памяти — fixed

Начнем с улучшений. В прошивке 7.1.2, точнее в 7.1.2(build 7.1.2.33025R, 27/08/2024) пофиксили проблему с утечкой памяти, из-за которой за 10 дней без нагрузки объём занятой оперативной памяти Usergate C150 увеличивался с 30% до 60%. Однако пришлось снова устанавливать прошивку с нуля, вариант накатывания поверх противоречил рекомендациям поддержки.

Пока обновляли прошивку с нуля заметили загрузчик GRUB. На сайте вендора в англоязычной версии указывается:

Our developers have devoted a great deal of attention to creating our own proprietary platform rather than using open source code and third-party modules.

Что в русскоязычной версии выглядит как:

Разработчики уделили много внимания созданию собственной платформы, не основанной на использовании чужого исходного кода и сторонних модулей.

Также, в презентациях вендора одним из преимуществ UGOS и ПАК Usergate C150 в частности фигурирует отказ от использования open source решений в пользу разработки всего с нуля, своего рода NIH. И всё-таки что-то непроприетарное под капотом используется.

Смотрим на UGOS 7.1.2 поближе

Раз память больше не течет, то можно настраивать C150, чтобы наконец задействовать его на границе локальной сети и интернета. Все действия производились после установки прошивки с нуля.

Дефолтные настройки с зависимостями

После прошивки с нуля на устройстве есть различные предустановки: примеры правил файервола, NAT, captive портала, VPN, etc. Возможности сбросить настройки к заводским и не устанавливать конфигурацию по умолчанию нет, поэтому пробуем удалить их вручную.

По сравнению с 7.1.1, в 7.1.2 при удалении дефолтной сущности, которая является зависимостью другой, сообщение об ошибке показывает зависимые сущности. Но если неумышленно удалить чью-то зависимость и не дождаться прогрузки интерфейса (иногда занимает 15-20 секунд), то зависимость пропадет из списка, а сущность, использовавшую эту зависимость, нельзя будет удалить. Решить получилось только сбросом к заводским настройкам.

Кроме того, был эпизод, когда вкладка с веб интерфейсом была 10 минут без взаимодействия, после чего интерфейс перестал отвечать, а C150 перестал пинговаться. Помог ребут.

Бэкап в бинарном файле

Согласно документации, существует два вида бэкапа: экспорт/импорт настроек и резервное копирование:

Администратор имеет возможность сохранить текущие настройки NGFW в файл и впоследствии восстановить эти настройки на этом же или другом NGFW. В отличие от резервного копирования, экспорт/импорт настроек не сохраняет текущее состояние всех компонентов комплекса, сохраняются только текущие настройки.

В обоих случаях на выходе получится бинарный файл, для резервной копии это 10+ Гб. Возможности резервной копии настроек в текстовый файл не нашли, соответственно как отслеживать и версионировать изменения конфигурации, помимо встроенного журнала, непонятно.

NTP клиент работает*

Настроим в качестве NTP серверов ntp1.vniiftri.ru и ntp2.vniiftri.ru, которые работают от сигналов рабочих шкал Государственного первичного эталона времени.

  • Через GUI по неизвестной причине ntp1.vniiftri.ru установить не удалось. При этом сервера pool.ntp.org устанавливались без проблем.

  • Через CLI ntp1.vniiftri.ru установился, но команда set settings general server-time ntp-servers [ server1 server2 ] из веб-версии документации неактуальная. По подсказкам консоли собралась правильная команда set settings general server-time primary-ntp-server ntp1.vniiftri.ru second-ntp-server ntp2.vniiftri.ru

Позже, в процессе общения с поддержкой узнали, что самой актуальной версией документации является PDF файл, доступный на сайте https://docs.usergate.com в разделе Загрузки. На момент написания статьи это файл https://docs.usergate.com/pdf_manuals/ngfw/ngfw-7.1.x-manual.pdf, и да, там синтаксис команды верный.

DHCP сервер работает

Для организации тестовой DMZ зоны настроили DHCP сервер. Из замеченных недостатков можно отметить:

  • Время аренды не нельзя установить менее 300 секунд. Ок для стенда, не ок для внедрения, когда время аренды нужно установить минимальным на период переключений для уменьшения простоя.

  • Имя домена является обязательным. Нельзя создать DHCP сервер, не указав имя домена.

Между тем, NGFW Huawei, на замену которому готовился NGFW Usergate C150, позволяет установить время аренды 1 минута и не заполнять имя домена.

L2 мост работает

Согласно документации "через мост можно настроить фильтрацию передаваемого контента на уровне L2 без внесения изменений в сетевую инфраструктуру компании".

Окей, на стенде пробуем такой вариант. Схема подключения простейшая: тестовый ПК ↔ Usergate C150 ↔ маршрутизатор с DHCP сервером. Включили, на ПК IP-адрес вида 169.254…, то есть адрес ПК не получил.

Поддержка рассказала, что необходимо добавить в файервол разрешающее правило с необходимыми зонами и сервисами. Добавили, заработало. В целом, возможно это очевидно, документация описывает этот режим так:

При выборе режима Layer 2 создаваемому мосту не нужно назначать IP-адрес и прописывать маршруты и шлюзы для его корректной работы. В данном режиме мост работает на уровне MAC-адресов, транслируя пакет из одного сегмента в другой. В этом случае невозможно использовать правила АСУ ТП и Mail security. Контентная фильтрация работает в этом режиме.

Контентная фильтрация в последнем предложении отдаленно намекает на настройки файервола, хотя без явного указания. Есть курс "UGOS7.1 Администрирование межсетевых экранов UserGate 7.1" 40 ак. ч. за 95 000 ₽ в авторизованном обучающем центре, который возможно раскрывает все особенности, не тестировали.

L3 мост не работает

Посмотрим на L3 мост. Настроили по документации: создали интерфейс мост, назначили на него IP-адрес, добавили в него 2 порта. Схема стенда аналогична предыдущей. Разрешающее правило в файерволе тоже осталось.

Включаем ПК, снова IP-адрес 169.254. Отправили в поддержку экспорт настроек, получили ответ: "L3 мост не пропускает широковещательный трафик, с L2 таких проблем нет, задача передана разработчикам". А если проблема для нас критичная, то можно эскалировать процесс через менеджера UserGate. Под процессом, вероятно, имеется в виду процесс устранения ошибки и вписывание исправления в очередной спринт разработки.

НеВыводы

Прошло ещё 4 месяца внедрения NGFW Usergate C150. Обнаружились некоторые странности и особенности в работе базового функционала. За это время мы дождались фикса утечки памяти, теперь ждем фикса работы L3 моста.

По комментариям к предыдущей статье видно, что проблемы с Usergate есть и в старших моделях D200, также наблюдаются сложности в коммуникации с поддержкой вендора. В кулуарах конференций коллеги упоминают невозможность разграничения прав для выдачи отделу ИБ необходимых доступов. Комментарии к публикации К2Тех аналогично показывают различные проблемы при внедрении и работе решений Usergate.

Патч с устраненной утечкой памяти вышел примерно через 3 месяца, посмотрим, когда будет работать L3 мост.

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


  1. net_racoon
    29.09.2024 09:04

    Разработчики уделили много внимания созданию собственной платформы, не основанной на использовании чужого исходного кода и сторонних модулей.

    А как это, там же Линукс внутри...


  1. jackchickadee
    29.09.2024 09:04
    +1

    на картинке https://habrastorage.org/r/w1560/getpro/habr/upload_files/4dc/33b/cf8/4dc33bcf89a2f0e5946eb8494295005b.png не хватает "ZyXEL firewall", "Linux nftables" и что там для OpenBSD - pf ?


    1. alexEtse
      29.09.2024 09:04

      OpenBSD - pf

      Этот есть. В виде pfSense. Правда, под FreeBSD, но разница невелика. А если учесть, что там иногда одновременно с pf еще и ipfw работает - то это вообще "два в одном".