1.
总体方案概览与准备工作
说明:先做资产盘点与可用性要求。小分段:1) 列出公网IP、控制面板、后台登录URL与数据库地址;2) 评估RTO/RPO、流量基线(peak/avg)、是否允许第三方CDN或负载均衡;3) 备份:快照与数据库导出。准备命令示例:ssh登录-> sudo apt update && sudo apt upgrade -y;记录现有iptables/ufw规则:sudo iptables-save >/root/iptables.bak。
2.
基础系统与网络硬化(越南VPS常用Debian/Ubuntu示例)
说明:先关掉不必要服务再做内核调优。小分段:1) 关闭无用端口:sudo ufw default deny incoming; sudo ufw allow 22/tcp (或改为非22端口);2) SSH防护:修改/etc/ssh/sshd_config,禁止root登录(PermitRootLogin no)、使用公钥登录(PasswordAuthentication no)并重启sshd;3) 内核网络优化:编辑/etc/sysctl.conf并添加net.ipv4.tcp_syncookies=1、net.ipv4.tcp_fin_timeout=15、net.core.somaxconn=65535、net.ipv4.ip_local_port_range="1024 65535"后执行sudo sysctl -p。
3.
防DDoS第一层:带宽与上游防护策略
说明:大流量攻击应优先靠上游或CDN缓解。小分段:1) 联系越南VPS提供商(Viettel、VNPT或国际供应商)询问是否有Anti-DDoS服务并开启;2) 配置Cloudflare或腾讯云/阿里云 CDN(若业务允许把域名CNAME到CDN),开启“I'm under attack”/DDoS防护模式;3) 若必须直连,要求ISP做黑洞/流量清洗并记录协助流程。
4.
防DDoS第二层:服务器端限流与连接控制(Nginx + iptables)
说明:在VPS上做速率限制与连接限制。小分段:1) Nginx限速示例(http段):limit_req_zone $binary_remote_addr zone=one:10m rate=10r/s; 在server中配置limit_req zone=one burst=20 nodelay;2) Nginx并发连接限制:limit_conn_zone $binary_remote_addr zone=addr:10m;limit_conn addr 10;3) iptables限速示例:sudo iptables -A INPUT -p tcp --dport 80 -m connlimit --connlimit-above 200 -j DROP;或使用hashlimit:sudo iptables -A INPUT -p tcp --dport 80 -m hashlimit --hashlimit 30/s --hashlimit-burst 60 --hashlimit-mode srcip --hashlimit-name http_rate -j ACCEPT。
5.
部署WAF(ModSecurity + Nginx)详细步骤
说明:以Ubuntu为例逐步安装与启用OWASP CRS。小分段:1) 安装依赖与ModSecurity-nginx:sudo apt install -y git build-essential libpcre3 libpcre3-dev libssl-dev zlib1g-dev libxml2-dev libyajl-dev;2) 下载ModSecurity(libmodsecurity)并编译(简略命令):git clone --depth 1 https://github.com/SpiderLabs/ModSecurity && cd ModSecurity && git submodule init && git submodule update && ./build.sh && ./configure && make && sudo make install;3) 编译nginx带ModSecurity模块或使用第三方包(如OpenResty+ModSecurity-nginx),示例:从源码编译nginx并添加--add-module=/path/to/ModSecurity-nginx;4) 下载OWASP CRS并部署:git clone https://github.com/coreruleset/coreruleset.git /etc/modsecurity/crs,然后在modsecurity.conf中Include /etc/modsecurity/crs/crs-setup.conf 和 rules/*.conf;5) 初始为检测模式(SecRuleEngine DetectionOnly),部署后逐步切换到阻断(On)。
6.
WAF规则调优与白名单/误报处理
说明:上线后监控日志并调整。小分段:1) 打开审计日志,路径配置在modsecurity.conf(AuditLog /var/log/modsecurity/audit.log);2) 记录误报ID并在rules中使用SecRuleRemoveById 12345678放行特定规则或使用ctl:ruleRemoveById;3) 针对API或支付回调建立白名单:在location使用ModSecurityVariable以IP或URL参数放行;4) 定期更新CRS并保留自定义规则集来锁定电商特有攻击(如库存、下单参数篡改)。
7.
登录与后台保护:2FA、限制IP、验证码与速率控制
说明:强化管理后台与用户敏感操作。小分段:1) 对后台路径(/admin,/wp-admin等)使用IP白名单或VPN限制;2) 强制管理员2FA(Google Authenticator或Duo);3) 在登录、注册、支付接口加入图形验证码与短信/邮箱验证;4) 使用fail2ban防暴力破解:创建jail.local监控Nginx/modsecurity或auth.log并自动添加iptables封禁,示例 jail配置内置action = iptables[name=HTTP, port=http, protocol=tcp]。
8.
日志、告警与演练(包含恢复步骤)
说明:建设可操作的SOP与演练流程至关重要。小分段:1) 集中日志(ELK/Graylog/外部Syslog),把modsecurity/audit、nginx access/error、system logs汇聚;2) 配置告警:当流量超过基线2倍或出现大量规则触发时触发告警并自动启用更严策略(如切换WAF到阻断、封IP);3) 恢复步骤:准备最近快照,可快速替换受损实例,数据库只读切换与回滚脚本;4) 定期进行容量与Red Team演练(注意:合法范围内进行压力测试)。
9.
常用命令与配置片段速查
说明:把关键命令写成速查表便于运维。小分段:1) 更新与重启服务:sudo apt update && sudo apt upgrade -y;sudo systemctl restart nginx;2) 查看modsecurity拦截日志:sudo tail -n 200 /var/log/modsecurity/audit.log;3) 临时限速放宽:sudo iptables -D INPUT ...(记录删除规则);4) 备份nginx与modsecurity配置:sudo cp -a /etc/nginx /root/backup_nginx_$(date +%F).tar.gz。
10.
问:在越南VPS上直接使用Cloudflare会影响支付回调吗?
答:通常Cloudflare作为反向代理会隐藏真实源IP,可能导致支付回调IP验证失败。小分段:1) 解决方法:在后端记录CF提供的CF-Connecting-IP或X-Forwarded-For,并在应用层验证回调签名而非IP;2) 若支付方只能白名单源IP,可在Cloudflare中使用“Bypass”规则或联系支付方协商白名单CF出口IP。
11.
问:如何在生产环境安全地从检测模式切换到阻断模式(ModSecurity)?
答:分步执行并监控误报。小分段:1) 先在检测模式运行7-14天,收集audit日志并统计误报ID;2) 按风险级别分批次启用阻断:先启用低误判、高危规则,观察24-72小时;3) 对误报频繁的规则使用SecRuleRemoveById或例外规则后逐步扩大阻断范围;4) 切换时通知客服/运维并准备回滚计划。
12.
问:在越南VPS遇到大流量攻击时的紧急处置顺序是什么?
答:按优先级快速操作以保证可用性。小分段:1) 立即启用上游清洗或联系ISP做黑洞/清洗;2) 在WAF将ModSecurity切到阻断并应用更严格的rate limit与连接限制;3) 临时切换域名到CDN/Cloudflare并开启“Under Attack”模式;4) 启用只读模式或展示维护页,保存日志与流量样本便于事后分析与取证。
来源:越南vps 电商店铺安全加固策略包括防DDoS与WAF部署方案