Linux系統如何防止TCP洪水攻擊的方法介紹

本篇文章主要介紹了詳解linux系統如何低于tcp洪水攻擊,小編覺得挺不錯的,現在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧

#最關鍵參數,默認為5,修改為0?表示不要重發  net.ipv4.tcp_synack_retries?=?0  #半連接隊列長度  net.ipv4.tcp_max_syn_backlog?=?200000    #系統允許的文件句柄的最大數目,因為連接需要占用文件句柄  fs.file-max?=?819200  #用來應對突發的大并發connect?請求  net.core.somaxconn?=?65536  #最大的TCP?數據接收緩沖(字節)  net.core.rmem_max?=?1024123000    #最大的TCP?數據發送緩沖(字節)  net.core.wmem_max?=?16777216  #網絡設備接收數據包的速率比內核處理這些包的速率快時,允許送到隊列的數據包的最大數目  net.core.netdev_max_backlog?=?165536  #本機主動連接其他機器時的端口分配范圍  net.ipv4.ip_local_port_range?=?10000?65535    #?……省略其它……

注意,以下參數面對外網時,不要打開。因為副作用很明顯,具體原因請google,如果已打開請顯式改為0,然后執行sysctl -p關閉。因為經過試驗,大量linux_WAITlinux的連接對系統沒太大影響:

#當出現?半連接?隊列溢出時向對方發送syncookies,調大?半連接?隊列后沒必要  net.ipv4.tcp_syncookies?=?0  #TIME_WAIT狀態的連接重用功能  net.ipv4.tcp_tw_reuse?=?0  #時間戳選項,與前面net.ipv4.tcp_tw_reuse參數配合  net.ipv4.tcp_timestamps?=?0  #TIME_WAIT狀態的連接回收功能  net.ipv4.tcp_tw_recycle?=?0  #當出現?半連接?隊列溢出時向對方發送syncookies,調大?半連接?隊列后沒必要  net.ipv4.tcp_syncookies?=?0  #TIME_WAIT狀態的連接重用功能  net.ipv4.tcp_tw_reuse?=?0  #時間戳選項,與前面net.ipv4.tcp_tw_reuse參數配合  net.ipv4.tcp_timestamps?=?0  #TIME_WAIT狀態的連接回收功能  net.ipv4.tcp_tw_recycle?=?0

為了處理大量連接,還需改大另一個參數:

#?vi?/etc/security/limits.conf

在底下添加一行表示允許每個用戶都最大可打開409600個文件句柄(包括連接):

*????????–????nofile?????409600

? 版權聲明
THE END
喜歡就支持一下吧
點贊13 分享