詳解Linux系統(tǒng)如何防止TCP洪水攻擊
#最關(guān)鍵參數(shù),默認(rèn)為5,修改為0 表示不要重發(fā) net.ipv4.tcp_synack_retries = 0 #半連接隊(duì)列長(zhǎng)度 net.ipv4.tcp_max_syn_backlog = 200000 #系統(tǒng)允許的文件句柄的最大數(shù)目,因?yàn)檫B接需要占用文件句柄 fs.file-max = 819200 #用來(lái)應(yīng)對(duì)突發(fā)的大并發(fā)connect 請(qǐng)求 net.core.somaxconn = 65536 #最大的TCP 數(shù)據(jù)接收緩沖(字節(jié)) net.core.rmem_max = 1024123000 #最大的TCP 數(shù)據(jù)發(fā)送緩沖(字節(jié)) net.core.wmem_max = 16777216 #網(wǎng)絡(luò)設(shè)備接收數(shù)據(jù)包的速率比內(nèi)核處理這些包的速率快時(shí),允許送到隊(duì)列的數(shù)據(jù)包的最大數(shù)目 net.core.netdev_max_backlog = 165536 #本機(jī)主動(dòng)連接其他機(jī)器時(shí)的端口分配范圍 net.ipv4.ip_local_port_range = 10000 65535 # ……省略其它……
注意,以下參數(shù)面對(duì)外網(wǎng)時(shí),不要打開(kāi)。因?yàn)楦弊饔煤苊黠@,具體原因請(qǐng)google,如果已打開(kāi)請(qǐng)顯式改為0,然后執(zhí)行sysctl -p關(guān)閉。因?yàn)榻?jīng)過(guò)試驗(yàn),大量TIME_WAIT狀態(tài)的連接對(duì)系統(tǒng)沒(méi)太大影響:
#當(dāng)出現(xiàn) 半連接 隊(duì)列溢出時(shí)向?qū)Ψ桨l(fā)送syncookies,調(diào)大 半連接 隊(duì)列后沒(méi)必要 net.ipv4.tcp_syncookies = 0 #TIME_WAIT狀態(tài)的連接重用功能 net.ipv4.tcp_tw_reuse = 0 #時(shí)間戳選項(xiàng),與前面net.ipv4.tcp_tw_reuse參數(shù)配合 net.ipv4.tcp_timestamps = 0 #TIME_WAIT狀態(tài)的連接回收功能 net.ipv4.tcp_tw_recycle = 0 #當(dāng)出現(xiàn) 半連接 隊(duì)列溢出時(shí)向?qū)Ψ桨l(fā)送syncookies,調(diào)大 半連接 隊(duì)列后沒(méi)必要 net.ipv4.tcp_syncookies = 0 #TIME_WAIT狀態(tài)的連接重用功能 net.ipv4.tcp_tw_reuse = 0 #時(shí)間戳選項(xiàng),與前面net.ipv4.tcp_tw_reuse參數(shù)配合 net.ipv4.tcp_timestamps = 0 #TIME_WAIT狀態(tài)的連接回收功能 net.ipv4.tcp_tw_recycle = 0
為了處理大量連接,還需改大另一個(gè)參數(shù):
# vi /etc/security/limits.conf
在底下添加一行表示允許每個(gè)用戶(hù)都最大可打開(kāi)409600個(gè)文件句柄(包括連接):
* – nofile 409600
以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持本站。
版權(quán)聲明:本站文章來(lái)源標(biāo)注為YINGSOO的內(nèi)容版權(quán)均為本站所有,歡迎引用、轉(zhuǎn)載,請(qǐng)保持原文完整并注明來(lái)源及原文鏈接。禁止復(fù)制或仿造本網(wǎng)站,禁止在非www.sddonglingsh.com所屬的服務(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處理。