DHCP snooping

Bild 3: DHCP snooping

DHCP tjänsten är en av grundstenen i vilket nätverk som helst och därför målet till hacker-attacker. Förenklat kan nämnas två möjliga risker för DHCP:

  • Rogue DHCP-server
  • Överbelastnings attack

Så här kan det gå:

  1. En hacker aktiverar en obehörig DHCP-server anslutet till någon switch på ett visst nätverk.
  2. Datorklienter skickar begär om att få låna en IP-adress och kompletterande IP-konfigurationer. Det görs via broadcast.
  3. Den obehöriga DHCP-server svarar och tilldelar arbiträra IP-adresser och anges vara default gateway.
  4. Datorklienter dirigerar om nätverkstrafiken till den obehöriga DHCP-servern.
  5. Den behöriga DHCP svarar för sent.

Ett sätt att undvika en sådan attack är DHCP snooping. Tekniken styr switchen så att den bygger upp en tabell med associationer mellan klienternas MAC-adresser, IP-adresser, VLAN, och port ID.

Nätverksadministratören kan konfigurera varje port på en switch som betrodd eller icke betrodd port (trusted eller untrusted).

  • En betrodd port vidarebefordrar DHCP begär och DHCP verifiering (Request och Acknowledgements).
  • En icke betrodd port vidarebefordrar endast DHCP begär (request).

Exempel 1: DHCP snooping

Två DHCP servrar, en ena behörig och inte den andra (Rogue DHCP) kommer att dela ut IP-adresser och kompletterande IP-konfigurationer. Detta tills vi aktiverar DHCP snooping, men då stoppar vi nätverkstrafiken eftersom alla portar kommer att klassas som icke betroda därmed ingen DHCP process vidarebefordras. För att nätverkstrafiken ska fungera igen behöver vi aktivera DHCP snooping på VLAN 1 och därefter definiera porten Fa0/2 som betrodd.

Studera en stund nätverkstopologi som visas här nedan:

Bild 4: DHCP server vs DHCP rogue server

Konfigurationer

DHCP server adresserad med 10.1.1.200 /24, Default Gateway: 10.1.1.254, DNS: 10.1.1.200 och följande IP-pool:

DHCP server adresserad med 10.1.100.201 /24, Default Gateway: 10.1.100.254, DNS: 10.1.100.254 och följande IP-pool:

PC1 och PC2 konfigureras som DHCP-klienter via Desktop och IP configuration. Med två DHCP servrar kommer DHCP-klienter att få IP-adresser antingen från den ena eller den andra DHCP-server. Detta visar att det räcker ansluta en dator till en switch och från datorn starta DHCP server funktioner. Hur kan detta förhindras?

  • DHCP snooping konfiguration
  • sw1(config)# ip dhcp snooping
  • sw1(config)# end
  • sw1# show ip dhcp snooping
  • sw1# show ip dhcp snooping binding
  • sw1# show ip dhcp snooping database
  • På PC1 och PC2 exekvera ipconfig /renew klicka på Static och efter några sekunder på DHCP. Det bör inte fungera. 
  • Aktivera DHCP snooping på VLAN 1
  • sw1# configure terminal
  • sw1(config)# ip dhcp snooping vlan 1
  • sw1(config)# end
  • sw1# show vlan brief
  • Testa PC1 och PC2 med kommandot ipconfig /renew eller klicka på Static och efter några sekunder på DHCP
  • Det bör inte heller fungera eftersom alla portar i VLAN 1 anses vara icke betrodda.
  • Konfigurera port Fa0/2 som betrodd. DHCP server är ansluten till denna port
  • sw1# configure terminal
  • sw1(config)# inteface Fa0/2
  • sw1(config-if)# ip dhcp snooping trust
  • sw1(config-if)# ip dhcp snooping limit rate 25
  • sw1(config-if)# end
  • sw1# debug ip dhcp snooping packet
  • Testa igen PC1 och PC2 med kommandot ipconfig /renew och kontrollera meddelande som genereras på switchen.

Exempel 2

Bild 4: DHCP snooping

Konfigurationer

Konfigurera DHCP server som ska distribuera IP-konfigurationer för nätverket 192.168.1.0/24

  • Router(config)# hostname R1
  • R1(config)# inter g0/0
  • R1(config-if)# ip address 192.168.1.1 255.255.255.0
  • R1(config-if)# description Mot sw1
  • R1(config-if)# no shutdown
  • R1(config-if)# exit
  • R1(config)# inter g0/1
  • R1(config-if)# description Mot sw2
  • R1(config-if)# ip address 192.168.2.1 255.255.255.0
  • R1(config-if)# no shutdown
  • R1(config-if)# exit
  • DHCP relay konfiguration
  • R1(config)# inter g0/0
  • R1(config-if)#ip helper-address 192.168.2.100
  • R1(config-if)# end
  •  
  • Switch(config)# hostname sw1 
  • sw1(config)# interface vlan 1 
  • sw1(config-if)# ip address 192.168.1.100 255.255.255.0 
  • sw1(config-if)# no shutdown 
  • sw1(config-if)# exit 
  • sw1(config)# ip default-gateway 192.168.1.1
  • sw1(config)#ip dhcp snooping
  • Aktivera skyddet DHCP snooping för VLAN 1
  • sw1(config)# ip dhcp snooping vlan 1
  • Aktivera tillåtelse för DHCP1
  • sw1(config)# inter g0/1 
  • sw1(config-if)# ip dhcp snooping trust
  • Verifiera vilka får IP-konfigurationen från DHCP server (konfigurera först host som DHCP klient)
  • sw1# sh ip dhcp snooping binding
  • Verifiera vilka inte kan få IP-konfigurationer från DHCP server (en angripare?)
  • sw1# show ip dhcp snooping database

Konfigurera datorer som DHCP-klienter