
在香港VPS服务器上配置防火墙规则以防御恶意流量和DDoS攻击,需要结合**网络层过滤**、**协议限制**和**自动化防护**策略。以下是具体操作指南:
---
### **一、基础防火墙配置(iptables/nftables)**
#### **1. 清空默认规则并设置默认策略**
```bash
iptables -F # 清空所有规则
iptables -X # 删除自定义链
iptables -P INPUT DROP # 默认拒绝所有入站
iptables -P FORWARD DROP # 禁止转发
iptables -P OUTPUT ACCEPT # 允许所有出站
```
#### **2. 允许必要服务端口**
```bash
# SSH(限制访问IP,防止爆破)
iptables -A INPUT -p tcp --dport 22 -s 你的IP -j ACCEPT
# HTTP/HTTPS(Web服务)
iptables -A INPUT -p tcp --dport 80 -j ACCEPT
iptables -A INPUT -p tcp --dport 443 -j ACCEPT
# ICMP(允许Ping,但限制速率)
iptables -A INPUT -p icmp --icmp-type echo-request -m limit --limit 1/s --limit-burst 5 -j ACCEPT
```
#### **3. 防御常见DDoS攻击**
```bash
# SYN Flood防护
iptables -N SYN_FLOOD
iptables -A INPUT -p tcp --syn -j SYN_FLOOD
iptables -A SYN_FLOOD -m limit --limit 10/s --limit-burst 20 -j RETURN
iptables -A SYN_FLOOD -j DROP
# UDP Flood防护(DNS/QUIC等)
iptables -A INPUT -p udp --dport 53 -m limit --limit 5/s -j ACCEPT
iptables -A INPUT -p udp -j DROP # 丢弃其他UDP流量(按需调整)
# 防止IP欺骗
iptables -A INPUT -s 10.0.0.0/8,172.16.0.0/12,192.168.0.0/16 -j DROP # 丢弃内网IP伪造流量
```
---
### **二、高级防护(结合工具与内核优化)**
#### **1. 启用内核参数抗DDoS**
```bash
# 修改/etc/sysctl.conf
net.ipv4.tcp_syncookies = 1
net.ipv4.tcp_max_syn_backlog = 4096
net.ipv4.netfilter.ip_conntrack_max = 655360
net.ipv4.tcp_rfc1337 = 1 # 防止TIME-WAIT攻击
sysctl -p # 立即生效
```
#### **2. Fail2Ban自动封禁恶意IP**
```bash
# 安装Fail2Ban
apt-get install fail2ban # Debian/Ubuntu
yum install fail2ban # CentOS
# 配置SSH防护(/etc/fail2ban/jail.local)
[sshd]
enabled = true
maxretry = 3
bantime = 1h
```
#### **3. 使用Cloudflare Proxy(推荐)**
- 将域名DNS解析托管至Cloudflare,启用:
- **Under Attack Mode**(遭遇攻击时开启)
- **WAF规则**:拦截已知恶意User-Agent/IP
- **Rate Limiting**:限制请求频率
---
### **三、香港VPS特殊注意事项**
1. **BGP路由优化**
- 选择支持Anycast的VPS服务器香港机房(如阿里云香港、AWS香港区域),自动分散DDoS流量。
2. **合规性限制**
- 香港法律允许主动防御,但需避免误封合法IP(如中国大陆用户)。
3. **云平台集成防护**
- 阿里云:启用「安骑士」和「DDoS高防IP」
- AWS:部署Shield Advanced + WAF
---
### **四、应急响应流程**
1. **实时监控工具**
```bash
# 监控异常连接
netstat -anp | grep 'SYN_RECV' | awk '{print $5}' | cut -d: -f1 | sort | uniq -c | sort -n
# 流量分析(安装iftop)
iftop -nNP
```
2. **手动封禁IP段**
```bash
iptables -A INPUT -s 攻击IP段 -j DROP
```
3. **切换至清洗中心**
- 联系ISP或云服务商启用流量清洗(如阿里云DDoS防护包)。
---
### **五、规则持久化与测试**
1. 保存iptables规则
```bash
apt-get install iptables-persistent # Debian/Ubuntu
iptables-save > /etc/iptables/rules.v4
```
2. 压力测试验证
```bash
# 使用hping3模拟SYN Flood(测试用)
hping3 -S -p 80 --flood 你的服务器IP
```
---
### **防护方案对比**
| 防护层 | 工具/技术 | 防御目标 |
|---------------|-------------------------|--------------------------|
| **网络层** | iptables/nftables | SYN Flood、IP欺骗 |
| **传输层** | TCP优化参数 | 连接耗尽攻击 |
| **应用层** | Fail2Ban + Cloudflare | CC攻击、暴力破解 |
| **云平台** | AWS Shield/阿里云高防 | 300Gbps以上流量攻击 |
---
**关键建议**:
- 中小型业务优先使用**Cloudflare免费版+iptables基础规则**
- 金融等高危业务需部署**商业DDoS防护+本地WAF**
- 定期更新规则,分析攻击日志(如`/var/log/nginx/access.log`)
- Tags:
- 香港VPS服务器,VPS服务器,香港VPS