Målet med en DHCP-utmattning (DHCP starvation) attack är att orsaka en Denial of Service (DoS) för klienter som försöker ansluta till nätverket. Denna typ av attack utförs ofta med hjälp av verktyg som Gobbler, vilket utnyttjar unika source-MAC-adresser för varje DHCP-förfrågan det skickar. Ett effektivt sätt att förebygga dessa attacker är genom att implementera port security, vilket begränsar antalet tillåtna MAC-adresser per port.
När det gäller DHCP spoofing attacker behövs dock starkare skyddsåtgärder. Gobbler kan exempelvis ställas in så att det använder en enhets verkliga MAC-adress som avsändarensadress (source), men inkluderar en annan adress i själva DHCP-data (payload). Detta kan göra port security verkningslöst då den source-MAC-adress som används framstår som giltig.
DHCP spoofing attacker kan mildras genom att använda DHCP snooping på betrodda portar.
DHCP snooping
DHCP snooping baseras inte på source MAC-adresser utan bedömer istället om DHCP-meddelanden kommer från en källa som administrativt har definierats som betrodd (trusted)eller icke betrodd (untrusted). Denna funktion filtrerar och begränsar DHCP-trafik från icke betrodda källor för att skydda nätverket.
Enheter som är under administrativ kontroll, såsom switchar, routrar och servrar, klassificeras som betrodda källor. Enheter som finns utanför brandväggen eller utanför det egna nätverket räknas som icke betrodda källor. Det är vanligt att alla åtkomstportar också betraktas som icke betrodda. Figuren ger ett exempel på hur betrodda och icke betrodda portar identifieras och hanteras.
Observera att en obehörig DHCP-server (rogue server) kommer att vara placerad på en icke betrodd port när DHCP snooping har aktiverats. Alla interface behandlas som icke betrodda som standard. Betrodda interface är typiskt sett trunklänkar och portar som direkt ansluter till en officiell DHCP-server. Dessa interface måste uttryckligen konfigureras som betrodda för att undvika felaktiga klassificeringar.
För att hantera identifikationen av enheter på icke betrodda portar, bygger systemet en DHCP snooping bindningstabell. Denna tabell inkluderar source MAC-adressen och den IP-adress som DHCP-servern tilldelar varje enhet på en icke betrodd port. MAC- och IP-adresserna binds samman i denna tabell för att skapa en pålitlig referens av godkända enheter.
Steg för att implementera DHCP-snooping
Använd följande steg för att aktivera DHCP-snooping:
- Aktivera DHCP-snooping genom att använda kommandot ip dhcp snooping i global konfiguration.
- På betrodda portar, använd kommandot ip dhcp snooping trust i interfacets konfigurationsläget.
- Begränsa antalet DHCP-discovery meddelanden som kan tas emot per sekund på icke betrodda portar genom att använda kommandot ip dhcp snooping limit rate i interfacets konfigurationsläget.
- Aktivera DHCP-snooping för en VLAN, eller för en rad av VLANs, genom att använda kommandot ip dhcp snooping vlan i global konfigurationsläge.
Exempel på DHCP Snooping-konfiguration
Referenstopologin för detta exempel på DHCP-snooping visas i figuren. Observera att F0/5 är en icke betrodd port eftersom den ansluter till en dator. F0/1 är en betrodd port eftersom den ansluter till DHCP-servern.
Här är ett exempel på hur DHCP snooping konfigureras på switchen S1. Först aktiveras DHCP snooping för hela enheten. Sedan markerar man explicit uppströms-interfacet som är kopplat till DHCP-servern som betrott. Därefter, som standardinställning, är FastEthernet-portarna från F0/5 till F0/24 icke betrodda och en begränsning av sex DHCP-förfrågningar per sekund ställs in på dessa portar. Slutligen aktiveras DHCP snooping för specifika VLAN, i detta fall VLAN 5, 10, 50, 51 och 52.
S1(config)# ip dhcp snooping S1(config)# interface f0/1 S1(config-if)# ip dhcp snooping trust S1(config-if)# exit S1(config)# interface range f0/5 - 24 S1(config-if-range)# ip dhcp snooping limit rate 6 S1(config-if-range)# exit S1(config)# ip dhcp snooping vlan 5,10,50-52 S1(config)# end S1#
Använd kommandot show ip dhcp snooping i EXEC-läget för att verifiera DHCP-snooping och använd show ip dhcp snooping binding för att visa de klienter som har mottagit DHCP-information, som visas i exemplet.
Notera: DHCP-snooping krävs även av Dynamic ARP Inspection (DAI).
S1# show ip dhcp snooping Switch DHCP snooping is enabled DHCP snooping is configured on following VLANs: 5,10,50-52 DHCP snooping is operational on following VLANs: none DHCP snooping is configured on the following L3 Interfaces: Insertion of option 82 is enabled circuit-id default format: vlan-mod-port remote-id: 0cd9.96d2.3f80 (MAC) Option 82 on untrusted port is not allowed Verification of hwaddr field is enabled Verification of giaddr field is enabled DHCP snooping trust/rate is configured on the following Interfaces: Interface Trusted Allow option Rate limit (pps) ----------------------- ------- ------------ ---------------------- FastEthernet0/1 yes yes unlimited Custom circuit-ids: FastEthernet0/5 no no 6 Custom circuit-ids: FastEthernet0/6 no no 6 Custom circuit-ids: S1# show ip dhcp snooping binding MacAddress IpAddress Lease(sec) Type VLAN Interface ------------------ --------------- ---------- ------------- ---- -------------------- 00:03:47:B5:9F:AD 192.168.10.11 193185 dhcp-snooping 5 FastEthernet0/5