Linux系统如何简单有效防护攻击?
在面对恶意的DDoS(分布式拒绝服务)攻击时,如何简单有效防护Linux服务器攻击?以下是一些简单而有效的方法。1. iptables规则优化
iptables是Linux内核防火墙的核心工具,可通过精细化规则过滤恶意流量:
限制SYN洪水攻击:
iptables -A INPUT -p tcp --syn -m limit --limit 1/s --limit-burst 3 -j ACCEPTiptables -A INPUT -p tcp --syn -j DROP
此规则限制每秒仅允许1个SYN连接,突发不超过3个,超出则丢弃。
限制并发连接数:
iptables -A INPUT -p tcp --dport 80 -m connlimit --connlimit-above 50 -j REJECT
防止单个IP占用过多资源。
过滤无效包与黑名单:
iptables -A INPUT -m state --state INVALID -j DROPiptables -A INPUT -m set --match-set Attackers src -j DROP
优化建议:
合并同类规则,优先放行已建立连接(ESTABLISHED,RELATED)以减少匹配开销。
考虑升级到nftables,其性能比iptables提升约50%,支持集合批量匹配。
2. Fail2ban动态封禁
Fail2ban通过日志分析自动封禁攻击IP,适合应对CC攻击和暴力破解:
安装与配置:
sudo apt install fail2bansudo nano /etc/fail2ban/jail.local
示例规则:
enabled = trueport = http,httpsfilter = nginx-bansnifferlogpath = /var/log/nginx/access.logmaxretry = 100
注意事项:
避免误封正常IP,可通过ignoreip排除可信IP段。
结合Nginx静态资源日志排除,减少误判。
3. 内核参数调优
通过调整TCP协议栈参数增强抗攻击能力:
echo 1 > /proc/sys/net/ipv4/tcp_syncookiesecho 30 > /proc/sys/net/ipv4/tcp_fin_timeoutsysctl -w net.ipv4.tcp_max_syn_backlog=262144
4. 负载均衡与架构优化
分散流量:使用负载均衡器(如Nginx、HAProxy)将请求分发到多台后端服务器,避免单点过载。
弹性扩展:云环境下结合Auto Scaling自动扩容应对流量激增。
DNS防护:启用DNSSEC并配置多DNS提供商,防止DNS放大攻击。
5. 监控与应急响应
实时监控工具:
Zabbix或Prometheus:监控连接数、带宽异常。
命令检测:
netstat -ntu | awk '{print $5}' | cut -d: -f1 | sort | uniq -c | sort -n
应急方案:
阿里云/腾讯云用户可启用高防IP服务,自动清洗流量。
手动解封IP或临时更换公网IP(需注意次数限制)。
综合应用上述措施可显著提升防护能力:
基础层:iptables规则 + 内核调优。
应用层:Fail2ban封禁 + Nginx/Apache限速。
架构层:负载均衡 + 云高防服务。
运维层:实时监控 + 自动化响应。
对于大流量攻击(如超过1 Tbps),建议结合商业防护方案(如Cloudflare、阿里云高防)。
页:
[1]