1
概述与适用场景
- 目标:为部署在腾讯云马来西亚区域的CVM/VPS/主机提供可落地的安全与日志审计实施方案。
- 适用对象:中小型SaaS、电子商务、API服务与跨境业务。
- 范围覆盖:服务器(CVM)、域名绑定、CDN接入、Anti‑DDoS、WAF与日志审计体系。
- 输出成果:安全组与主机加固脚本、日志采集与集中化方案、审计报表与告警策略。
- 假设资源:示例CVM规格 2 vCPU / 4GB RAM / 50GB SSD(可按需扩展)。
2
账号与访问控制(IAM、安全组、密钥管理)
- 最小权限原则:为运维、开发、监控分别创建账号并使用腾讯云CAM策略限制API权限。
- 安全组策略:仅开放必要端口(HTTP 80、HTTPS 443、SSH 22限管理IP),示例安全组规则:22 TCP 来源:办公/跳板 IP,443 TCP:0.0.0.0/0(HTTPS)。
- 密钥管理:CVM 使用非密码登录,配置SSH公钥,并禁用root直接登录(/etc/ssh/sshd_config:PermitRootLogin no)。
- MFA 与登录审计:对腾讯云账号启用MFA,对主机启用syslog记录登录事件并集中存储。
- 口令与凭证轮换:API密钥、数据库账号需定期轮换并存储在金库(如Vault或腾讯云Secrets Manager)。
3
网络与DDoS防护(CDN、Anti‑DDoS、域名解析)
- CDN接入:前置腾讯云CDN以缓存静态资源减轻源站压力并启用HTTPS强制跳转与WAF策略。
- Anti‑DDoS:部署腾讯云Anti‑DDoS Pro或基础防护,根据峰值流量设置清洗阈值(示例:清洗阈值 300 Mbps)。
- 域名解析:使用腾讯云DNSPod或云解析,启用智能解析和TTL策略,结合CDN加速。
- 负载均衡:高可用场景建议使用CLB,内网私网负载均衡与安全组配合。
- 监控与告警:配置带宽/包速率阈值告警(示例:带宽使用率>70%触发告警),并把告警接入企业微信/钉钉/Prometheus Alertmanager。
4
系统与服务安全加固(SSH、Nginx、数据库)
- SSH加固:修改默认端口(示例22->2222)、禁用密码登录、限制登录IP,用Fail2ban防暴力破解。具体命令:
sed -i 's/#Port 22/Port 2222/' /etc/ssh/sshd_config并重启ssh。
- Nginx配置:使用自定义log_format记录真实IP(通过X‑Forwarded‑For),开启访问/错误日志并限制缓冲。示例:
access_log /var/log/nginx/access.log main;。
- 数据库安全:绑定本地地址(如MySQL 127.0.0.1)、使用强密码、限制白名单IP访问及定期备份。
- 软件更新与补丁:配置自动安全更新或每周例行更新,并在升级前在测试环境验证。
- 文件系统与权限:对关键目录使用最小权限,启用AIDE或tripwire做二进制完整性监测。
5
日志收集与审计架构(采集、传输、存储)
- 采集层:主机端使用filebeat/rsyslog/td-agent收集系统日志、Nginx访问日志、应用日志与数据库审计日志。示例filebeat配置:收集/var/log/nginx/*.log与/var/log/auth.log。
- 传输层:采用TLS加密传输到集中式日志接收端或消息队列(Kafka),保证日志在传输中的机密性。
- 存储层:使用Elasticsearch/Opensearch或云上日志服务(Log Service)做索引,结合冷/热分层存储。示例:热存7天、冷存90天。
- 可视化与告警:使用Kibana/Grafana建立仪表盘与基于Elasticsearch的告警规则(登录失败、异常访问频率)。
- 保留与合规:依据业务和法规设置日志保留期并导出归档(示例:安全审计日志至少保留1年)。
6
日志配置示例与关键命令
- Nginx日志格式示例:
log_format main '$remote_addr - $remote_user [$time_local] \"$request\" $status $body_bytes_sent \"$http_referer\" \"$http_user_agent\" \"$http_x_forwarded_for\"';。
- filebeat简单采集:
filebeat.inputs: - type: log paths: ["/var/log/nginx/*.log","/var/log/auth.log"] 并配置output.elasticsearch。
- logrotate示例(/etc/logrotate.d/nginx):按日轮转、保留14份并压缩。
- 审计日志:启用auditd并自定义规则,如监控/etc/passwd和ssh配置文件修改。示例规则:
-w /etc/ssh/sshd_config -p wa -k ssh_config。
- 传输加密:filebeat与Elasticsearch之间启用TLS,并在filebeat.yml中配置证书路径与验证。
7
真实案例与落地步骤(含配置数据演示表格)
- 案例背景:某跨境电商在马来西亚部署2台CVM做海外站点,流量高峰时段带宽峰值达到180 Mbps,遭遇过一次小规模SYN Flood。
- 解决措施:前置CDN、启用Anti‑DDoS Pro并把清洗阈值设为250 Mbps;在源站启用Nginx限流(limit_req)并部署filebeat送审计日志到ELK。
- 成果:启用防护后,源站CPU与带宽占用下降约60%,误杀率<1%。
- 推荐落地步骤:1) 建立账号与权限,2) 配置网络与防护,3) 主机加固与日志采集,4) 搭建集中化日志并上线告警,5) 灾备与演练。
- 示例配置数据与日志保留策略(表格):以下为建议各类日志保留与索引策略示例,请按合规要求调整。
| 日志类型 | 采集频率 | 热存 | 冷存 |
| 系统与安全(auth/auditd) | 实时 | 7 天 | 365 天 |
| Nginx访问日志 | 实时 | 14 天 | 90 天 |
| 应用日志(业务) | 实时/批量 | 30 天 | 180 天 |
| 数据库审计 | 实时 | 30 天 | 365 天 |
来源:腾讯云马来西亚服务器安全配置与日志审计落地实施指南