Ubuntu 服务器安全基础配置指南

Ubuntu 服务器安全基础配置指南

Ubuntu Server(24.04 LTS / 26.04 LTS)本身已具备较强的安全基础:默认启用 AppArmor、严格的权限模型、及时的安全更新通道,以及 Ubuntu Pro 扩展的 ESM(Extended Security Maintenance)和 Livepatch 等能力。但暴露在互联网上的服务器仍需主动加固(hardening),以应对自动化扫描、暴力破解、供应链攻击和零日漏洞。

安全配置的核心原则(defense in depth):

  • 最小化攻击面:关闭不必要服务、移除多余软件、禁用危险功能
  • 最小权限原则:root 禁用远程、普通用户 + sudo、专用服务账户
  • 深度防御:防火墙 + 入侵检测 + 日志 + 自动补丁 + 审计
  • 可审计性:所有变更可追溯、定期扫描合规性

以下按优先级从高到低整理 2026 年生产环境最推荐的基础安全配置项(适用于云 VPS、内网服务器、Web/DB 节点等)。

1. 系统更新与补丁管理(最高优先级)

及时补丁是抵御已知漏洞的最有效手段。

  • 启用 unattended-upgrades(自动安全更新,默认已装) 配置只自动安装安全源补丁,避免内核/大版本变更导致意外停机。
  • 推荐配置(/etc/apt/apt.conf.d/50unattended-upgrades):
    • 只开启 “distroid: {distro_id}: {distro_codename}-security”;
    • 开启邮件通知(Unattended-Upgrade::Mail “your@email.com”;)
    • 自动重启:Unattended-Upgrade::Automatic-Reboot “false”;(生产慎开)
  • 安装 needrestart:升级后检查需重启的服务(尤其是 libc、openssl 等共享库变更)
  • Ubuntu Pro(免费个人/小团队):
    • 启用 esm-apps / esm-infra:Universe 仓库也获官方安全补丁
    • Livepatch:无重启内核补丁(关键生产环境推荐)

2. 用户与访问控制(SSH 是首要攻击面)

  • 禁用 root 远程登录(最重要一步) PermitRootLogin no(/etc/ssh/sshd_config)
  • 只允许密钥认证(禁用密码登录) PasswordAuthentication no PubkeyAuthentication yes ChallengeResponseAuthentication no
  • 创建专用运维用户 + sudo adduser –gecos “” ops usermod -aG sudo ops 所有登录走 ops 用户 + sudo
  • 限制 sudo 命令(精细控制) 创建 /etc/sudoers.d/ops ops ALL=(ALL:ALL) ALL 或更严格:ops ALL=(ALL) NOPASSWD: /usr/bin/systemctl restart nginx
  • 更改 SSH 端口(可选,但有效减少噪音扫描) Port 2222(然后防火墙相应放行)
  • 限制允许登录的 IP(强烈推荐云服务器) 在 sshd_config 加:AllowUsers ops@你的IP/32

3. 防火墙(UFW / nftables)

Ubuntu 默认使用 ufw(简化版 iptables/nft)。

  • 基本策略:默认 deny incoming,allow outgoing sudo ufw default deny incoming sudo ufw default allow outgoing
  • 只开必要端口 sudo ufw allow from 你的IP to any port 22 proto tcp # 或新端口 sudo ufw allow 80,443/tcp sudo ufw allow 3306/tcp from 内网IP # 数据库示例
  • 启用并检查 sudo ufw enable sudo ufw status verbose

生产建议:复杂规则直接写 nftables,ufw 只做简单管理。

4. AppArmor 与服务沙箱(默认已启用)

  • 检查状态:aa-status
  • 大多数服务(如 nginx、mysql、apache)已有严格 profile
  • 自定义 profile:/etc/apparmor.d/ 下编写或 aa-genprof 生成

5. Fail2Ban(防暴力破解)

  • 安装:sudo apt install fail2ban
  • 默认配置已覆盖 sshd
  • 生产建议:监控 nginx/apache 日志、增加 ban 时间(默认 10min → 1h 或永久)

6. 日志与审计(检测入侵)

  • 启用 journald 持久化(/var/log/journal)
  • 配置 rsyslog 转发到远程(中央日志服务器)
  • 安装 auditd(系统调用审计) sudo apt install auditd audispd-plugins 配置 /etc/audit/audit.rules 监控关键文件(如 /etc/passwd、/etc/shadow)

7. 其他高价值基础加固项

  • 移除不必要包:sudo apt purge telnet ftp rsh nfs-common
  • 禁用核心转储:ulimit -c 0(/etc/security/limits.conf)
  • /tmp 安全挂载:noexec,nodev,nosuid(/etc/fstab)
  • 隐藏版本信息:nginx/apache 关 Server Tokens
  • 内核参数加固(/etc/sysctl.d/99-security.conf) net.ipv4.conf.all.rp_filter = 1 net.ipv4.tcp_syncookies = 1 kernel.kptr_restrict = 2 kernel.dmesg_restrict = 1

8. 自动化合规检查(2026 年强烈推荐)

  • Ubuntu Security Guide (USG)(Ubuntu Pro 免费功能) sudo pro enable usg sudo apt install usg sudo usg audit cis_level1_server # 或 cis_level2_server sudo usg fix cis_level1_server # 自动修复大部分项
  • Lynis(轻量审计工具) sudo apt install lynis sudo lynis audit system
  • CIS / DISA-STIG:24.04 LTS 已发布官方基准 + USG 自动化支持

总结:分级实施建议

新服务器上线 30 分钟必做(高危防护):

  1. 更新系统 + unattended-upgrades
  2. 禁用 root 登录 + 只密钥认证
  3. 配置 UFW 只开必要端口
  4. 启用 Fail2Ban

上线后 1–3 天(中级加固):

  • AppArmor 检查 + USG audit
  • 日志持久化 + Fail2Ban 扩展
  • 内核参数调优

生产长期维护

  • Ubuntu Pro + Livepatch
  • 每月 USG/Lynis 扫描
  • 中央日志 + 告警

这些配置组合可将 90% 以上的自动化攻击挡在门外,同时保持运维友好。

Telegram