面向 Ubuntu 的 Exploit 防护与用户数据保护
一 预防优先 缩小攻击面
- 保持系统与软件为最新:定期执行 sudo apt update && sudo apt upgrade,并在可用时启用自动更新,及时应用安全补丁,降低被已知漏洞利用的风险。
- 启用并正确配置防火墙:使用 UFW 仅放行必要端口(如 SSH 22),对数据库、管理接口等仅限内网访问。
- 强化远程访问:禁用 root 登录,使用 SSH 密钥 替代口令,限制可登录用户与来源网段。
- 最小权限与清理:卸载不必要的软件与服务,按“最小权限原则”分配账号权限,减少被攻陷后的横向移动空间。
- 加固关键文件与目录权限:例如将 /etc/shadow 权限设为 400 且属主为 root:shadow,将 /var/spool/cron 设为 700 且属主为 root:root,降低本地提权与持久化风险。
- 账号口令与登录保护:配置登录失败锁定(如 pam_tally2 或 pam_faillock:失败 5 次锁定 600 秒)、设置密码最长使用期(如 chage -M 90 用户名),并限制 su 仅对 wheel 组开放。
- 入侵防护与日志监控:部署 fail2ban 缓解暴力破解,持续审计 /var/log/auth.log、/var/log/syslog 等日志,必要时引入 IDS/IPS 做异常检测。
二 加密与备份 让数据“拿不走、丢不掉”
- 全盘加密:安装系统或新增数据盘时使用 LUKS/dm-crypt 对整盘/分区加密,系统启动即要求解密口令,物理丢失也不泄露明文。
- 目录级加密:对敏感目录使用 eCryptfs(如迁移主目录),或采用 VeraCrypt 创建加密容器/分区,适合细粒度保护与按需挂载。
- 文件级加密:用 GnuPG 对重要文件/归档进行非对称加密,便于分享与传输;也可使用 OpenSSL 进行对称加密(如 aes-256-cbc)。
- 备份策略:定期做离线/异地/版本化备份,并对备份数据同样加密;在遭遇入侵或勒索时,优先用“干净备份”恢复,避免把受污染快照还原回生产。
三 被入侵时的应急与数据保全
- 立即隔离:第一时间断开网络(拔网线/关闭 Wi‑Fi/隔离 VPC 安全组),防止扩散与数据外泄。
- 快速止血:暂停可疑服务,回滚最近变更,临时封禁攻击源 IP,并保留现场(内存/磁盘快照)以便取证。
- 定位与修复:审计 auth.log 等日志还原入侵时间线,依据 Ubuntu 安全公告 获取并应用补丁;无法立即修复时,临时下线服务或启用替代方案。
- 可信恢复:仅从“离线、未挂载、校验通过”的备份恢复;恢复后强制重置全量口令、撤销可疑 SSH 密钥,并核查 cron、自启动项与系统服务的持久化痕迹。
- 通报与复盘:按合规要求通知相关方,开展安全审计与加固,补齐策略与监控短板,形成闭环。
四 关键配置与命令清单
| 目标 |
操作要点 |
命令示例 |
| 系统更新 |
更新索引并升级,必要时重启 |
sudo apt update && sudo apt upgrade && sudo reboot |
| 防火墙最小化 |
仅放行 SSH |
sudo ufw allow 22/tcp && sudo ufw enable |
| 禁用 root 登录 |
修改 SSH 配置 |
sudo sed -i ‘s/^PermitRootLogin.*/PermitRootLogin no/’ /etc/ssh/sshd_config && sudo systemctl restart ssh |
| 登录失败锁定 |
失败 5 次锁定 600 秒 |
echo “auth required pam_faillock.so preauth silent deny=5 unlock_time=600” |
| 限制 su |
仅 wheel 组可用 |
echo “auth required pam_wheel.so use_uid” |
| 关键文件权限 |
shadow 400,cron 700 |
sudo chmod 400 /etc/shadow && sudo chown root:shadow /etc/shadow && sudo chmod 700 /var/spool/cron && sudo chown root:root /var/spool/cron |
| 全盘加密 |
LUKS 分区 |
sudo cryptsetup luksFormat /dev/sdX && sudo cryptsetup open /dev/sdX enc && sudo mkfs.ext4 /dev/mapper/enc && sudo mount /dev/mapper/enc /mnt |
| 目录加密 |
eCryptfs 迁移主目录 |
sudo apt install ecryptfs-utils && sudo ecryptfs-migrate-home -u <用户名> |
| 文件加密 |
GnuPG 对称加密 |
gpg -c 或 gpg -e -r <邮箱> |
| 备份与校验 |
加密备份并做校验 |
tar czf - <数据> |
提示:执行涉及加密与权限变更的操作前,务必先做好完整备份,并在非生产环境验证流程。