1.1 目标:了解租用实例的暴露面与可控项。1.2 步骤:a) 登录云控制台确认公网IP、内网、控制台/串口访问权限;b) 记录操作系统镜像、内核版本、是否可快照、是否有DDoS防护、带宽峰值与SLA;c) 使用nmap快速探测端口:sudo nmap -sS -sV -O <公网IP>。1.3 输出:生成一张清单列出开放端口、运行服务与登录方式。
2.1 检查项:是否支持磁盘加密、是否提供镜像快照、是否承诺日志导出、是否有99.9% SLA、客服/工单响应等。2.2 建议:优先选择提供控制台(VNC/serial)、快照与快照导出的厂商;如无快照功能,计划离线备份策略。
3.1 先更新系统:sudo apt update && sudo apt -y upgrade。3.2 删除不必要软件:apt remove --purge telnet ftp samba avahi-daemon -y;3.3 禁用未使用的服务并关机:systemctl disable --now
4.1 生成密钥并上传:本地执行 ssh-keygen -t ed25519 -C "user@host";ssh-copy-id -i ~/.ssh/id_ed25519.pub user@IP。4.2 修改 /etc/ssh/sshd_config:PermitRootLogin no,PasswordAuthentication no,PubkeyAuthentication yes,Port 2222(可选),MaxAuthTries 3。4.3 应用并测试:sudo systemctl restart sshd,保持原会话不关闭再测试新连接。
5.1 使用UFW(Ubuntu示例):sudo apt install ufw -y;sudo ufw default deny incoming;sudo ufw default allow outgoing;sudo ufw allow 2222/tcp;sudo ufw allow 80,443/tcp;sudo ufw enable。5.2 高级:配置 iptables/nftables 持久规则或云端安全组白名单,仅允许管理IP访问管理端口。
6.1 安装 fail2ban:sudo apt install fail2ban -y,创建 /etc/fail2ban/jail.local 示例:[sshd] enabled = true port = 2222 maxretry = 3 bantime = 3600。6.2 部署日志集中:安装 rsyslog,将关键日志推送到远程安全主机或云日志服务,编辑 /etc/rsyslog.conf 并重启。6.3 使用 AIDE 做文件完整性检测:sudo apt install aide,初始化 sudo aideinit 并定期比对。
7.1 Web:关闭目录列举,限制上传,配置HTTPS(Certbot)。示例:sudo apt install certbot python3-certbot-nginx,sudo certbot --nginx -d example.com。7.2 数据库:绑定本地地址(127.0.0.1),强密码,限制远程连接,通过应用中间件连接;备份DB并加密传输。
8.1 本地增量备份:使用 rsync + cron:crontab -e 添加每日任务 rsync -a --delete /var/www/ backup@backuphost:/data/host/。8.2 利用云快照:租用支持快照的方案,做每日快照并导出到对象存储。8.3 恢复演练:定期在隔离环境中从快照或备份恢复并验证服务完整性。
问:便宜的香港云服务器是否能满足安全需求?
答:答:能否安全取决于两个方面:供应商能力(是否有基础DDoS防护、快照、控制台等)和你自身的加固能力。按本文步骤完成OS更新、SSH加固、防火墙、日志与备份,绝大多数风险可被降低到可接受范围。若对合规或高可用有严格需求,应选择更高等级产品。
问:我只有30分钟,如何快速完成最关键的加固?
答:答:优先级:1)更新系统:apt update && apt -y upgrade;2)禁用密码登录并启用SSH密钥;3)启用并配置UFW只放行必要端口;4)安装fail2ban并设置简单规则;5)开启自动安全更新并立即做一次快照/备份。
问:如果怀疑被攻破,第一时间做什么排查与恢复操作?
答:答:立即断网隔离(关闭公网访问或更换安全组),保留快照;导出/保存日志(/var/log/auth.log, /var/log/syslog);在隔离环境使用杀毒/扫描(rkhunter, chkrootkit, AIDE比对);若不可修复,优先从最近无感染的备份或快照恢复并更换所有密钥与密码。