tcp自從2023年被發明出來之後,歷經30多年發展,目前成為最重要的網際網路基礎協議,但tcp協議中也存在一些缺陷。
syn攻擊就是利用tcp協議的缺陷,來導致系統服務停止正常的響應。
syn攻擊原理
tcp在傳遞資料前需要經過三次握手,syn攻擊的原理就是向伺服器傳送syn資料報,並偽造源ip位址。
伺服器在收到syn資料報時,會將連線加入backlog佇列,並向源ip傳送syn-ack資料報,並等待ack資料報,以完成三次握手建立連線。
由於源ip位址是偽造的不存在主機ip,所以伺服器無法收到ack資料報,並會不斷重發,同時backlog佇列被不斷被攻擊的syn連線佔滿,導致無法處理正常的連線。
syn攻擊處理
針對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攻擊。
記錄,為更好的自己!
Linux安全之SYN攻擊原理及處理
tcp自從1974年被發明出來之後,歷經30多年發展,目前成為最重要的網際網路基礎協議,但tcp協議中也存在一些缺陷。syn攻擊就是利用tcp協議的缺陷,來導致系統服務停止正常的響應。syn攻擊原理 tcp在傳遞資料前需要經過三次握手,syn攻擊的原理就是向伺服器傳送syn資料報,並偽造源ip位址。...
Linux安全之SYN攻擊原理及處理
tcp自從1974年被發明出來之後,歷經30多年發展,目前成為最重要的網際網路基礎協議,但tcp協議中也存在一些缺陷。syn攻擊就是利用tcp協議的缺陷,來導致系統服務停止正常的響應。syn攻擊原理 tcp在傳遞資料前需要經過三次握手,syn攻擊的原理就是向伺服器傳送syn資料報,並偽造源ip位址。...
什麼是SYN包 以及SYN攻擊原理
syn是tcp三次握手的第乙個。tcp連線的第乙個包,非常小的一種資料報。syn攻擊包括大量此類的包,由於這些包看上去來自實際不存在的站點,因此無法有效進行處理。當兩台計算機在tcp連線上進行會話時,連線一定會首先被初始化。完成這項任務的包叫作syn。乙個syn包簡單的表明另一台計算機已經做好了會話...