操作前检查:1) 登录方式(console/VNC/SSH)是否可用;2) 操作系统版本(cat /etc/os-release);3) 是否有快照或镜像备份。建议先在控制面板创建一个快照(provider console),以便回滚。若没有快照权限,先导出重要数据(mysqldump / tar)。
步骤:1) 更新内核与包:Ubuntu/Debian 执行 apt update && apt upgrade -y;CentOS 执行 yum update -y。2) 移除不必要服务:systemctl list-unit-files --type=service,禁用不需要的服务 systemctl disable --now 服务名。3) 安装常用工具:apt install -y vim fail2ban ufw rsync curl zip unzip。
1) 备份配置:cp /etc/ssh/sshd_config /etc/ssh/sshd_config.bak。2) 修改 /etc/ssh/sshd_config:PermitRootLogin no;PasswordAuthentication no(先确保公钥可用);Port 22→改为非标准端口例如 2222;UsePAM yes;LoginGraceTime 30。3) 重启并测试:systemctl restart sshd;在新会话验证登录,确认无误再关闭旧会话。4) 部署公钥:在本地 ssh-keygen 后将公钥追加到 /home/用户名/.ssh/authorized_keys,chmod 700 ~/.ssh && chmod 600 ~/.ssh/authorized_keys。
1) 使用 UFW(适合 Ubuntu):ufw default deny incoming; ufw default allow outgoing; ufw allow 2222/tcp; ufw allow 80,443/tcp; ufw enable。2) 使用 iptables/nftables:示例 iptables -A INPUT -p tcp --dport 2222 -m conntrack --ctstate NEW -j ACCEPT;保存规则并启用持久化(apt install iptables-persistent)。3) 云控制台安全组:在面板添加只允许特定管理 IP,限制 22/2222、3306(仅内网)等。
1) Fail2Ban 安装并启用:apt install -y fail2ban;编辑 /etc/fail2ban/jail.local,启用 sshd 并设置 bantime=3600、maxretry=5。2) 部署 ModSecurity + nginx/Apache 作为 WAF,安装规则集(OWASP CRS)。3) 定期扫描:apt install -y clamav;freshclam 更新数据库;clamscan -r /var/www --daily 加入 cron。
数据库:1) 不要开放 3306 到公网,绑定 127.0.0.1 或使用内网 VPC。2) 为数据库创建专用账号并使用强密码、最小权限。备份:1) 使用 mysqldump 或 pg_dump:mysqldump -u root -p --single-transaction --databases dbname > /backup/dbname_$(date +%F).sql。2) 自动化:写脚本 /usr/local/bin/backup.sh,使用 rsync 或 rclone 将 /backup 同步到远程(对象存储/另一区域)并设置 cron 每日运行。3) 测试恢复:定期在沙箱主机运行恢复流程验证备份有效。
答:常见路径包括弱密码的 SSH/数据库、未打补丁的服务漏洞、开放到公网的管理端口、上传型 Web 漏洞(如不安全的文件上传/未过滤的 SQL 注入)以及缺乏备份导致勒索后无法恢复。针对性加固上述点可大幅降低风险。
答:使用本地快照+异地同步双保险:1)定期在云面板做快照(即时恢复快);2)通过 rsync 或 rclone 将备份推送到对象存储(如 S3 兼容)或另一台低价 VPS;3)备份脚本做加密(gpg)并保留多版本,最后通过 cron 自动化并定期进行恢复演练。
答:建立简单监控与报警:1) 部署监控软件(Prometheus+Grafana 或第三方监控)监测 CPU、内存、磁盘、网络异常;2) 日志集中(rsyslog 或 Filebeat + ELK)并设置关键事件报警;3) 定期(每月/每季度)执行漏洞扫描与补丁更新,并保留变更记录和恢复演练。