Konfiguracja routerów Cisco
1. Opis dostępnych typów konsoli CLI (command line interface)
Po załadowaniu IOS-u lub po ponownym połączeniu się do CLI pojawia się konsola (shell) typu user EXEC (identyfikowana przez następujący prompt string >):
Router>
Przejście do podstawowego shell-a administracyjnego (privileged EXEC – identyfikowany przez następujący prompt string #) wykonuje się przez wpisanie następującej komendy:
Router>enable
Router#
Przejscie do shell-a konfiguracyjnego (global configuration – identyfikowany przez następujący prompt string (config)#) wykonuje się z poziomu privileged EXEC za pomocą komendy:
Router#config terminal
Enter configuration commands, one per line. End with CNTL/Z.
Router(config)#
Z poziomu konsoli konfiguracyjnej możemy przejść do konsoli konfiguracji wybranego interfejsu (interface configuration), która jest identyfikowana przez następujący prompt string (config-if)# wydając komendę:
Router(config)#interface <interface_name> <interface_num>[/<port_num>]
Router(config-if)#
np.
Router(config)#interface eth 0
lub
Router(config)#interface serial 2/0
1.1. Zejście do konsoli z niższymi uprawnieniami
Zejście do konsoli typu privileged EXEC:
Router(config-if)#end //lub CTRL-ZRouter#
Zejście do konsoli typu global configuration:
Router(config-if)#exitRouter(config)#
Uwaga: Większość komend można wydać tylko i wyłącznie na ściśle ustalonym shell-u. Od tego momentu żądany poziom shell-a będzie wynikał z podanego prompt stringu.
1.2. Zabezpieczenie shell-a administracyjnego hasłem
Router(config)#enable secret <hasło>
Uwaga: Po wydaniu powyższej komendy każde przejście z user EXEC do privileged EXEC będzie wymagało podania ustalonego hasła.
1.3. Weryfikacja ustawień
Przykłady:
Aktualne ustawienia routera można zweryfikować przez wylistowanie pliku konfiguracyjnego:
Router#show running-config
Aktualne stan interfejsów można zweryfikować komendą:
Router#show interfaces
Aktualny stan tablicy routingu można zweryfikować komendą:
Router#show ip route
2. Zapisanie ustawień po dokonanych zmianach
UWAGA!!!
Literówka w tym poleceniu może być bardzo bolesna i będzie wymagała reinstalacji systemu jeżeli nadpiszecie nie to co trzeba także silnie polecam czytać komunikaty
Router#copy running-config startup-config
Destination filename [startup-config]?<enter>
Building configuration...
[OK]
UWAGA!!!
Router# wr
3. Konfiguracja podstawowa
3.1 Ustawienie nazwy hosta
Router(config)#hostname <nazwa_hosta>
Uwaga: Po wydaniu powyższej komendy zmieni się również nazwa podawana w linii komend przed prompt string-iem, np.:
Router(config)#hostname gw1-bogusgw1-bogus(config)#
3.2 Ustawnienie serwerów DNS
gw1-bogus(config)#ip name-server <IP_1> <IP_2> ….
3.3. Konfiguracja interface’u
congw1-bogus(fig)#interface <interface_name>
gw1-bogus(config-if)#ip address <net_adres> <net_maska>
gw1-bogus(config-if)#no shutdown //oznacza to tyle samo co up
gw1-bogus(config-if)#end //lub CTRL-Z)
3.3.1 Konfiguracja adresu wirtualnego na interfejsie (secondary address)
gw1-bogus(config)#interface <interface_name>
gw1-bogus(config-if)#ip address <net_adres> <net_maska> secondary
3.4 Domyślna ścieżka routingu
gw1-bogus(config)#ip routing //wlączenie routing-u
gw1-bogus(config)#ip route 0.0.0.0 0.0.0.0 <next_hop> //defaultowa ścieżka routowania
4. Konfiguracja serwerów
4.1 Serwer SSH
Uwaga: Nazwy hosta i domeny muszą być ustawione dla poprawnej generacji pary kluczy RSA.
gw1-bogus(config)# hostname <nazwa_hosta>
gw1-bogus(config)# ip domain-name <domain_name>
Zdefiniowanie pary kluczy RSA:
gw1-bogus(config)# crypto key generate rsa
Uwaga: Podczas generacji kluczy RSA proszę wybrać możliwie najdłuższe klucze szyfrujące 2048 bits (taka generacja może zabrać kilka minut).
Zdefiniowanie metod autoryzacji i konta dla logowania:
gw1-bogus(config)# aaa new-model
gw1-bogus(config)# username <username> privilege <num> password 0 <password>
np.:
gw1-bogus(config)# username admin privilege 15 password 0 my_password
Ponieważ powyższa procedura odblokowuje również połączenia telnetowe – należy taki typ połączeń zablokować:
gw1-bogus(config)#line vty 0 4
gw1-bogus(config-line)#transport input ssh
Ewentualnie można jeszcze ustawić parametry serwera SSH:
gw1-bogus(config)# ip ssh time-out <seconds>
gw1-bogus(config)# ip ssh authentication-retries <retries_num>
4.2 Serwer WWW
Uwaga: Proponujemy wyłączenie serwera HTTP i zastąpienie go serwerem HTTPS (patrz niżej)
Wyłączenie serwera HTTP
gw1-bogus(config)#no ip http server
Włączenie serwera HTTPS
gw1-bogus(config)#ip http secure-server
Zdefiniowanie metod autoryzacji i konta dla logowania
gw1-bogus(config)#ip http authentication local
gw1-bogus(config)#username <username> privilege <num> password 0 <password>
np.:
gw1-bogus(config)#ip http authentication local
gw1-bogus(config)# username misio privilege 15 password 0 miodek
5. Hardening routera
5.1. Włączenie kodowania haseł w routerze
gw1-bogus(config)#service password-encryption
5.2. Wyłączenie portu AUX (połączenie przez modem)
gw1-bogus(config)#line aux 0
gw1-bogus(config-line)#no exec
5.4. Wyłączenie protokołu CDP (Cisco Discovery Protocol)
Globalnie:
gw1-bogus(config)#no cdp run
lub dla wybranego interfejsu:
gw1-bogus(config-if)#no cdp enable
5.5. Wyłączenie protokołu bootp
gw1-bogus(config)#no ip bootp server
5.5. Wyłączenie protokołu finger
gw1-bogus(config)#no ip finger
