# 使用多层防火墙策略示例
sudo iptables -A INPUT -p tcp --dport 80 -m connlimit --connlimit-above 50 -j DROP
sudo iptables -A INPUT -p tcp --dport 443 -m recent --name webflood --set
sudo iptables -A INPUT -p tcp --dport 443 -m recent --name webflood --rcheck --seconds 60 --hitcount 100 -j DROP
# Nginx配置示例 - 基于JWT的细粒度访问控制
location /api/ {
auth_jwt "Restricted API";
auth_jwt_key_file /etc/nginx/jwt_keys/secret.jwk;
# 基于声明(claims)的访问控制
if ($jwt_claim_scope !~* "read:data") {
return 403;
}
proxy_pass http://backend;
}
# Fail2ban自定义过滤器示例 - 检测API滥用
[apiflood]
enabled = true
filter = apiflood
logpath = /var/log/nginx/api_access.log
maxretry = 100
findtime = 60
bantime = 3600
action = iptables-allports[name=APIFlood, port="http,https"]
# 使用HashiCorp Vault动态管理数据库凭证
vault read database/creds/webapp-role
# 定期轮换密钥
vault write -force database/rotate-root/webapp-db
评估阶段 (1-2周)
基础加固 (2-4周)
高级保护 (4-8周)
持续优化 (持续进行)
通过这种多层次的防御策略,可以显著提高Linux服务器上Web接口的安全性,同时保持系统的可用性和性能。