LVS 基线检查与安全加固指南(附案例)

张开发
2026/4/17 5:07:18 15 分钟阅读

分享文章

LVS 基线检查与安全加固指南(附案例)
一、LVS 安全基线检查表类别检查项安全要求检查方法主机安全操作系统补丁最新安全补丁yum check-update \| grep kernelSSH 安全加固密钥认证非标准端口netstat -tuln \| grep ssh网络配置VIP 绑定限制绑定特定内网接口ip addr showARP 抑制启用禁用 arp_announce/arp_ignoresysctl -a \| grep arpICMP 响应限制仅允许管理网段iptables -L -n -v服务防护SYNPROXY 启用开启防 SYN Floodipvsadm -ln \| grep SYNPROXY连接超时优化EST 120s/FIN_WAIT 60ssysctl -a \| grep timeout访问控制防火墙白名单仅放行业务 IP 访问 VIPiptables -L -n -v \| grep :80RS 隐藏设计Real Server 不暴露公网 IPip route show审计监控IPVS 连接日志关键业务流量监控journalctl -u ipvs异常流量检测DDoS 防护阈值监控vnstat -l二、LVS 安全加固方案1.操作系统加固# 关闭不必要服务 systemctl stop rpcbind systemctl disable rpcbind ​ # 内核参数优化/etc/sysctl.conf net.ipv4.conf.all.arp_ignore 1 net.ipv4.conf.all.arp_announce 2 net.ipv4.tcp_syncookies 1 net.ipv4.tcp_max_syn_backlog 4096 net.ipv4.tcp_syn_retries 2 ​ # 加载SYNPROXY模块 modprobe nf_conntrack_ipv4 echo nf_conntrack_ipv4 /etc/modules-load.d/lvs.conf2.LVS 部署加固DR 模式# 配置VIP示例VIP192.168.100.100 ip addr add 192.168.100.100/32 dev lo label lo:lvs ​ # 启用IP转发 echo 1 /proc/sys/net/ipv4/ip_forward ​ # 配置IPVS规则TCP 80服务 ipvsadm -A -t 192.168.100.100:80 -s wrr ipvsadm -a -t 192.168.100.100:80 -r 10.1.1.10:80 -g -w 3 # RS1 ipvsadm -a -t 192.168.100.100:80 -r 10.1.1.11:80 -g -w 2 # RS2 ​ # 开启SYNPROXY防护 ipvsadm --set 0 1 1 # 启用conn重用的SYNPROXY3.防火墙策略iptables# 清空默认规则 iptables -F iptables -t nat -F ​ # 限制VIP访问仅允许业务网段 iptables -A INPUT -d 192.168.100.100 -p tcp --dport 80 -s 10.0.0.0/8 -j ACCEPT iptables -A INPUT -d 192.168.100.100 -p tcp --dport 80 -j DROP ​ # ICMP访问控制 iptables -A INPUT -p icmp --icmp-type echo-request -s 10.0.0.0/8 -j ACCEPT iptables -A INPUT -p icmp --icmp-type echo-request -j DROP ​ # 防止MAC欺骗 iptables -A INPUT -m mac ! --mac-source 00:50:56:xx:xx:xx -j DROP ​ # 保存配置 service iptables save4.Real Server 加固后端节点# 隐藏ARP响应/etc/sysctl.conf net.ipv4.conf.lo.arp_ignore 1 net.ipv4.conf.lo.arp_announce 2 net.ipv4.conf.all.arp_ignore 1 net.ipv4.conf.all.arp_announce 2 ​ # 绑定VIP到本地回环 ip addr add 192.168.100.100/32 dev lo三、安全案例DDoS 攻击防护场景描述某电商平台遭受大规模SYN Flood攻击攻击流量峰值80Gbps源IP伪造随机地址源端口均为80LVS未启用SYNPROXYRS服务器连接数耗尽攻击特征攻击包特征示例 源IP201.32.56.78 - 目标VIP:192.168.100.100 Flags [S] # 仅有SYN标记 Window size: 0 # 异常窗口大小 TTL: 255 # 恒定TTL值加固解决方案# 紧急启用SYNPROXY ipvsadm --set 1 1 1 # 开启SYN cookies代理 ​ # 配置防火墙限流 iptables -N SYNFLOOD iptables -A INPUT -p tcp --syn -j SYNFLOOD iptables -A SYNFLOOD -m limit --limit 1000/s --limit-burst 2000 -j RETURN iptables -A SYNFLOOD -j DROP ​ # 启用黑洞路由针对超大规模攻击 ip route add blackhole 192.168.100.100/32 ​ # 后端服务防护在RS节点 sysctl -w net.netfilter.nf_conntrack_tcp_timeout_syn_recv30 sysctl -w net.netfilter.nf_conntrack_max2000000自动化防护脚本#!/bin/bash # LVS DDoS 防护脚本 ​ threshold10000 # 每秒SYN包阈值 ​ while true; do syn_count$(netstat -nap | grep SYN_RECV | wc -l) if [ $syn_count -gt $threshold ]; then echo $(date) SYN攻击检测: $syn_count连接 /var/log/lvs_attack.log # 1级防护启用SYNPROXY ipvsadm --set 1 1 1 # 2级防护启动限流规则 iptables -F SYNFLOOD iptables -A SYNFLOOD -m limit --limit 500/s -j RETURN iptables -A SYNFLOOD -j DROP # 短信告警 curl -X POST https://sms-api/alert -d LVS遭受DDoS攻击 fi sleep 5 done四、加固效果验证1. 安全状态检测# 检查ARP抑制 sysctl net.ipv4.conf.all.arp_ignore -- net.ipv4.conf.all.arp_ignore 1 ​ # 验证SYNPROXY ipvsadm -ln | grep Flags -- 显示 SYNPROXY1 ​ # 防火墙规则验证 iptables -L -n -v | grep 192.168.100.100 -- ACCEPT tcp -- 10.0.0.0/8 192.168.100.100 tcp dpt:802. 攻击模拟测试# 启动SYN洪水攻击测试环境 hping3 -S -p 80 --flood --rand-source 192.168.100.100 ​ # 观察防护效果 ipvsadm -ln --connection | grep SYN_RECV -- SYN_RECV连接数稳定在阈值范围内3. 流量监控面板# 实时连接监控 watch -n 1 ipvsadm -ln --sort -c | grep TCP ​ # 流量统计报表 vnstat -l -i eth0 -tr 60 -- 显示入站流量被限制在安全阈值LVS 安全黄金法则纵深防御前端防火墙 - LVS - 后端RS多层防护隐形原则Real Server 不暴露公网VIP限制最小访问范围协议优化SYNPROXYTCP半连接优化抗DDoS物理隔离管理流量与业务流量完全分离自动弹性基于流量阈值自动启用防护规则推荐安全工具hping3压力测试工具vnstat实时流量监控conntrack-tools连接跟踪分析keepalived故障切换管理GrafanaPrometheus可视化监控关键配置说明防火墙层入口UDP/DNS全部丢弃仅放行TCP 80/443LVS层启用SYN Cookies连接数限制RS层启用内核级ARP隐藏关闭ICMP响应监控层基于BGP Anycast实现流量清洗

更多文章