保持系统与软件更新(最核心修复措施)
定期更新Ubuntu系统和所有已安装软件是修复Exploit漏洞的基础。通过sudo apt update更新本地软件包索引,sudo apt upgrade安装所有可用更新(包括安全补丁),sudo apt full-upgrade处理涉及新依赖项的重大升级(如内核更新)。建议开启自动更新,编辑/etc/apt/apt.conf.d/20auto-upgrades设置APT::Periodic::Update-Package-Lists "1"(每天更新包列表)、APT::Periodic::Unattended-Upgrade "1"(自动安装安全更新),并安装unattended-upgrades工具(sudo apt install unattended-upgrades)以实现无干预修复。
针对特定Exploit的临时/永久修复
sudo sysctl -w kernel.unprivileged_userns_clone=0禁用,或永久生效(创建/etc/sysctl.d/99-disable-unpriv-userns.conf文件,写入kernel.unprivileged_userns_clone=0,再运行sudo sysctl -p加载配置)。nf_tables),可通过lsmod | grep nf_tables检查模块是否加载,若未加载则创建黑名单文件(/etc/modprobe.d/nf_tables-blacklist.conf,内容为blacklist nf_tables),重启系统后禁用该模块。强化系统安全配置(降低漏洞利用风险)
/etc/ssh/sshd_config,设置PermitRootLogin no(禁止root直接登录)、PasswordAuthentication no(禁用密码认证,改用密钥),并更改默认SSH端口(如Port 2222),重启SSH服务(sudo systemctl restart sshd)以减少远程Exploit风险。ufw(Uncomplicated Firewall)限制入站连接,运行sudo ufw allow ssh(允许SSH)、sudo ufw allow http(允许HTTP)、sudo ufw allow https(允许HTTPS),再启用防火墙(sudo ufw enable),仅开放必要端口。sudo useradd -m username添加用户,sudo passwd username设置密码,再通过sudo usermod -aG sudo username授予sudo权限。避免使用弱密码,使用chage -M 90 username设置密码过期时间(90天),强制用户定期更换密码。监控与应急响应(应对已知/未知Exploit)
/var/log/auth.log(认证日志)、/var/log/syslog(系统日志),使用grep、awk等工具分析异常登录(如多次失败尝试)、未授权访问痕迹。安装fail2ban(sudo apt install fail2ban)自动封禁恶意IP(如连续5次登录失败,封禁1小时),减少Exploit尝试成功率。history命令查看可疑命令,检查新增用户(/etc/passwd)、进程(ps aux)、文件(find / -mtime -1)。应用Ubuntu官方发布的安全补丁(sudo apt update && sudo apt upgrade),若暂无补丁则采用临时解决方案(如禁用相关功能、修改配置),最后从备份(sudo tar -czvf backup.tar.gz /home /etc)恢复数据,确保备份未被感染。