防火牆入侵與檢測 day01

瞭解OSI模型
理解TCP/IP協議原理
瞭解TCP/IP協議存在的安全隱患
理解針對TCP/IP各層常見攻擊的技術原理

OSI 7層模型

OSI 7層模型: 開放系統互連參考模型

應用層 message 報文 HTTP DNS FTP 應用層協議
表示層 PPDU
會話層 SODU
傳輸層 segment 報文段 端口:16bit
網絡層 package 包/分組 路由器 IP:32bit
數據鏈路層 frame 幀 交換機 MAC 物理地址長度:48bit
物理層 bit 比特 集線器

各層功能:
應用層功能:提供方便的接口和運行程序。(提供應用程序間通信)
表示層功能:加密,處理用戶信息的表示問題,如編碼、數據格式轉換和加密解密。(處理數據格式、數據加密)
會話層功能:向兩個實體的表示層提供建立和使用連接的方法(單工,半雙工,全雙工)。(建立、維護和管理會話)
傳輸層功能:完成端到端差錯檢測和流量控制
網絡層功能:確定數據包從源端到目的端如何選擇路由,即使用邏輯地址進行選址。(尋址和路由選擇)
數據鏈路層:定義了在單個鏈路上如何傳輸數據,傳輸的數據單元稱爲數據幀。(提供介質訪問、鏈路管理等)
物理層功能;爲數據通信提供傳輸設備及互連設備,傳輸的數據單元稱爲比特流。(比特流傳輸)

TCP/IP模型

TCP/IP模型包含以下4個層次:
應用層:直接爲用戶的應用進程提供服務。
運輸層:負責向兩個主機進程之間的通信提供服務。
網際層:負責提供基本的數據封包傳送功能,讓每塊數據包都能到達目的主機。
網絡接口層:接收IP數據包並進行傳輸,從網絡上接收物理幀,抽取IP數據包轉交給下一層,對實際的網絡媒體的管理。

在這裏插入圖片描述

數據鏈路層

以太網幀:目的地址(6字節)、源地址(6字節)、類型(2字節)、數據(46~1500字節)、FCS(4字節)

類型:0x0800,代表IP
類型:0x0806,代表ARP
類型:0x8035,代表RARP

MAC:物理地址 48bit

48位中
單播MAC:xxxxxxx0,
組播MAC:xxxxxxx1,01-00-5E-
廣播MAC:111…,FF-FF-FF-

源地址是單播MAC,目的地址是 (單播、組播、廣播)
在這裏插入圖片描述

ARP

解析過程:
ARP 用於把一個已知的 IP 地址解析成 MAC 地址,以便在 MAC 層通信。爲了確定目標 的 MAC 地址,首先查找 ARP 緩存表。如果要查找的 MAC 地址不在表中,ARP 會發送一個廣 播,從而發現目的地的 MAC 地址,並記錄到 ARP 緩存表中以便下次查找。

ARP協議: 4種典型情況

  • 主機A 發一個IP數據報給 主機B —— 同一網絡
    主機HOST-A先在自己的ARP高速緩存中查看有無主機HOST-B的IP地址對應的MAC地址。
    如果有,就將此MAC地址寫到封裝IP數據報的MAC幀的目的MAC地址字段,發出該MAC幀。
    如果沒有,就先找到主機B的MAC地址。 ARP廣播請求request(包內包含發送端主機IP和MAC和接收端主機IP),主機B在ARP請求分組中見到自己的IP地址,一方面將主機A的IP地址和主機A對應的MAC地址存入自己ARP高速緩存中,另一方面主機B向主機A發送ARP響應response分組,接着主機A收到主機B的IP地址和對應的MAC地址存入其ARP表中。 其他主機看到不是自己的IP地址就會丟棄。

  • 跨網絡 A網段的主機A,發到B網絡的主機B
    發送方是主機A,用ARP找到路由器的硬件地址,剩下工作由這個路由器完成

  • 發送方是路由器,用ARP找到本網絡上的一個路由器的硬件地址,剩下工作由這個路由器完成

  • 發送方是路由器,要把 IP 數據報轉發到本網絡上的一個主機。這時用 ARP 找到目的主機的硬件地址

網絡層

在這裏插入圖片描述

三層設備會丟掉 TTL=0的

1.報文結構

  • 版本,指定IP數據報中使用的IP協議版本,佔4位。IPv4對應值爲4(0100)
  • 首部長度,指示IP數據報頭部的總長度,佔4位。IP數據報頭部的總長度以4字節爲單位(即4字節的整數倍)
  • 區分服務,用於表示數據報的優先級和服務類型,佔8位。包括一個3位長度的優先級,4位長度的標誌位,最高位未用
  • 總長度,標識整個IP數據報的總長度,包括報頭和數據部分,佔16位,由此可知IPv4的最大長度爲65535(64KB)
  • 標識,用於表示IP數據報的標識符,佔16位,每個IP數據報有一個唯一的標識(不是序號)。當數據報分段時,這個標識的值就被複制到所有分段的標識字段中,相同的標識字段值使分段後的數據報分段最後能正確地重組成爲原來的數據報。
  • 標誌,指出該IP數據報後面是否還有分段,爲分段標誌,佔3位,僅最低位有意義
  • 片偏移,指出該分段在數據報中的相對位置。相對於用戶數據字段的起點,該字段從何處開始,佔13位
  • 生存時間,標識IP數據報在網絡中傳輸的有效期,以秒來計數,佔8位。現在通常認爲這個數值是指數據報允許經過的路由器數,當值爲0時,就丟棄這個數據報。設定生存時間是爲了防止數據報在網絡中無限制地循環轉發。
  • 協議,用來標識此IP數據報在傳輸層所採用的協議類型(如TCP、UDP或ICMP等),以便使目的主機的IP層知道應將數據部分上交給哪個處理過程,佔8位
  • 首部校驗和,用來檢驗IP數據報的包頭部分(不含“數據”部分)在傳輸到接收端後是否發生了變化,佔16位。因爲數據報每經過一個路由器,路由器都要重新計算一下報頭校驗和
  • 源地址/目的地址,分別表示該IP數據報發送者和接收者的IP地址,各站32位
  • 選項,用來支持各種選項,提供擴展餘地,後面的填充字段就是爲了保證IP數據報的報頭是32位的整數倍。

2.IPv4數據報的封裝與解封轉

發送端網絡層生成的IP數據報還要繼續向下傳輸,到達數據鏈路層就要封裝成數據幀了。IP數據報的“幀封裝”只需把來自網絡層的整個IP數據報(報頭和數據部分)當做數據鏈路層幀的數據部分,然後在前面加上與數據鏈路層對應的協議頭即可。
這裏補充前篇數據鏈路層中沒有說到的一點:在以太局域網中,由於數據鏈路層分成了LLC子層和MAC子層這兩層,所以來自網絡層的IP數據報在到達數據鏈路層後先要經過LLC子層和MAC子層的協議頭封裝,最終形成數據鏈路層的以太網MAC幀。
在這裏插入圖片描述
數據幀格式參見數據鏈路層
(經過路由器)解封裝則是去掉幀頭和幀尾(如果有幀尾)。
可以得知,IP數據報無論經過了多少個網絡,整個數據報內容都不會變,包括報頭部分的源和目的地址信息。變化的只是在不同網絡數據鏈路上傳輸的幀頭信息。

 

傳輸層

在這裏插入圖片描述
比較重要的字段有:

(1)序號(sequence number):Seq序號,佔32位,用來標識從TCP源端向目的端發送的字節流,發起方發送數據時對此進行標記。

(2)確認號(acknowledgement number):Ack序號,佔32位,只有ACK標誌位爲1時,確認序號字段纔有效,Ack=Seq+1。

(3)標誌位(Flags):共6個,即URG、ACK、PSH、RST、SYN、FIN等。具體含義如下:

URG:緊急指針(urgent pointer)有效。
ACK:確認序號有效。
PSH:接收方應該儘快將這個報文交給應用層。RST:重置連接。
SYN:發起一個新連接。FIN:釋放一個連接。

 

TCP連接

三次握手

在這裏插入圖片描述

首先A的TCP客戶進程向B發出連接請求報文段,這時首部中的同步位SYN=1,同時選擇一個初始序號seq=x,表明傳送數據時的第一個數據字節的序號是 x。 TCP規定,SYN報文段(即SYN=1的報文段)不能攜帶數據,但要消耗掉一個序號。這時,A的客戶進程就進入SYN-SENT(同步已發送)狀態。
  B收到連接請求報文段後,向A發送確認。在確認報文段中把SYN和ACK位都置爲1 ,確認號是ack=x+1,同時也爲自己選擇一個初始序號seq=y。請注意,這個報文段也不能攜帶數據,但同樣要消耗掉一個序號。這時B的TCP服務器進程就進入SYN-RCVD(同步已收到)狀態。
  A的TCP客戶進程收到B的確認後,還要向B給出確認。確認報文段的ACK置爲1 ,確認號ack=y+1,而自己的序號seq=x+1。這時,TCP連接已經建立,A進入ESTABLISHED(已建立連接)狀態,
  當B收到A的確認後,也會進入ESTABLISHED狀態。

 

四次揮手

在這裏插入圖片描述
爲什麼連接的時候是三次握手,關閉的時候卻是四次揮手?
因爲在握手過程中,當Server端收到Client端的SYN連接請求報文後,可以直接發送SYN+ACK報文。其中ACK報文是用來應答的,SYN報文是用來同步的。

四次握手因爲是雙方彼此都建立了連接,因此雙方都要釋放自己的連接,A向B發出一個釋放連接請求,他要釋放鏈接表明不再向B發送數據了,此時B收到了A發送的釋放鏈接請求之後,給A發送一個確認,A不能再向B發送數據了,它處於FIN-WAIT-2的狀態,但是此時B還可以向A進行數據的傳送。此時B向A 發送一個斷開連接的請求,A收到之後給B發送一個確認。此時B關閉連接。A也關閉連接。

 

TCP/IP協議棧-IPV4安全隱患

1、缺乏數據源驗證機制
2、缺乏完整性驗證機制
3、缺乏機密性保障機制

在這裏插入圖片描述

物理層

對於MAC攻擊的防範措施

  • 在交換機上配置靜態條目,將特點的MAC地址始終與特定的端口綁定

在這裏插入圖片描述
1.MAC欺騙
攻擊原理:攻擊者將自己的MAC地址更改位受信任系統的地址(僞裝)
造成影響:仿冒用戶,截取數據幀

防範策略:在交換機上配置靜態條目,將特定的MAC地址始終與特定的端口綁定
在這裏插入圖片描述

2.MAC泛洪
MAC泛洪攻擊利用了:

  • 交換機的MAC學習機制(根據SMAC)
  • MAC表項的數目限制
  • 交換機的轉發機制

MAC泛洪攻擊的預防

  • 配置靜態的MAC轉發表
  • 配置端口的MAC學習數目限制

攻擊原理:因爲交換機的MAC學習機制,MAC表項的數目限制,交換機的轉發機制,攻擊者向交換機發酥大量的二層數據幀,以快速填滿交換機的MAC表,MAC表填滿之後,開始將後續的幀進行泛洪,導致整個網絡系統中的鏈路還有交換機處於擁塞的狀態,直至崩潰

造成影響:(1)試交換機無法正常工作(MAC表滿)(2)網絡中流量增大

防範策略:配置靜態的MAC轉發表,配置端口的MAC學習數目限制

3.ARP欺騙
攻擊原理:攻擊者搶先合法主機發出的ARP請求作出應答,這樣要發送給合法主機的數據就會發送到僞裝主機處

造成影響:截獲數據

防範策略:主機手動配置MAC表
在這裏插入圖片描述

網絡層

1.IP欺騙
攻擊原理:攻擊者使用相同的IP地址可以模仿網絡上的合法主機,來訪問關鍵信息

造成影響:僞裝成某一合法用戶

攻擊步驟:
(1)首先使被信任主機的網絡暫時癱瘓,以免對攻擊造成干擾(攻陷要僞裝的主機)
(2)連接到目標機的某個端口來猜測序列號和增加的規律
(3)接下來把源地址僞裝成被信任的主機,發送帶有SYN標誌的數據段來請求連接
(4)等待目標機發送SYN+ACK包給已經癱瘓的主機
(5)最後再此僞裝成被信任主機向目標發送ACK,此時發送的數據段帶有預測的目標機的序列號+1
(6)連接建立,發送命令請求

2.Smurf攻擊(DDOS攻擊的一種)
攻擊原理:攻擊者發送ICMP請求,請求包的目標地址設置爲受害網絡的廣播地址,這樣該網絡中的所有主機對此ICMP請求作出答覆,導致網絡阻塞,高級的Smurf攻擊,主要使用來攻擊目標主機,方法是將上述ICMP請求包的源地址改爲被迫害的主機,最終導致受害主機雪崩,網絡中的主機越多,攻擊效果越明顯

造成影響:(1)被攻擊網絡內流量增大(2)接受ICMP應答包的主機可能會宕機

防範策略:檢查ICMP請求包的目的地址是否爲子網廣播地址或子網的網絡地址,如果是則直接拒絕

3.ICMP重定向和不可達攻擊
攻擊原理:ICMP重定向報文是ICMP控制報文中的一種,在某些情況下,當路由器檢測到一臺機器上使用非優化路由的時候,他會向該主機發送一個ICMP重定向報文,請求主機改變路由。ICMP協議雖然不是路由協議,但是他可以指導數據包的流向。攻擊者通過向主機發送ICMP重定向數據包,使受害人主機數據包發送不到正確的網關,以達到攻擊目的

造成影響:使用戶的數據不按正常的路徑轉發,造成網絡斷開

防範策略:修改註冊表關閉主機的ICMP重定向報文處理

4.IP地址掃描攻擊
攻擊原理:攻擊者運用ICMP報文探測目標地址,或者使用TCP/UDP報文對一定地址發起連接,通過判斷是否有應答報文,以確定哪些目標系統存活並連接在目標網絡上

造成影響:使攻擊者獲悉存在的網絡主機,對後續進攻作準備

防範策略:設置主機使其不對ping請求作出應答

傳輸層

1.TCP欺騙
描述:利用主機之間某種網絡服務的信任關係建立虛擬的TCP連接,可能模擬受害者從服務器端獲取信息,具體過程類似於IP欺騙攻擊

攻擊原理:
(1)攻擊者先將要僞裝的主機攻克
(2)攻擊者用被攻克的主機的地址作爲源地址給目的主機發送TCP SYN報文
(3)目標主機迴應TCP SYN/ACK報文,攜帶序列碼S
(4)C收不到序列碼,但爲了完成握手必須使用S+1作爲序列碼進行應答,這時C可以通過監聽SYN/ACK報文,根據得到的值進行計算或者根據操作系統的特新進行猜測
(5)攻擊者使用得出的序列碼S迴應給目標主機,握手完成,虛假連接建立

2.TCP拒絕服務攻擊—SYN Flood攻擊
攻擊原理:SYN報文是TCP連接的第一個報文,攻擊者通過大量發送SYN報文,造成大量未完全建立的TCP連接,佔用被攻擊者的資源

解決方法:關閉處於Half Open狀態的連接

3.端口掃描攻擊
攻擊原理:攻擊者通常使用一些軟件,先大範圍的主機的一系列TCP/UDP端口發起連接,根據應答報文判斷主機是否使用這些端口提供服務

防範策略:配置端口掃描攻擊防範參數後,設備對進入的TCP,UDP,ICMP報文進行檢測,並以每個源地址作爲索引,判斷該源地址發送報文的目的端口與前一報文的目的端口是否不同,如果是則異常數加1,當異常頻率到達閾值時,則認爲該源IP地址的報文爲端口掃描攻擊,並將該源ip地址加入黑名單

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章