Это описание нужно рассматривать как часть базовой конфигурации сетевого экрана FW USG, которая представлена тут.

Первоначально доступ к устройству есть только через Console-порт и Service-порт. Все остальные доступы из WAN и LAN запрещены. План действий такой: выполнить подключение через сервисные порты, создать дополнительных пользователей (админов) и разрешить доступ с нужных интерфейсов.

Эта инструкция не про пользователей в смысле клиентов локальной сети, а про пользователей – администраторов сетевого экрана.

 

Подключение в USG через GUI.

Подключаемся в USG по IP-адресу через сервисный порт №0. В браузере переходим по адресу https://192.168.0.1:8443/ (в ПК должен быть адрес из того же диапазона).

При первом подключении предлагается ввести имя пользователя, логин и пароль. Вводим.

Имя не должно быть стандартным типо admin, user, root, super-admin и тп чтоб исключить атаку по словарям с перебором широко известных имен. Пароль должен состоять из не менее 8 букв разного регистра, цифр и спец. символов. Созданный пользователь, получает роль администратора с полным доступом ко всем функциям. Это необходимо для начальной настройки устройства. Далее можно создать других пользователей с ограниченными правами. В данном описании использован пользователь Super-admin, чтоб понимать, что это первоначальный администратор, и каждый раз это не повторять.

После создания откроется окно, в котором вводим только что созданные учетные данные и попадаем в главное меню USG.

 

Подключение в USG через CLI.

Подключаемся через консольный порт с помощью переходника COM-RJ45 или COM-USB. Для управления используем удобный клиент, например Putty.

Вписываем номер своего COM-порта (посмотреть номер можно в диспетчере устройств). Тип соединения: Serial. Скорость 9600. Нажимаем кнопку «Open».

 

Нажимаем «Ввод», затем создаем новый пароль и подтверждаем его.

Далее можно выполнять настройку через консольные команды.

В данном случае имя пользователя не создавалось и не вводилось. В этом можно убедиться командой.

В выводе сразу есть расшифровка назначения.

Auth: P – аутентификация с использованием текущего пароля пользовательского интерфейса.

Privi: 15 – максимальная привилегия, которая может быть выдана при подключении через этот порт, если пользователь не указан.

ActualPrivi: 15 – фактическая привилегия, выданная в текущей сессии пользователю.

Из вывода становится понятно, что настройка доступа выполнена не на пользователя, а на порт. Имя пользователя не запрашивается, вход выполняется автоматически как для предопределенного пользователя с привилегией 15 (наивысшей). Чтобы доступ контролировался по пользователю, а не по порту, и повысить уровень ИБ, нужно переключить консоль на authentication-mode aaa. На начальном этапе, чтоб самого себя не заблокировать, лучше этого не делать.

Доступ к CLI так же есть в нижней части окна браузера.

 

Создание пользователя.

Все уровни доступа, методы подключения и роли настраиваются централизованно через AAA. Разделение по типу, как в других устройствах Huawei например, local-user/ssh-user, не реализовано.

AAA – это аббревиатура от Authentication, Authorization, Accounting и означает аутентификация, авторизация и учёт (действий). На устройствах Huawei AAA используется как единая система управления безопасностью доступа пользователей.

Authentication (Аутентификация) – процесс проверки подлинности имени пользователя и пароля.

Authorization (Авторизация) – определяет, что пользователь может делать после входа. Сюда входит назначение роли, ограничение по типам доступа (Web, SSH и тп) и назначение уровня привилегий.

Accounting (Учёт) – отслеживает и записывает действия пользователей. Кто когда вошёл и вышел, какие команды выполнял, учёт времени сессии.

Выполним эти настройки при создании нового пользователя.

 

Name – имя создаваемого пользователя.

Authentication Type – тип аутентификации.

Local authentication – проверка логина и пароля происходит локально на устройстве (встроенные или вручную добавленные пользователи).

Server authentication – используется внешний сервер аутентификации: RADIUS/LDAP/HWTACACS. Пароли и права не хранятся на устройстве. Требует настройка схемы аутентификации.

Server authentication/Local authentication – сначала идёт попытка аутентификации через внешний сервер. Если сервер недоступен или не найден пользователь, то используется локальная база.

Password/Confirm Password – пароль и его подтверждение. Подсказка сообщает каким должен быть пароль по сложности.

Role: system-admin – роль системного администратора. Полный доступ ко всем функциям устройства.

Trusted Host 1 – это ограничение доступа по IP. Только с указанного IP-адреса можно подключится, используя эту учетную запись.

Advanced Settings – расширенные настройки, в которых можно выбрать способ подключения для пользователя. По умолчанию отмечен Web. Можно добавить SSH.

 

Создание пользователя через CLI.

password cipher – задаёт пароль в зашифрованном виде.

service-type ssh web – разрешены доступы по SSH и Web.

level 15 – это максимальный уровень привилегий.

authenticationscheme admin_local – используется локальная база пользователей.

 

Просмотр созданного пользователя.

 

В выводе команды видно, что у Test-user нет привязки к системной роли.

 

Но в GUI пользователю уже присвоена роль system-admin.

Huawei USG интерпретирует уровень привилегий level 15 как system-admin, если не указана явная роль. GUI просто отрисовывает ожидаемую роль, соответствующую уровню. support.huawei.com

Чтобы явно привязать роль, нужно выполнить следующую команду:

После этого в выводе команды просмотра роль привязана.

 

Роли.

Роли настраиваются в меню Administrator Role. Определяют уровень доступа и разрешённые действия администратора.

Есть 4 предустановленные роли.

system-admin – системный администратор. Полный доступ ко всем функциям устройства. Назначается главному админу или инженеру. Не желательно использовать эту роль в ежедневной работе.

device-admin – администратор устройства. Доступен почти весь функционал, кроме некоторых глобальных настроек. Не имеет прав на управление другими администраторами или системной безопасностью устройства. Основная рабочая роль для всех остальных администраторов.

device-admin(monitor) – Мониторинг. Только доступ на чтение (read-only). Может просматривать общий журнал событий (логи), который фиксирует срабатывания политик безопасности, системные сообщения (запуск служб, ошибки), VPN-сессии, подключения пользователей, события NAT, маршрутизации и т.п. Они нужны для анализа сетевой активности, отладки и оперативного реагирования. Не может вносить никаких изменений.

audit-admin – администратор аудита. Основная задача – просмотр и анализ журналов, аудита, безопасности. Это действия администраторов: кто вошёл/вышел из системы (GUI, CLI, SSH), какие команды были введены в CLI, какие действия были выполнены через веб-интерфейс. Не имеет доступа к настройке управляемых параметров. Подходит для сотрудников ИБ и аудиторов.

Можно создать собственную роль, если нужно объединить или разделить какие-то права ролей.

Если роль не задана, то для локальных пользователей используется level.

level – уровень привилегий, числовой уровень доступа от 0 до 15, используется в CLI.

15 – system-admin.

3-14 – device-admin

2 – audit-admin или собственные роли.

1 – device-admin(monitor).

0 – без доступа (для технических ограничений).

Если пользователь имеет например level 15, но не привязан к роли, то GUI/CLI интерпретирует его как system-admin. Это называется role fallback – автоматическая привязка по уровню. Но если задана явная роль, то используется только роль, а level игнорируется.

 

LDAP.

Если в организации настроена доменная сеть, то логично назначить ответственных и разрешить доступ к USG определенным учетным записям из домена. Чтобы это сделать, нужно подключить Active Directoty (LDAP), и создать админа с доменной аутентификацией. Выполним это.

Добавляем домен.

 

Заполняем необходимые поля.

Name – название LDAP-сервера. Любое произвольное имя.

Primary Authentication Server IP Address – IP-адрес основного контроллера домена (LDAP/AD-сервера).

Port – порт для подключения к LDAP. 389 для LDAP и 636 для LDAPS. В данном случае используется 389, потому что на контроллере домена нет сертификата.

Enable SSL – использовать защищённое подключение (LDAPS). Требует, чтобы на DC был установлен действительный TLS-сертификат.

Secondary Authentication Server IP Address – IP-адрес второго LDAP-сервера (резервный). Не обязателен.

Third Authentication Server IP Address – IP-адрес третьего LDAP-сервера. Также необязателен.

Source Address Configuration – откуда будет отправляться трафик LDAP-запросов: по IP или через конкретный интерфейс.

Source IP Address – если выбран вариант IP Address, здесь указывается локальный IP файрвола для инициации LDAP-запросов. Если оставить пустым то это означает использовать самого себя, то есть любой интерфейс, через который USG выходит к AD/LDAP, по правилам маршрутизации.

Server Type – Тип LDAP-сервера. Для Active Directory нужно выбрать MS Active Directory.

 

Basic Information – основная информация.

Base DN 1 – основной DN (Distinguished Name), откуда начнётся поиск пользователей и групп в каталоге.

User Filtering Field – поле, по которому производится фильтрация пользователей. Для AD обычно sAMAccountName.

Group Filtering Field – поле для фильтрации групп.

Bind Anonymous Administrator – разрешить анонимное подключение к LDAP. Не разрешаем.

Administrator DN – имя учетной записи, через которую производится аутентификация. cn=имя_учетки_доменного_админа, cn=юнит_в_котором_учетка.

Administrator Password/Confirm – пароль для учётной записи доменного админа.

Bind Attributes to Administrator >> Attached Base DN. Если включено – к Administrator DN добавляется указанный Base DN. То есть Administrator DN интерпретируется как относительный путь внутри Base DN. Если отключить, нужно указывать полный DN администратора.

Применяем настройки на кнопку ОК.

Настройка через CLI.

 

Проводим тест на кнопку Test. Вводим имя доменного пользователя и пароль. Start.

Server detection succeeded подтверждает успешную связь с сервером. USG может опрашивать каталог Active Directory.

 

Создаем пользователя с таким же именем как в домене.

Тип аутентификации в этом случае выбираем Server authentication и из выпадающего списка выбираем подсоединенный домен.

Через CLI.

 

Проверяем. Входим в настройку через браузер с использованием доменного админа. Доступ в USG выполняется.

Есть более автоматизированный способ. Нужно создать в домене группу, присоединить эту группу в USG и добавить ей права для администрирования. Затем достаточно добавить нового пользователя в группу в домене и он автоматически получает права в USG. Но данный способ не срабатывает. На группу не назначается роль. Возможно ограничение в прошивке.

 

Настройка портов и сервисов доступа.

Разрешим управление сетевым экраном из локальной сети с конкретного порта и IP-адреса по Web и SSH. Доступ с внешней стороны полностью запрещен. Если очень нужно подключатся извне, то следует рассмотреть варианты использования VPN.

 

HTTP.

HTTP – это протокол, через который можно получить доступ в веб-интерфейс USG через браузер. Настройка находится в Service Settings. Но тут только HTTPS – это HTTP через SSL/TLS соединение, в котором данные передаются в зашифрованном виде. Значит, будем использовать этот протокол, он более безопасный. HTTPS-сервер по умолчанию включен.

 

Проверка настроек и состояния через CLI.

web-manager – это подсистема управления веб-доступом к устройств.

 

Для доступа по HTTPS необходимо активировать настройку на интерфейсе и у пользователя. Выполним это.

Активация HTTPS на интерфейсе.

Через CLI.

 

Активация Web-доступа у пользователя.

Настройку можно делать сразу при создании пользователя. Чтоб показать всю последовательность действий для активации web-доступа описание настройки представлено повторно.

Через CLI.

 

Проверяем. В браузере ПК в локальной сети переходим по адресу, который присвоен интерфейсу локальной сети USG.

 

Проверка подключенных пользователей.

Через CLI.

 

Проверка статуса HTTP.

или

 

Просмотр настроек HTTP.

Чтобы разрешить доступ только с определенных доверенных IP-адресов нужно использовать ACL. Подробнее об этом после SSH.

 

SSH.

SSH (Secure Shell) – это протокол для безопасного удалённого управления устройством через сеть с использованием зашифрованного соединение между клиентом и сервером через CLI.

Активация сервиса STelnet (SSH).

Для повышения безопасности можно изменить стандартный порт 22 на нестандартный.

Активация через CLI.

 

Просмотр статуса сервера.

 

Разрешение SSH на интерфейсе.

Через CLI.

 

Если нужны ssh и HTTPS то добавляется строка с командой.

 

Отключение SSH на интерфейсе.

 

Отключение всего менеджера доступа на интерфейсе.

 

Разрешение SSH для пользователя.

Через CLI.

 

Если нужно отключить что-то одно, то нужно отключить всё, а потом добавить нужное.

 

Проверяем. Подключаемся из cmd Windows или Putty.

Для удобства подключения использован bat.

 

Чтобы подтвердить соединение первый раз нужно напечатать yes и нажать кнопку Ввод. Затем вводим пароль.

Просмотр состояния сессий.

Есть еще подключение SSH по ключу RSA. Пока не рассматривается, чтоб не усложнять.

 

ACL.

Разрешение подключения с конкретного IP-адреса можно настроить через ACL, который доступен только через CLI.

ACL (Access Control List) – это список правил, используемый на сетевых экранах и других устройствах, для фильтрации трафика по заданным критериям. С помощью ACL можно разрешать или запрещать прохождение определённых пакетов на основе IP-адресов источника и/или назначения, номеров портов, протоколов, направления трафика (входящий/исходящий). На данном USG ACL могут применяться к интерфейсам (для фильтрации трафика между зонами или подсетями) и к линиям управления VTY (для ограничения удалённого доступа по SSH или Telnet).

Создадим ACL и добавим в него правила для разрешения SSH только с указанного IP-адреса.

acl number 3000 — номер расширенного ACL. Любой номер из диапазона 3000-3999.

rule 5-10 – номера правил по перечню. 5, 10, 15, 20 и т.д. т.е. (шаг 5) – задел для вставки промежуточных правил в будущем. Допустимый диапазон – от 0 до 65534.

tcp – позволяет выбрать дальше порт. При указании ip, правило разрешит весь IP трафик, включая любые протоколы и порты.

source 192.168.100.215 – IP-адрес источника.

destination 192.168.100.1 – IP-адрес назначения.

eq (от equal) – это условие сравнения порта, означает «равно 22 порту», а порт 22 – это стандартный порт для SSH.

0 после адресов источника и назначения это маска wildcard (маска обратного побитового сравнения). Маска 0 = точное совпадение адреса 192.168.100.215.

Правило 5 разрешает TCP-трафик с IP 192.168.100.215 к IP 192.168.100.1, если порт назначения = 22 (SSH). Правило 10 запрещает все остальное.

Диапазоны номеров ACL.

Номера ACL имеют диапазоны для разных типов списков. Обычно номер ACL определяет тип и назначение.

Базовый ACL: 2000-2999 – фильтрация по исходному IP-адресу и флагам фрагментации.

Расширенный ACL: 3000-3999 – фильтрация по исходному и целевому IP-адресу, типу протокола, портам TCP/UDP и другим параметрам.

Layer 2 ACL: 4000-4999 – фильтрация на уровне канала передачи данных (MAC-адреса, типы протоколов Ethernet).

User-defined ACL: 5000–5999 – ACL сравнивает извлеченную из пакета строку символов со строкой символов, определенной пользователем.

User ACL: 6000-9999 – фильтрация на основе исходных адресов IPv4 или списков управления пользователями (UCL)/IP-адресов назначения или групп UCL назначения, типов протоколов IPv4, типов ICMP, номеров портов источника/назначения TCP и номеров портов источника/назначения UDP.

Выбор номера – это скорее организационный момент. Чтобы не смешивать ACL разных назначений, выбираются разные номера для разных задач. Стандартные ACL для простых задач. Расширенные – для сложных с множеством условий. У разных групп номеров разный синтаксис команд.  support.huawei.com

Удаление ACL.

 

Удаление правила в ACL.

 

Добавление еще одного IP-адреса выполняется через добавление дополнительного правила в уже существующий ACL.

Аналогично настраиваются правила для HTTPS с указанием другого порта.

 

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

 

Отвязка ACL от VTY.

 

Просмотр созданных ACL.

По значению чисел в скобках (times matched) можно определить срабатывает ли правило.

Reference counter 0 должен показывать количество привязок этого ACL к интерфейсам, но похоже он срабатывает только на физические интерфейсы и не показывает VTY.

 

Просмотр всех привязок ACL к интерфейсам.

 

VTY (Virtual Teletype)

VTY (Virtual Teletype) – это виртуальный терминальный интерфейс, который используется для удалённого управления через протоколы удалённого доступа, в данном случае SSH. Можно сказать что это логические (программные) каналы, с помощью которых можно удалённо подключаться к сетевому устройству по SSH.

Устройство выделяет несколько логических линий VTY – например, vty 0 4, vty 16 20. Это значит, что одновременно может быть до 10 одновременных удалённых подключений.

Тоесть vty 0 4 и vty 16 20 это диапазоны номеров VTY-линий, каждая из которых представляет собой отдельную виртуальную сессию удалённого доступа к устройству.

vty 0 4 – это пять сессий: vty 0, vty 1, vty 2, vty 3, vty 4.

vty 16 20 – это ещё пять сессий: vty 16, vty 17, vty 18, vty 19, vty 20.

Всего в этом примере 10 логических линий, которые могут обслуживать до 10 одновременных удалённых подключений к CLI.

Почему есть vty 0 4 и vty 16 20, а не просто vty 0 4 и 5 9? Потому что так решили разработчики в Huawei. vty 5-15 возможно зарезервированы системой. Раздельные диапазоны можно настраивать независимо. Например: vty 0 4: разрешить только SSH, применить ACL 3000, строгую аутентификацию. vty 16 20: разрешить Telnet только из определённой подсети. Это позволяет разделять уровни доступа, сценарии или источники подключения. Когда происходит подключение по SSH, устройство резервирует одну из этих VTY-линий и через неё обрабатывает вводимые команды.

Можно независимо настраивать как диапазоны, так и отдельные линии. Но в этом случае настройка усложняется и можно запутаться. Лучше использовать диапазон.

 

Просмотр используемой VTY.

 

Просмотр настроек VTY.

Команда покажет вывод настроек для обоих диапазонов.

Для диапазона 16 20 настроек нет.  Желательно указать protocol inbound none – явное указание запретить любые подключения на эти линии, чтобы в случае занятости других линий USG не перекинул соединение SSH на этот диапазон, который без настроек и запретов.

Итог.

В результате проделанных настроек к сетевому экрану появился доступ из локальной сети по IP-адресу с использованием протоколов SSH и HTTP. Рассмотрен вариант подключения доменных администраторов и фильтрация доступа к USG по IP-адресу. Проведен небольшой ликбез по теме. Всем удачных настроек.