Windows XP Windows 7 Windows 2003 Windows Vista Windows 綜合教學 Linux 系統教學
Windows 10 Windows 8 Windows 2008 Windows NT Windows Server 電腦軟體教學
您现在的位置: Windows教程網 >> Windows教程 >  >> Linux 系統教學 >> 關於 Linux

Linux 檢測與防禦 DDoS 攻擊:netstat 分析與 sysctl/防火牆調優實戰

編輯:關於 Linux

面對 SYN Flood、CC 等 DDoS 攻擊,Linux 管理員需具備快速檢測連接異常、調整核心網路參數、配置防火牆封鎖的能力。本文提供從 netstat 狀態分析到 sysctl 參數調優、iptables 封鎖策略的完整實戰手冊。

一、利用 netstat 快速檢測異常連接

1. 查看所有 TCP 連接狀態統計

netstat -an | awk '/^tcp/ {++S[$NF]} END {for(a in S) print a, S[a]}'
# 輸出範例:
# SYN_RECV 150
# ESTABLISHED 80
# TIME_WAIT 200

2. 專門統計 SYN_RECV(半連接攻擊特徵)

# 統計 80 埠 SYN_RECV 數量
netstat -n -p -t | grep SYN_RECV | grep :80 | wc -l

# 列出所有 SYN_RECV 來源 IP
netstat -n -p -t | grep SYN_RECV | awk '{print $5}' | cut -d: -f1 | sort | uniq -c | sort -nr

3. 關鍵 TCP 狀態含義

狀態含義異常判斷
SYN_RECV收到 SYN,等待 ACK(半連接)大量不同 IP 為 SYN Flood
TIME_WAIT主動關閉端等待 2MSL過多可能為攻擊或需調優
ESTABLISHED正常傳輸單 IP 連接數異常高為 CC 攻擊
FIN_WAIT1/2關閉握手中-

二、核心參數調優(sysctl)防禦 SYN Flood

編輯 /etc/sysctl.conf 加入:

# 啟用 SYN Cookie(核心 2.6+ 預設開啟)
net.ipv4.tcp_syncookies = 1

# 增加半連接隊列長度(預設 1024,視記憶體調大)
net.ipv4.tcp_max_syn_backlog = 2048

# 減少 SYN+ACK 重試次數(預設 5,攻擊時降為 1-2)
net.ipv4.tcp_synack_retries = 2

# 減少主動發起 SYN 重試次數
net.ipv4.tcp_syn_retries = 2

# 縮短 SYN_RECV 超時時間(預設 60s)
net.ipv4.netfilter.ip_conntrack_tcp_timeout_syn_recv = 30

套用:sysctl -p。未受攻擊時不建議激進修改,可能增加正常連接失敗率。

三、防火牆封鎖策略

1. 封鎖單一攻擊 IP

iptables -I INPUT -s 211.1.0.0 -j DROP

2. 封鎖 IP 段(CIDR)

iptables -I INPUT -s 211.1.0.0/16 -j DROP
iptables -I INPUT -s 61.37.80.0/24 -j DROP

3. 限制單 IP 連接數(需 connlimit 模組)

iptables -A INPUT -p tcp --syn --dport 80 -m connlimit --connlimit-above 50 -j REJECT

4. 規則持久化

# CentOS 6
service iptables save

# CentOS 7 / RHEL 7
iptables-save > /etc/sysconfig/iptables
# 或
service iptables save

四、進階嗅探分析

# 抓取 80 埠前 1000 個封包,統計來源 IP TOP 20
tcpdump -i eth0 -tnn dst port 80 -c 1000 | awk -F"." '{print $1"."$2"."$3"."$4}' | sort | uniq -c | sort -nr | head -20

總結:分層防禦體系

  1. 檢測層: 定時腳本監控 netstat 狀態,異常告警;
  2. 核心層: 平時啟用 tcp_syncookies,攻擊時動態調整 syn_backlog、synack_retries;
  3. 防火牆層: 封鎖惡意 IP/網段,限制連接頻率;
  4. 應用層: Nginx limit_req_zone、limit_conn_zone、WAF 規則;
  5. 流量清洗: 大流量攻擊需引入雲廠商清洗服務(如阿里云 Anti-DDoS、Cloudflare)。

工欲善其事,必先利其器。平時熟練掌握檢測指令,戰時才能從容應對。

Copyright © Windows教程網 All Rights Reserved