全部产品
Search
文档中心

【漏洞公告】Spark Master Web UI 未授权访问漏洞

更新时间: 2018-01-30

漏洞描述

Apache Spark 是一个快捷通用的集群计算系统。Spark 的 Master Web UI 默认端口为 8080。外部用户可以使用默认端口访问 Master 节点的数据信息。该设置存在数据泄露风险。

修复方案

限制网络访问

使用严密的防火墙策略,不要将端口公开到互联网,限制仅内网使用。

配置 安全组策略 来限制访问。Spark 端口信息如下:

spark

启用 UI 访问控制

通过spark.ui.filters设置启用javax servlet filters,通过 SSL 设置启用 HTTPS/SSL,保障 Spark UI 安全。

启用身份认证

指定 Java servlet filter 启动身份认证。一旦用户登录,Spark 在 ACL 列表中查询该用户是否有权查看 UI。配置参数 spark.acls.enablespark.ui.view.acls 来控制 ACL 的行为。

注意:启动应用程序的用户总是有权访问 UI。在 YARN 上,Spark UI 使用标准的 YARN Web 代理机制并通过已安装的 Hadoop filters 进行认证。

Spark 还支持通过修改 ACL 表来控制哪个用户有权修改正在运行着的 Spark 应用程序。比如,终止一个应用程序或任务。这类操作可通过配置 spark.acls.enablespark.modify.acls 来控制。

注意:如果你正在认证 Web UI,为了使用 Web UI 上的终止按钮,你必须把用户添加到 view acls 表中。在 YARN 上,修改后的 acls 被传入并控制着哪个用户可以通过 YARN 接口来访问 Web UI。

Spark 允许在 acls 中指定多个管理员,让不同管理员总可以查看所有应用程序以及修改应用。这一功能是由参数 spark.admin.acls 来控制,适用于共享集群。

了解更多:Spark 官方安全加固方案