YARN 暴露意味着什么
YARN 是 Hadoop 的资源调度层,ResourceManager 的 Web 界面与 REST API 默认在 8088(另有 8032 等内部端口)。默认配置下这些接口不带认证:可达者可以查看集群节点、队列与全部应用信息,部分部署还允许通过接口提交应用,而任务最终在集群节点上执行,等于间接获得资源操作能力。加固主线是启用 Kerberos 认证并把端口收敛到管理网段。
基本信息
| 主要端口 | 8088(RM Web 与 REST)、8032(RM 调度) |
|---|---|
| 默认认证 | 无(依赖 Kerberos 才具备认证) |
| 标准方案 | 启用 Kerberos,配合审计日志 |
| 过渡措施 | 限制来源网段、关闭公网暴露、只读账号 |
| 相关组件 | HDFS、Hive、Spark 常在同一网段,需一起收敛 |
典型使用场景
- 暴露面盘点:确认 8088 是否对办公网或公网可达
- 版本核查:确认当前版本是否在官方安全公告影响范围内
- 认证评估:判断集群是否已启用 Kerberos,未启用则先做网络收敛
- 同网段梳理:把 HDFS、Hive、Spark 等组件一并纳入评估
- 变更前核查:重装或扩容集群后复核 RM 接口的认证配置是否仍生效
加固要点
加固要点
1. 启用 Kerberos 认证(生产标准方案,覆盖 RM/NM/HDFS)
2. 无法立即上 Kerberos:把 8088/8032 限制到管理网段,关闭公网暴露
3. 开启 YARN 审计日志,记录提交、修改与终止等动作
4. 关注官方安全公告并升级受影响版本
5. 收敛时同步检查 HDFS NameNode/DataNode 的 Web 端口,避免漏点核查命令
核查命令
curl -s --max-time 3 http://127.0.0.1:8088/ws/v1/cluster/info | head -c 200
# 返回集群信息说明接口可达,需结合认证配置评估
curl -s http://127.0.0.1:8088/ws/v1/cluster/apps | head -c 200
# 应用列表可读时说明接口未受保护,应按本方资产处置流程推进收敛暴露接口与影响
| 接口 | 可获取内容 | 影响 |
|---|---|---|
| 集群信息 | 节点数、版本、资源总量 | 为后续攻击提供环境画像 |
| 应用列表 | 历史与当前任务及用户 | 暴露业务与人员信息 |
| 队列信息 | 队列结构与资源占比 | 推测业务规模与调度策略 |
| 提交接口 | 应用提交能力 | 任务在节点执行,风险最高 |
大数据组件之间互信程度高:集群内往往能横向访问多个组件,因此边界收敛要按整体数据面考虑,逐个端口打开只会得到一份永远补不完的清单。
核查命令只应针对本方资产并在授权范围内执行:对第三方系统发起探测属于越界行为,取证与审计价值也站不住脚。