Gelukkig hoef ik mensen nooit ervan te overtuigen dat Cisco switches technologisch toonaangevend zijn en dat er weinig is wat onze switches niet kunnen. Het bijzondere is wel dat als we dan kijken naar hoeveel van deze (best wel zinnige) functionaliteiten ook geconfigureerd worden, dit eigenlijk nooit veel verder komt dan een basisconfiguratie. Onbekend maakt onbemind en daarom des te meer reden voor mij om eens wat van onze zinnige functies te beschrijven.
DHCP snooping
Bij DHCP snooping configureren we op welke poort op de switch we een DHCP-server verwachten en toestaan. Dit betekent dat het veelal oude voorbeeld van een router aansluiten die IP-adressen uitdeelt, niet meer op gaat.
Het is verstandig om de database waarin alle registraties staan niet op het flash op te slaan (dit kan vollopen in grotere omgevingen. Voor testopstellingen kan dit uiteraard wel). DHCP-snooping moet globaal aangezet worden en vervolgens per VLAN ingesteld worden.
Configuratie
ip dhcp snooping vlan 1
ip dhcp snooping database flash:snoopy.db
ip dhcp snooping
Om een poort in te stellen als toegestane DHCP-server:
ip dhcp snooping trust
Source Guard
Source Guard is een aanvulling op DHCP-snooping. Met Source Guard wordt gecontroleerd of het MAC-adres en het IP-adres van de client overeenkomen in de database. Dit betekent dat wanneer users een statisch IP-adres op hun netwerkadapter configureren, zij niet het netwerk op kunnen.
Source Guard werkt alleen op L2 poorten (access en trunk poorten) en wordt per poort geconfigureerd.
Configuratie:
ip verify source port-security
Uiteraard is het ook mogelijk om een statische entry toe te voegen:
ip source binding 0011.0011.1111 vlan Y X.X.X.X interface GigabitEthernet1/2
Dynamic ARP Inspection
Ook Dynamic ARP Inspection borduurt voort op DHCP-snooping. Met Dynamic ARP inspection valideren we ARP-pakketten in het netwerk door een IP-to-MAC-inspectie te doen in de database. Hiermee kunnen we voorkomen dat iemand een ARP poisoning uitvoert om zo bijvoorbeeld de rol van gateway over te nemen.
ARP, MAC, database? Deden we dat ook al niet met Source Guard? Het verschil zit hem in het feit dat we bij Source Guard kijken of iemand daadwerkelijk het netwerk op mag en bij Dynamic ARP Inspection we de pakketten zelf bekijken.
Configuratie (globaal):
ip arp inspection vlan 1
Om een uplink poort in te stellen als trusted port:
ip arp inspection trust
Port Security
Met Port Security limiteren we het aantal toegestane MAC-adressen op een poort. Hierbij is het zeker niet de bedoeling dat we een MAC-adres proberen te beperken tot één switch poort. En het is ook zeer zeker geen budgetoplossing om identity management te doen (alhoewel ik wel weet dat er bedrijven zijn geweest die dit 10 jaar geleden geprobeerd hebben). Met Port Security beschermen we de switch tegen MAC flooding. Of wel; we willen voorkomen dat onze MAC-tabel vol loopt en dat onze switch verandert in een HUB en vervolgens begint te flood-en op poorten.
Het advies is dus ook om een restrictie van één of twee MAC-adressen er in te zetten, maar bijvoorbeeld op 20 met daarbij een interval van 15 minuten. Dit betekent dat er dus 15 verschillende MAC-adressen op een poort kunnen worden aangesloten in 15 minuten (wat in mijn optiek werkbaar zou moeten zijn in een normale omgeving).
Configuratie:
switchport port-security maximum 20
switchport port-security
switchport port-security aging time 15
switchport port-security violation restrict
switchport port-security aging type inactivity
We kunnen kiezen voor drie mogelijke statussen wanneer er meer MAC-adressen worden aangesloten dan toegestaan, te weten: shutdown, protect en restrict.
Met Shutdown gaat de poort down en blijft deze down tot deze handmatig weer enabled is. Protect en restrict doen hetzelfde: ze laten verkeer van de toegestane MAC-adressen door, maar blokkeren die van de niet toegestane MAC-adressen. Het verschil zit hem in het feit van de notificatie. Bij protect wordt er geen notificatie verstuurd en bij restrict wordt er wel een notificatie gestuurd in de logging. Mijn persoonlijke voorkeur gaat altijd uit naar restrict.
Giveaways
Uiteraard zijn er ook een aantal zaken die niet direct met access security te maken hebben, maar die wel degelijk erg handig (en logisch zijn) om te configureren. Hierbij denk ik aan:
Uitschakelen van http server:
no ip http server
Alleen SSH v2 toestaan:
ip ssh version 2
line vty 5 15
transport input ssh
Configureer logging naar een syslog server:
Logging on
logging X.X.X.X
service timestamps debug datetime localtime show-timezone
Met deze basisfunctionaliteiten gaan we een aanzienlijk stuk verder in onze hardening van het netwerk. Op- of aanmerkingen? Ik hoor ze graag…
Groet,
Bas Bannink