Linux SYN攻擊原理和應(yīng)對(duì)方法
TCP自從1974年被發(fā)明出來(lái)之后,歷經(jīng)30多年發(fā)展,目前成為最重要的互聯(lián)網(wǎng)基礎(chǔ)協(xié)議,但TCP協(xié)議中也存在一些缺陷。
SYN攻擊就是利用TCP協(xié)議的缺陷,來(lái)導(dǎo)致系統(tǒng)服務(wù)停止正常的響應(yīng)。
SYN攻擊原理:

TCP在傳遞數(shù)據(jù)前需要經(jīng)過(guò)三次握手,SYN攻擊的原理就是向服務(wù)器發(fā)送SYN數(shù)據(jù)包,并偽造源IP地址。
服務(wù)器在收到SYN數(shù)據(jù)包時(shí),會(huì)將連接加入backlog隊(duì)列,并向源IP發(fā)送SYN-ACK數(shù)據(jù)包,并等待ACK數(shù)據(jù)包,以完成三次握手建立連接。
由于源IP地址是偽造的不存在主機(jī)IP,所以服務(wù)器無(wú)法收到ACK數(shù)據(jù)包,并會(huì)不斷重發(fā),同時(shí)backlog隊(duì)列被不斷被攻擊的SYN連接占滿,導(dǎo)致無(wú)法處理正常的連接。
SYN攻擊的應(yīng)對(duì)措施
針對(duì)SYN攻擊的幾個(gè)環(huán)節(jié),提出相應(yīng)的處理方法:
方式1:減少SYN-ACK數(shù)據(jù)包的重發(fā)次數(shù)(默認(rèn)是5次):
sysctl -w net.ipv4.tcp_synack_retries=3
sysctl -w net.ipv4.tcp_syn_retries=3
方式2:使用SYN Cookie技術(shù):
sysctl -w net.ipv4.tcp_syncookies=1
方式3:增加backlog隊(duì)列(默認(rèn)是1024):
sysctl -w net.ipv4.tcp_max_syn_backlog=2048
方式4:限制SYN并發(fā)數(shù):
iptables -A INPUT -p tcp --syn -m limit --limit 1/s -j ACCEPT --limit 1/s
SYN攻擊模擬
可以用之前介紹的hping工具來(lái)模擬SYN攻擊,參見(jiàn)《Linux常用網(wǎng)絡(luò)工具:hping高級(jí)主機(jī)掃描》;
還有一款synkill也可以用來(lái)模擬SYN攻擊。
版權(quán)聲明:本站文章來(lái)源標(biāo)注為YINGSOO的內(nèi)容版權(quán)均為本站所有,歡迎引用、轉(zhuǎn)載,請(qǐng)保持原文完整并注明來(lái)源及原文鏈接。禁止復(fù)制或仿造本網(wǎng)站,禁止在非maisonbaluchon.cn所屬的服務(wù)器上建立鏡像,否則將依法追究法律責(zé)任。本站部分內(nèi)容來(lái)源于網(wǎng)友推薦、互聯(lián)網(wǎng)收集整理而來(lái),僅供學(xué)習(xí)參考,不代表本站立場(chǎng),如有內(nèi)容涉嫌侵權(quán),請(qǐng)聯(lián)系alex-e#qq.com處理。
關(guān)注官方微信