發新話題

linux系統怎麼防止DDOS攻擊

linux系統怎麼防止DDOS攻擊

用 squid是利用端口映射的功能,可以將80端口轉換一下,其實一般的DDOS攻擊可以修改/proc/sys/net/ipv4 /tcp_max_syn_backlog裡的參數就行了,默認參數一般都很小,設為8000以上,一般的DDOS攻擊就可以解決了。如果上升到 timeout階段,可以將/proc/sys/net/ipv4/tcp_fin_timeout設小點。

大家都在討論DDOS,個人認為目前沒有真正解決的方法,只是在緩衝和防禦能力上的擴充,跟黑客玩一個心理戰術,看誰堅持到最後,網上也有很多做法,例如syncookies等,就是複雜點。

sysctl-wnet.ipv4.icmp_echo_ignore_all=1

echo1>/proc/sys/net/ipv4/tcp_syncookies

sysctl-wnet.ipv4.tcp_max_syn_backlog="2048"

sysctl-wnet.ipv4.tcp_synack_retries="3"

iptables-AINPUT-ieth0-ptcp--syn-jsyn-flood

#Limit12connectionspersecond(burstto24)

iptables-Asyn-flood-mlimit--limit12/s--limit-burst24-jRETURN

這個地方可以試著該該:

iptbales-AFORWARD-ptcp--syn-mlimit--limit1/s-jACCEPT

虛擬主機服務商在運營過程中可能會受到黑客攻擊,常見的攻擊方式有 SYN,DDOS等。

通過更換IP,查找被攻擊的站點可能避開攻擊,但是中斷服務的時間比較長。比較徹底

的解決方法是添置硬件防火牆。不過,硬件防火牆價格比較昂貴。可以考慮利用Linux

系統本身提供的防火牆功能來防禦。

1.抵禦SYN

SYN攻擊是利用TCP/IP協議3次握手的原理,發送大量的建立連接的網絡包,但不實際

建立連接,最終導致被攻擊服務器的網絡隊列被佔滿,無法被正常用戶訪問。

Linux內核提供了若干SYN相關的配置,用命令:

sysctl-a|grepsyn

看到:

net.ipv4.tcp_max_syn_backlog=1024

net.ipv4.tcp_syncookies=0

net.ipv4.tcp_synack_retries=5

net.ipv4.tcp_syn_retries=5

tcp_max_syn_backlog是SYN隊列的長度,tcp_syncookies是一個開關,是否打開SYNCookie

功能,該功能可以防止部分SYN攻擊。tcp_synack_retries和 tcp_syn_retries定義SYN

的重試次數。

加大SYN隊列長度可以容納更多等待連接的網絡連接數,打開SYNCookie功能可以阻止部分

SYN攻擊,降低重試次數也有一定效果。

調整上述設置的方法是:

增加SYN隊列長度到2048:

sysctl-wnet.ipv4.tcp_max_syn_backlog=2048

打開SYNCOOKIE功能:

sysctl-wnet.ipv4.tcp_syncookies=1

TOP

發新話題

本站所有圖文均屬網友發表,僅代表作者的觀點與本站無關,如有侵權請通知版主會盡快刪除。