CentOS安全之SYN攻擊原理及處理

CentOS安全之SYN攻擊原理及處理

centoscentos 系統安全防護 2015年6月23日html

167 0 0linux

Linux就該這麼學

TCP自從1974年被髮明出來以後,歷經30多年發展,目前成爲最重要的互聯網基礎協議,但TCP協議中也存在一些缺陷。centos

SYN攻擊就是利用TCP協議的缺陷,來致使系統服務中止正常的響應。安全

SYN攻擊原理服務器

 

TCP在傳遞數據前須要通過三次握手,SYN攻擊的原理就是向服務器發送SYN數據包,並僞造源IP地址。cookie

服務器在收到SYN數據包時,會將鏈接加入backlog隊列,並向源IP發送SYN-ACK數據包,並等待ACK數據包,以完成三次握手創建鏈接。網絡

因爲源IP地址是僞造的不存在主機IP,因此服務器沒法收到ACK數據包,並會不斷重發,同時backlog隊列被不斷被攻擊的SYN鏈接佔滿,致使沒法處理正常的鏈接。併發

SYN攻擊處理tcp

針對SYN攻擊的幾個環節,提出相應的處理方法:工具

方式1:減小SYN-ACK數據包的重發次數(默認是5次):

sysctl -w net.ipv4.tcp_synack_retries=3

sysctl -w net.ipv4.tcp_syn_retries=3

 

 

方式2:使用SYN Cookie技術:

sysctl -w net.ipv4.tcp_syncookies=1

 

 

方式3:增長backlog隊列(默認是1024):

sysctl -w net.ipv4.tcp_max_syn_backlog=2048

 

 

方式4:限制SYN併發數:

iptables -A INPUT -p tcp --syn -m limit --limit 1/s -j ACCEPT --limit 1/s

 

 

SYN攻擊模擬

能夠用以前介紹的hping工具來模擬SYN攻擊,參見《Linux經常使用網絡工具:hping高級主機掃描》;

還有一款synkill也能夠用來模擬SYN攻擊。

相關文章
相關標籤/搜索