<menu id="guoca"></menu>
<nav id="guoca"></nav><xmp id="guoca">
  • <xmp id="guoca">
  • <nav id="guoca"><code id="guoca"></code></nav>
  • <nav id="guoca"><code id="guoca"></code></nav>

    什么是DHCP Snooping?為什么需要DHCP Snooping?

    VSole2022-07-21 22:10:10

    前言

    DHCP Snooping是DHCP(Dynamic Host Configuration Protocol,動態主機配置協議)的一種安全特性,用于保證DHCP客戶端從合法的DHCP服務器獲取IP地址,并記錄DHCP客戶端IP地址與MAC地址等參數的對應關系。DHCP Snooping可以抵御網絡中針對DHCP的各種攻擊,為用戶提供更安全的網絡環境和更穩定的網絡服務。

    01 為什么需要DHCP Snooping?

    目前DHCP協議(RFC2131)在應用的過程中遇到很多安全方面的問題,網絡中存在一些針對DHCP的攻擊,如DHCP Server仿冒者攻擊、DHCP Server的拒絕服務攻擊、仿冒DHCP報文攻擊等。為了保證網絡通信業務的安全性,引入DHCP Snooping技術。在DHCP Client和DHCP Server之間建立一道防火墻,以抵御網絡中針對DHCP的各種攻擊。

    02 DHCP Snooping應用場景有哪些?

    2.1 防止DHCP Server仿冒者攻擊導致用戶獲取到錯誤的IP地址和網絡參數

    攻擊原理

    由于DHCP Server和DHCP Client之間沒有認證機制,所以如果在網絡上隨意添加一臺DHCP服務器,它就可以為客戶端分配IP地址以及其他網絡參數。如果該DHCP服務器為用戶分配錯誤的IP地址和其他網絡參數,將會對網絡造成非常大的危害。

    如下圖所示,DHCP Discover報文是以廣播形式發送,無論是合法的DHCP Server,還是非法的DHCP Server都可以接收到DHCP Client發送的DHCP Discover報文。

    DHCP Client發送DHCP Discover報文示意圖

    如果此時DHCP Server仿冒者回應給DHCP Client仿冒信息,如錯誤的網關地址、錯誤的DNS(Domain Name System)服務器、錯誤的IP等信息,如圖2所示。DHCP Client將無法獲取正確的IP地址和相關信息,導致合法客戶無法正常訪問網絡或信息安全受到嚴重威脅。

    圖1-3 DHCP Server仿冒者攻擊示意圖

    解決方法

    為了防止DHCP Server仿冒者攻擊,可配置設備接口的“信任(Trusted)/非信任(Untrusted)”工作模式。

    將與合法DHCP服務器直接或間接連接的接口設置為信任接口,其他接口設置為非信任接口。此后,從“非信任(Untrusted)”接口上收到的DHCP回應報文將被直接丟棄,這樣可以有效防止DHCP Server仿冒者的攻擊。如下圖所示。

    圖1-4 Trusted/Untrusted工作模式示意圖

    2.2 防止非DHCP用戶攻擊導致合法用戶無法正常使用網絡

    攻擊原理

    在DHCP網絡中,靜態獲取IP地址的用戶(非DHCP用戶)對網絡可能存在多種攻擊,譬如仿冒DHCP Server、構造虛假DHCP Request報文等。這將為合法DHCP用戶正常使用網絡帶來了一定的安全隱患。

    解決方法

    為了有效的防止非DHCP用戶攻擊,可開啟設備根據DHCP Snooping綁定表生成接口的靜態MAC表項功能。

    之后,設備將根據接口下所有的DHCP用戶對應的DHCP Snooping綁定表項自動執行命令生成這些用戶的靜態MAC表項,并同時關閉接口學習動態MAC表項的能力。此時,只有源MAC與靜態MAC表項匹配的報文才能夠通過該接口,否則報文會被丟棄。因此對于該接口下的非DHCP用戶,只有管理員手動配置了此類用戶的靜態MAC表項其報文才能通過,否則報文將被丟棄。

    動態MAC表項是設備自動學習并生成的,靜態MAC表項則是根據命令配置而成的。MAC表項中包含用戶的MAC、所屬VLAN、連接的接口號等信息,設備可根據MAC表項對報文進行二層轉發。

    2.3 防止DHCP報文泛洪攻擊導致設備無法正常工作

    攻擊原理

    在DHCP網絡環境中,若攻擊者短時間內向設備發送大量的DHCP報文,將會對設備的性能造成巨大的沖擊以致可能會導致設備無法正常工作。

    解決方法

    為了有效的防止DHCP報文泛洪攻擊,在使能設備的DHCP Snooping功能時,可同時使能設備對DHCP報文上送DHCP報文處理單元的速率進行檢測的功能。此后,設備將會檢測DHCP報文的上送速率,并僅允許在規定速率內的報文上送至DHCP報文處理單元,而超過規定速率的報文將會被丟棄。

    2.3 防止仿冒DHCP報文攻擊導致合法用戶無法獲得IP地址或異常下線

    攻擊原理

    已獲取到IP地址的合法用戶通過向服務器發送DHCP Request或DHCP Release報文用以續租或釋放IP地址。如果攻擊者冒充合法用戶不斷向DHCP Server發送DHCP Request報文來續租IP地址,會導致這些到期的IP地址無法正常回收,以致一些合法用戶不能獲得IP地址;而若攻擊者仿冒合法用戶的DHCP Release報文發往DHCP Server,將會導致用戶異常下線。

    解決方法

    為了有效的防止仿冒DHCP報文攻擊,可利用DHCP Snooping綁定表的功能。設備通過將DHCP Request續租報文和DHCP Release報文與綁定表進行匹配操作能夠有效的判別報文是否合法(主要是檢查報文中的VLAN、IP、MAC、接口信息是否匹配動態綁定表),若匹配成功則轉發該報文,匹配不成功則丟棄。

    2.4 防止DHCP Server服務拒絕攻擊導致部分用戶無法上線

    攻擊原理

    如下圖所示,若設備接口if1下存在大量攻擊者惡意申請IP地址,會導致DHCP Server中IP地址快速耗盡而不能為其他合法用戶提供IP地址分配服務。

    另一方面,DHCP Server通常僅根據DHCP Request報文中的CHADDR(Client Hardware Address)字段來確認客戶端的MAC地址。如果某一攻擊者通過不斷改變CHADDR字段向DHCP Server申請IP地址,同樣將會導致DHCP Server上的地址池被耗盡,從而無法為其他正常用戶提供IP地址。

    圖1-5 DHCP Server服務拒絕攻擊示意

    解決方法

    為了抑制大量DHCP用戶惡意申請IP地址,在使能設備的DHCP Snooping功能后,可配置設備或接口允許接入的最大DHCP用戶數,當接入的用戶數達到該值時,則不再允許任何用戶通過此設備或接口成功申請到IP地址。而對通過改變DHCP Request報文中的CHADDR字段方式的攻擊,可使能設備檢測DHCP Request報文幀頭MAC與DHCP數據區中CHADDR字段是否一致功能,此后設備將檢查上送的DHCP Request報文中的幀頭MAC地址是否與CHADDR值相等,相等則轉發,否則丟棄。

    2.5 通過LDRA功能感知用戶位置信息

    LDRA稱為輕量級DHCPv6中繼代理,該中繼代理能夠記錄用戶位置信息并將其發送到DHCPv6 Server,從而使得DHCPv6 Server能夠獲取到用戶詳細的物理位置信息,以實現對用戶客戶端部署諸如地址分配、計費、接入控制等策略。

    如圖1所示,用戶通過DHCPv6方式獲取IPv6地址。在管理員部署該網絡時需要限制接口interface1下的用戶對網絡資源的訪問以提高網絡的安全性。

    LDRA應用組網圖


    在傳統的DHCPv6動態分配IPv6地址過程中,DHCPv6 Server無法獲取到用戶詳細的物理位置信息,以致不能為interface1接口下的用戶部署地址分配、接入控制等策略。

    為解決上述問題,管理員在使能Switch的DHCP Snooping功能之后,可使能其LDRA功能。這樣,Switch既能夠獲取用戶詳細的位置信息并將其發送到DHCPv6 Server。DHCPv6 Server即可根據用戶的詳細位置信息為其部署地址分配策略或其他安全策略。

    LDRA功能僅是記錄了DHCPv6用戶的詳細位置信息并通過RELAY-FORW報文將該信息發送給DHCPv6 Server,對不同的用戶部署諸如地址分配、計費、接入控制等策略,由DHCPv6 Server實現。

    03 DHCP Snooping是如何工作的?

    DHCP Snooping分為DHCPv4 Snooping和DHCPv6 Snooping,兩者實現原理相似,以下以DHCPv4 Snooping為例進行描述。使能了DHCP Snooping的設備將用戶(DHCP客戶端)的DHCP請求報文通過信任接口發送給合法的DHCP服務器。之后設備根據DHCP服務器回應的DHCP ACK報文信息生成DHCP Snooping綁定表。后續設備再從使能了DHCP Snooping的接口接收用戶發來的DHCP報文時,會進行匹配檢查,能夠有效防范非法用戶的攻擊。

    3.1 DHCP Snooping信任功能

    DHCP Snooping的信任功能,能夠保證客戶端從合法的服務器獲取IP(Internet Protocol)地址。

    如下圖所示,網絡中如果存在私自架設的DHCP Server仿冒者,則可能導致DHCP客戶端獲取錯誤的IP地址和網絡配置參數,無法正常通信。DHCP Snooping信任功能可以控制DHCP服務器應答報文的來源,以防止網絡中可能存在的DHCP Server仿冒者為DHCP客戶端分配IP地址及其他配置信息。

    DHCP Snooping信任功能將接口分為信任接口和非信任接口:

    • 信任接口正常接收DHCP服務器響應的DHCP ACK、DHCP NAK和DHCP Offer報文。
    • 非信任接口在接收到DHCP服務器響應的DHCP ACK、DHCP NAK和DHCP Offer報文后,丟棄該報文。

    在二層網絡接入設備使能DHCP Snooping場景中,一般將與合法DHCP服務器直接或間接連接的接口設置為信任接口(如下圖中的if1接口),其他接口設置為非信任接口(如下圖中的if2接口),使DHCP客戶端的DHCP請求報文僅能從信任接口轉發出去,從而保證DHCP客戶端只能從合法的DHCP服務器獲取IP地址,私自架設的DHCP Server仿冒者無法為DHCP客戶端分配IP地址。

    圖1-7 DHCP Snooping信任功能示意圖

    3.2 DHCP Snooping綁定表

    如下圖所示的DHCP場景中,連接在二層接入設備上的PC配置為自動獲取IP地址。PC作為DHCP客戶端通過廣播形式發送DHCP請求報文,使能了DHCP Snooping功能的二層接入設備將其通過信任接口轉發給DHCP服務器。最后DHCP服務器將含有IP地址信息的DHCP ACK報文通過單播的方式發送給PC。

    在這個過程中,二層接入設備收到DHCP ACK報文后,會從該報文中提取關鍵信息(包括PC的MAC地址以及獲取到的IP地址、地址租期),并獲取與PC連接的使能了DHCP Snooping功能的接口信息(包括接口編號及該接口所屬的VLAN),根據這些信息生成DHCP Snooping綁定表。以PC1為例,圖中二層接入設備會從DHCP ACK報文提取到IP地址信息為192.168.1.253,MAC地址信息為MACA。再獲取與PC連接的接口信息為if3,根據這些信息生成一條DHCP Snooping綁定表項。

    圖1-8 DHCP Snooping綁定表功能示意圖

    DHCP Snooping綁定表根據DHCP租期進行老化或根據用戶釋放IP地址時發出的DHCP Release報文自動刪除對應表項。

    由于DHCP Snooping綁定表記錄了DHCP客戶端IP地址與MAC地址等參數的對應關系,故通過對報文與DHCP Snooping綁定表進行匹配檢查,能夠有效防范非法用戶的攻擊。

    為了保證設備在生成DHCP Snooping綁定表時能夠獲取到用戶MAC等參數,DHCP Snooping功能需應用于二層網絡中的接入設備或第一個DHCP Relay上。

    在DHCP中繼使能DHCP Snooping場景中,DHCP Relay設備不需要設置信任接口。因為DHCP Relay收到DHCP請求報文后進行源目的IP、MAC轉換處理,然后以單播形式發送給指定的合法DHCP服務器,所以DHCP Relay收到的DHCP ACK報文都是合法的,生成的DHCP Snooping綁定表也是正確的。

    dhcp用戶接口
    本作品采用《CC 協議》,轉載必須注明作者和本文鏈接
    DHCP Client和DHCP Server之間建立一道防火墻,以抵御網絡中針對DHCP的各種攻擊。DHCP Client將無法獲取正確的IP地址和相關信息,導致合法客戶無法正常訪問網絡或信息安全受到嚴重威脅。將與合法DHCP服務器直接或間接連接的接口設置為信任接口,其他接口設置為非信任接口
    與傳統防火墻不同,Perimeter 81的FWaaS可以立即部署在云端。pfSense的主要優點是持續的支持。OPNsense算是pfSense的分支,是從m0n0wall脫離出來的,始于2015年1月。同時,當m0n0wall在2015年2月關閉時,發明者Manuel Kasper將開發者社區轉給了OPNsense。
    最終ARP請求會被轉發到同一網絡中的所有客戶機上。ARP廣播,是在需要與其他主機通信時發出的。IEEE 802.1Q協議規定,在以太網數據幀的目的MAC地址和源MAC地址字段之后、協議類型字段之前加入4個字節的VLAN標簽,用以標識VLAN信息。表示幀類型,取值為0x8100時表示IEEE 802.1Q的VLAN數據幀。PRI3bitPriority,表示數據幀的802.1p優先級。CFI取值為0表示MAC地址以標準格式進行封裝,為1表示以非標準格式封裝。為了提高處理效率,設備內部處理的數據幀一律都是Tagged幀。
    DHCP于1993年10月成為標準協議,其前身是BOOTP協議。DHCP使網絡管理員能從中心結點監控和分配IP地址。當某臺計算機移到網絡中的其它位置時,能自動收到新的IP地址。
    除ARP和DHCP請求外,在局域網中還有一些協議,會主動發送一些廣播或組播包,如BROWSER、SSDP和LLMNR等。此時通過監聽方式,可以了解到一些活動主機的信息。本文介紹對這些協議數據包進行監聽的方法。
    接口信息 當您需要了解有關您登錄的設備的網絡接口的更多信息時使用接口信息命令。 IP 命令 查看所有 IP 地址: ip a 可以使用-4或-6選項添加過濾器以僅顯示 IPv4 或 IPv6 地址。 ip -4 a ip -6 a 查看網絡信息的另一種方法是使用ifconfig,它比ip命令更容易閱讀,顯示的信息量沒有太大差異,一個顯著的區別是ifconfig顯示一些基本的傳輸/接收統計
    從uart 進入uboot shell某路由器設備拆開后定位到uart接口,將uart引腳通過TTL接入到電腦,路由器上電啟動,觀察啟動日志。從上面設備的部分啟動日志可以看出,uboot shell可以被中斷,路由器上電后快速按任意鍵可進入。為了方便后續逆向工作,最好能進入路由器系統,但目前是console已關閉,且未發現telnet、ssh等服務,只能從uboot shell為切入點進一步分析。
    ISO 制定了一個國際標準 OSI , 其中的 OSI 參考模型常被用于網絡協議的制定。網絡接入層TCP/IP 是以 OSI 參考模型的物理層和數據鏈路層的功能是透明的為前提制定的,并未對這兩層進行定義,所以可以把物理層和數據鏈路層合并稱為網絡接入層。
    DHCP是基于UDP協議工作的服務,該服務工作于UDP的67和68號端口。其中,UDP 67號端口作為DHCP客戶端廣播請求,UDP 68號端口作為DHCP服務器回應廣播請求。我們可以借助Nmap的broadcast-dhcp-discover.nse和dhcp-discover.nse腳本來實施DHCP服務掃描。下面介紹使用這兩個腳本實施DHCP服務掃描的方法。
    VSole
    網絡安全專家
      亚洲 欧美 自拍 唯美 另类