温馨提示×

fetchlinux ubuntu安全设置

小樊
41
2025-12-10 21:25:10
栏目: 智能运维

Ubuntu 安全设置与 FetchLinux 加固实践

一 基线加固清单

  • 保持系统与内核为最新:执行 sudo apt update && sudo apt full-upgrade -y,并重启;为关键补丁建立变更记录与回滚预案。
  • 创建非 root 管理用户并加入 sudo:例如 adduser deploy;usermod -aG sudo deploy;日常以普通用户登录,提权用 sudo。
  • 强化 SSH:禁用 root 登录(PermitRootLogin no)、仅允许 密钥登录(PasswordAuthentication no)、可更改默认端口(Port 2222);修改前务必保留一条当前会话,避免被锁。
  • 启用 UFW 防火墙:默认拒绝入站(sudo ufw default deny incoming)、放行必要端口(如 22/80/443 或自定义 SSH 端口),启用日志(sudo ufw logging on)。
  • 开启 自动安全更新:安装 unattended-upgrades,配置仅安装安全更新,定期清理。
  • 部署 Fail2ban:防护 SSH 等服务的暴力破解,按需要自定义 bantime、findtime、maxretry。
  • 启用 日志审计与告警:配置 Logwatch 或等效方案,按日/周发送摘要;关键日志集中采集与留存。
  • 文件与目录权限:用户主目录建议 0700;敏感文件(如 ~/.ssh/authorized_keys)0600;服务目录遵循最小权限原则。

二 防火墙与 SSH 快速配置

  • UFW 最小化放行示例(先放行 SSH 再启用,避免失联):
    • 查看状态:sudo ufw status verbose
    • 放行 SSH(若已改端口,将 22 替换为实际端口):sudo ufw allow 22/tcp
    • 放行 Web:sudo ufw allow 80,443/tcp
    • 默认策略与启用:sudo ufw default deny incoming;sudo ufw default allow outgoing;sudo ufw enable
  • 可选:仅允许可信网段访问 SSH(示例为办公网段):sudo ufw allow from 203.0.113.0/24 to any port 22
  • SSH 安全要点(/etc/ssh/sshd_config):
    • PermitRootLogin no
    • PasswordAuthentication no(确保本机已部署密钥后再关闭)
    • Port 2222(示例)
    • 修改后执行:sudo systemctl restart sshd
  • 提示:若使用云厂商安全组,请与其规则保持一致,避免误封。

三 自动更新与入侵防护

  • 自动安全更新(仅安全仓库):
    • 安装:sudo apt install unattended-upgrades
    • 启用周期任务(/etc/apt/apt.conf.d/10periodic):
      • APT::Periodic::Update-Package-Lists “1”;
      • APT::Periodic::Download-Upgradeable-Packages “1”;
      • APT::Periodic::AutocleanInterval “7”;
      • APT::Periodic::Unattended-Upgrade “1”;
    • 仅启用安全更新(/etc/apt/apt.conf.d/50unattended-upgrades):
      • Unattended-Upgrade::Allowed-Origins { “Ubuntu <你的发行版>-security”; };
  • Fail2ban(示例为 SSH 防护):
    • 安装:sudo apt install fail2ban
    • 复制配置:sudo cp /etc/fail2ban/jail.{conf,local}
    • 启用 SSH 监狱:在 jail.local 中确保 [sshd] 段 enabled = true,并设置 bantime/findtime/maxretry
    • 重启:sudo systemctl restart fail2ban
    • 查看状态:sudo fail2ban-client status ssh

四 用户与权限最小化

  • 用户与组:
    • 新增用户:sudo adduser alice;将用户加入 sudo 组:sudo usermod -aG sudo alice
    • 删除用户:sudo deluser --remove-home bob
  • 主目录与 SSH 密钥:
    • chmod 700 /home/alice
    • chmod 600 /home/alice/.ssh/authorized_keys
  • 文件权限范式:
    • 目录常用 755(rwxr-xr-x),文件常用 644(rw-r–r–);仅对可执行文件设置 +x
  • ACL 精细授权(可选):
    • 授予用户 bob 对 /data 只读:setfacl -m u:bob:r-x /data
    • 查看 ACL:getfacl /data

五 关于 FetchLinux 的采用建议

  • 工具定位:FetchLinux 用于自动化更新/维护用户管理等运维任务,可作为加固的辅助手段,但不能替代内核/SSH/防火墙等基础安全控制。
  • 实践要点:
    • 若采用 FetchLinux 管理更新,建议将其以最小权限的系统用户运行(如创建 fetchlinux 用户/组,限制 sudo 能力),并通过 systemd 管理;变更前做好配置与仓库镜像的备份。
    • 若采用 FetchLinux 的用户管理功能,遵循“最小权限”与“可审计”原则,所有变更通过工单/版本控制留痕。
    • 无论是否使用 FetchLinux,都应保留上述基线加固措施(SSH、UFW、自动安全更新、Fail2ban 等)。

0