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 分钟必做(高危防护):
- 更新系统 + unattended-upgrades
- 禁用 root 登录 + 只密钥认证
- 配置 UFW 只开必要端口
- 启用 Fail2Ban
上线后 1–3 天(中级加固):
- AppArmor 检查 + USG audit
- 日志持久化 + Fail2Ban 扩展
- 内核参数调优
生产长期维护:
- Ubuntu Pro + Livepatch
- 每月 USG/Lynis 扫描
- 中央日志 + 告警
这些配置组合可将 90% 以上的自动化攻击挡在门外,同时保持运维友好。