1.
概述与选择提供商
开始前先确认业务的攻击面与延迟要求。实际步骤:1) 测量目标用户延迟(ping/traceroute);2) 与供应商确认是否有BGP Anycast、清洗带宽和清洗触发SLA;3) 要求提供商给出可用防护峰值(例如10G/20G/100G),以及是否有按小时/按峰值封堵策略。签约时把清洗响应时间写入合同。
2.
按业务类型选择硬件与带宽
游戏:优先低延迟与CPU、内存,建议8核-16核、16GB-64GB、NVMe 200GB、1Gbps或更高专线。流媒体:重点是上/下行带宽,建议多线路1Gbps-10Gbps、SSD、GPU(若转码)。电商/ERP:读写分离,APP层4-8核、DB独立主从,磁盘选择RAID10或云盘。API/微服务:考虑弹性伸缩、负载均衡与高并发连接数。
3.
网络与防护等级配置
步骤:1) 选择防护峰值>=预计流量峰值3倍;2) 启用黑洞阈值与流量清洗阈值(与运营商协商,如超过200Mbps即触发);3) 若业务对延迟敏感,要求分级清洗与白名单机制;4) 配置BGP多线或Anycast以实现就近清洗与自动切换。
4.
系统内核与网络调优(具体命令)
在Linux上执行(以root或sudo):sysctl -w net.ipv4.tcp_tw_reuse=1; sysctl -w net.ipv4.tcp_fin_timeout=15; sysctl -w net.ipv4.tcp_max_syn_backlog=4096; sysctl -w net.core.somaxconn=65535; sysctl -w net.netfilter.nf_conntrack_max=2000000。把这些写入/etc/sysctl.conf并sysctl -p生效。
5.
防火墙与限速规则
实操示例:使用iptables限连接:iptables -N LIMIT_HTTP; iptables -A LIMIT_HTTP -m connlimit --connlimit-above 200 -j DROP; iptables -A INPUT -p tcp --dport 80 -j LIMIT_HTTP。使用hashlimit或recent模块对单IP短时间内请求做限流。生产可使用Nftables或硬件防火墙替代。
6.
Web服务与反向代理调优(nginx示例)
在/etc/nginx/nginx.conf设置:worker_processes auto; events { worker_connections 10240; use epoll; } http { sendfile on; tcp_nodelay on; tcp_nopush on; keepalive_timeout 30; client_max_body_size 50M; }; 对高并发加上limit_conn_zone $binary_remote_addr zone=addr:10m; limit_conn addr 200; 并结合缓存与CDN减轻源站压力。
7.
数据库与存储建议
步骤:1) 将数据库单独放在内网并限制访问端口;2) 启用主从复制与读写分离(MySQL:mysqldump后配置replication);3) 为写入密集型使用更大IOPS的云盘或NVMe;4) 定期备份并做恢复演练。
8.
监控、告警与自动化
落地步骤:1) 部署Prometheus + node_exporter或Zabbix Agent:apt-get install zabbix-agent;2) 配置流量阈值告警(如5分钟内流量突增50%);3) 将告警接入微信/钉钉/PagerDuty;4) 建立自动化脚本在触发时删除非白名单IP或调整防护策略。
9.
应急演练与日常运维流程
每季度做一次DDoS演练:1) 模拟高并发攻击(注意合法授权);2) 验证清洗是否正确触发;3) 测试切换到备用线路与恢复流程;4) 记录日志并优化规则,定期清理conntrack表(conntrack -F)并重启相关服务时选择滚动重启。
10.
业务类型的配比建议(速查表)
示例:游戏:CPU/内存偏高+低延迟专线+Anti-DDoS >20G;直播:带宽大+CDN+上传优化+清洗峰值>100G;电商:WAF+数据库独立+备份+中等防护峰值;API:负载均衡+弹性伸缩+短连接优化。
11.
常见误区与注意事项
不要只看防护峰值而忽略清洗策略与误封;签订SLA时强调响应时间;生产环境避免直接暴露管理端口,使用跳板机与堡垒机。
12.
Q1: 我如何判断需要多大的清洗峰值?
答:先统计正常峰值(历史流量)并乘以3~5作为估算,再把最大业务并发请求、单用户带宽与潜在攻击并发结合考虑。供应商应给出可扩展能力,合同中写明扩容响应时间。
13.
Q2: 遇到SYN/UDP泛洪有哪些快速应对步骤?
答:立即启用清洗服务或联系供应商启动DDoS清洗;在服务器端开启SYN cookies(sysctl -w net.ipv4.tcp_syncookies=1),临时提高tcp_max_syn_backlog,使用iptables丢弃单IP异常连接,并切换到备用线路或Anycast。
14.
Q3: 小型电商如何用最少成本获得基本防护?
答:优先使用CDN+WAF减少源站暴露,选择按需高防包或峰值保护,数据库做主从与定期备份,启用基础sysctl和iptables限流,配置监控与自动告警,平时做好恢复演练。
来源:香港高防 服务器配置对不同业务类型的匹配建议详解