Labb 29: ARP inspection

Labb 28: DHCP Snooping          Labb 30: STP mitigering


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 poisoning (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
    • Eftersom DHCP Snooping inte är aktiverat i denna första del, kan en rogue DHCP-server konfigureras och enkelt sprida felaktiga IP-adresser till klienter.
    • ARP Inspection, är inte aktiverat, vilket gör nätverket sårbart för ARP poisoning attacker.
    • VLAN används för att segmentera nätverket, men eftersom det inte finns några ytterligare säkerhetskonfigurationer på dessa VLAN kan en rogue DHCP-server enkelt nå och påverka klienter på samma VLAN.
  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
  • Konfigurera trunk-länk på Fa0/5
  • S2(config)# interface 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

I denna konfiguration aktiveras ARP Inspection på VLAN 100 och VLAN 200. Funktionen "ip arp inspection validate src-mac dst-mac ip" lägger till en extra säkerhetskontroll genom att jämföra source- och destinations adresserna (MAC och IP) i varje ARP-meddelande för att säkerställa att de är korrekta. Detta minskar risken för att förfalskade ARP-paket ska få tillträde till nätverket.

Vad som händer:

  • När ARP Inspection är aktiverat på VLAN 100 och VLAN 200 kommer alla ARP-meddelanden att kontrolleras.
  • Om ARP-meddelandet stämmer med uppgifterna i DHCP-bindnings databasen tillåts det. Annars 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)#

För att ARP Inspection ska fungera smidigt på trunk-länkar mellan switcharna måste dessa portar markeras som "trusted". Betrodda portar är undantagna från ARP Inspection, eftersom dessa anses säkra och pålitliga för att vidarebefordra ARP-meddelanden utan att behöva granskas.

  • På switch S1 markeras trunk-porten (Fa0/5) till S2 som "trusted". Detta innebär att ARP Inspection inte tillämpas på denna port, och ARP-meddelanden på denna trunk-länk skickas utan att blockeras.
  • På switch S2 markeras trunk-porten (Fa0/5) till S1 som "trusted", vilket innebär samma sak här – ARP-meddelanden på denna trunk-länk skickas utan ARP Inspection-kontroll.

Sammanfattning:
Med ARP Inspection aktiverat på VLAN 100 och VLAN 200 granskas och verifieras alla ARP-meddelanden i dessa VLAN mot DHCP-bindningsdatabasen, medan trunk-länkarna mellan S1 och S2 är undantagna och markerade som betrodda för att undvika onödiga blockeringar.

Hur ARP Inspection fungerar:

  1. Validerar ARP-meddelanden:

    • ARP Inspection kontrollerar om ARP-meddelanden som skickas i nätverket är äkta. Den jämför informationen i ARP-paketen (MAC- och IP-adresser) med DHCP-bindnings databasen. Paket som matchar tillåts, medan felaktiga paket blockeras.
  2. Skyddar mot ARP-förgiftning:

    • Huvudsyftet med ARP Inspection är att förhindra ARP poisoning attacker, även kallade "man-in-the-middle-attacker". Sådana attacker sker när en angripare skickar förfalskade ARP-meddelanden för att avlyssna eller manipulera nätverkstrafiken.
  3. Stoppar endast skadlig ARP-trafik:

    • ARP Inspection påverkar bara skadliga eller felaktiga ARP-meddelanden. Vanlig nätverkstrafik, som IP- eller TCP-baserad kommunikation, störs inte.
  4. Betrodda och icke-betrodda portar:

    • Betrodda portar (trusted): På trunk-länkar och portar som ansluter till legitima servrar inspekteras inte ARP-trafik, och all kommunikation flödar fritt.
    • Icke-betrodda portar (untrusted): Klientportar inspekteras noggrant för att säkerställa att inga falska ARP-meddelanden sprids i nätverket.

Labb 28: DHCP Snooping          Labb 30: STP mitigering