为什么负载均衡也需要做安全防护
很多人以为,只要把服务器前面加个负载均衡器,系统就稳了。其实不然,负载均衡设备本身也是一道入口,攻击者完全可以从这里下手。比如常见的DDoS攻击、会话劫持、SSL中间人攻击,都可能通过负载均衡节点渗透进来。特别是在电商大促期间,流量猛增的同时恶意请求也跟着暴涨,不设防的负载均衡反而成了系统的软肋。
启用HTTPS和强加密策略
明文传输等于把用户密码、令牌直接晾在网络上。必须在负载均衡层统一开启HTTPS,后端服务可以继续用HTTP内网通信,减轻应用负担。同时别忘了配置强加密套件,禁用老旧的TLS 1.0/1.1。
listen 443 ssl http2;
ssl_certificate /etc/nginx/ssl/example.com.crt;
ssl_certificate_key /etc/nginx/ssl/example.com.key;
ssl_protocols TLSv1.2 TLSv1.3;
ssl_ciphers ECDHE-RSA-AES256-GCM-SHA512:DHE-RSA-AES256-GCM-SHA512;
ssl_prefer_server_ciphers on;限制连接频率和并发连接数
一个IP短时间内发起几千次请求,多半不是正常用户。Nginx这类负载均衡器支持limit_conn和limit_req模块,可以按需设置阈值。比如防止某个IP每秒超过50次请求,超出就返回503。
limit_req_zone $binary_remote_addr zone=api:10m rate=50r/s;
server {
location /api/ {
limit_req zone=api burst=10 nodelay;
proxy_pass http://backend;
}
}隐藏后端真实信息
默认情况下,负载均衡返回的响应头里可能暴露用了什么服务器,比如Server: nginx/1.18。攻击者一看就知道版本,专门找对应漏洞。应该主动清除或伪装这些信息。
在Nginx中加上这两行:
server_tokens off;
more_clear_headers 'Server';定期更新和打补丁
公司内网用的F5或者开源的HAProxy,长期不升级风险很大。去年就有HAProxy的缓冲区溢出漏洞(CVE-2023-29857),没及时更新的企业差点被远程执行代码。建议把负载均衡组件纳入常规运维更新计划,像换季保养汽车一样定期“体检”。
配合WAF形成双保险
光靠负载均衡拦不住SQL注入、XSS这类应用层攻击。可以在前面再加一层Web应用防火墙(WAF),比如Cloudflare、阿里云WAF,或者自建ModSecurity规则。让负载均衡处理流量分发和基础限流,WAF专注内容过滤,分工明确效率更高。
举个例子,某次我们发现大量请求带phpmyadmin路径扫描,WAF自动识别并封禁来源IP,而负载均衡继续平稳分发正常流量,两者配合得挺默契。
监控异常流量行为
配置好syslog或ELK,把访问日志集中分析。重点关注400以上状态码突增、User-Agent异常、URL含敏感字符等情况。比如连续出现/../这样的路径穿越尝试,基本可以判定是自动化工具在探测漏洞。结合Zabbix或Prometheus设置告警,第一时间响应。