以網路裝置為目標的Internet服務提供商(ISP)可能會受到拒絕服務攻擊。
TCP SYN攻擊:傳送方傳輸無法完成的連線量。這會導致連線隊列被填滿,從而拒絕向合法TCP使用者提供服務。
本文包含潛在TCP SYN攻擊發生的技術說明,以及使用Cisco IOS軟體防禦該攻擊的建議方法。
注意:Cisco IOS 11.3軟體具有主動防止TCP拒絕服務攻擊的功能。此功能在文檔配置TCP攔截(防止拒絕服務攻擊)中介紹。
本文件沒有特定先決條件。
本文件所述內容不限於特定軟體和硬體版本。
本文中的資訊是根據特定實驗室環境內的裝置所建立。文中使用到的所有裝置皆從已清除(預設)的組態來啟動。如果您在即時網路中工作,請確保在使用任何命令之前瞭解其潛在影響。
如需文件慣例的詳細資訊,請參閱思科技術提示慣例。
正常的TCP連線啟動時,目的主機從源主機收到SYN(同步/啟動)資料包,並傳送回SYN ACK(同步確認)。然後,目的主機必須在建立連線之前聽到SYN ACK的ACK(確認)。這稱為「TCP三次握手」。
在等待SYN ACK的ACK時,目標主機上的有限大小連線隊列會跟蹤等待完成的連線。此隊列通常會快速清空,因為ACK預計在SYN ACK後幾毫秒內到達。
TCP SYN攻擊利用這種設計讓攻擊源主機生成帶有隨機源地址的TCP SYN資料包來攻擊受害主機。受攻擊目標主機將SYN ACK傳送回隨機源地址,並在連線隊列中增加一個條目。由於SYN ACK的目的地是不正確或不存在的主機,因此「三次握手」的最後部分永遠不會完成,並且條目將保留在連線隊列中直到計時器超時(通常約一分鐘)。透過快速從隨機IP地址生成虛假的TCP SYN資料包,可以填滿連線隊列並拒絕向合法使用者提供TCP服務(如電子郵件、檔案傳輸或WWW)。
由於源的IP地址是偽造的,因此很難找到攻擊發起者。
此問題的外部表現包括無法取得電子郵件、無法接受與WWW或FTP服務的連線,或主機上的大量TCP連線處於SYN_RCVD狀態。
TCP SYN攻擊的特點是從隨機源IP地址湧入SYN資料包。防火牆後面阻止入站SYN資料包的任何裝置都已受到保護,可以免受此攻擊模式,無需進一步操作。防火牆的示例包括思科專用網際網路交換(PIX)防火牆或配置了訪問清單的思科路由器。有關如何在Cisco路由器上設定訪問清單的示例,請參考文檔增加IP網路的安全性。
從隨機IP地址防止對防火牆後方裝置的SYN攻擊相對簡單,因為您可以使用訪問清單明確限制對選定的一些IP地址的入站訪問。但是,在面向網際網路的公共Web伺服器或郵件伺服器的情況下,無法確定哪些傳入IP源地址是友好地址還是不友好地址。因此,對於來自隨機IP地址的攻擊,沒有明確的防禦措施。主機可使用以下幾種選項:
增加連線隊列的大小(SYN ACK隊列)。
減少等待三次握手的超時時間。
使用廠商軟體修補程式來偵測並規避問題(如果有的話)。
您應該與主機供應商聯絡,看他們是否已建立特定修補程式來解決TCP SYN ACK攻擊。
注意:在伺服器上過濾IP地址是無效的,因為攻擊者可以更改其IP地址,並且該地址可能與合法主機的地址相同,也可能不同。
由於此拒絕服務攻擊的主要機制是生成源自隨機IP地址的流量,因此我們建議過濾發往Internet的流量。基本概念是丟棄源IP地址無效的資料包進入Internet。這不能防止對您的網路發起拒絕服務攻擊,但可以幫助受攻擊方排除您的位置作為攻擊者的源頭。此外,它還會降低網路作為此類攻擊基礎的吸引力。
透過在將網路連線到Internet的路由器上過濾資料包,您可以僅允許具有有效源IP地址的資料包離開網路並進入Internet。
例如,如果您的網路包含網路172.16.0.0,而您的路由器使用serial 0/1介面連線到ISP,則您可以應用訪問清單,如下所示:
access-list 111 permit ip 172.16.0.0 0.0.255.255 any access-list 111 deny ip any any log interface serial 0/1 ip access-group 111 out
注意:訪問清單的最後一行確定是否有任何包含無效源地址的流量進入網際網路。使用這條線路並不重要,但有助於確定可能的攻擊來源。
對於向終端網路提供服務的ISP,我們強烈建議驗證來自您客戶端的傳入資料包。這可以透過在邊界路由器上使用入站資料包過濾器來實現。
例如,如果客戶端透過名為「serial 1/0」的串列介面將以下網路號連線到路由器,則可以建立以下訪問清單:
The network numbers are 192.168.0.0 to 192.168.15.0, and 172.18.0.0. access-list 111 permit ip 192.168.0.0 0.0.15.255 any access-list 111 permit ip 172.18.0.0 0.0.255.255 any access-list 111 deny ip any any log interface serial 1/0 ip access-group 111 in
注意:訪問清單的最後一行確定是否有任何包含無效源地址的流量進入網際網路。使用這條線路並不重要,但有助於確定可能的攻擊來源。
本主題已在NANOG [北美網路業者1組]郵寄清單中進行了詳細討論。檔案清單位於:http://www.merit.edu/mail.archives/nanog/index.html
有關TCP SYN拒絕服務攻擊和IP欺騙的詳細說明,請參閱:http://www.cert.org/advisories/CA-1996-21.html
http://www.cert.org/advisories/CA-1995-01.html