1.
首次登录:使用控制面板关闭默认密码远程登录,换用SSH密钥。实操:在本地生成密钥 ssh-keygen -t ed25519;将公钥上传到服务器 ~/.ssh/authorized_keys(权限700/600)。系统更新:Ubuntu/Debian 执行 apt update && apt -y upgrade;CentOS 执行 yum -y update。启用自动安全更新:Ubuntu 安装 unattended-upgrades 并配置 /etc/apt/apt.conf.d/50unattended-upgrades。
2.
编辑 /etc/ssh/sshd_config,建议设置:PermitRootLogin no;PasswordAuthentication no;PubkeyAuthentication yes;Port 变更为非 22 端口(如 2222)。重启 sshd:systemctl restart sshd。若改端口,记得在防火墙中放行并通过 ssh -p 新端口 连接测试后再断开原会话。
3.
创建管理员账号:adduser adminuser && usermod -aG sudo adminuser(CentOS 为 wheel 组)。限制sudo权限:编辑 /etc/sudoers.d/adminuser,只允许必要命令,如 /usr/bin/systemctl restart nginx。避免所有用户使用NOPASSWD。
4.
推荐使用 ufw(Ubuntu)或 firewalld(CentOS)。示例 ufw:ufw default deny incoming; ufw allow 2222/tcp; ufw allow 443/tcp; ufw allow 80/tcp; ufw enable。对公网面板、数据库端口做白名单,仅允许运维IP或VPN访问。使用 ipset/iptables 做更细粒度限制。
5.
安装 fail2ban:apt install fail2ban,创建 /etc/fail2ban/jail.local,启用 sshd 监控,设置 bantime、maxretry;同时考虑安装 crowdsec 或配置 sshd 的 rate limiting。配合日志审计,定期查看 /var/log/auth.log。
6.
关闭不必要服务:systemctl list-unit-files --state=enabled,逐项评估并禁用不要的服务(例如 avahi、cups)。使用 netstat -tulnp 或 ss -tulnp 检查监听端口,按需关闭或绑定到 127.0.0.1。
7.
检查关键目录权限:/etc、/var/log、/home。设置 umask,使用 chown/chmod 限制敏感文件访问。对web目录不使用可执行权限,示例:find /var/www -type f -exec chmod 644 {} +;目录 755。数据库凭据使用单独文件并限制读写。
8.
使用 Let's Encrypt certbot 自动签发证书:certbot --nginx。Nginx 配置示例:启用 TLS1.2+、禁用弱加密套件,配置 HSTS,开启 OCSP Stapling。定期测试:使用 ssllabs.com 或 openssl s_client -connect host:443 检查。
9.
部署监控(Prometheus/Grafana 或云监控),打开系统日志轮转(logrotate)。启用远程日志收集:rsyslog + TLS 写入中央日志服务器,防止日志被篡改。备份:采用增量+全量方案,脚本自动化并将备份异地存储(S3/对象存储),并定期做恢复演练。
10.
合规检查清单:1) 数据分类:确认个人数据、敏感信息所在服务;2) 隐私合规:参考香港个人资料(隐私)条例(PDPO)与内地的跨境规则,必要时做数据脱敏或加密;3) 日志与审计:保留访问记录与变更记录;4) 合同与责任:云/托管服务商合同中明确数据处理与安全义务。
11.
实施示例:1) 传输加密:HTTPS/TLS 强制;2) 存储加密:数据库磁盘或字段级加密(使用 KMS 管理密钥);3) 访问控制:最小权限、MFA;4) 审计与报告:定期导出访问日志并归档,使用 SIEM 做报警。
12.
制定 RTO/RPO 并脚本化恢复步骤:数据库导出、应用静态文件恢复、DNS 切换流程。每季度做一次恢复演练并记录时间节点与问题,修订文档。
13.
答:第一,立即更新系统并启用自动安全更新;第二,关闭root密码登录并改用SSH密钥、限制SSH端口与启用防火墙;第三,安装并配置 fail2ban/入侵检测,确保日志集中与备份机制到位。
14.
答:常忽视的是数据分类与跨境数据流向记录(未明确哪些数据会出境)、未对备份和日志做同等级保护(备份未加密)以及缺少可证明的访问审计记录(缺少MFA或审计日志)。
15.
答:准备一份检查表并执行:1) SSH 密钥与 root 禁止验证;2) 防火墙端口仅开放必要端口;3) fail2ban/IDS 报警正常;4) TLS 测试通过;5) 能从中央日志和备份中恢复数据。完成后做一次外部端口扫描与渗透测试或使用安全扫描工具验证。