1.
简介:高防服务器的架构定位与清洗分层
- 高防服务器通常分为:边缘接入(ISP/骨干)、清洗层(Scrubbing Center)、回源层(用户服务器)。
- 实操要点:确认你的服务是“带清洗(带宽+清洗)”还是“仅服务器”。若是带清洗,先与带宽商确认BGP或GRE回传方案。
2.
第一步:流量监测与证据收集(排查必做)
- 命令:ss -s / ss -antp 查看连接概览;netstat -s 查看协议统计;tcpdump -i eth0 -nn -s0 -c 200 'dst port 80' 保存样本。
- 日志:尾随 /var/log/nginx/access.log 与 /var/log/messages;使用grep、awk统计高频IP与UA(awk '{print $1}' access.log | sort | uniq -c | sort -nr | head)。
3.
第二步:内核与基础防护配置(立马启动)
- 打开SYN Cookie:sysctl -w net.ipv4.tcp_syncookies=1;永久写入 /etc/sysctl.conf。
- 调整连接追踪:sysctl -w net.netfilter.nf_conntrack_max=262144;如遇短时爆发增加该值并调整 /proc/sys/net/netfilter/nf_conntrack_buckets。
4.
第三步:利用ipset + iptables实现高效黑名单
- 创建黑名单集合:ipset create blacklist hash:ip timeout 86400;实时添加:ipset add blacklist 1.2.3.4。
- iptables规则:iptables -I INPUT -m set --match-set blacklist src -j DROP;保存:iptables-save >/etc/iptables.rules,并在启动脚本恢复。
5.
第四步:应用层限速与WAF策略(Nginx/Apache)
- Nginx限速示例:在http段添加 limit_req_zone $binary_remote_addr zone=one:10m rate=5r/s;在location添加 limit_req zone=one burst=10 nodelay。
- 部署ModSecurity或Nginx ModSecurity规则集,结合fail2ban自动封禁恶意请求(配置 /etc/fail2ban/jail.d/nginx.conf)。
6.
第五步:与上游ISP协同——BGP Flowspec与黑洞
- 向ISP申请BGP Flowspec或黑洞(remotely triggered black hole,RTBH)。实操:提交攻击流量样本(pcap + tcpdump时戳)与目的IP/端口,运营商下发策略。
- 本地快速黑洞:ip route add blackhole 203.0.113.5/32 (仅用于临时阻断单IP/网段,不影响其他业务)。
7.
第六步:清洗中心接入与回源策略
- 清洗方式:三种常见回源:1) BGP宣告到清洗中心;2) GRE/IPsec隧道带回源流量;3) HTTP/HTTPS回源到原始服务器。
- 实操配置:若使用GRE,示例命令 ip tunnel add scrub0 mode gre remote
local ttl 255; ip link set scrub0 up; ip addr add 10.0.0.2/30 dev scrub0。
8.
第七步:自动化与告警——脚本与监控
- 建议脚本:定时抓取最近1分钟内的top IP并自动入ipset(使用cron+bash+awk);示例:for ip in $(awk '{print $1}' access.log | sort | uniq -c | sort -nr | head -n50 | awk '{print $2}'); do ipset add blacklist $ip; done。
- 监控:Prometheus + Grafana抓取ss统计、conntrack数、带宽,触发阈值自动报警并执行防护脚本。
9.
实际运维注意事项与取证建议
- 取证:保持pcap样本、syslog、iptables-save输出时间一致,上传至安全存储;标注攻击开始/结束时间。
- 风险控制:黑名单应设置超时并定期复核,避免误伤正常用户;重大清洗应与ISP/客户沟通排程。
10.
问:日本本地高防提供商通常支持哪些清洗方式?
答:日本常见清洗方式包括:运营商级BGP回收+清洗中心(scrubbing)、GRE/IPsec隧道回源、以及CDN边缘过滤。实际选择取决于流量规模与攻击类型,运营商(如NTT/KDDI/SoftBank)或专门安全厂商会提供Flowspec/RTBH与清洗服务。
11.
问:如何判断应把防护放在上游(ISP)还是本地服务器?
答:规则:当攻击带宽接近或超过链路带宽时必须上游清洗(ISP层),当是应用层请求刷刷时可先在服务器上用WAF+限速+ipset处理;监测conntrack/带宽占用决定是否触发上游协同。
12.
问:部署这些机制后还会有误封风险吗?如何恢复误封IP?
答:会有误封风险。最佳实践:黑名单设置短过期(如3600s),并保留日志用于回溯;恢复方法:ipset del blacklist 或 iptables -D 对应规则,并在fail2ban中放行白名单(ignoreip)。
来源:技术手册解答日本高防服务器有哪些流量清洗和黑名单机制