开发云安全审计报告 | AI生成和翻译
================================================================
安全审计报告 — 129.212.187.36
AMD 开发云 MI300X 实例
扫描日期: 2026-06-01 12:42 CST
================================================================
开放端口(从外部)
─────────────────────────────────────────────
22/tcp 开放 SSH (OpenSSH 9.6p1 Ubuntu)
80/tcp 开放 HTTP (Caddy, 返回 502)
所有其他常见端口: 已关闭
仅内部服务(未暴露)
─────────────────────────────────────────────
127.0.0.1:5000 amd-metrics-exp (GPU 指标)
127.0.0.1:2019 Caddy 管理 API
*:6601 amd-metrics-exp (被 UFW 阻止)
*:50061 gpuagent (被 UFW 阻止)
防火墙 (UFW — 已启用)
─────────────────────────────────────────────
22/tcp 限制 (速率限制,良好)
80/tcp 允许 (对公网开放)
443 允许 (对公网开放)
6601 拒绝 (指标端口已阻止)
50061 拒绝 (gpuagent 已阻止)
默认: INPUT 策略为 ACCEPT (危险 — 见下文)
Fail2ban: 已启用 ✓
================================================================
发现项
================================================================
[严重] 允许 root 登录且无密码认证
────────────────────────────────────────────────────
PermitRootLogin yes
仅公钥认证有效 (PasswordAuthentication 未设置,在 Ubuntu 中默认为 yes)。
如果有人添加了密码或公钥泄露,root 将完全失陷。
修复: 设置 "PermitRootLogin prohibit-password" 或 "no"
创建非 root 用户,禁用 root SSH。
[高危] 仅 root 拥有 shell
────────────────────────────────────────────────────
只有 root:x:0:0 拥有 /bin/bash。所有服务以 root 身份运行。
任何服务被攻破 = 立即获得完整 root 权限。
修复: 创建普通用户,使用 sudo。
[高危] HTTP 端口 80 对公网开放 (Caddy 502)
────────────────────────────────────────────────────
Caddy 正在运行但返回 502 Bad Gateway — 未配置后端。
攻击面包括:
- Caddy 版本指纹识别
- 未来代理配置错误
- 管理 API 暴露 (当前仅限 localhost,良好)
修复: 如不需要,在 UFW 中阻止端口 80。
[中危] INPUT 策略为 ACCEPT
────────────────────────────────────────────────────
UFW 已启用但 iptables INPUT 默认策略为 ACCEPT。
任何未明确拒绝的端口,如果服务绑定到 0.0.0.0 即可访问。
对 6601/50061 的 DENY 规则承担了主要防护工作。
修复: ufw default deny incoming
[中危] X11 转发已启用
────────────────────────────────────────────────────
对于无头 GPU 服务器不必要。存在基于 X11 的利用攻击面。
修复: 在 sshd_config 中设置 "X11Forwarding no"。
[低危] SSH 横幅泄露操作系统和版本
────────────────────────────────────────────────────
SSH-2.0-OpenSSH_9.6p1 Ubuntu-3ubuntu13.16
告知攻击者确切的版本以便搜索 CVE。
修复: 风险较低 — 保持 OpenSSH 更新补丁。
[低危] 端口 6601/50061 绑定到 0.0.0.0
────────────────────────────────────────────────────
服务绑定到所有接口但 UFW 阻止了它们。
如果 UFW 被禁用,这些端口将立即暴露。
修复: 如不需要外部访问,绑定到 127.0.0.1。
[良好] Fail2ban 已启用
[良好] SSH 使用公钥认证 (无密码提示)
[良好] GPU 指标/代理端口已被 UFW 拒绝
[良好] Caddy 管理 API 仅限 localhost
================================================================
攻击模拟总结
================================================================
如果 IP 泄露,攻击者将看到:
1. SSH 端口 22 — 可尝试暴力破解 (受 fail2ban + UFW 速率限制)。
仅密钥认证阻止密码攻击。但允许 root 登录。
2. HTTP 端口 80 — Caddy 指纹识别,502 错误。
当前无可利用的应用。
3. 其他所有端口 — 已关闭。
风险等级: 中等
该机器并非完全开放,但 root SSH + ACCEPT 默认策略意味着
一个错误配置就可能导致全面沦陷。
================================================================
前三大修复 (共需 10 分钟)
================================================================
1. 禁用 root SSH 登录:
sed -i 's/PermitRootLogin yes/PermitRootLogin no/' /etc/ssh/sshd_config
systemctl restart sshd
2. 默认拒绝入站:
ufw default deny incoming
ufw reload
3. 如未使用则阻止 HTTP:
ufw deny 80/tcp
ufw reload
结论: 如果 IP 泄露,攻击面很小 (SSH + 无响应的 HTTP),但 root 登录 + 宽松的默认策略 是真正的风险。Fail2ban 能争取时间,但对于持有泄露密钥或 OpenSSH 9.6 零日漏洞的坚定攻击者来说,他们有一条直达 root 权限的路径,而这台机器是 $2/小时的 MI300X 实例。
需要我应用这些加固修复吗?