Jeremy’s IT Lab lecture video:

Day 50 - DHCP Snooping


Commands


DHCP Snooping Info

DHCP Snooping General Information

DHCP snooping is a security feature of switches that is used to filter DHCP messages received on untrusted ports. It only filters DHCP messages, anything else is not affected.

  • By default, all ports are untrusted. There’s also a standard to follow while assigning trusted ports.
    • Uplink ports are configured as trusted ports. (The ports pointing towards network devices)
    • Downlink ports are configured as untrusted ports. (The ports pointing towards end hosts)
Uplinks and Downlinks

Example Attacks

1. DHCP Exhaustion/Starvation

An example of a DHCP-based attack is DHCP Exhaustion/Starvation.

  • An attacker uses spoofed MAC addresses to flood DHCP Discover messages with unique CHADDRs (Client Hardware Address, which indicates the MAC address of the client).
  • This leads to the target’s DHCP pool to become full, resulting in a DoS.
DHCP Exhaustion/Starvation Demonstration

2. DHCP Poisoning (Man-in-the-middle)

DHCP Poisoning is similar to ARP Poisoning. It can be used to perform a man-in-the-middle attack.

  • A spurious (malicious) DHCP server replies to clients’ DHCP Discover messages and assigns them IP addresses, but makes the client use the spurious server’s IP as the default gateway.
  • (Clients usually accept the first DHCP Offer message they receive)
  • This will cause the client to send traffic to the attacker instead of the legitimate default gateway of the network.
  • The attacker can then examine/modify the traffic before forwarding it to the legitimate default gateway.
DHCP Poisoning Demonstration

DHCP Message Types

There are two types of DHCP messages, DHCP Server messages and DHCP Client messages.

  1. DHCP Server
    • Offer
    • ACK
    • NAK (Opposite of ACK, used to decline a client’s DHCP Request)
  2. DHCP Client
    • Discover
    • Request
    • Release (Used to release a client’s IP address)
    • Decline (Used to decline the IP address offered by a DHCP server)

DHCP snooping has the ability to differentiate and filter between both of them.


DHCP Snooping - Configurations

  • show ip dhcp snooping binding
    • Shows the DHCP snooping binding table
    • Includes information such as:
      • MAC Address
      • IP Address
      • Lease time
      • Type
      • VLAN
      • Interface
  • ip dhcp snooping
    • Enables the DHCP snooping feature globally to be used on the switch.
  • ip dhcp snooping vlan VLAN-ID
    • Enables DHCP snooping on a specific VLAN.
  • ip dhcp snooping trust
    • Configures the current interface as a trusted DHCP snooping interface.
  • ip dhcp snooping limit rate PACKETS-PER-SECOND ^dhcp-snooping-limit-rate
    • Limits how many DHCP packets are allowed per second.
  • no ip dhcp snooping information option
  • errdisable recovery cause dhcp-rate-limit
    • Enables err-disable recovery for DHCP snooping rate limits.

DHCP Snooping - Operations

  • When a client successfully leases an IP address from the DHCP server, create a new entry in the DHCP snooping binding table.
  • If a DHCP message is received on a trusted port, forward it as normal without inspection.
  • If a DHCP message is received on an untrusted port, examine it and act as follows:
    1. If it’s a DHCP Server message:
      • Discard the message.
    2. If it’s a DHCP Client message, perform the following checks:
      • Discover/Request:
        • Check if the frame’s source MAC address and DHCP message CHADDR fields match or not.
        • Match = Forward
        • Mismatch = Discard
      • Release/Decline:
        • Check if the packet’s source IP address and the receiving interface match the entry in the DHCP snooping binding table.
        • Match = Forward
        • Mismatch = Discard

DHCP Snooping - Rate-Limiting

  • Limits how many DHCP packets are allowed per second.
  • DHCP Rate-limiting is disabled on all interfaces by default.
  • If the rate of DHCP messages goes over the configured limit, the interface goes into err-disabled mode.
  • Can be re-enabled with shutdown no shutdown, or through ErrDisable Recovery (errdisable recovery cause dhcp-rate-limit).

DHCP Snooping - Option 82 (Information Option)

  • Option 82, also known as the ‘DHCP relay agent information option’ is one of many DHCP options. It is usually used when there’s a remote DHCP server.
  • DHCP relay agents can add Option 82 to messages they forward to the remote DHCP server.
  • It provides additional information about which DHCP relay agent received the client’s message, on which interface, in which VLAN, and etc.
  • It can be disabled with no ip dhcp snooping information option

  • When DHCP snooping is enabled, by default Cisco switches will add Option 82 to DHCP messages they receive from clients, ==even if the switch isn’t acting as a DHCP relay agent==.
  • By default, Cisco switches will drop DHCP messages with Option 82 that are received on an untrusted interface.
  • Also by default, Cisco routers will drop DHCP messages with Option 82 that haven’t been sent by a DHCP relay agent.
DHCP snooping on a Cisco switch blocking an Option 82 message.
Cisco router blocking an Option 82 message that didn’t arrive from a DHCP relay agent.

Jeremy’s IT Lab előadásvideó:

50. Nap - DHCP Snooping


Parancsok


DHCP Snooping Információk

DHCP Snooping Általános Tudnivalók

A DHCP snooping a switchek olyan biztonsági funkciója, amely kiszűri és ellenőrzi a nem megbízható (untrusted) portokon érkező DHCP üzeneteket. Kizárólag a DHCP forgalmat szűri, minden más hálózati forgalomra nincs hatással.

  • Alapértelmezés szerint minden port untrusted (nem megbízható). A megbízható (trusted) portok kijelölésének szabványos elve:
    • Az Uplink portokat trusted (megbízható) portként konfiguráljuk (azok a portok, amelyek legitim hálózati eszközök, pl. routerek vagy DHCP szerverek felé vezetnek).
    • A Downlink portokat untrusted (nem megbízható) portként hagyjuk (azok a portok, amelyek végfelhasználói gépekhez [end hosts] csatlakoznak).
Uplinkek és Downlinkek

Példák DHCP Támadásokra

1. DHCP Exhaustion / Starvation (Címkészlet kimerítés)

A DHCP-alapú támadások egyik tipikus példája a DHCP Exhaustion/Starvation.

  • A támadó (attacker) hamisított (spoofed) MAC címekkel árasztja el a hálózatot DHCP Discover üzenetek tömegével, amelyekben egyedi CHADDR értékek (Client Hardware Address, ami a kliens MAC címét jelöli) szerepelnek.
  • Ez a célpont DHCP pool-jának teljes beteléséhez vezet, ami DoS állapotot eredményez (a jogosult kliensek már nem kapnak IP címet).
DHCP Exhaustion/Starvation szemléltetése

2. DHCP Poisoning (Man-in-the-middle / Rogue DHCP Server)

A DHCP Poisoning hasonló az ARP Poisoning támadáshoz. Man-in-the-middle (közbeékelődéses) támadás végrehajtására használható.

  • Egy illegális / rosszindulatú (spurious / rogue) DHCP szerver válaszol a kliensek DHCP Discover üzeneteire, IP címet oszt nekik, de default gateway-ként a saját IP címét adja meg.
  • (A kliensek tipikusan az elsőként megérkező DHCP Offer üzenetet fogadják el).
  • Ez arra készteti a klienst, hogy minden külső forgalmat a támadó felé küldjön a legitim default gateway helyett.
  • A támadó ezután lehallgathatja és módosíthatja a forgalmat, mielőtt továbbítaná a valódi átjárónak.
DHCP Poisoning szemléltetése

DHCP Üzenettípusok

Két kategóriába sorolhatók a DHCP üzenetek: DHCP Server és DHCP Client üzenetek.

  1. DHCP Server üzenetek:
    • Offer
    • ACK
    • NAK (Az ACK ellentéte, a kliens DHCP Request elutasítására szolgál)
  2. DHCP Client üzenetek:
    • Discover
    • Request
    • Release (A kiosztott IP cím elengedésére)
    • Decline (A szerver által felajánlott IP cím visszautasítására)

A DHCP snooping képes megkülönböztetni és külön szabályok szerint szűrni mindkét kategóriát.


DHCP Snooping - Konfigurációk

  • show ip dhcp snooping binding
    • Megjeleníti a DHCP snooping binding table (összerendelési tábla) tartalmát:
      • MAC Address (Kliens MAC címe)
      • IP Address (Bérelt IP cím)
      • Lease time (Bérleti idő másodpercben)
      • Type (Tanulás típusa, pl. dhcp-snooping)
      • VLAN (VLAN azonosító)
      • Interface (Csatlakozási port)
  • ip dhcp snooping
    • Globálisan engedélyezi a DHCP snooping funkciót a switchen.
  • ip dhcp snooping vlan VLAN-ID
    • Engedélyezi a DHCP snooping működését egy adott VLAN-on.
  • ip dhcp snooping trust
    • Megbízható (trusted) DHCP snooping interfészként jelöli ki az aktuális portot (ide érkezhetnek DHCP Server üzenetek).
  • ip dhcp snooping limit rate PACKETS-PER-SECOND ^dhcp-snooping-limit-rate
    • Korlátozza az interfészen engedélyezett másodpercenkénti DHCP csomagok számát (Rate Limiting).
  • no ip dhcp snooping information option
  • errdisable recovery cause dhcp-rate-limit
    • Engedélyezi az err-disable állapotból való automatikus helyreállítást a DHCP snooping forgalomkorlát átlépése miatti lekapcsolásokra.

DHCP Snooping - Működési Mechanizmus

  • Amikor egy kliens sikeresen kibérel egy IP címet a DHCP szervertől, a switch létrehoz egy új bejegyzést a DHCP snooping binding table-ben.
  • Ha egy DHCP üzenet egy trusted (megbízható) portra érkezik, a switch ellenőrzés nélkül normálisan továbbítja azt.
  • Ha egy DHCP üzenet egy untrusted (nem megbízható) portra érkezik, a switch megvizsgálja és az alábbiak szerint jár el:
    1. Ha az üzenet egy DHCP Server üzenet (Offer, ACK, NAK):
      • Azonnal eldobja (discard) az üzenetet (megakadályozva az illegális Rogue DHCP szerverek működését).
    2. Ha az üzenet egy DHCP Client üzenet, a következő ellenőrzéseket hajtja végre:
      • Discover / Request esetén:
        • Ellenőrzi, hogy a keret forrás (source) MAC címe megegyezik-e a DHCP üzenet CHADDR mezőjében lévő címmel.
        • Egyezés = Továbbítás (Forward)
        • Eltérés = Eldobás (Discard)
      • Release / Decline esetén:
        • Ellenőrzi, hogy a csomag forrás IP címe és a fogadó interfész pontosan megegyezik-e a DHCP snooping binding table meglévő bejegyzésével.
        • Egyezés = Továbbítás (Forward)
        • Eltérés = Eldobás (Discard)

DHCP Snooping - Forgalomkorlátozás (Rate-Limiting)

  • Korlátozza az egy másodperc alatt megengedett DHCP csomagok számát.
  • A DHCP Rate-limiting alapértelmezés szerint minden interfészen ki van kapcsolva.
  • Ha a beérkező DHCP üzenetek sebessége meghaladja a beállított limitet, az interfész azonnal err-disabled állapotba kerül.
  • Az interfész visszakapcsolható manuálisan a shutdown no shutdown szekvenciával, vagy automatikusan az ErrDisable Recovery (errdisable recovery cause dhcp-rate-limit) segítségével.

DHCP Snooping - Option 82 (Information Option)

  • Az Option 82 (más néven 'DHCP relay agent information option') a számos választható DHCP opció egyike. Általában távoli DHCP szerveres környezetekben használatos.
  • A DHCP relay agent-ek képesek Option 82 információt illeszteni a távoli DHCP szerver felé továbbított üzenetekbe.
  • Kiegészítő adatokat nyújt arról, hogy melyik DHCP relay agent kapta a kliens üzenetét, melyik interfészen, melyik VLAN-ban stb.
  • Kikapcsolható a no ip dhcp snooping information option paranccsal.

  • Amikor a DHCP snooping engedélyezve van, a Cisco switchek alapértelmezés szerint automatikusan hozzáadják az Option 82 mezőt a kliensektől érkező DHCP üzenetekhez, ==még akkor is, ha a switch maga nem működik DHCP relay agent-ként==.
  • Alapértelmezés szerint a Cisco switchek eldobják (drop) a nem megbízható (untrusted) interfészen beérkező olyan DHCP üzeneteket, amelyek már tartalmaznak Option 82 információt.
  • Szintén alapértelmezés szerint a Cisco routerek eldobják az Option 82-t tartalmazó DHCP üzeneteket, ha azok nem egy hiteles DHCP relay agent-től érkeztek.
Cisco switch DHCP snooping funkciója blokkolja az Option 82 üzenetet.
Cisco router blokkolja az Option 82 üzenetet, mert az nem egy DHCP relay agent-től érkezett.