HCNP Routing&Switching之IP安全

2022-09-03 18:01:46

  前文我們瞭解了DHCP安全相關話題,回顧請參考https://www.cnblogs.com/qiuhom-1874/p/16637627.html;今天我們來聊一聊IP安全相關話題;

  技術背景

  隨著網路規模越來越大,通過偽造源IP地址實施的網路攻擊(IP地址欺騙攻擊)也逐漸增多;所謂源IP地址欺騙攻擊是指攻擊者偽造合法使用者的ip地址獲取網路存取許可權,非法存取網路;甚至造成合法使用者無法正常存取網路,或者資訊洩露;

  提示:如上圖所示,非法主機修改自己的ip地址為合法主機的ip地址和閘道器通訊;如果我們沒有在相關介面或vlan裡開啟源ip地址檢查,那麼對應非法使用者就可以正常上網;簡單講就是非法主機利用合法主機的ip地址資訊,冒充合法主機進行上網;

  IPSG概述

  IPSG是IP Source Guard的縮寫,翻譯成中文就是IP源保護,或者IP源防攻擊;它是基於二層介面的源ip地址過濾技術;主要作用是防止惡意主機偽造合法主機的IP地址來仿冒合法主機;確保非授權主機不能通過自己指定的IP地址的方式來存取網路或攻擊網路;

  IPSG工作原理

  IPSG的工作原理很簡單,就是利用繫結表(該表主要欄位有源IP地址、源MAC地址、所屬VLAN、介面)去匹配檢查二層介面上收到的IP報文,只有匹配繫結表的報文才允許通過,否則對應報文會被丟棄;

  提示:繫結表生成後,IPSG基於繫結表系那個指定的介面或VLAN下發ACL,由ACL來匹配檢查所有IP報文;

  提示:此時如果非法主機再次冒充使用合法主機ip地址,對應報文被交換機收到以後,檢查對應的繫結表資訊,發現對應報文ip地址等資訊和繫結表中的資訊不匹配,就直接丟棄了,所以此時非法主機的報文就不能被轉發,從而阻止了非法主機的冒充和攻擊;

  繫結表分類

  提示:繫結表分靜態和動態兩種型別;靜態繫結表就是管理員手動新增的而形成的條目,主要適用於主機較少的,對應主機使用靜態IP地址的場景中;動態繫結表有3種情況,第一種是利用DHCP snooping生成的繫結表,這種動態繫結表主要用於主機較多,對應主機是從DHCP伺服器獲取的ip地址的場景;第二種動態繫結表示是利用802.1x使用者認證過程中,裝置根據認證使用者資訊生成的繫結表;這種方式主要應用主機較多,主機使用了靜態ip地址,並在網路中部署了1x認證;第三種動態繫結表是IPV6的ND Snooping,(IPV6它沒有廣播,它可以使用NS來自動獲取ip地址,當然也可以使用ipv6的dhcp來獲取地址)該表是通過偵聽使用者用於重複地址檢測到NS報文建立;主要應用場景是針對IPV6主機,且主機較多的場景;

  IPSG介面角色

  提示:IPSG的介面角色、作用和DHCP Snooping介面角色、作用一樣,分信任介面和非信任介面;設定信任介面,對應介面收到的ip報文就不會再檢查;和DHCP Snooping一樣只對非信任介面進行檢查,僅支援在二層物理即可或者VLAN上應用;

  IPSG應用場景

  1、在接入使用者側的介面上使用IPSG

  提示:在某個介面上使用IPSG,作用範圍只是單個介面;

  2、在接入使用者側的VLAN上使用IPSG

  提示:在對應vlan上設定IPSG,作用範圍是對應VLAN下所有介面;

  3、在某個網段的上聯介面上使用IPSG

  提示:在上聯的介面上使用IPSG,作用存取是通過對上聯口的所有IP流量;通常這種場景使用信任介面來避免檢查;一般IPSG或DHCP Snooping越靠近使用者接入層設定,就越精準;效果就越理想;

  IPSG設定

  如上拓撲設定IPSG

  dhcp-server的設定

sys
sys dhcp-server
dhcp en
int vlan 1
ip add 192.168.100.254 24
dhcp sel int
View Code

  在sw1上設定dhcp snooping 生成繫結表

sys
sys sw1
dhcp en
dhcp sn en
vlan 1
dhcp sn en
int g0/0/3
dhcp sn tr
View Code

  pc1和pc2拿ip地址,看看對應sw1是否正常生成繫結表?

  提示:可以看到pc1和pc2設定為dhcp以後,對應交換機上的使用者繫結表就生成了;

  驗證:將pc1關機,看看對應交換機上的繫結表條目是否會隨之被刪除?

  提示:可以看到pc1關機,對應繫結表中的條目並沒有被刪除,這是因為主機關機沒有傳送release訊息,所以對應條目也不會被交換機刪除;

  將pc2的ip地址修改成靜態192.168.100.200,看看對應使用者繫結表中對應條目是否會被刪除?

  提示:可以看到pc2將ip地址修改為靜態192.168.100.200以後,對應交換機上的使用者繫結表中的條目就被刪除了;我們通過抓包可以看到,pc2修改為靜態ip地址以後,對應傳送了一條dhcp release的包,對應交換機收到release的包,就會將對應地址給釋放掉,當然釋放ip地址,隨之使用者繫結表中的條目也會被隨之刪除;

  現在pc2pingdhcp-server看看是否會通?

  提示:這裡能通是模擬器bug,正常情況下,我們在交換機上開啟了dhcp snooping以後,對應交換機使用者繫結表中沒有對應pc條目資訊,對應pc發包會被交換機丟棄的;像這種接入交換機開啟了dhcp snooping,對應終端不支援dhcp的情況下,我們要想讓終端能夠正常和伺服器通訊,我們就必須在交換機上新增對應的繫結條目;

  靜態新增pc2的資訊到繫結表

  提示:我們手動新增使用者繫結條目,可以只關聯ip地址,或者mac地址;也可以同時關聯ip地址和mac地址以及介面和vlan;這種靜態新增繫結表條目,一般用於終端不希望動態獲取ip地址資訊的場景;比如印表機,伺服器等需要固定ip地址;

  在介面g0/0/2下設定 IPSG

  提示:如果在介面模式下開啟ipsg,需要將對應介面的DHCP snooping開啟;如果在vlan模式下開啟ipsg,我們就需要進入對應vlan下,開啟dhcp snooping ;這樣設定以後,對應主機ip地址資訊如果被其他非法使用者冒充,交換機通過檢查使用者繫結表,對應介面下的使用者資訊,就可以將非法使用者的報文直接丟棄;從而實現保護合法主機的目的;

  開啟IPSG告警以及告警閥值的設定

  提示:預設閥值為100,表示被丟棄的報文個數超過100,就傳送告警資訊(前提是開啟了告警,預設關閉);上述命令表示開啟ipsg告警,同時如果丟棄報文超過10個就告警(針對該介面);如果在vlan模式下設定告警閥值,對應生效是整個vlan,如果在vlan和介面模式下都設定了告警閥值,對應生效優先順序是介面模式優先vlan;