Po długim poszukiwaniu dostępu do urządzenia Huawei z rodziny firewall, dzięki uprzejmości firmy S4E, udało mi się dostać w ręce model USG6330. Zobaczymy co przysłowiowy “chińczyk” potrafi i jak bardzo różni się on od możliwości urządzeń typu PaloAlto czy Fortinet. Nie będę tutaj się skupiać na aspektach wydajnościowych – nie będę wyciskać siódmych potów. Nie pozwolę jednak aby się nudziło, ponieważ ze specyfikacji wydaje się, że jest to bardzo wydajne urządzenie. Przetestuję podstawowe funkcjonalności tego rozwiązania.
Poniżej rysunek poglądowy w jaki sposób na chwilę obecną wszystko jest połączone:
Pierwsze uruchomienie
Pierwsze logowanie po połączeniu konsolowym:
Domyślny login i hasło to admin/Admin@123 gdzie przy pierwszym logowaniu jesteśmy proszeni o zmianę.
Please Press ENTER. Login authentication Username:admin Password: The password needs to be changed. Change now? [Y/N]: y Please enter old password: Please enter new password: Please confirm new password: Info: Your password has been changed. Save the change to survive a reboot. ************************************************************************* * Copyright (C) 2014-2016 Huawei Technologies Co., Ltd. * * All rights reserved. * * Without the owner's prior written consent, * * no decompiling or reverse-engineering shall be allowed. * ************************************************************************* <USG6300>
Wyświetlamy konfigurację:
<USG6300>display current-configuration 2016-10-11 17:49:52.780 +01:00 !Software Version V500R001C30SPC100 # sysname USG6300 # undo l2tp sendaccm enable l2tp domain suffix-separator @ # ipsec sha2 compatible enable # undo factory-configuration prohibit # undo telnet server enable undo telnet ipv6 server enable # clock timezone Amsterdam add 01:00:00 # hrp configuration auto-check 1440 # firewall detect ftp # firewall defend action discard # log type traffic enable log type syslog enable log type policy enable # undo dataflow enable # sa force-detection enable # isp name "china mobile" set filename china-mobile.csv isp name "china unicom" set filename china-unicom.csv isp name "china telecom" set filename china-telecom.csv isp name "china educationnet" set filename china-educationnet.csv # user-manage web-authentication security port 8887 password-policy level high user-manage single-sign-on ad user-manage single-sign-on tsm user-manage single-sign-on radius user-manage sso-sync radius page-setting user-manage security version tlsv1.1 tlsv1.2 # firewall ids authentication type sha256 # snmp-agent session history-max-number enable # web-manager security version tlsv1.1 tlsv1.2 web-manager enable web-manager security enable # firewall dataplane to manageplane application-apperceive default-action drop # update schedule ips-sdb daily 23:01 update schedule av-sdb daily 23:01 update schedule sa-sdb daily 23:01 update schedule ip-reputation daily 23:01 update schedule cnc daily 23:01 # set disk-scan parameter attach on set disk-scan parameter cycle 15 set disk-scan parameter iostat 80 set disk-scan parameter speed 10 set disk-scan parameter switch on set disk-scan parameter parallel 50 # ip vpn-instance default ipv4-family # time-range worktime period-range 08:00:00 to 18:00:00 working-day # aaa authentication-scheme default authentication-scheme admin_local authentication-scheme admin_radius_local authentication-scheme admin_hwtacacs_local authentication-scheme admin_ad_local authentication-scheme admin_ldap_local authentication-scheme admin_radius authentication-scheme admin_hwtacacs authentication-scheme admin_ad authentication-scheme admin_ldap authorization-scheme default accounting-scheme default domain default service-type internetaccess ssl-vpn l2tp ike internet-access mode password reference user current-domain manager-user audit-admin password cipher @%@%&jFN*sh#])8WcdIL}_OF&zhYFq"t2+;ueMq+kA6ja0zBzh\&@%@% service-type web terminal level 15 manager-user api-admin password cipher @%@%DlTV+3vB'$:kR2-Yz*2=&MMBRZDoL&qvq)O-:N8<EcuTMME&@%@% service-type api level 15 manager-user admin password cipher @%@%dgK^"M*QFJ-.u~5;OSi#xssc6hDX8W`BkK&])UNz~3A)ssfx@%@% service-type web terminal level 15 role system-admin role device-admin role device-admin(monitor) role audit-admin bind manager-user admin role system-admin bind manager-user audit-admin role audit-admin # l2tp-group default-lns # interface GigabitEthernet0/0/0 undo shutdown ip binding vpn-instance default ip address 192.168.0.1 255.255.255.0 service-manage http permit service-manage https permit service-manage ping permit # interface GigabitEthernet1/0/0 undo shutdown # interface GigabitEthernet1/0/1 undo shutdown # interface GigabitEthernet1/0/2 undo shutdown # interface GigabitEthernet1/0/3 undo shutdown # interface GigabitEthernet1/0/4 undo shutdown # interface GigabitEthernet1/0/5 undo shutdown # interface Virtual-if0 # interface Cellular0/0/0 # interface NULL0 # firewall zone local set priority 100 # firewall zone trust set priority 85 add interface GigabitEthernet0/0/0 # firewall zone untrust set priority 5 # firewall zone dmz set priority 50 # undo ssh server compatible-ssh1x enable # user-interface con 0 authentication-mode aaa user-interface vty 0 4 authentication-mode aaa protocol inbound ssh user-interface vty 16 20 # sa # location # slb # multi-interface mode proportion-of-weight # right-manager server-group # agile-network # api # device-classification device-group pc device-group mobile-terminal device-group undefined-group # security-policy # auth-policy # traffic-policy # policy-based-route # nat-policy # audit-policy # proxy-policy # quota-policy # pcp-policy # dns-transparent-policy mode based-on-multi-interface # rightm-policy # sms # return <USG6300>
Jak widzimy na konfiguracji powyżej port MGMT to interface GigabitEthernet0/0/0, który ma adres 192.168.0.1. Bierzemy jakiś pc/laptop i wpinamy się do niego.
Logujemy się do www naszego urządzenia https://192.168.0.1:8443
Dane do logowania:
user: admin
password: takie jak ustawiliśmy wcześniej podczas zmiany
Po zalogowaniu się zobaczymy kreator wstępnej konfiguracji. Przy pierwszym uruchomieniu skorzystam z niego.
Klikamy next, w nowym oknie konfigurujemy czas na urządzeniu, tryb (Configuration Mode), gdzie wybieramy sposób konfiguracji czasu, (wybrałem synchronizacja z serwerem czasu (NTP)), ustawiamy strefę czasową oraz datę i czas. Tu trzeba zaznaczyć, że NTP serwer musi być IP, nie FQDN.
W kolejnym oknie konfigurujemy połączenie z siecią WAN lub Internet. W mym przypadku jest to połączenie do sieci Internet. Jak widać niżej, mamy wiele możliwości konfiguracyjnych.
Wcześniej wybraliśmy Static IP, natomiast w nowym oknie wybieramy, który Interfejs jest podłączony do sieci Internet oraz go adresujemy.
W nowym oknie konfigurujemy interfejs, który będzie podłączony do sieci LAN oraz go adresujemy.
W kolejnym kroku mamy możliwość uruchomienia serwera DHCP oraz określenia zakresu adresacji dla niego:
W kolejnym oknie dostajemy natomiast podsumowanie naszej wprowadzonej konfiguracji.
Po kliknięciu Apply zostanie wprowadzona konfiguracja na urządzenie.
Po kliknięciu Finish pokaże się nam Dashboard, który mam na urządzeniu.
W kolejnym etapie wgrywamy licencję. W tym celu przechodzimy do System–>License Mangamnet, gdzie wybieramy Local manual activation po czym wybieramy nasz plik z licencją.
Po wgraniu licencji zauważamy, że daty się zmieniły
W celu wykonania upgrade sygnatur przechodzimy do System–>Update Center, gdzie widzimy paczki, które można zaktualizować (domyślnie są one aktualizowane codziennie o 23:01)
Po kliknięciu Update Immediately możemy wymusić aktualizację, ale tu napotkałem pierwszy problem (pomimo ustawionych DNS’ów system nie umiał rozwiązywać nazw na ip, co widać wyżej na rysunku).
Dla testów wykonywałem testy z konsoli:
<usg6300_test>ping wp.pl Error: Unknown host wp.pl. <usg6300_test>
[usg6300_test]update online cnc Info: The operation may last several minutes. Please wait. [usg6300_test] Error: Failed to perform DNS resolution. [usg6300_test]
Po wielu próbach zmian w konfiguracji, okazało się, że z poziomu konsoli wystarczy wydać następujące polecenie:
[usg6300_test]dns resolve [usg6300_test]
Tego parametru nie znalazłem w web gui.
[usg6300_test]ping wp.pl PING wp.pl (212.77.98.9): 56 data bytes, press CTRL_C to break Reply from 212.77.98.9: bytes=56 Sequence=1 ttl=56 time=14 ms Reply from 212.77.98.9: bytes=56 Sequence=2 ttl=56 time=14 ms Reply from 212.77.98.9: bytes=56 Sequence=3 ttl=56 time=13 ms Reply from 212.77.98.9: bytes=56 Sequence=4 ttl=56 time=12 ms Reply from 212.77.98.9: bytes=56 Sequence=5 ttl=56 time=13 ms --- wp.pl ping statistics --- 5 packet(s) transmitted 5 packet(s) received 0.00% packet loss round-trip min/avg/max = 12/13/14 ms [usg6300_test]
Aktualizacja z poziomu CLI
[usg6300_test]update online ? av-sdb Indicate the anti-virus (AV) signature database cnc Indicate the C&C domain database ip-reputation Indicate the IP reputation database ips-sdb Indicate the intrusion prevention system (IPS) signature database sa-sdb Indicate the service awareness (SA) signature database // gdzie wybieramy które sygnatury mają być aktulizowane [usg6300_test]update online sa-sdb Info: The operation may last several minutes. Please wait. [usg6300_test] Info: The signature database is at the latest version. [usg6300_test]
Włączenie ssh
<usg6300_test>system-view Enter system view, return user view with Ctrl+Z. [usg6300_test]stelnet server enable [usg6300_test]ssh authentication-type default password
dajemy uprawnienia userowi admin do logowania się po SSH:
[usg6300_test]aaa [usg6300_test-aaa]m [usg6300_test-aaa]manager-user use [usg6300_test-aaa]manager-user admin [usg6300_test-aaa-manager-user-admin]service-type ssh [usg6300_test-aaa-manager-user-admin]quit [usg6300_test-aaa]quit [usg6300_test]
dodajemy możliwość logowania sia po ssh na danym interfejsie:
[usg6300_test]interface GigabitEthernet 1/0/0 [usg6300_test-GigabitEthernet1/0/0]service-manage ssh permit [usg6300_test-GigabitEthernet1/0/0]quit [usg6300_test]
na koniec prac zapisujemy konfigurację:
[usg6300_test]return <usg6300_test>save The current configuration will be written to the device. Are you sure to continue?[Y/N]y Now saving the current configuration to the slot 0. Save the configuration successfully. <usg6300_test>
Po powyższych zabiegach mamy wstępnie skonfigurowane urządzenie i zaktualizowane sygnatury oraz mamy dostęp do urządzenia po ssh.
Jak widać powyżej, pewne rzeczy są możliwe do skonfigurowania jedynie z poziomu CLI, a innym razem z GUI. Po zaprzyjaźnieniu się z CLI stwierdzam, że podstawowe konfiguracje lepiej jest wykonać właśnie z tego poziomu ale zobaczymy jak pójdzie z pisaniem polityk dla nat’ów czy security…