1.
总体安全策略与资产识别
- 识别资产:列出香港9929vps上运行的服务(Web 80/443、SSH 22、数据库3306等)。
- 风险评估:按暴露面、重要性、历史漏洞评分(高/中/低)进行排序。示例:Web服务风险=高,SSH风险=中。
- 分层防护:网络层、主机层、应用层、数据层分别部署安全策略。
- 最小权限:仅开放必要端口与账户,禁止root远程登录,使用sudo细粒度控制。
- 变更管理:对配置变更、补丁、密钥轮换建立审批与审计流程。
- 备份策略:定期快照与异地备份(建议Rsync到另一地区VPS或对象存储)。
2.
SSH与账户管理加固
- 禁用密码登录:修改/etc/ssh/sshd_config,设置PasswordAuthentication no。
- 更换默认端口:将SSH端口从22改为非标准端口如22022并记录。
- 使用密钥对:生成2048或4096位RSA/ed25519密钥,禁止空口令账户。
- 限制登录用户:在sshd_config中设置AllowUsers ubuntu admin。
- Fail2ban与登录速率限制:安装fail2ban,配置ssh jail,threshold=3, findtime=600, bantime=3600。
- 示例配置片段:PermitRootLogin no;UsePAM yes;ClientAliveInterval 300;ClientAliveCountMax 2。
3.
防火墙与网络访问控制
- 使用iptables/nftables或ufw实现白名单模型。
- 基础规则示例:只允许80/443、22022、数据库仅内网访问。
- 限制ICMP与Ping频率以防反射放大探测。
- TCP SYN速率限制,示例iptables规则:-m limit --limit 10/s --limit-burst 20。
- 监控连接数,发现短时间内连接数异常时触发自动封禁。
- 定期导出与备份防火墙规则,并在重启后自动加载。
4.
应用层安全与Web防护(含CDN策略)
- 强制HTTPS并开启HSTS,使用Let’s Encrypt或商业证书。
- 使用WAF(如ModSecurity或云WAF)拦截常见SQL注入、XSS、文件包含等攻击。
- 静态资源放CDN:推荐前置香港或全球节点,降低源站带宽压力。
- 请求速率限制:在Nginx中配置limit_req_zone与limit_conn_zone。
- Cookie安全:HttpOnly、Secure、SameSite=strict。
- 示例:Nginx limit_req_zone $binary_remote_addr zone=one:10m rate=10r/s。
5.
日志、监控与应急响应
- 集中日志:使用Filebeat/Fluentd将/var/log推送到ELK或Grafana Loki。
- 关键指标:带宽、并发连接、错误率、登录失败次数要设置阈值报警。
- 日志保留与审计:至少保留90天的访问与安全日志,重要日志做不可篡改存储。
- 自动化响应:当监控触发时自动执行脚本(封IP、调整防火墙、触发运维工单)。
- 演练SOP:定期演练包括DDoS、数据泄露与主机入侵的应急流程。
- 真实案例:某客户在香港主机遭遇暴力SSH爆破,Fail2ban在首小时封禁累计1,240个IP,成功降低入侵率到0.2%。
6.
DDoS防护与带宽管理实战(含数据示例)
- 典型攻击与应对:SYN Flood、UDP反射、HTTP层CC攻击需组合使用防火墙、流量清洗与CDN。
- CDN与清洗平台:建议前置Cloudflare/阿里云CDN/腾讯云CDN并启用“缓存+清洗”策略。
- 带宽基线与阈值:示例基线带宽为1Gbps,触发阈值设置为3Gbps。
- 清洗数据:真实案例中,香港9929vps遭遇20Gbps UDP反射,接入清洗后源站承受流量降至0.6Gbps。
- 表格展示常见流量与处理结果(示例数据):
| 事件 | 攻击峰值 | 清洗后到达源站 | 处理方式 |
| UDP反射 | 20 Gbps | 0.6 Gbps | 流量清洗+CDN |
| HTTP GET CC | 5 M RPS | 200 RPS | WAF+速率限制 |
7.
补丁管理、漏洞扫描与真实配置样例
- 定期扫描:使用Nessus、OpenVAS或Trivy对主机与容器做漏洞扫描,每周或每月一次。
- 自动补丁:对非业务高峰期自动应用安全补丁,关键补丁可先在测试环境验证后部署。
- 配置样例(香港9929vps常见配置):Ubuntu 20.04 LTS,内存4GB,CPU 2核,带宽1Gbps,磁盘50GB SSD。
- 服务示例:Nginx 1.18, PHP-FPM 7.4, MySQL 8.0,启用慢查询日志并设置long_query_time=1。
- 修复流程:漏洞发现→风险评估→测试补丁→生产部署→验证→归档。
- 真实案例补充:一次MySQL未授权访问风险通过限制bind-address=127.0.0.1与防火墙规则在30分钟内彻底封堵,风险评分从9降到2。
来源:香港9929vps 的安全加固方法与常见漏洞防护实践汇编