Spark安全威胁及建模方法

转载请注明出处:

索取本文Word版本请回复,我会通过私信发送

本文主要通过官方文档、相关论文、业界公司和产品三个方面来论述Spark安全威胁及其建模方法,详细内容如下。

第1章 官方文档[1]

目前Spark支持共享密码的认证方式。可以通过设置spark.authenticate这个参数实现,这个参数控制Spark的通信协议是否用共享的密码进行验证。这个认证协议是一个基础的握手协议,通过令通信双方具有相同共享密码保证其之间能够直接通信。如果共享的密码不相同,那么他们将不会被允许通信。共享密码通过如下方式生成:

对于Spark在yarn上部署的模式,可以实现共享密码的自动生成和分发,每个应用能够使用唯一的共享密码;

对于Spark的其他部署模式来说,Spark的spark.authenticate.secret密码参数应该在每一个节点上进行配置。;

注意:Netty shuffle path (spark.shuffle.use.netty)功能还处于试验阶段,并不安全,生产环境请不要使用Netty for shuffles。

1.1 Web UI安全

Spark的Web UI界面可以通过设置spark.ui.filters参数启用javax.servlet.filters来提高安全性。如果一个用户不想让其他的人看到他的数据,他可以对UI进行安全设置。用户通过使用javax.servlet过滤器可以对其他用户进行验证,一旦其他用户登录进入Spark,需要注意的是,启动应用的用户可以查看自身UI而不受限制。在yarn模式下,Spark的UI使用标准的yarn的web应用代理机制,并能通过已安装的hadoop的过滤器进行认证。

Spark同时也支持通过修改访问控制列表的方式来控制哪个用户可以访问、修改正在运行的Spark应用,其中包括终止一个应用或任务。这里可以通过spark.acls与 spark.modify.acls参数来进行配置。在yarn模式中,修改访问控制列表可以通过yarn的接口完成。

Spark允许管理员在访问控制列表中指定哪个用户对所有应用程序总都具有查看、修改权限。这里可以通过spark.admin.acls参数进行配置。这对在一个共享集群中,管理员或技术支持帮助用户调试有问题应用的场景下非常有用。

1.2 事件审计安全

如果要开启事件审计功能,存放事件日志的文件夹(路径通过spark.eventLog.dir 参数设置)需要提前手工创建,并且使Spark对这个目录有访问权限。这个文件夹的所有者应该设置为启动history server的root用户并且其用户组权限应该加入到root用户组。这样设置可以保证非所有者的其他用户可以在该文件夹下写,,但是不能移动或者重命名文件。这样事件日志只会被root用户和Spark系统生成和修改,从而保证其安全性。

1.3 网络端口安全

Spark对网络通信的需求很高,在某些环境中对防火墙的设置有非常严格的要求。

1.3.1Standalone模式

1.3.2基于集群管理器(如yarn)的模式

可以在配置界面的安全配置参数里查看更详细的使用信息,或者查看源代码org.apache.spark.SecurityManager包中有关安全管理的实现细节。

第2章 相关论文

目前学术界中专门研究Spark安全的文章还没有,有些文章只是在文中提到了安全问题。代表性的有以下几篇:

文章[2]提到,在多媒体计算框架中,用户采用分布式的方式存储和处理他们的多媒体应用数据,从而避免自身安装庞大的多媒体应用软件。在云环境下多媒体的处理对以下很多方面都提出了巨大挑战,包括:基于内容的多媒体检索系统、分布式复杂数据处理、云端QoS支持、多媒体云传输协议、多媒体云覆盖网络、多媒体云安全、基于P2P云端的多媒体服务等等。Spark Streaming支持大规模流式数据处理,其安全威胁与多媒体云安全有共通之处。由于多媒体数据如视频是很私密的内容,在利用Spark Streaming。

文章[2]提到,由于Spark等内存计算平台需要使用到分布式、甚至是第三方的服务和基础设施用来存放重要数据或者执行关键操作,这对动态数据监控和安全保护提出了巨大挑战。,并且经常动态变化的,包括数据模式、属性和新添加数据的变化。因此有必要在这种复杂环境下进行有效的隐私保护。

文章[4]提到,安全问题在实际图计算系统中非常重要,但是现有的研究对这类安全问题的关注很少。可能存在的问题是,网络节点完全符合传输协议的要求只是一种假设,有可能会出现拜占庭错误。需要有一种机制能够检测和修复节点失效、链路失效的问题。Spark GraphX作为图计算、图挖掘框架,也存在此类问题。

第3章 业界公司和产品3.1 DataStax公司

DataStax公司推出了基于Apache Cassandra和Spark的商业数据分析平台DataStaxEnterprise(DSE,最新版本4.6)产品[5],在原有开源Spark的基础上进行了安全加固。包括:

1)不仅支持内部自带的加密认证方式,还支持支持可信任的第三方安全软件包(例如Kerberos和LDAP)与DataStaxEnterprise结合;

2)数据审计、客户端-节点之间的透明加密;

3)OpsCenter中的多种工具改进提升了可管理性,例如更简单的配置、备份/恢复的粒度控制、更好的诊断;

4)在Spark和Shark中对Cassandra数据库访问时进行密码验证[6];

5)基于关系型数据库中GRANT/REVOKE模式的简单对象权限管理。

3.2 Sqrrl公司

Sqrrl是一家专攻安全大数据平台的公司,创建于2012年,总部位于麻省坎布里奇,Sqrrl是围绕美国国家安全局(NSA)开发的开源NoSQL数据库Apache Accumulo(来源于谷歌开发的大数据技术BigTable,最初是由NSA开发,后被分拆出来作为一个开源项目)建设起的一项业务。

其实你已经错过了旅行的意义。

Spark安全威胁及建模方法

相关文章:

你感兴趣的文章:

标签云: