温馨提示×

如何加强Ubuntu系统的安全性以防止Exploit

小樊
38
2025-12-12 05:37:52
栏目: 智能运维

Ubuntu 系统防 Exploit 加固清单

一 基础与补丁管理

  • 使用受支持的 Ubuntu LTS 版本(如 22.04 LTS24.04 LTS);若短期内无法升级,可订阅 Ubuntu Pro 延长安全维护周期。
  • 启用自动安全更新:安装并配置 unattended-upgrades,确保仅自动安装安全仓库更新。
  • 保留手动核查流程:定期执行更新、清理无用包,降低风险暴露时间。
  • 快速命令示例:
    • 安装与启用自动更新:
      sudo apt install unattended-upgrades
      sudo dpkg-reconfigure --priority=low unattended-upgrades
    • 配置仅安全源(/etc/apt/apt.conf.d/50unattended-upgrades):确保包含
      Unattended-Upgrade::Allowed-Origins { “${distro_id}:${distro_codename}-security”; };
    • 每日检查与安装(/etc/apt/apt.conf.d/20auto-upgrades):
      APT::Periodic::Update-Package-Lists “1”;
      APT::Periodic::Unattended-Upgrade “1”;
    • 手动更新与清理:
      sudo apt update && sudo apt upgrade
      sudo apt full-upgrade
      sudo apt autoremove
    • 验证自动更新日志:cat /var/log/unattended-upgrades/unattended-upgrades.log

二 网络与边界防护

  • 使用 UFW 实施最小暴露面:默认拒绝入站、放行必要出站,仅开放 SSH/HTTP/HTTPS 等必需端口。
  • 对 SSH 实施连接速率限制,缓解暴力破解。
  • 快速命令示例:
    • 初始化与放行:
      sudo apt install ufw -y
      sudo ufw default deny incoming
      sudo ufw default allow outgoing
      sudo ufw allow OpenSSH
      sudo ufw allow http
      sudo ufw allow https
      sudo ufw enable
    • 速率限制(对默认 SSH 端口):sudo ufw limit ssh
    • 如更改 SSH 端口(例如 2222),请同步放行:sudo ufw allow 2222/tcp

三 身份与远程访问安全

  • 禁用 root 远程登录,使用普通用户 + sudo 执行特权操作。
  • 强制使用 SSH 密钥认证,禁用密码登录,显著降低凭证泄露与爆破风险。
  • 可结合更改默认端口、限制可登录用户/来源网段,进一步减少噪声攻击。
  • 快速配置示例(/etc/ssh/sshd_config):
    • PermitRootLogin no
    • PasswordAuthentication no
    • PubkeyAuthentication yes
    • Port 2222(可选)
    • AllowUsers youruser(可选,限制可登录用户)
    • 修改后重启:sudo systemctl restart sshd
  • 注意:调整端口或禁用密码前,务必先完成密钥登录验证并保留一个已验证的控制通道,避免被锁死。

四 进程与内核加固

  • 启用并正确使用 AppArmor(Ubuntu 默认内置),为关键服务(如 sshdnginx、自定义应用)加载或编写策略,限制越权访问。
  • 保持系统最小化:卸载不必要的软件包与内核模块,关闭不需要的端口/服务,减少攻击面。
  • 快速操作示例:
    • 查看与启用 AppArmor:
      sudo apparmor_status
      sudo systemctl enable --now apparmor
    • 按需为应用生成/调整策略:
      sudo aa-genprof /path/to/app
      sudo aa-enforce /path/to/profile
    • 审计与排查:journalctl -xe | grep apparmor
  • 说明:Ubuntu 默认使用 AppArmor;如采用 SELinux,需另行安装与配置。

五 监测响应与备份恢复

  • 部署 Fail2ban 保护 SSH 等暴露服务,自动封禁反复失败的来源 IP。
  • 集中审计关键事件:启用 auditd 记录系统调用与关键操作,便于取证与合规。
  • 常态化日志核查:关注认证失败、异常进程、可疑网络连接等迹象。
  • 建立离线与加密的 备份 与恢复演练机制,确保被入侵后可快速还原。
  • 快速命令示例:
    • Fail2ban:
      sudo apt install fail2ban
      sudo cp /etc/fail2ban/jail.conf /etc/fail2ban/jail.local

      在 jail.local 的 [sshd] 段按需设置:enabled = true, port, maxretry, bantime, findtime

      sudo systemctl restart fail2ban
      sudo fail2ban-client status sshd
    • 审计:
      sudo apt install auditd audispd-plugins
      sudo systemctl enable --now auditd
    • 日志核查:
      sudo journalctl -xe
      tail -f /var/log/auth.log
    • 备份示例:rsync -avz /data/ user@backup:/backup/
  • 事件响应要点:立即隔离受害主机、定位入侵向量(如 /var/log/auth.log)、应用紧急补丁或临时停用受影响服务、从干净备份恢复并复盘改进。

0