首页/安全/漏洞与攻击面速查/Spark 集群管理接口风险
主机与服务风险面53 条

Spark 集群管理接口风险

Spark Master(7077)与 Web UI(8080/8081 等)在默认配置下无认证;可达者可以提交任务、查看应用详情,任务能力最终落到集群节点执行。

漏洞与攻击面速查安全更新于 2026-10-13

Spark 集群接口的风险

Spark 的 Standalone 集群里,Master 的 RPC 端口(默认 7077)与 Web UI(常见 8080/8081)默认不带认证;可达者可以查看应用详情、节点状态,甚至提交任务,而任务最终在集群节点上执行,等于间接获得节点执行能力。YARN 托管模式下认证由 YARN 统一负责,自建 Standalone 集群则需要自行补齐。

基本信息

主要端口7077(Master RPC)、8080/8081(Web UI)
默认认证无(需显式开启 spark.authenticate)
认证配置spark.authenticate=true 并分发共享密钥文件
部署模式Standalone 需自行加固,YARN 模式由 YARN 统一认证
核查方式HTTP 探测 UI,确认可达范围与认证状态

典型使用场景

  • 暴露面盘点:确认 7077 与 UI 端口是否对业务网之外可达
  • 认证评估:确认 spark.authenticate 是否开启并已分发密钥
  • 多租户治理:为不同业务划分队列与资源池,限制提交权限
  • 过渡加固:无法立即上认证时先收敛来源网段与端口暴露
  • 事后排查:结合集群日志核查是否有异常任务提交

加固要点

加固要点
1. 启用认证:spark.authenticate=true + 共享密钥文件
2. 管理 UI 限制来源网段,不暴露公网
3. 队列与资源池划分,限制业务提交权限
4. 不使用默认端口段直接对外暴露
5. 开启事件日志与审计,便于回溯任务提交来源
6. Standalone 集群重点加固 Master,YARN 模式则复用 YARN 认证体系

核查命令

核查命令
curl -s --max-time 3 http://127.0.0.1:8080/ | head -c 120       # UI 可达性
curl -s http://127.0.0.1:8080/json/ | head -c 200               # 集群与应用概况
# 返回内容说明接口可达,需结合认证与来源限制判断是否受控

端口与用途

端口用途暴露后果
7077Master RPC可提交任务、影响集群调度
8080Master Web UI查看应用与节点信息
8081Worker Web UI查看节点资源与执行器
4040 等应用 UI查看单个应用详情与执行计划
YARN 托管模式下的 Spark 任务由 YARN 统一认证管理,自建 Standalone 集群则要自行补认证:评估前先确认部署模式,否则会照着不适用的一套方案整改。
把 UI 端口按惯例开放给整个内网是常见做法,但 UI 往往与提交接口在同一网络域:任务提交能力等于节点执行能力,收敛时要按这个风险等级来排优先级。

易错点

  • 把 UI 端口按惯例开放给整个内网:任务提交能力等于节点执行能力
  • 只收敛 UI 端口忽略 7077:RPC 端口仍可被用于提交任务
  • 密钥文件分发到所有节点且权限过宽:认证机制在有权限的节点上形同虚设
  • 照搬 YARN 模式的加固方案到 Standalone:认证责任方不同,整改方向完全错误

数据来源与参考

  • Apache Spark 官方文档(Security)
​‌‌​​‌​​​‌‌​‌‌‌‌​‌‌​​​‌‌​‌‌‌​​‌‌​​‌​‌‌‌​​‌‌‌​​​‌​‌‌​‌​​‌​‌‌‌​​​‌​‌‌​‌​​‌​‌‌​​​‌‌​‌‌‌​‌​​​‌‌​‌‌‌‌​​‌​‌‌‌​​‌‌​​​‌‌​‌‌​‌‌‌‌​‌‌​‌‌​‌