1. 前期准备与购买要点
购买香港高防服务器建议:选带 BGP/Anti-DDoS 的机房或购买云厂商的高防包(阿里/腾讯/华为等)或配合 Cloudflare。带宽要选择峰值大于业务峰值的5~10倍;优先选择独立公网 IP、DDoS 清洗/黑洞策略可配置的方案。准备信息:管理控制台账号、SSH 密钥、备份计划。
2. 基础系统安装与更新
安装推荐 OS:Ubuntu LTS 或 CentOS Stream。示例命令(Ubuntu):apt update && apt -y upgrade;创建用户并禁用 root 登录:adduser deploy && usermod -aG sudo deploy;设置 SSH 密钥登录,编辑 /etc/ssh/sshd_config 禁用密码登录 PasswordAuthentication no,重启 sshd systemctl restart sshd。
3. 内核参数与网络缓解(sysctl)
编辑 /etc/sysctl.conf 添加 TCP/SYN 防护:net.ipv4.tcp_syncookies = 1;net.ipv4.tcp_fin_timeout = 15;net.ipv4.tcp_max_syn_backlog = 4096;net.ipv4.ip_local_port_range = 1024 65535;应用 sysctl -p。此类修改能降低 SYN 洪泛风险并提高并发连接能力。
4. 基本防火墙与 iptables 示例
使用 iptables 做第一道过滤,持久化可用 iptables-persistent。示例规则:iptables -F; iptables -A INPUT -m conntrack --ctstate ESTABLISHED,RELATED -j ACCEPT; iptables -A INPUT -p tcp --dport 22 -m conntrack --ctstate NEW -m recent --set --name SSH; iptables -A INPUT -p tcp --dport 22 -m recent --update --seconds 60 --hitcount 6 --name SSH -j DROP; 允许 HTTP/HTTPS 并丢弃其他未使用端口。保存:netfilter-persistent save。
5. Nginx+WAF 配置与限流实操
安装 nginx:apt -y install nginx。添加限流:在 http{} 中:limit_req_zone $binary_remote_addr zone=one:10m rate=10r/s; 在 server/location 中:limit_req zone=one burst=20 nodelay; 同时使用 limit_conn_zone $binary_remote_addr zone=addr:10m; limit_conn addr 20。若使用 ModSecurity(WAF),安装并加载 OWASP CRS 规则,拦截常见攻击。
6. 应用层防护与 CDN/高防接入
将流量先导入 CDN 或高防清洗池(Cloudflare/云厂商/第三方清洗),将真实服务器 IP隐藏,仅开放清洗后的 IP 或 BGP 接入。配置后端真实服务器仅允许清洗节点访问(在防火墙中限定访问源 IP)。如需直连管理端口,使用端口转发或 VPN 加白名单。
7. 自动封禁与 Fail2ban 配置
安装 fail2ban:apt -y install fail2ban。编辑 /etc/fail2ban/jail.local 示例:[sshd] enabled = true port = ssh filter = sshd maxretry = 5 bantime = 3600 findtime = 600。对 nginx 可增加 nginx-limit-req 或自定义 filter 来封禁恶意请求。重启 fail2ban systemctl restart fail2ban。
8. 日志收集与集中化(ELK/Graylog/Fluentd)
建议收集 nginx/access/error 和系统 auth 日志到集中平台。轻量方案:Filebeat 采集到 Elasticsearch + Kibana;示例安装 Filebeat 并配置 paths: - /var/log/nginx/access.log。中心化日志便于证据分析和攻击回溯。
9. 监控架构:Prometheus + node_exporter + Grafana
安装 node_exporter(下载并 systemd 启动),安装 prometheus 并在 prometheus.yml 添加 scrape_configs 指向 node_exporter。部署 Grafana,导入常用 dashboard(node exporter full)。示例 prometheus 抓取配置:- job_name: 'node' static_configs: - targets: ['server_ip:9100']。
10. 告警规则与自动化响应
Prometheus 配合 Alertmanager 设定告警:例如 network_in_bytes 或 cpu_usage 突增触发告警。规则示例:alert: HighNetIn expr: increase(node_network_receive_bytes_total[1m]) > 10000000 for: 1m。Alertmanager 推送到邮件/钉钉/Slack。同时可编写自动化脚本通过 API 动态修改防火墙或向清洗厂商提交切换指令。
11. 压力测试与演练步骤
测试工具:hping3、wrk、siege。示例 SYN 测试(仅在自有环境,不可攻击第三方):hping3 -S -p 80 --flood 目标IP。通过测试确认防护阀值、限流配置与清洗链路。演练恢复流程:模拟被清洗后回源故障,验证备份域名/切流脚本生效。
12. 备份、更新与运维 SOP
建立每日系统快照与配置备份(rsync 与云盘),关键配置纳入版本控制(git)。安全补丁计划:每周检查 kernel 与包的安全更新,采用滚动更新策略并保留回滚快照。配置变更需先在测试环境验证并记录变更单。
13. 问:部署香港高防服务器最关键的第一步是什么?
答:首要是选择合适的网络与清洗策略,确保购买的方案包含 DDoS 清洗能力或可接入 CDN/清洗节点,并且在防火墙层只允许清洗节点访问真实服务器 IP。没有合适的流量入口,其他防护难以发挥作用。
14. 问:如何快速识别是否被 DDoS 攻击并自动响应?
答:通过监控指标(网络入流量突增、连接数飙升、CPU/IO 持续高峰)与日志异常结合告警。设置 Prometheus 告警规则并配合 Alertmanager,触发后自动执行脚本:如临时封禁可疑 IP、切换到清洗服务或扩容后端。
15. 问:如果清洗服务失败,如何保证业务最低可用?
答:准备多套应急方案:一、启用备用机房或跨地域负载均衡(DNS/Anycast);二、将静态资源切换到 CDN 并降低源站带宽;三、预先制定流量降级策略(限制非关键 API、返回静态页面)并在监控中自动触发。
来源:从零到一部署香港高防的服务器 包括防护策略与监控配置