Ubuntu 更新与防护 Exploit 的实用清单
一 核心更新与补丁管理
- 手动更新与补丁
- 更新索引并安装更新:sudo apt update && sudo apt upgrade
- 处理依赖变化:sudo apt full-upgrade
- 清理无用依赖:sudo apt autoremove
- 仅查看可升级的安全更新:sudo apt list --upgradable | grep -i security
- 启用自动安全更新
- 安装并启用无人值守升级:sudo apt install unattended-upgrades && sudo dpkg-reconfigure unattended-upgrades
- 配置仅安全源(示例):编辑 /etc/apt/apt.conf.d/50unattended-upgrades,确保包含
- Unattended-Upgrade::Allowed-Origins { “${distro_id}:${distro_codename}-security”; “${distro_id}ESM:${distro_codename}”; };
- 启用每日自动更新:编辑 /etc/apt/apt.conf.d/20auto-upgrades,设置
- APT::Periodic::Update-Package-Lists “1”;
- APT::Periodic::Download-Upgradeable-Packages “1”;
- APT::Periodic::AutocleanInterval “7”;
- APT::Periodic::Unattended-Upgrade “1”;
- 测试自动更新:sudo unattended-upgrade --dry-run
- 查看自动更新日志:cat /var/log/unattended-upgrades/unattended-upgrades.log
- 图形界面更新
- 打开“Software Updater”(命令:update-manager),按提示安装更新。
二 加固系统与网络以减少被利用面
- 防火墙最小化开放
- 启用 UFW:sudo apt install ufw && sudo ufw enable
- 仅放行必要端口(示例):sudo ufw allow ssh(或自定义端口如 2222/tcp)
- SSH 安全
- 编辑 /etc/ssh/sshd_config:
- PermitRootLogin no
- PasswordAuthentication no(配合密钥登录)
- 可选:Port 2222
- 重启服务:sudo systemctl restart sshd
- 最小服务与权限
- 仅安装必要软件,关闭不需要的服务与端口
- 日常使用普通用户,按需 sudo 提权
- 运行时防护
- 启用强制访问控制:sudo apt install apparmor apparmor-utils && sudo aa-enforce /etc/apparmor.d/(按需为关键服务加载策略)
三 监控与响应
- 入侵防护与审计
- 防暴力破解:sudo apt install fail2ban
- 系统审计与加固建议:sudo apt install lynis
- 日志与告警
- 重点日志:/var/log/auth.log(SSH 登录)、/var/log/syslog
- 配置 unattended-upgrades 邮件告警(可选):在 /etc/apt/apt.conf.d/50unattended-upgrades 设置
- Unattended-Upgrade::Mail “you@example.com”;
- Unattended-Upgrade::MailReport “only-on-error”;
- 备份与恢复
- 定期备份关键数据与配置,优先使用加密备份,确保备份可用与离线/异地存放
四 快速命令清单
- 手动更新:sudo apt update && sudo apt full-upgrade && sudo apt autoremove
- 仅安全更新:sudo unattended-upgrade
- 自动更新开关:编辑 /etc/apt/apt.conf.d/20auto-upgrades(将 APT::Periodic::Unattended-Upgrade 设为 “1” 启用)
- 防火墙:sudo ufw enable && sudo ufw allow ssh
- SSH 加固:sudo systemctl restart sshd(修改 /etc/ssh/sshd_config 后执行)
- 日志与审计:tail -f /var/log/auth.log,sudo lynis --check-all,cat /var/log/unattended-upgrades/unattended-upgrades.log
五 实践建议
- 变更前备份与回滚预案;变更窗口内优先处理内核/SSH/防火墙等关键组件
- 生产环境先测试再推广,必要时分阶段灰度更新
- 对面向公网的服务(如 SSH/HTTP/数据库)优先加固与限流,避免暴露不必要的端口与组件