Идея написать эту статью возникла после того, как я попытался найти хоть какую-то информацию по настройке файерволов от Huawei в интернете. В русскоязычном сегменте я не нашел ничего, в англоязычном, в основном, устаревшие данные по предыдущим моделям и отсылки к документации (которая, к слову, есть на сайте производителя в открытом доступе и достаточно подробная).
При наличии опыта работы с файерволами других производителей документации должно быть достаточно, чтобы запустить и работать с Huawei USG, но по опыту я знаю, что к мануалам обращаются, когда все варианты уже испробованы. Поэтому одна из целей этой статьи – сэкономить время при первичной пусконаладке этого относительно нового оборудования. Конечно, в одной статье не удастся охватить весь функционал, тем не менее, основные начальные кейсы по настройке тут будут рассмотрены. Инженеры могут использовать статью как шпаргалку по инсталляции сетевого оборудования, так как те базовые настройки, которые будут тут описаны, как правило, придется делать во всех инсталляциях.
Источник
В статье не будет сравнения с конкурентами и вообще минимум маркетинга, это будет история про администрирование. Упомяну только, что основные конкуренты Huawei USG — это Cisco ASA, CheckPoint, FortiNet и др. Возможно, повышенный интерес в последнее время к китайскому оборудованию, в частности к оборудованию защиты информации, связан с темой «импортозамещения» перечисленных выше американских вендоров.
Линейки Huawei USG и краткие характеристики
Huawei USG – это устройства защиты информации нового поколения, или так называемые NGFW (Next Generation FireWall). В отличие от средств защиты предыдущего поколения NGFW способен делать глубокий анализ пакетов (вплоть до L7), инспектировать трафик на уровне приложений, имеет интегрированный IPS, а также может взаимодействовать с другими подобными устройствами, получая от них информацию о потенциальных атаках, направленных в свою сторону. Также обладает несложным механизмом DLP (обнаружение утечек информации).
Серия USG 6300 – это младшая серия устройств, ориентированная на малый и средний бизнес. Краткие характеристики приведены в таблице ниже.
Перечисленные в таблице устройства серии 6300 предназначены для монтажа в стойку 19 дюймов. При написании этой статьи использовалось устройство Huawei USG 6320, выполненное в настольном варианте:
Его краткие характеристики следующие:
Интерфейсы: 8GE
Питание: AC Adapter
Firewall throughput: 2 Gbit/s
IPS throughput: 700 Mbit/s
IPS+AV throughput: 700 Mbit/s
Concurrent sessions: 500,000
VPN Throughput (IPSec): 400Mbit/s
Основное отличие Huawei USG6320 от стоечных вариантов этой серии – то, что в него нельзя поставить жесткий диск, который используется в основном для содержания логов и формирования на их основе отчетов на базе устройства из WEB-интерфейса. В остальном все устройства серии (и даже более старшей серии 6600) работают под управлением одной операционной системы VRP. То есть по крайней мере на момент написания статьи файл «прошивки» для серий 6300 и 6600 один и тот же.
Первое включение устройства
Подключаемся по консольному порту со стандартными параметрами (9600 baud, без контроля четности), включаем питание и начинается загрузка:
***********************************************************
* *
* N G F W *
* *
***********************************************************
Base Bootrom Ver : 060 Dec 4 2015 06:55:42
Extended Bootrom Ver : 060 Dec 4 2015 07:00:34
CPLD BigVer : 02
CPLD SmlVer : 00 2015-03-19
PCB Ver : SUE1MPUB REV A
BOM Ver : 000
CPU L2 Cache : 2048 KB
CPU Core Frequency : 1000 MHz
BUS Frequency : 600 MHz
Mem Size : 2048 MB
Press Ctrl+B to enter main menu...
В самом начале загрузки я на всякий случай сброшу устройство к заводским настройкам. Также этот шаг будет вам полезен, если вы имеете дело с не новым устройством, которое уже настраивалось, и пароль на консоль не известен.
Для того, чтобы зайти BootRom menu, нужно нажать Ctrl+B на начальном этапе загрузки. Пароль по умолчанию для входа в BootRom на большинстве сетевых устройств Huawei: O&m15213 (первая буква – О, а не ноль). Вот так выглядит главное меню BootRom:
====================< Extend Main Menu >====================
| <1> Boot System |
| <2> Set Startup Application Software and Configuration |
| <3> File Management Menu... |
| <4> Load and Upgrade Menu... |
| <5> Modify Bootrom Password |
| <6> Reset Factory Configuration |
| <0> Reboot |
| ---------------------------------------------------------|
| Press Ctrl+T to Enter Manufacture Test Menu... |
| Press Ctrl+Z to Enter Diagnose Menu... |
============================================================
Enter your choice(0-6):
Выбираем пункт меню 6 для сброса к заводским настройкам и далее пункт меню 0 для перезагрузки.
После окончания загрузки устройство выведет приглашение для ввода логина и пароля для управления через консольный порт. Так как мы вернулись к заводским настройкам, то логин и пароль по умолчанию на консоль будут:
Login: admin
Password: Admin@123
Командная строка Huawei USG
Командная строка Huawei USG очень похожа на командную строку Cisco за исключением небольших нюансов. У Cisco есть три командных режима CLI:
- пользовательский режим (значок >);
- привилегированный режим (значок #, вход по команде enable);
- режим глобальной конфигурации (вход по команде configure terminal из привилегированного режима).
В отличие от Cisco командная строка сетевого оборудования Huawei (не только USG, но и коммутаторов и маршрутизаторов) состоит из двух режимов:
- пользовательский режим (также значок >);
- режим System view (значок #, вход по команде system-view из пользовательского режима).
Режим System view объединяет в себе привилегированный режим и режим глобальной конфигурации.
Еще несколько отличий:
- команда show у Cisco аналогична команде display в ОС VRP от Huawei;
- команда no у Cisco аналогична undo у Huawei.
Таким образом, просмотр текущей рабочей конфигурации (у Cisco это show runn) в Huawei будет:
display current-configuration
Так же, как в CLI, Cisco не обязательно вводить команду целиком. Если части команды достаточно для распознания, то команда будет принята, либо можно пользоваться TAB для дописывания.
В первую очередь необходимо установить, какая версия ОС VRP в данный момент управляет устройством, и если это не самая последняя версия, то следует установить самую последнюю. Проверить версию ОС VRP можно командой
display version
у Cisco подобная команда выглядит
show version
Проверяем:
<USG6300>display version
17:02:50 2017/03/27
Huawei Versatile Security Platform Software
Software Version: USG6300 V100R001C30SPC600PWE (VRP (R) Software, Version 5.30)
Copyright (C) 2014-2016 Huawei Technologies Co., Ltd..
USG6320 uptime is 0 week, 0 day, 0 hour, 2 minutes
Engine Version : V200R001C10
AV Signature Database Version :
IPS Signature Database Version :
IPS Engine Version : V200R001C10SPC352
SA Signature Database Version : 2015121601
Location Signature Database Version : 2015020515
RPU's Version Information:
2048M bytes SDRAM
16M bytes FLASH
1024M bytes CFCARD
1024K bytes SRAM
PCB Version : VER.A
CPLD Version : 200
Base Bootrom Version : 060 Dec 4 2015 06:55:42
Extended Bootrom Version : 060 Dec 4 2015 07:00:34
В данном случае версия ОС VRP: V100R001C30SPC600PWE. То есть версия 100, релиз 001, подрелиз 30, service pack 600. Также стоит обратить внимание на суффикс PWE – это расшифровывается как Payload without encryption, т.е. наша версия софта, кроме того что она очень старая, к тому же еще не будет поддерживать стойкое шифрование.
Обновление ПО устройства
Текущая версия ПО (по состоянию на март 2017 года) — v500r001c30spc100.
Нет никакого смысла начинать настраивать это устройство со старой версией ПО. Во-первых, у текущей V500 поменялась даже часть CLI, изменился синтаксис некоторых команд, включая команды, относящиеся к security policy.
Во-вторых, отсутствие стойкого шифрования (а именно с такой версией ПО устройство будет поставляться в Россию для упрощения ввоза) подойдет, думаю, не многим.
Поэтому в первую очередь следует обновить ПО VRP Huawei USG до самой свежей версии на текущий момент. Скачать ее можно с сайта производителя, если у вашего логина есть соответствующие права (как правило, они даются партнерам Huawei). Если же свежая версия ПО вам не доступна (вы в любом случае увидите ее на сайте, но не будет возможности ее скачать), следует обратиться к компании, через которую поставлено ваше оборудование или в русскоязычную поддержку Huawei.
Я скачал файл USG6000V500R001C30SPC100.bin ПО VRP с сайта и положил его в папку моего TFTP-сервера с адресом 172.31.31.250.
Младший порт Huawei USG я подключил в свою локальную сеть 172.31.31.0 /24 для того, чтобы загрузить в него новый файл с ПО посредством протокола TFTP. Но для этого нужно прописать IP-адрес из сети. Сделаем это следующим образом:
<USG6300>system-view
[USG6300]interface GigabitEthernet0/0/0
[USG6300-GigabitEthernet0/0/0] ip address 172.31.31.86 255.255.255.0
[USG6300-GigabitEthernet0/0/0]quit
[USG6300]
Адрес прописан. Но при этом окажется, что с USG не пингуется наш tftp-сервер. Все это потому, что по умолчанию политики безопасности на USG включены и действие по умолчанию – deny, т.е. запретить. Для ускорения первичных настроек предлагаю сделать правило по умолчанию permit, и пока устройство не будет выпущено в интернет, это не будет представлять угрозы для него. При этом значительно упростит первичную настройку:
[USG6300] security-policy
[USG6300-policy-security] default action permit
Warning:Setting the default packet filtering to permit poses security risks. You are advised to configure the security policy based on the actual data flows. Are you sure you want to continue?[Y/N]Y
[USG6300-policy-security] quit
[USG6300]Ctrl+Z
Проверим достижимость TFTP-сервера:
<USG6300>ping 172.31.31.250
17:46:58 2017/03/27
PING 172.31.31.250: 56 data bytes, press CTRL_C to break
Reply from 172.31.31.250: bytes=56 Sequence=1 ttl=128 time=1 ms
Reply from 172.31.31.250: bytes=56 Sequence=2 ttl=128 time=1 ms
После чего загрузим во флеш-память новую версию ПО с TFTP-сервера командой:
<USG6300>tftp 172.31.31.250 get USG6000V500R001C30SPC100.bin
Далее следует сказать загрузчику, что после перезагрузки нужно загружать ПО именно с этого образа, а не с того, что сейчас у нас загружен, для этого даем команду:
<USG6300>startup system-software USG6000V500R001C30SPC100.bin
Info:System software for the next startup:hda1:/usg6000v500r001c30spc100.bin, start read file....
Succeeded in setting the software for booting system.
<USG6300>
Проверим, что при следующей загрузке устройство будет загружаться с нужной нам версией ПО:
<USG6300>display startup
17:50:53 2017/03/27
MainBoard:
Configed startup system software:
hda1:/suempua15v1r1c30spc600pwe.bin
Startup system software:
hda1:/suempua15v1r1c30spc600pwe.bin
Next startup system software: hda1:/usg6000v500r001c30spc100.bin
Startup saved-configuration file: NULL
Next startup saved-configuration file: NULL
После чего сохраняем конфигурацию и перезагружаем устройство:
<USG6300>save all
<USG6300>reboot
17:52:31 2017/03/27
System will reboot! Do you want to save the running configuration? [Y/N]:Y
2017-03-27 17:52:33 USG6300 %%01CFM/4/SAVE(l): When deciding whether to save configuration to the device, the user admin chose Y.
Next config file name is NULL,set to Default...
Next config file is hda1:/vrpcfg.zip
Now saving the current configuration to the device....
Info:The current configuration was saved to the device successfully..
System will reboot! Continue? [Y/N]:Y
После перезагрузки проверяем текущую версию ПО:
<USG6300>display version
2017-03-27 18:37:42.590
Huawei Versatile Routing Platform Software
VRP (R) Software, Version 5.160 (USG6300 V500R001C30SPC100)
Copyright (C) 2014-2016 Huawei Technologies Co., Ltd
USG6320 uptime is 0 week, 0 day, 0 hour, 37 minutes
Как видно, версия у нас теперь самая свежая. С этого момента можно начинать настраивать оборудование.
Настройка интерфейсов и SSH для удаленного управления
Далее настроим SSH для удаленного управления, т.к. по умолчанию включено управление только по HTTPS.
Включим возможность управления посредством сервиса ssh на всех интерфейсах, которые будут у нас участвовать в работе. Пусть GigabitEthernet0/0/7 будет интерфейсом WAN с public IP, а GigabitEthernet0/0/1 будет LAN интерфейсом с сетью 192.168.200.0 /24:
<USG6300> system-view
[USG6300] interface GigabitEthernet 0/0/7
[USG6300-GigabitEthernet0/0/7] service-manage enable
[USG6300-GigabitEthernet0/0/7] service-manage ssh permit
[USG6300-GigabitEthernet0/0/7] ip address 195.26.xxx.xxx 255.255.255.224
[USG6300-GigabitEthernet0/0/7] service-manage http permit
[USG6300-GigabitEthernet0/0/7] service-manage https permit
[USG6300-GigabitEthernet0/0/7] service-manage ping permit
[USG6300-GigabitEthernet0/0/7] quit
[USG6300] interface GigabitEthernet0/0/1
[USG6300-GigabitEthernet0/0/1] undo shutdown
[USG6300-GigabitEthernet0/0/1] ip address 192.168.200.100 255.255.255.0
[USG6300-GigabitEthernet0/0/1] service-manage http permit
[USG6300-GigabitEthernet0/0/1] service-manage https permit
[USG6300-GigabitEthernet0/0/1] service-manage ping permit
[USG6300-GigabitEthernet0/0/1] service-manage ssh permit
По умолчанию в Huawei USG созданы четыре зоны файервола с предназначенными приоритетами (в скобках): local (100), dmz (50), trust (85), untrust (5). Все очень похоже на то, как это сделано в Cisco ASA – пользователи, находящиеся в одной зоне, имеют одинаковые атрибуты безопасности. Чуть ниже будет более подробно описан механизм работы зон безопасности, а пока просто определим только что настроенные интерфейсы в соответствующие зоны:
[USG6300] firewall zone trust
[USG6300-zone-trust] add interface GigabitEthernet0/0/1
[USG6300-zone-trust] quit
[USG6300] firewall zone untrust
[USG6300-zone-untrust] add interface GigabitEthernet0/0/7
[USG6300-zone-untrust] quit
Далее конфигурируем шлюз по умолчанию:
[USG6300] ip route-static 0.0.0.0 0.0.0.0 195.26.xxx.1
Конфигурируем VTY интерфейс для поддержки AAA:
[USG6300] user-interface vty 0 4
[USG6300-vty0-4] authentication-mode aaa
[USG6300-vty0-4] protocol inbound ssh
[USG6300-vty0-4] user privilege level 15
[USG6300-vty0-4] quit
Создадим пользователя userssh, который сможет управлять устройством по SSH:
[USG6300] aaa
[USG6300-aaa] manager-user userssh
[USG6300-aaa-manager-user-userssh] password
Enter Password:
Confirm Password:
[USG6300-aaa-manager-user-userssh] service-type ssh
[USG6300-aaa-manager-user-userssh] quit
[USG6300-aaa] bind manager-user userssh role system-admin
[USG6300-aaa] quit
Генерируем локальную пару ключей rsa:
[USG6300] rsa local-key-pair create
Включим сервис Secure Telnet (SSH):
[USG6300] stelnet server enable
Сконфигурируем пользователя userssh в качестве SSH-администратора.
[USG6300] ssh user userssh
[USG6300] ssh user userssh authentication-type password
[USG6300] ssh user userssh service-type stelnet
На этом можно считать первичную настройку выполненной и подключить кабели внешнего интернета и локальной сети к соответствующим настроенным интерфейсам
Настройка с помощью WEB-интерфейса
Базовые настройки и апгрейд операционной системы я предпочитаю производить из командной строки, как и большинство другой конфигурации. Тем не менее, многое (не всё) можно было делать и посредством Web-интерфейса, который, на мой взгляд, очень хорошо реализован, не требует Java или клиентской программы (типа ASDM для Cisco ASA). Да и политики безопасности, как мне кажется, гораздо нагляднее и проще создавать через Web-интерфейс.
По умолчанию на устройстве Web-интерфейс включен и разрешен на Management port – на стоечных устройствах этот порт отдельный, а в нашем случае в USG6320 по умолчанию этот порт – самый младший на борту, тот, что мы использовали для обновления ПО. По умолчанию на Management port прописан IP 192.168.0.1 /24, разрешены все виды сервисов, а также включен DHCP, поэтому для противников командной строки можно с самого начала использовать WEB-интерфейс, зная эти параметры по умолчанию. Выглядят они так:
interface GigabitEthernet0/0/0
undo shutdown
ip address 192.168.0.1 255.255.255.0
anti-ddos flow-statistic enable
anti-ddos syn-flood source-detect alert-rate 100
service-manage http permit
service-manage https permit
service-manage ping permit
service-manage ssh permit
service-manage snmp permit
service-manage telnet permit
dhcp select interface
dhcp server ip-range 192.168.0.1 192.168.0.254
Порт для управления по https – 8443, и так как мы сменили адрес на порту чуть ранее на 172.31.31.86, обратимся к устройству из любого браузера следующим образом:
https://172.31.31.86:8443
Вкладка Dashboard web-интерфейса Huawei USG
В первую очередь нужно загрузить купленные лицензии в разделе System -> License Management:
Также можно использовать пробные лицензии, выбрав соответствующий пункт со следующими ограничениями:
Пробная антивирусная и IPS подписки имеют период действия 2 месяца:
Либо при выборе Local manual activation подставляем сгенерированный файл с расширением dat с лицензией, и наши купленные лицензии активируются:
Настройка политик безопасности и обновления сигнатур
Далее предлагаю настроить выход устройства в Интернет и обновление сигнатур через Интернет. Перед тем, как приступить к настройкам, вкратце поясним механизм работы зон безопасности в Huawei USG.
Как сказано выше, по умолчанию сконфигурированы четыре зоны безопасности:
- Untrust (5). Определяет небезопасный сегмент сети, такой как Интернет, имеет наименьший уровень безопасности 5.
- DMZ (50). Определяет сегмент, в котором, как правило, располагаются сервера, к которым необходимо предоставить доступ снаружи. Но в то же время из этой зоны запрещен доступ к более защищенным сегментам сети.
- Trust (85). Определяет защищенный сегмент сети, где, как правило, располагаются рабочие станции пользователей.
- Local (100). Зона самого устройства USG, включая его интерфейсы.
Можно менять приоритеты зон, а также добавлять новые зоны, если необходимо. Это относится ко всем зонам, кроме local – ее приоритет поменять нельзя, а также в нее нельзя добавить какой-либо интерфейс.
Потоки данных в пределах одной зоны безопасности являются доверенными и не требуют настроек политик безопасности. Если же нам нужно настроить прохождение потоков данных из одной зоны в другую, то необходимо будет настроить политику безопасности (security policy), учитывая направления трафика по следующим правилам.
- Входящий трафик (Inbound): пересылается трафик из зоны более низкого приоритета в зону с более высоким приоритетом.
- Исходящий трафик (Outbound): пересылается трафик из зоны более высокого приоритета в зону с более низким приоритетом.
Направление трафика определяется по направлению первого пакета.
Напомню, что мы уже настроили интерфейсы и подключили к GigabitEhternet0/0/7 кабель от провайдера, а к GigabitEthernet0/0/1 кабель от нашей локальной сети. Если попробовать пинговать что-то снаружи (зона untrust) непосредственно с нашего устройства (зона local), то мы увидим следующую картину:
[USG6300]ping 8.8.8.8
PING 8.8.8.8: 56 data bytes, press CTRL_C to break
Request time out
Request time out
Request time out
Request time out
Request time out
--- 8.8.8.8 ping statistics ---
5 packet(s) transmitted
0 packet(s) received
100.00% packet loss
Все пакеты потеряны, несмотря на то, что маршрут по умолчанию настроен и устройство подключено к провайдеру. В подобной ситуации обычный роутер получил бы ICMP отклик обратно и картина была бы другой. Но в нашем случае работает механизм работы зон безопасности, описанный выше, и имеет место инициирование потока данных из зоны с приоритетом 100 (local) в зону с приоритетом 5 (untrust), поэтому нам необходимо настроить политику безопасности (outbound security policy), чтобы разрешить хождение пакетов в обоих направлениях. В случае применения исходящей политики по отношению к трафику в направлении LOCAL -> UNTRUST, наше устройство будет создавать в таблице сессий новую запись после каждой инициации новой сессии в этом направлении. Запись будет содержать исходящий (source) и места назначения (destination) IP-адреса, соответствующие номера портов и тип протокола.
Если пакеты, которыми обменивается клиент из зоны LOCAL, и сервер в зоне Untrust соответствуют записи в таблице сессий, файервол обрабатывает пакеты на основе исходящей политики безопасности без повторной проверки направления передачи пакетов. То есть в нашем случае мы должны получить ICMP ECHO от адреса 8.8.8.8.
Настроим политику в разделе Policy, нажав кнопку Add с названием policy_to_Inet:
После применения политики проверим ее работоспособность, запустив ping на адрес 8.8.8.8 нашего устройства:
[USG6300]ping 8.8.8.8
PING 8.8.8.8: 56 data bytes, press CTRL_C to break
Reply from 8.8.8.8: bytes=56 Sequence=1 ttl=47 time=19 ms
Reply from 8.8.8.8: bytes=56 Sequence=2 ttl=47 time=21 ms
Reply from 8.8.8.8: bytes=56 Sequence=3 ttl=47 time=19 ms
Reply from 8.8.8.8: bytes=56 Sequence=4 ttl=47 time=20 ms
Reply from 8.8.8.8: bytes=56 Sequence=5 ttl=47 time=20 ms
--- 8.8.8.8 ping statistics ---
5 packet(s) transmitted
5 packet(s) received
0.00% packet loss
round-trip min/avg/max = 19/19/21 ms
В разделе System -> Update Center попробуем обновить сигнатуры IPS и антивируса, нажав Update immediately напротив, например, Antivirus Signature Database:
Через некоторое время в колонке Status увидим, что загрузка баз не удалась по причине того, что доменное имя сервера обновлений (sec.huawei.com) не удалось разрешить. Действительно, для того, чтобы имена разрешались, необходимо прописать DNS-сервер в разделе Network -> DNS, нажав кнопку Add:
После прописывания DNS-сервера все получилось:
После этого все сигнатуры будут обновляться согласно своему времени в разделе Scheduled Update Time, в данном случае каждый день в 6:38 утра.
Настройка NAT/PAT для выхода локальной сети в интернет
Настроим выход в Интернет для локальной сети 192.168.200.0 /24 (наша зона trust) посредством PAT. Так как в данном случае направление трафика будет из зоны с большим приоритетом (trust) в сторону зоны, меньшим приоритетом (untrust), необходимо настроить outbound policy security. Здесь абсолютно такое же правило, как мы уже делали для зоны local. Можно настроить новое правило, а можно, если все остальные параметры будут такими же, добавить в уже созданную policy_to_Inet еще одну Source Zone, в нашем случае trust:
В разделе Content Security добавим преднастроенный профиль default в подраздел Antivirus и профиль strict в подраздел Intrusion Preventions.
После чего создадим NAT policy для зоны trust для выхода в Интернет, «маскируясь» внешним IP-адресом:
После этого пользователи из сети 192.168.200.0 /24 смогут выходить в Интернет.
Базовую настройку Huawei USG можно считать завершенной. Выполнена модернизация ПО VRP устройства до самой последней версии, настроен SSH для удаленного управления посредством командной строки, настройка обновления сигнатур через Интернет и выход в Интернет пользователей из доверенной зоны.
Еще раз стоит отметить очень хорошее руководство по настройке (в написании этой статьи использовался документ HUAWEI USG6000&USG9500 V500R001C30SPC200 & NGFW Module V500R002C00SPC200 Product Documentation). Кроме описанных функций мной были настроены туннели IPsec site-to-site, SSL VPN для подключения удаленных пользователей, интеграция с Microsoft Active Directory для авторизации удаленных пользователей SSL-VPN и Single Sign On для пользователей домена (выход в Интернет пользователей домена без дополнительной авторизации) и другое.
Надеюсь, эта статья будет полезна для тех, кто рассматривает в качестве UTM/NGFW/Firewall устройства для замены аналогичных устройств известных американских вендоров.
Автор: ГК ЛАНИТ