通過調整
tcp引數來
防範ddos
攻擊虛擬主機服務商在運營過程中可能會受到黑客攻擊,常見的攻擊方式有syn
,ddos
等。通過更換
ip,查詢被攻擊的站點可能避開攻擊,但是中斷服務的時間比較長。比較徹底的解決方法是添置硬體防火牆。不過,硬體防火牆**比較昂貴。可以考慮利用
linux
系統本身提供的防火牆功能來防禦。
抵禦syn syn
攻擊是利用
tcp/ip協議3
次握手的原理,傳送大量的建立連線的網路包,但不實際建立連線,最終導致被攻擊伺服器的網路佇列被佔滿,無法被正常使用者訪問。
linux
核心提供了若干
synsysctl -a | grep syn
看到: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
是乙個開關,是否開啟
syn cookie
功能,該功能可以防止部分
syn攻擊。
tcp_synack_retries
和tcp_syn_retries
定義syn
的重試次數。加大
syn佇列長度可以容納更多等待連線的網路連線數,開啟
syn cookie
功能可以阻止部分
syn攻擊,降低重試次數也有一定效果。
調整上述設定的方法是:
增加syn
佇列長度到
2048
:sysctl -w net.ipv4.tcp_max_syn_backlog=2048
開啟syn cookie
功能:sysctl -w net.ipv4.tcp_syncookies=1
降低重試次數:
sysctl -w net.ipv4.tcp_synack_retries=3
sysctl -w net.ipv4.tcp_syn_retries=3
為了系統重啟動時保持上述配置,可將上述命令加入到/etc/rc.d/rc.local
檔案中。
防止同步包洪水(sync flood
) # iptables -a forward -p tcp --syn -m limit --limit 1/s -j accept
也有人寫作
#iptables -a input -p tcp --syn -m limit --limit 1/s -j accept
--limit 1/s
限制syn
併發數每秒
1次,可以根據自己的需要修改
防止各種埠掃瞄
# iptables -a forward -p tcp --tcp-flags syn,ack,fin,rst rst -m limit --limit 1/s -j accept
ping
洪水攻擊(
ping of death
) # iptables -a forward -p icmp --icmp-type echo-request -m limit --limit 1/s -j accept
原文[1]
[2]
EIGRP 4 調整介面度量引數來影響路徑選擇
從eigrp度量引數的討論中可以看出.能夠手動配置的eigrp度量引數只有頻寬和延遲。通過使用bandwidth命令強迫egirp使用或不使用某條特定路徑.看起來是乙個很有吸引力的做法.不過這個問題的回答卻是堅決果斷的兩個寧 不對。下面引用公共 eigrp網際網路草案文件draft中的描述.要對這個...
通過輸入命令列引數來控制程式
今天突然想到類似adb ffmpeg這樣的程式是怎麼實現的,通過命令列輸入不同的引數就可以執行不同的命令。研究了一下,其實實現的邏輯很簡單,以c 控制台程式為例,main函式是這樣的 class program 其中string args便是命令列引數了,簡單驗證一下,新建乙個命令列程式,寫入這樣一...
Linux下對TCP緩衝區引數調整
一 檢視 king ubuntu cat proc sys net ipv4 tcp rmem 4096 87380 6291456第乙個值 4096 給socket接收緩衝區分配的最小值min 第二個值 87380 預設值deafult 預設值,接收緩衝區大小在系統負載不重的情況下可以增長到這個值...