
# IOS12

## Przyjęte oznaczenia

NACVIEW_SERV - adres IP serwera NV
RADIUS_KEY - klucz komunikacji z serwerem radius
RADIUS_GROUP - nazwa grupy serwerów dla protokołu RADIUS
SW_IP - adres IP zarządzania switcha
MGMT_INT - interfejs zarządzania przełącznika
COA_SECRET - hasło CoA (ustawiane w ustawieniach zmiany autoryzacji)
SNMP_SECRET - hasło SNMP v2c
SNMP_AUTH i SNMP_PRIV - hasła SNMP v3
SNMP_USER i SNMP_GROUP - odpowiednio użytkownik i grupa SNMP
CONF_FILE - nazwa pliku konfiguracyjnego (.txt bądź .cfg)
TAC+_GROUP - nazwa grupy serwerów dla protokołu Tacacs+
TAC+_KEY - klucz komunikacji z serwerem Tacacs+

Software: Cisco IOS Software, Version 12.4(15)T14, RELEASE SOFTWARE (fc2)

## Konfiguracja połączenia z serwerem RADIUS

S1#configure terminal
S1(config)#aaa new-model
S1(config)#radius-server vsa send
S1(config)aaa group server radius RADIUS_GROUP
S1(config-sg-radius)#server-private NACVIEW_SERV auth-port 1812 acct-port 1813 key RADIUS_KEY
S1(config-sg-radius)#ip radius source-interface MGMT_INT
S1(config-sg-radius)#exit
S1(config)#aaa authentication dot1x default group RADIUS_GROUP
S1(config)#aaa accounting dot1x default start-stop group RADIUS_GROUP
S1(config)#aaa authorization network default group RADIUS_GROUP
S1(config)#dot1x system-auth-control

### Change of Authority (CoA)

S1#configure terminal
S1(config)#aaa server radius dynamic-author
S1(config-locsvr-radius)#client NACVIEW_SERV server-key COA_SECRET
S1(config-locsvr-radius)#port 3799

## Konfiguracja autoryzacji

### Konfiguracja autoryzacji - protokół 802.1x

S1#configure terminal
S1(config)#interface FastEthernet1/15
S1(config-if)#spannig-tree portfast
S1(config-if)#switchport mode access
S1(config-if)#dot1x pae authenticator
S1(config-if)#dot1x port-control auto
S1(config-if)#dot1x reauthentication
S1(config-if)#dot1x host-mode multi-host

### Konfiguracja autoryzacji - 802.1x + fall-back do autoryzacji adresem MAC

S1#configure terminal
S1(config)#interface FastEthernet1/15
S1(config-if)#spannig-tree portfast
S1(config-if)#switchport mode access
S1(config-if)#dot1x port-control auto
S1(config-if)#dot1x host-mode multi-host
S1(config-if)#dot1x reauthentication
S1(config-if)#dot1x pae authenticator
S1(config-if)#mab eap
S1(config-if)#authentication order dot1x mab
S1(config-if)authentication priority dot1x mab

### Konfiguracja autoryzacji - autoryzacja adresem MAC + fallback do 802.1x

S1#configure terminal
S1(config)#interface FastEthernet1/15
S1(config-if)#spannig-tree portfast
S1(config-if)#switchport mode access
S1(config-if)#dot1x port-control auto
S1(config-if)#dot1x host-mode multi-host
S1(config-if)#dot1x reauthentication
S1(config-if)#dot1x pae authenticator
S1(config-if)#mab eap
S1(config-if)#authentication order mab dot1x
S1(config-if)authentication priority mab dot1x

### Konfiguracja autoryzacji - MAB

S1#configure terminal
S1(config)#interface FastEthernet1/15
S1(config-if)#spannig-tree portfast
S1(config-if)#switchport mode access
S1(config-if)#dot1x pae authenticator
S1(config-if)#dot1x reauthentication
S1(config-if)#dot1x port-control auto
S1(config-if)#dot1x host-mode single-host
S1(config-if)#mab eap

## Konfiguracja TACACS+

S1(config)#aaa group server tacacs+ TAC+_GROUP
R1(config-sg-tacacs+)#server-private NACVIEW_SERV key TAC+_KEY
S1(config-sg-tacacs+)#accounting acknowledge broadcast
S1(config-sg-tacacs+)#ip tacacs source-interface MGMT_INT
S1(config-sg-tacacs+)#exit
S1(config)#aaa authentication login default group TAC+_GROUP
S1(config)#aaa authorization exec default group TAC+_GROUP
S1(config)#aaa accounting exec default start-stop group TAC+_GROUP

## SNMP

### Wersja 3 - zalecana

S1#configure terminal
S1(config)#snmp-server enable traps
S1(config)#snmp-server group SNMP_GROUP v3 priv
S1(config)#snmp-server ifindex persist
S1(config)#snmp-server trap-source MGMT_INT
S1(config)#snmp-server source-interface informs MGMT_INT
S1(config)#snmp-server source-interface traps MGMT_INT
S1(config)#snmp-server user SNMP_USER SNMP_GROUP v3 auth sha SNMP_AUTH priv des SNMP_PRIV
S1(config)#snmp-server host NACVIEW_SERV inform version 3 priv SNMP_USER
S1(config)#snmp-server host NACVIEW_SERV traps version 3 priv SNMP_USER

### Wersja 2c - nie zalecana, zapewniająca minimalny poziom bezpieczeństwa

S1#configure terminal
S1(config)#snmp-server enable traps
S1(config)#snmp-server ifindex persist
S1(config)#snmp-server community SNMP_SECRET ro
S1(config)#snmp-server trap-source MGMT_INT
S1(config)#snmp-server source-interface informs MGMT_INT
S1(config)#snmp-server source-interface traps MGMT_INT
S1(config)#snmp-server host NACVIEW_SERV inform version 2c private
S1(config)#snmp-server host NACVIEW_SERV traps version 2c private

## Przekierowanie logów systemowych na serwer NACVIEW

S1#configure terminal
S1(config)#logging host NACVIEW_SERV
S1(config)#logging source-interface MGMT_INT
S1(config)#logging on

## Zabezpieczenia MAC

Polecania `switchport port-security` można używać tylko na porcie w statycznie ustawionym trybie `access` bądź `trunk`

S1(config-if)#switchport port-security - polecenie włącza tryb `port-security` (domyślnie dynamiczne zapamiętywanie adresów MAC)
S1(config-if)#switchport port-security MAC-address H.H.H - polecenie dodaje do konfiguracji adres statyczny MAC
S1(config-ir)#switchport port-security MAC-address sticky - polecenie konfiguruje dodawanie adresów MAC w trybie `sticky`
S1(config-ir)#switchport port-security MAC-address sticky H.H.H - polecenie konfiguruje dodawanie adresów MAC w trybie `sticky`oraz dodaje do konfiguracji adres statyczny H.H.H

Tryb domyślny (dynamiczny) - jest to tryb, w którym przełącznik dynamicznie uczy się adresów MAC na porcie, są one usuwane z tablicy adresów po wystąpienie każdego `link-down` na porcie
Tryb statyczny - jest to tryb, w którym administrator statycznie konfiguruje do 132 adresów, są one zapisywane w bieżącej konfiguracji urządzenia. Jeśli zostanie określona ilość adresów mniejsza niż ustawiona wartość maksymalna, to reszta adresów jest rejestrowana w trybie dynamicznym bądź `sticky`
Tryb `sticky` - jest to tryb, w którym przełącznik dynamicznie uczy się adresów MAC na porcie, natomiast są one zapisywane jak adresy statyczne

S1(config-if)#switchport port-security violation [protect | restrict | shutdown] - polecenia konfiguruje tryb naruszenia portu (wykrycie niezarejstrowanego adresu MAC w trybie statycznym bądź przekroczenie maksymalnej ilości adresów w trybie dynamicznym bądź wykrycie zarejestrowanego adresu MAC na innym porcie)
Tryb `protect` - pakiety są odrzucane do momentu, kiedy przestaną obowiązywać naruszenie portu
Tryb `restrict` - j.w., powoduje zwiększenie licznika `SecurityViolation`
Tryb `shutdown` - ustawia port w tryb `error-disabled`

S1(config-if)#switchport port-security maximum X - polecenie konfiguruje maksymalną ilość adresów na porcie, gdzie X jest od 1 do 132
S1(config-if)#switchport port-security aging time X - polecenia konfiguruje maksymalny czas życia adresów dynamicznych, gdzie X jest od 1 do 1440 (w minutach)

## Utility

S1#show running-config - akualna konfiguracja urządzenia
S1#show startup-config - startowa konfiguracja urządzenia
S1#show dot1x - konfiguracja 802.1x
S1#show dot1x interface fastEthernet X/x details - konfiguracja 802.1x na interfejsie X
S1#show radius server-group all - konfiguracja serwera RADIUS
S1#show dot1x interface fastEthernet X/x statistics - statystyki 802.1x na interfejsie X
S1#copy running-config tftp://NACVIEW_SERV/CONF_FILE.txt - kopiowanie bieżącej konfiguracji na serwer NACVIEW
S1#copy startup-config tftp://NACVIEW_SERV/CONF_FILE.txt - kopiowanie konfiguracji startowej na serwer NACVIEW
S1#copy tftp://NACVIEW_SERV/CONF_FILE.txt running-config - kopiowanie konfiguracji z serwera NACVIEW do bieżącej konfigurcji
S1#copy tftp://NACVIEW_SERV/CONF_FILE.txt startup-config - kopiowanie konfiguracji z serwera NACVIEW do startowe