Mitigera DHCP attacker

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:

  1. Aktivera DHCP-snooping genom att använda kommandot ip dhcp snooping i global konfiguration.
  2. På betrodda portar, använd kommandot ip dhcp snooping trust i interfacets konfigurationsläget.
  3. 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.
  4. 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