温馨提示×

ubuntu exploit如何加强系统安全

小樊
41
2025-12-14 04:49:19
栏目: 智能运维

面向 Ubuntu 的 Exploit 防护与系统加固清单

一 基础防护与补丁管理

  • 保持系统与软件包为最新:执行sudo apt update && sudo apt upgrade,必要时使用sudo apt dist-upgrade;为关键主机启用无人值守安全更新 unattended-upgrades,仅自动安装安全更新,减少暴露窗口。
  • 关注并快速响应**Ubuntu Security Notices(USN)**与相关 CVE,出现高危漏洞时优先评估与回滚窗口,先小流量验证再全网升级。
  • 仅安装必要软件,定期清理不再使用的包与仓库,降低攻击面。

二 网络与远程访问加固

  • 启用并收紧UFW:默认拒绝入站、放行出站;仅开放业务必需端口(如 SSH 22/自定义端口、80、443),示例:
    • sudo ufw default deny incoming
    • sudo ufw default allow outgoing
    • sudo ufw allow OpenSSH 或 sudo ufw allow 2222/tcp
    • 对 SSH 可启用速率限制:sudo ufw limit ssh(每分钟约 6 次尝试后触发限制)
  • 强化 SSH
    • 禁用 root 登录:将**/etc/ssh/sshd_config** 中 PermitRootLogin no
    • 使用密钥登录并禁用密码认证:PasswordAuthentication no
    • 更改默认端口并限制可登录用户/组:Port 2222AllowUsers/AllowGroups
    • 修改后重启 SSH 服务以生效
  • 边界与主机加固:仅暴露必要端口;在云环境配合安全组/NACL做最小暴露面。

三 身份鉴别与账户权限

  • 禁用 root 远程登录,创建普通管理员账号并加入 sudo,日常以最小权限运维。
  • 登录失败锁定:在 /etc/pam.d/common-auth/etc/pam.d/sshd 中加入失败锁定策略,示例:
    • auth required pam_faillock.so preauth silent deny=5 unlock_time=600(5 次失败锁定 10 分钟)
  • 限制 su 到 root:在 /etc/pam.d/su 增加 auth required pam_wheel.so use_uidgroup=wheel,仅允许 wheel 组成员切换 root。
  • 口令与账号生命周期:设置复杂度策略定期更换;对关键账号配置密码过期(如 chage -M 90 用户名),避免长期使用同一口令。

四 服务隔离与系统完整性

  • 最小权限运行服务:为服务配置专用非 root 用户/组(在 systemd service 中设置 User=Group=),减少被攻破后的横向权限提升。
  • 强制访问控制:启用并管理 AppArmor,为关键应用加载或编写策略,示例:
    • 查看状态:sudo apparmor_status
    • 生成/强制策略:sudo aa-genprof /path/to/app;sudo aa-enforce /path/to/profile
  • 文件与目录权限:收紧敏感文件权限,示例:
    • sudo chmod 400 /etc/shadow;sudo chown root:shadow /etc/shadow
    • sudo chmod 700 /var/spool/cron;sudo chown root:root /var/spool/cron
  • 内核与网络防护:在 /etc/sysctl.conf 中启用安全项并应用:
    • net.ipv4.conf.all.rp_filter=1;net.ipv4.conf.default.rp_filter=1
    • net.ipv4.conf.all.accept_source_route=0;net.ipv4.conf.default.accept_source_route=0
    • 执行:sudo sysctl -p

五 入侵检测、日志审计与应急响应

  • 入侵防护:部署 Fail2ban 保护 SSH 等暴露服务,示例(/etc/fail2ban/jail.local):
    • [sshd] enabled = true;port = ssh;maxretry = 5;bantime = 3600;findtime = 600
    • 重启服务:sudo systemctl restart fail2ban;查看状态:sudo fail2ban-client status sshd
  • 日志与审计:集中关注 /var/log/auth.log/var/log/syslog,使用 Logwatch 或 SIEM 做趋势与告警;定期用 OpenVAS/Nessus 扫描漏洞。
  • 恶意代码防护:安装并更新 ClamAV 等反恶意软件工具,定期查杀与基线比对。
  • 备份与演练:对关键数据与配置做加密离线/异地备份,定期演练恢复流程。
  • 事件响应:一旦怀疑被入侵,立即隔离网络、保留现场并从干净备份恢复;随后进行全面审计与加固,必要时上报相关方。

0