In acest articol voi recompila cateva truciri pentru a asegura un router Cisco.
Inainte de toate, tot ceea ce urmeaza este evidente…sau poate un…
Utilizarea protocoalelor sigure
Conexiunile TELNET,HTTP,FTP,etc. Pot fi interceptate si citite pentru ca totul se transmite in text plan. Alternativele sunt SSH,HTTPS,FTPS, etc.
Activarea SSH y SCP:
Nu toate IOS-urile soporta SSH, SCP sau HTTPS
ip domain-name domeniultau.net ! crypto key generate rsa modulus 2048 ! ip ssh time-out 60 ip ssh authentication-retries 3 ip ssh source-interface Loopback0 ip scp server enable ! line vty 0 4 transport input ssh
Activarea HTTPS:
crypto key generate rsa modulus 2048 ! ip http secure-server
Utilizarea unui syslog centralizat
Putem trimite mesajele de log unei statii de lucru folosing urmatoarea comanda:
logging host <directie-ip>
Utilizarea parolelor bazate pe hash
Comanda secret poate fi o idee buna.
Dezactivarea serviciilor nesigure sau neutilizate
Cateva exemple:
no ip http server no service tcp-small-servers no service udp-small-servers no ip finger no ip bootp server no mop enabled no ip domain-lookup no service pad no service config no cdp run no lldp run global
Dezactivarea TCL
Daca avem un IOS recent, avem si posibilitatea de a lucra cu scripturi TCL. Daca nu stim sa le folosim, ar fi recomandata dezactivarea
no scripting tcl init no scripting tcl encdir
Comenzile nu vor putea fi vazute in running-config, dar e bine sa nu uitam de ele.
Asigurarea terminalelor
Timeout pentru lipsa de activitate
Daca avem activata o consola de administrare, aceasta se poate incide automat dupa o anumita perioada de timp:
line con 0 exec-timeout <minute> [secunde] line vty 0 4 exec-timeout <minute> [secunde]
Dezactivarea portului AUX
line aux 0 transport input none transport output none no exec exec-timeout 0 1 no password
Alta posibilitate e aceea de a-i pune o parola, la fel ca la portul de consola .
Dezactivarea recuperarii parolei
Un este o idee rea in conditiile in care cineva ar putea avea acces la consola si ar putea schimba registrul de configurare si avea acces la NVRAM
Dar, daca ai uitat parola… atunci ai o problema:
no service password-recovery
Configurarea algoritmului Nagle
Ar trebui activat in toate routerele pentru eficienta sesiunilor Telnet:
service nagle
Configurarea keepalives pentru serviciile TCP
service tcp-keepalives-in service tcp-keepalives-out
Folosirea loopbacks pentru management
Fiind vorba de interfete virtuale, au avantajul ca sunt intotdeauna disponibile:
interface Loopback0 description Loopback de management ip address 192.168.254.254 255.255.255.255 ! ip ftp source-interface Loopback0 ip tftp source-interface Loopback0 ip telnet source-interface Loopback0 ip ssh source-interface Loopback0 logging source-interface Loopback0 ntp source Loopback0
Pragurile de memorie
SUnt disponibile incepand cu versiunea 12.3(4)T de IOS.
Ne permite realizarea diferitelor actiuni atunci cand un dispunem de memorie suficienta in router. Exista doua metode pentru realizarea lor:
Notificarea pragurilor de memorie:
Genereaza un log in care avizeaza ca s-a ajuns sub pragul stabilit in configuratie:
memory free low-watermark processor <prag> memory free low-watermark io <prag>
Rezervarea de memorie pentru procesele importante:
memory reserve critical <valor>
Pentru consola:
Disponibil incepand cu versiunea 12.4(15)T de IOS.
memory reserve console <valoare>
Access Lists
O idee despre ce liste de acces ar trebui sa avem configurate in router:
ip access-list extended ACL-UN NUME-IN permit tcp host <peer-bgp> host <directie-locala-bgp> eq 179 permit tcp host <peer-bgp> eq 179 host < directie-locala -bgp> permit tcp host <pc-ul-administratorului> any eq 22 permit udp host <server-de-monitorizare> any eq 161 permit icmp host <retea-de-incredere> any echo ! deny ip any <retea-de-dispozitive-de-infrastructura> <wilcard> ! permit ip any any
Cateva idei mai aparte
Nu sunt foarte cunoscute dar pot fi de mare ajutor in anumite cazuri. In altele insa, pot da probleme.
Filtrarea fragmentelor
In general, datorita particularilatilor fragmentelor, acestea sunt permise in acces-list. Fragmentarea este uneori folosita in cazul incercarilor de a pacali IDS-ul:
ip access-list extended ACL-ALTNUME-IN deny tcp any any fragments deny udp any any fragments deny icmp any any fragments deny ip any any fragments ! permit ip any any
Filtrarea pe baza valorilor de TTL
Se pot filtra pachetele care vin din reteaua proprie sau de la directie apropiata, dar are o valoare de TTL foarte mica. Sau clar, in cazul in care originea este departe:
ip access-list extended ACL-ALTALTNUME-IN deny ip <reteaua-mea> any ttl lt 30
Filtrarea in functie de Optiunea de pachet IP (traducere aproximativa J)
Optiunile IP sunt un real pericol deoarece sunt tratate ca exceptii, si prin urmare procesate. Asta inseamna CPU mai incarcat. Prezenta optiunii intr-un pachet poate insemna si ca se incearca eludarea controlului de securitate sau alterarea caracteristicilor de tranzit:
ip access-list extended ACL-NUME-IN deny ip any any option any-options ! permit ip any any
Daca avem IOS 12.3(4)T, 12.0(22)S, sau de la 12.2(25)S si inainte, putem folosi comanda:
ip options drop
Si astfel toate pachetele care contin optiuni IP sunt aruncate.
Management Plane Protection
Disponibil incepand cu versiunea 12.4(6)T de IOS
Permite ca un administrador sa restranga accesul la o interfata care permite traficul de Management.
Exemplu: se permite https si ssh doar pe GigabitEthernet 0/1:
control-plane host management-interface GigabitEthernet 0/1 allow ssh https
Activarea DHCP snooping
Putem filtra toate pachetele DHCP in vlan-ul ales si definim in switch in ce port putem avea un DHCP :
ip dhcp snooping vlan 1 interface FastEthernet0/1 description DHCP Server ip dhcp snooping trust
Se va actualiza….