人妖在线一区,国产日韩欧美一区二区综合在线,国产啪精品视频网站免费,欧美内射深插日本少妇

新聞動態(tài)

Linux服務(wù)器下對SYN洪水攻擊的診斷和阻擋

發(fā)布日期:2021-12-18 17:33 | 文章來源:腳本之家

1.簡介
SYN Flood是當前最流行的DoS(拒絕服務(wù)攻擊)與DDoS(分布式拒絕服務(wù)攻擊)的方式之一,這是一種利用TCP協(xié)議缺陷,發(fā)送大量偽造的TCP連接請求,常用假冒的IP或IP號段發(fā)來海量的請求連接的第一個握手包(SYN包),被攻擊服務(wù)器回應(yīng)第二個握手包(SYN+ACK包),因為對方是假冒IP,對方永遠收不到包且不會回應(yīng)第三個握手包。導(dǎo)致被攻擊服務(wù)器保持大量SYN_RECV狀態(tài)的“半連接”,并且會重試默認5次回應(yīng)第二個握手包,塞滿TCP等待連接隊列,資源耗盡(CPU滿負荷或內(nèi)存不足),讓正常的業(yè)務(wù)請求連接不進來。

詳細的原理,網(wǎng)上有很多介紹,應(yīng)對辦法也很多,但大部分沒什么效果,這里介紹我們是如何診斷和應(yīng)對的。

2. 診斷
我們看到業(yè)務(wù)曲線大跌時,檢查機器和DNS,發(fā)現(xiàn)只是對外的web機響應(yīng)慢、CPU負載高、ssh登陸慢甚至有些機器登陸不上,檢查系統(tǒng)syslog:

復(fù)制代碼
代碼如下:

# tail -f /var/log/messages
Apr 18 11:21:56 web5 kernel: possible SYN flooding on port 80. Sending cookies.

檢查連接數(shù)增多,并且SYN_RECV 連接特別多:

復(fù)制代碼
代碼如下:

# netstat -n | awk '/^tcp/ {++S[$NF]} END {for(a in S) print a, S[a]}'
TIME_WAIT 16855
CLOSE_WAIT 21
SYN_SENT 99
FIN_WAIT1 229
FIN_WAIT2 113
ESTABLISHED 8358
SYN_RECV 48965
CLOSING 3
LAST_ACK 313

根據(jù)經(jīng)驗,正常時檢查連接數(shù)如下:

復(fù)制代碼
代碼如下:

# netstat -n | awk '/^tcp/ {++S[$NF]} END {for(a in S) print a, S[a]}'
TIME_WAIT 42349
CLOSE_WAIT 1
SYN_SENT 4
FIN_WAIT1 298
FIN_WAIT2 33
ESTABLISHED 12775
SYN_RECV 259
CLOSING 6
LAST_ACK 432

以上就是TCP洪水攻擊的兩大特征。執(zhí)行netstat -na>指定文件,保留罪證。

3.優(yōu)化Linux阻擋SYN洪水攻擊
如果在Linux服務(wù)器下遭受SYN洪水攻擊,可以進行如下一些設(shè)置:

復(fù)制代碼
代碼如下:

#縮短SYN- Timeout時間:
iptables -A FORWARD -p tcp –syn -m limit –limit 1/s -j ACCEPT
iptables -A INPUT -i eth0 -m limit –limit 1/sec –limit-burst 5 -j ACCEPT
#每秒 最多3個 syn 封包 進入 表達為 :
iptables -N syn-flood
iptables -A INPUT -p tcp –syn -j syn-flood
iptables -A syn-flood -p tcp –syn -m limit –limit 1/s –limit-burst 3 -j RETURN
iptables -A syn-flood -j REJECT
#設(shè)置syncookies:
sysctl -w net.ipv4.tcp_syncookies=1
sysctl -w net.ipv4.tcp_max_syn_backlog=3072
sysctl -w net.ipv4.tcp_synack_retries=0
sysctl -w net.ipv4.tcp_syn_retries=0
sysctl -w net.ipv4.conf.all.send_redirects=0
sysctl -w net.ipv4.conf.all.accept_redirects=0
sysctl -w net.ipv4.conf.all.forwarding=0
sysctl -w net.ipv4.icmp_echo_ignore_broadcasts=1
#防止PING:
sysctl -w net.ipv4.icmp_echo_ignore_all=1
#攔截具體IP范圍:
iptables -A INPUT -s 10.0.0.0/8 -i eth0 -j Drop

版權(quán)聲明:本站文章來源標注為YINGSOO的內(nèi)容版權(quán)均為本站所有,歡迎引用、轉(zhuǎn)載,請保持原文完整并注明來源及原文鏈接。禁止復(fù)制或仿造本網(wǎng)站,禁止在非www.sddonglingsh.com所屬的服務(wù)器上建立鏡像,否則將依法追究法律責(zé)任。本站部分內(nèi)容來源于網(wǎng)友推薦、互聯(lián)網(wǎng)收集整理而來,僅供學(xué)習(xí)參考,不代表本站立場,如有內(nèi)容涉嫌侵權(quán),請聯(lián)系alex-e#qq.com處理。

相關(guān)文章

實時開通

自選配置、實時開通

免備案

全球線路精選!

全天候客戶服務(wù)

7x24全年不間斷在線

專屬顧問服務(wù)

1對1客戶咨詢顧問

在線
客服

在線客服:7*24小時在線

客服
熱線

400-630-3752
7*24小時客服服務(wù)熱線

關(guān)注
微信

關(guān)注官方微信
頂部