1. 概览:先规划再实施
- 步骤:梳理资产(实例、镜像、存储、密钥、API账号),列出敏感数据位置(数据库、配置文件、备份)。确定合规与数据主权要求(柬埔寨/东南亚可能需将数据保留在邻近区域或本地)。制定分阶段实施计划:网络隔离 -> 加密通信 -> 访问控制 -> 监控与备份 -> 演练。
2. 网络边界与基础防护(VPC/子网/安全组)
- 操作步骤:在云控制台创建专用VPC,分子网按应用分层(公网跳板、应用层、数据库层)。只在跳板机允许公网SSH,应用层仅允许来自跳板或负载均衡器的流量。设置安全组/ACL规则,最小放行端口。例如:
- 跳板:TCP 22(仅限公司办公IP或VPN网段)
- 应用:TCP 443/80(来自负载均衡器)
- 数据库:仅允许应用子网的3306/5432。
3. 加密通信:TLS 在 Web/API 上的实操
- 安装证书(Let's Encrypt + certbot):示例(Ubuntu):
1. sudo apt update && sudo apt install certbot python3-certbot-nginx
2. sudo certbot --nginx -d example.com
3. 在nginx config中启用强加密套件(示例):
ssl_protocols TLSv1.2 TLSv1.3;
ssl_ciphers 'EECDH+AESGCM:...';
4. 启用HSTS:add_header Strict-Transport-Security "max-age=31536000; includeSubDomains" always;
- 对内部服务使用mTLS或传输层VPN(WireGuard/OpenVPN),避免明文RPC。
4. SSH 强化与密钥管理
- 步骤:
1. 禁用密码登录:编辑 /etc/ssh/sshd_config,设置 PasswordAuthentication no,PermitRootLogin no。
2. 使用密钥并限制来源:在authorized_keys前加上 from="办公IP/32"、command=、no-port-forwarding 等限制。
3. 配置跳板(Bastion)与会话审计:在跳板上启用auditd/ttyrec或使用ssh-session-recording产品。
4. 定期轮换密钥并存放在企业密钥管理(例如Vault)中。
5. 磁盘与备份加密(在地加密与云KMS)
- 本机磁盘加密(Linux LUKS)示例:
1. sudo apt install cryptsetup
2. sudo cryptsetup luksFormat /dev/sdb
3. sudo cryptsetup open /dev/sdb securedata
4. sudo mkfs.ext4 /dev/mapper/securedata && mount /dev/mapper/securedata /data
- 云端:优先使用云厂商KMS对卷加密(开启加密选项),并使用自托管密钥或客户管理密钥(CMK)。
- 备份加密:使用 duplicity 或 borg,启用GPG对备份进行加密,或使用云备份服务的加密选项并加密传输通道。
6. API 与服务帐号安全(最小权限与密钥生命周期)
- 实操:
1. 不使用root/主账号执行API操作,创建最小权限的服务帐号(IAM用户/角色)。
2. 为每个服务或CI创建独立凭证并写入安全存储(Vault/Secrets Manager)。
3. 设置密钥自动轮换策略:例如每90天轮换,失效旧密钥。
4. 在IAM中启用条件限制(来源IP、时间窗口、MFA要求)。
7. 最小权限与RBAC实施(Linux 与 平台级)
- Linux用户与sudo细化:
1. 创建组并分配权限:sudo groupadd webops; usermod -aG webops alice
2. 编辑 /etc/sudoers.d/webops,写精确命令白名单:alice ALL=(root) NOPASSWD: /usr/bin/systemctl restart nginx
- Kubernetes/云平台使用RBAC策略,给应用仅授予必要的API权限,审核角色绑定。
8. 入侵预防与检测:IDS/IPS、Fail2Ban、WAF
- 部署:
1. Fail2Ban:sudo apt install fail2ban,创建 /etc/fail2ban/jail.d/sshd.local 限制失败尝试。
2. 网络层IDS(Suricata)或云端WAF保护Web接口。
3. 在边界使用规则限制异常流量并记录详细日志交给SIEM。
9. 审计日志、集中化与监控
- 步骤:
1. 开启系统审计:sudo apt install auditd,配置 /etc/audit/audit.rules 记录关键文件与命令。
2. 集中化日志:配置rsyslog或filebeat,将日志发送到ELK/Graylog或云日志服务,启用索引与告警。
3. 建立监控规则(CPU、异常登录、配置变更),并设置告警渠道(邮件、Slack、PagerDuty)。
10. 自动化配置与合规检查(IaC & 基线)
- 实操建议:
1. 使用Terraform/CloudFormation管理基础设施并审计变更。
2. 使用Ansible/Chef/Puppet配置系统安全基线(SSH、用户、补丁)。
3. 运行合规扫描工具(OpenSCAP、Lynis、Cloud provider compliance checks)并把报告纳入CI流程。
11. 备份、演练与故障恢复
- 操作:
1. 制定备份策略(全量+增量),定期校验恢复可用性。
2. 使用加密传输并在备份时对敏感字段做脱敏或加密。
3. 定期进行恢复演练(每季度),记录RTO/RPO并改进流程。
12. 应急响应与事件处理流程
- 步骤清单:
1. 建立IR团队与联系人清单,定义分级(S1/S2/S3)。
2. 发现后立即隔离受感染实例(断网/快照存证)。
3. 导出审计日志、内存与磁盘镜像用于溯源,恢复使用干净镜像并更换密钥与凭证。
13. 问:在柬埔寨部署云服务器时,怎样确保通信在跨国链路上的隐私?
- 答:优先使用端到端TLS(对外域名)和mTLS(服务间),对内部链路采用WireGuard或IPsec VPN把流量限定在受控隧道内;同时启用传输层加密和云厂商的线路加密(如专线或VPC对等)。在跨区域传输敏感数据时,使用应用层加密(字段级加密)并配合KMS管理密钥。
14. 问:如何在柬埔寨或东南亚的网络环境下安全管理SSH访问?
- 答:建立跳板机(只允许公司IP或VPN登录),禁用密码登录并使用公私钥对;在跳板上启用会话录制和多因子认证;将私钥存放在企业Vault,定期轮换密钥并限制authorized_keys来源IP和命令。
15. 问:有没有快速检查清单以在本地/云实例上验证安全基线?
- 答:有,建议一键核查清单包括:SSH禁密码/禁root、TLS证书有效且启用HSTS、主磁盘已加密或启用云KMS、未使用默认凭证、开启auditd并发送到集中日志、安装并配置Fail2Ban/WAF、备份加密并测试恢复。可用Lynis/OpenSCAP跑一遍并修复高危项。
来源:东南亚柬埔寨云服务器安全策略从加密通信到权限管理全面覆盖