开发云安全审计报告 | AI生成和翻译

Home 2026.06

================================================================
  安全审计报告 — 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 实例。

需要我应用这些加固修复吗?


Back Donate