Labb 29: ARP inspection

Nätverkssäkerhet är en kritisk del av nätverkshantering. DHCP (Dynamic Host Configuration Protocol) är en metod för att dynamiskt tilldela IP-adresser till klienter. En attack mot DHCP system kan ske när en rogue DHCP-server försöker ge ut felaktiga IP-adresser till nätverksklienter, vilket leder till att klienterna får fel nätverkskonfiguration eller att nätverksresurser blir otillgängliga.

DHCP Snooping och Dynamic ARP Inspection (DAI) används för att säkra nätverk mot dessa typer av attacker. DHCP Snooping filtrerar DHCP-meddelanden och tillåter endast legitima DHCP-servrar att ge ut adresser, medan DAI skyddar mot ARP-förgiftning genom att verifiera ARP-meddelanden mot DHCP-bindnings databasen.

Topologi

Genomförande

Del 1: Demonstration av en DHCP-attack

  1. Skapa ett sårbart nätverk
  2. Konfigurera DHCP server
    • Konfigurera legitim DHCP server
    • Konfigurera rogue DHCP server
  3. Konfigurera DHCP-klienter
    • Demonstrera attacken

Del 2: Implementering av DHCP Snooping

  1. Tillämpa strukturerad VLAN och DHCP snooping

Del 3: Implementering av ARP inspection

  1. Aktivera ARP Inspection på VLAN
    • Markera betrodda portar för ARP Inspection
  2. Hur fungerar ARP inspection eller DAI?

Konfigurationer

S2 konfiguration

  • Skapa VLAN
  • S2(config)# vlan 99
  • S2(config-vlan)# name NativeVLAN
  • S2(config-vlan)# vlan 100
  • S2(config-vlan)# name SecureVLAN
  • S2(config-vlan)# vlan 200
  • S2(config-vlan)# name ManagementVLAN
  • S2(config-vlan)# vlan 999
  • S2(config-vlan)# name BlackholeVLAN
  • S2(config-vlan)# exit
  • S2(config)# 
  • Tilldela portar till VLAN 999
  • S2(config)# interface range fa0/6-24,g0/1-2
  • S2(config-if-range)# switchport mode access
  • S2(config-if-range)# switchport access vlan 999
  • S2(config-if-range)# shutdown
  • S2(config-if-range)# exit
  • S2(config)# interface fa0/5
  • S2(config-if)# switchport mode trunk
  • S2(config-if)# exit
  • S2(config)#

S1 konfiguration

  • Skapa VLAN
  • S1(config)# vlan 99
  • S1(config-vlan)# name NativeVLAN
  • S1(config-vlan)# vlan 100
  • S1(config-vlan)# name SecureVLAN
  • S1(config-vlan)# vlan 200
  • S1(config-vlan)# name ManagementVLAN
  • S1(config-vlan)# vlan 999
  • S1(config-vlan)# name BlackholeVLAN
  • S1(config-vlan)# exit
  • S1(config)# 
  • Tilldela portar till VLAN 999
  • S1(config)# interface range fa0/6-24,g0/1-2
  • S1(config-if-range)# switchport mode access
  • S1(config-if-range)# switchport access vlan 999
  • S1(config-if-range)# shutdown
  • S1(config-if-range)# exit
  • S1(config)# interface fa0/5
  • S1(config-if)# switchport mode trunk
  • S1(config-if)# exit
  • S1(config)#

Konfigurera Trunk mellan switchar S1 och S2

  • S2(config)# interface fa0/5
  • S2(config)# switchport mode trunk
  • S2(config)# exit
  • S2#

R1 DHCP server konfigurering

  • R1(config)# interface g0/0
  • R1(config-if)# ip address 192.168.100.1 255.255.255.0
  • R1(config-if)# no shutdown
  • R1(config-if)# exit
  • R1(config)# ip dhcp excluded-address 192.168.100.1 192.168.100.100
  • R1(config)# ip dhcp pool SecureLAN
  • R1(dhcp-config)# network 192.168.100.0 255.255.255.0
  • R1(dhcp-config)# default-router 192.168.100.1
  • R1(dhcp-config)# dns-server 8.8.8.8
  • R1(dhcp-config)# domain-name diginto.se
  • R1(dhcp-config)# end
  • R1# copy running-config startup-config

Rogue DHCP server konfigurering

  • IPv4 Address: 192.168.10.10
  • Subnet Mask: 255.255.255.0
  • Default Gateway: 192.168.10.1
  • NDS Server: 192.168.10.10

Pool konfiguration:

DHCP klient konfigurationer

Vissa klienter får korrekta IP-konfigurationer från den legitima DHCP-servern, medan andra klienter får felaktiga IP-konfigurationer från den falska (rogue) DHCP-servern.

 

 

 

 

 

 

Tillämpa strukturerad vlan och dhcp snooping

S2 konfigurering

  • Tilldela VLAN 100 till Fa0/1-4
  • S2(config)# interface range Fa0/1 - 4
  • S2(config-if-range)# switchport mode access
  • S2(config-if-range)# switchport access vlan 100
  • S2(config-if-range)# exit
  • Tilldela VLAN 200 till Fa0/6-7
  • S2(config)# interface range Fa0/6 - 7
  • S2(config-if-range)# switchport mode access
  • S2(config-if-range)# switchport access vlan 200
  • S2(config-if-range)# exit
  • Aktivera DHCP Snooping
  • S2(config)# ip dhcp snooping  #gäller hela switchen
  • S2(config)# ip dhcp snooping vlan 100 # gäller enbart vlan 100
  • S2(config)# ip dhcp snooping vlan 200 # gäller enbart vlan 200
  • S2(config)# interface Fa0/5
  • Konfigurera trunk-länk på Fa0/5
  • S2(config-if)# switchport mode trunk
  • S2(config-if)# switchport trunk allowed vlan 99,100,200
  • S2(config-if)# switchport trunk native vlan 99
  • S2(config-if)# ip dhcp snooping trust
  • S2(config-if)# exit
  • S2(config)#

S1 konfigurering

  • Tilldela VLAN 200 till Fa0/2-3
  • S1(config)# interface range Fa0/2 - 3
  • S1(config-if-range)# switchport mode access
  • S1(config-if-range)# switchport access vlan 200
  • S1(config-if-range)# exit
  • S1(config)#
  • Aktivera DHCP Snooping
  • S1(config)# ip dhcp snooping
  • S1(config)# ip dhcp snooping vlan 200
  • S1(config)# exit
  • Konfigurera trunk-länk på Fa0/5
  • S1(config)# interface Fa0/5
  • S1(config-if)# switchport mode trunk
  • S1(config-if)#switchport trunk allowed vlan 99,100,200
  • S1(config-if)#switchport trunk native vlan 99
  • S1(config-if)#ip dhcp snooping trust
  • S1(config-if)#exit
  • S1(config)#
  • Markera Fa0/4 som betrodd port för DHCP Snooping
  • S1(config)# interface fa0/4
  • S1(config-if)# ip dhcp snooping trust
  • S1(config-if)# exit
  • S1(config)#

Sammanfattning

Även om den rogue DHCP-servern för närvarande finns på Fa0/1, bör denna port flyttas till VLAN 999 och stängas ner. Genom att göra detta neutraliseras den falska DHCP-servern och kan inte längre påverka nätverket.
Alla andra oanvända portar har redan flyttats till VLAN 999 och stängts ner, vilket ytterligare säkrar nätverket genom att förhindra obehörig åtkomst.

Aktivera ARP Inspection på VLAN

  • S1(config)# ip arp inspection vlan 100
  • S1(config)# ip arp inspection vlan 200
  • S1(config)# ip arp inspection validate src-mac dst-mac ip
  •  
  • S2(config)# ip arp inspection vlan 100
  • S2(config)# ip arp inspection vlan 200
  • S2(config)# ip arp inspection validate src-mac dst-mac ip

ARP Inspection kontrollerar om ARP-meddelanden, som skickas av enheter i nätverket, är legitima. Den matchar ARP-paketens information (MAC-adresser och IP-adresser) mot DHCP-bindningsdatabasen. Om informationen är korrekt tillåts paketet; om den är felaktig blockeras det.

Markera betrodda portar för ARP Inspection

  • Trunk-länk till S2
  • S1(config)# interface Fa0/5  
  • S1(config-if)# ip arp inspection trust
  • S1(config-if)# exit
  • S1(config)#
  • Trunk-länk till S1
  • S2(config)# interface Fa0/5
  • S2(config-if)# ip arp inspection trust
  • S2(config-if)# exit
  • S2(config)#

 

Hur ARP Inspection fungerar:

  1. Validerar ARP-meddelanden:

    • ARP Inspection kontrollerar om ARP-meddelanden, som skickas av enheter i nätverket, är legitima. Den matchar ARP-paketens information (MAC-adresser och IP-adresser) mot DHCP-bindningsdatabasen. Om informationen är korrekt tillåts paketet; om den är felaktig blockeras det.
  2. Skyddar mot ARP-förgiftning:

    • Den huvudsakliga uppgiften för ARP Inspection är att skydda mot ARP-förgiftningsattacker (även kallade "man-in-the-middle-attacker"). Dessa attacker kan ske när en skadlig enhet förfalskar ARP-meddelanden för att fånga upp eller manipulera trafiken i nätverket.
  3. Stoppar endast skadlig ARP-trafik:

    • ARP Inspection blockerar endast skadliga eller felaktiga ARP-meddelanden. Detta innebär att all annan vanlig nätverkstrafik, som IP- och TCP-baserad kommunikation, inte påverkas av ARP Inspection.
  4. Betrodda och icke-betrodda portar:

    • Betrodda portar (trusted ports), som trunk-länkar och portar med legitima servrar, kommer inte att inspekteras av ARP Inspection, och all trafik kommer att flöda obehindrat.
    • Icke-betrodda portar (untrusted ports), som klientportar, kommer att ha sin ARP-trafik inspekterad för att se till att ingen falsk information sprids.