1. 登录与更新:使用云端控制台或SSH登录(ssh root@IP)。先更新系统:Ubuntu/Debian:apt update && apt -y upgrade;CentOS:yum -y update。重启:reboot(如有内核更新)。
2. 创建用户与密钥:adduser deploy;mkdir -p /home/deploy/.ssh;将公钥放入authorized_keys并设置权限(chmod 700 .ssh; chmod 600 authorized_keys)。编辑 /etc/ssh/sshd_config:PermitRootLogin no;PasswordAuthentication no;Port 2222(自定义端口)。重启SSH:systemctl restart sshd。
3. 使用UFW(或iptables):ufw default deny incoming; ufw default allow outgoing; ufw allow 2222/tcp; ufw allow 80,443/tcp; ufw enable。云厂商安全组:只允许必要IP或网段访问管理端口,放开业务端口并限制来源。
4. 安装fail2ban:apt install fail2ban。创建/修改 /etc/fail2ban/jail.local,启用sshd,设置maxretry=5、bantime=3600。部署AIDE或OSSEC进行文件完整性检测:apt install aide,初始化并定期cron检查。
5. Web服务器:Nginx/Apache 配置安全头(Content-Security-Policy、X-Frame-Options 等)、禁用目录列表。TLS:使用Let's Encrypt certbot 自动申请并配置续期(certbot --nginx)。禁用弱加密套件并启用 HSTS。
6. 本地快照与远程备份:1) 开启云盘快照(按业务窗口定时);2) 使用 rsync 或 borg/duplicity 做文件与数据库备份到远程存储(示例:mysqldump -u root -p dbname > /root/db.sql;rsync -avz /var/www user@backup.example:/backups/site/)。设置cron:每天凌晨2点执行备份并保留7天。
7. 问:如何验证备份可用?
答:定期做恢复演练:在隔离环境创建一台临时VM,拉取最近备份(rsync 或从对象存储下载),导入数据库(mysql < db.sql),启动服务并检查页面与日志,确认数据完整与配置一致。把演练结果写入运维日志,至少每月一次。
8. 问:需要监控哪些关键指标?
答:CPU、内存、磁盘利用率、磁盘I/O、网络流量、异常登录、失败的备份任务、服务端口状态与HTTPS证书到期。可用Prometheus+Grafana+Alertmanager或云厂商监控,并设置邮件/Slack告警阈值。
9. 问:日志和合规如何做?
答:集中化日志(rsyslog/Fluentd -> ELK/CloudLogging),关键日志保留至少90天(根据合规调整);对敏感访问做审计并导出报告;启用多因子身份验证与最小权限原则,定期更新并执行漏洞扫描。