詳解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è)用戶都最大可打開(kāi)409600個(gè)文件句柄(包括連接):
* – nofile 409600
以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
相關(guān)文章
Linux多臺(tái)服務(wù)器之間免密登錄的實(shí)現(xiàn)步驟
在日常的后端開(kāi)發(fā)和運(yùn)維工作中,我們經(jīng)常需要頻繁登錄不同的服務(wù)器進(jìn)行部署、排查問(wèn)題或上傳文件,傳統(tǒng)的基于用戶名和密碼的登錄方式既不安全又不高效,為此,我們可以利用 SSH 公鑰認(rèn)證的方式,實(shí)現(xiàn)無(wú)密碼(免密)登錄遠(yuǎn)程服務(wù)器,下面小編給大家詳細(xì)說(shuō)說(shuō)2025-04-04
Linux server配置安裝Java與Tomcat服務(wù)器教程詳解
這篇文章主要介紹了Linux server配置安裝Java與Tomcat服務(wù)器教程詳解,需要的朋友可以參考下2017-08-08
VScode Remote SSH通過(guò)遠(yuǎn)程編輯與調(diào)試代碼
這篇文章主要介紹了VScode Remote SSH通過(guò)遠(yuǎn)程編輯與調(diào)試代碼,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2020-05-05
Apache下通過(guò)shell腳本提交網(wǎng)站404死鏈的方法
這篇文章主要介紹了Apache下通過(guò)shell腳本提交網(wǎng)站404死鏈,需要的朋友可以參考下2017-09-09
詳解linux 定時(shí)任務(wù) crontabs 安裝及使用方法
這篇文章主要介紹了linux 定時(shí)任務(wù) crontabs 安裝及使用方法,本文給大家介紹的非常詳細(xì),具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2019-07-07
IO多路復(fù)用之epoll全面總結(jié)(必看篇)
下面小編就為大家?guī)?lái)一篇IO多路復(fù)用之epoll全面總結(jié)(必看篇)。小編覺(jué)得挺不錯(cuò)的?,F(xiàn)在就分享給大家。也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧2016-12-12

