Skip to content

05 — 安全基线 ​

采集时间:2026-11-08 04:00 CST


1. 风险总览 ​

#检查项当前状态等级
1SSH 允许 root 登录PermitRootLogin yes(但密码认证已关,只能凭密钥)🟡 低
2SSH 允许密码认证✅ 已关闭(2026-11-08)🟢 已加固
3主机防火墙✅ ufw active(22/80/443),FORWARD 已放宽供 Docker 使用🟢 已加固
4暴力破解防护✅ fail2ban 0.11.2 已安装,sshd jail 生效🟢 已加固
5系统补丁✅ 已升级 18 个包;仅 cloud-init(被 hold)未升级🟢 已加固
6Swap✅ 已添加 2 GB,vm.swappiness=10🟢 已加固
7云安全组未知,需控制台核对❓ 未知
8非 root 登录账号无🟢 良好
9sudo 组成员无(仅 root 可直接提权)🟢 良好
10AppArmorenabled,40 profile 全部 enforce🟢 良好
11SUID 文件15 个,全部为系统标准🟢 良好
12失败 systemd 单元0🟢 良好

2. SSH 配置(有效值) ​

来源:sshd -T(真实生效值,非配置文件文本)

配置项值评估
port22默认端口,易被扫描
listenaddress0.0.0.0:22, [::]:22全网卡监听
permitrootloginyes🟡 密码认证已关,实际只能凭密钥
passwordauthentication✅ no🟢 2026-11-08 已关闭
pubkeyauthenticationyes✅ 密钥登录
permitemptypasswordsno✅
maxauthtries6✅ 合理
maxsessions10—
clientaliveinterval60✅ 2026-11-08 配置(防断连)
clientalivecountmax10✅ 2026-11-08 配置
tcpkeepaliveyes✅
x11forwarding✅ no🟢 2026-11-08 已关闭
allowtcpforwardingyes🟡 可考虑限制
logingracetime120 秒—
bannernone—

配置文件与密钥 ​

项内容
Drop-in 目录/etc/ssh/sshd_config.d/
自定义文件99-keepalive.conf(2026-11-08 新建)
authorized_keys 条数1
已授权密钥ssh-ed25519 ... dsh@DESKTOP-07CR7FO(2026-11-08 新增)

注意:authorized_keys 中只有本次新增的这一把密钥,没有其他历史密钥残留。


3. 账号 ​

检查项结果
UID 0 账号仅 root ✅
有登录 shell 的普通用户(uid≥1000)无
sudo 组成员无(sudo:x:27:,成员列表为空)
root 密码最后修改2026-10-30
root 密码有效期永不过期 ⚠️
root 密码最短修改间隔0 天
账号过期永不过期

这台机器只有 root 一个可用账号,没有建立任何运维普通账号。 好处是权限模型简单、无多余入口;坏处是所有操作都必须用 root,误操作无缓冲, 且无法做审计分级。生产环境建议至少建一个运维账号 + sudo。

最近登录记录 ​

用户终端来源 IP时间
rootpts/1100.104.192.189Oct 30 10:23(阿里云内网 / 控制台 VNC)
rootpts/1100.104.192.189Oct 30 10:23
rootpts/0183.228.250.26Oct 30 10:21
rootpts/1183.228.250.26Oct 30 10:04
rootpts/0100.104.93.45Oct 30 09:59(阿里云内网)

100.104.x.x 为阿里云控制台 VNC / Cloud Shell 的出口地址,属正常。 183.228.250.26 为人工运维 IP。


4. 补丁状态 ​

项值
可升级包1(cloud-init,被 apt-mark hold 钉住)
本次已升级18 个包(2026-11-08 04:10)
被 hold 的包cloud-init、intel-microcode
需要重启否
unattended-upgrades✅ active
APT::Periodic::Update-Package-Lists1
APT::Periodic::Unattended-Upgrade1
Ubuntu Pro / ESM❌ 未启用

自动安全更新已开启,但 ESM 未启用意味着 main 之外的软件源拿不到安全补丁。 历史提示:2026-10-30 时有 64 个更新,其中 52 个安全更新。


5. 暴力破解统计 ​

项值
fail2ban✅ 已安装 0.11.2(2026-11-08)
sshd jail✅ enabled,当前封禁 0 个 IP
封禁策略10 分钟内失败 5 次 → 封 1 小时,banaction = ufw
白名单127.0.0.1/8 ::1 223.73.45.39(运维 IP)
累计 Failed password17 次(均为历史记录)
当前是否已被大规模爆破❌ 否(量很小)
密码认证✅ 已关闭 → 爆破已不可能成功

失败来源 TOP ​

来源 IP次数归属判断
47.110.180.434阿里云网段,多为云安全扫描
47.110.180.424阿里云网段
115.191.11.1823外部
47.110.180.402阿里云网段
47.101.161.582阿里云网段
47.251.165.651阿里云网段
183.228.250.261运维自己输错密码

目前量很小,但 22 端口对公网开放 + 密码认证开启 + 无 fail2ban, 被持续爆破只是时间问题。关闭密码认证是性价比最高的一步。


6. 强制访问控制(MAC) ​

项状态
AppArmor✅ enabled
已加载 profile40
enforce 模式40(全部强制执行)
SELinux未安装

7. SUID 文件(15 个,均正常) ​

/usr/bin/chsh          /usr/bin/sudo         /usr/bin/fusermount3
/usr/bin/newgrp        /usr/bin/gpasswd      /usr/bin/su
/usr/bin/umount        /usr/bin/pkexec       /usr/bin/chfn
/usr/bin/mount         /usr/bin/at           /usr/bin/passwd
/usr/libexec/polkit-agent-helper-1
/usr/lib/dbus-1.0/dbus-daemon-launch-helper
/usr/lib/openssh/ssh-keysign

全部为 Ubuntu 系统标准 SUID 程序,未发现异常提权后门。


8. 加固清单(Checklist) ​

状态项目命令 / 说明
✅ 已完成SSH 密钥免密登录2026-11-08
✅ 已完成双向 SSH 保活2026-11-08
✅ 已完成启用 ufw 防火墙2026-11-08 04:05,放行 22/80/443
✅ 已完成关闭 SSH 密码登录2026-11-08 04:16,已验证密钥登录正常
✅ 已完成关闭 X11 转发2026-11-08 04:16
✅ 已完成安装 fail2ban2026-11-08 04:17
✅ 已完成添加 2 GB Swap2026-11-08 04:17,swappiness=10
✅ 已完成应用系统补丁2026-11-08 04:10,升级 18 个包
✅ 已完成安装 Docker(含镜像加速)2026-11-08 04:11
❌ 待你本人收窄安全组 22 端口阿里云控制台(服务器内无权操作)
❌ 待你本人确认控制台 VNC 可用密钥失效时的唯一抢救通道
⏳ 待决策cloud-init 是否升级被 hold,开机关键组件,详见 09-决策记录.md
🟡 建议建立运维普通账号 + sudo便于审计
🟡 建议启用 Ubuntu Pro ESM获取完整安全补丁
🟡 注意Docker 发布端口会绕过 ufw内部服务绑定 127.0.0.1,见 02-防火墙与端口.md 第 4 节
⚪ 可选修改 SSH 端口降低扫描噪音(需同步改安全组)
⚪ 可选PermitRootLogin prohibit-password语义更清晰(当前效果等同)

⚠️ 关闭密码认证前,务必确认阿里云控制台 VNC 可登录,否则密钥丢失后无法恢复。

TenoDX · 内部文档