答:基础加固包括:保持系统更新、SSH 硬化、最小化服务、启用防火墙与入侵防护。具体步骤:
1) 更新并自动补丁:sudo apt update && sudo apt upgrade -y,启用自动安全更新(Ubuntu/Debian 可安装 unattended-upgrades)。
2) 创建非 root 管理用户并禁用 root SSH 登录:
adduser adminuser; usermod -aG sudo adminuser,编辑 /etc/ssh/sshd_config:PermitRootLogin no、PasswordAuthentication no(启用密钥登录)并重启 SSH 服务。
3) 更改默认 SSH 端口并限制登录来源:如将端口改为 2202,并用防火墙只允许管理 IP。
4) 防火墙:使用 ufw 或 iptables,示例:sudo ufw allow 2202/tcp; sudo ufw allow 80,443/tcp; sudo ufw enable。
5) 安装 fail2ban:sudo apt install fail2ban,创建 jail.local 保护 SSH 与 web 登录,减少暴力破解风险。
答:关键是自动化脚本、异地存储与保留策略。常见方案为:打包、上传、清理与告警。
1) 数据备份脚本(示例):
#!/bin/bash
NOW=$(date +%F)
tar -czf /var/backups/site_$NOW.tar.gz /var/www /etc/nginx
mysqldump -u root -p'密码' --all-databases > /var/backups/db_$NOW.sql
2) 使用 rsync/scp 将备份传到另一台服务器:rsync -avz /var/backups/ user@remote:/backups/。
3) 推荐使用 rclone 同步到云端(S3、B2、Google Drive):配置一次后可通过 rclone sync 定期上传。
4) 使用 cron 定时任务:0 2 * * * /usr/local/bin/backup.sh,并用 find 删除旧备份:find /var/backups -type f -mtime +30 -delete。
答:针对服务的加固包含配置优化、TLS 强化、权限限制与漏洞最小化。
1) 隐藏版本信息:Nginx 编辑 server_tokens off;。Apache 设置 ServerSignature Off。
2) SSL/TLS:使用 Let's Encrypt+Certbot,强制使用 TLS1.2/1.3,配置强加密套件并启用 HSTS。
3) 限流与防火墙:使用 ngx_http_limit_req_module、mod_evasive 或 Web 应用防火墙(如 ModSecurity)。
确保网站目录权限最小化(www-data 运行),避免 777 权限;禁用不必要的模块。
1) 运行 mysql_secure_installation,移除匿名用户、test 数据库并设置强 root 密码。
2) 在 my.cnf 中将 bind-address 设置为 127.0.0.1(如非必要不开放远程连接)。
3) 为应用创建最小权限账号,启用 SSL 连接并定期备份数据库(mysqldump 或 Xtrabackup)。
答:先做好检测,再隔离与恢复;关键步骤是收集证据并阻断攻击面。
查看登录与异常连接:sudo cat /var/log/auth.log | tail -n 200、last -a。
检查网络连接与监听端口:sudo ss -tulpn 或 netstat -tulpn。
列出异常进程与启动项:ps aux --sort=-%mem | head、检查 /etc/cron.*、crontab 与 ~/.ssh/authorized_keys。
1) 立即更改所有管理账号密码与撤销可疑 SSH 密钥;2) 将受影响实例隔离(断网或限制出/入流量);3) 从可信备份恢复或在隔离环境中做取证;4) 使用 rkhunter、chkrootkit、lynis 做进一步扫描。
若涉及严重隐私/合规,建议保留日志与镜像并尽快联系专业应急团队处理,避免随意删除痕迹影响后续取证。
答:备份不是万能,必须验证可恢复性并定期演练恢复流程。
1) 校验备份完整性:对生成的备份文件计算校验和(md5/sha256),或使用像 restic、borg 这类自带校验功能的备份工具(示例:restic check)。
2) 自动化恢复演练:每月在隔离测试环境执行一次恢复脚本,恢复网站文件与数据库并做基本功能测试(如首页加载、登录接口)。
3) 编写恢复脚本与恢复手册:包含 DNS 切换、证书重置、DB 恢复命令与回滚步骤,确保遇到故障时可由非开发人员按流程操作。
4) 保留多份备份策略(本地+异地+快照),并设置不同保留周期(热备 7 天、冷备 30/90 天)。
