最小黑客汪正扬(中国小黑客汪征洋)
最近,部分黑客组织针对几款特定产品展开了勒索攻击。截止到上周,已有至少34000多台MongoDB数据库被黑客组织入侵,数据库中的数据被黑客擦除并索要赎金。随后,在2017年1月18日当天,又有数百台ElasticSearch服务器受到了勒索攻击,服务器中的数据被擦除。安全研究人员Niall Merrigan表示,截止到目前,受攻击的ElasticSearch服务器已经超过了2711台。
紧随上述两次攻击事件,目前已经有黑客将目标瞄准了Hadoop集群。这些勒索攻击的攻击模式都较为相似,在整个攻击过程中并没有使用任何勒索软件,也没有涉及常规漏洞,而是利用相关产品的不安全配置,使攻击者有机可乘,轻而易举地对相关数据进行操作。
企业如何一步步将威胁挡在门外呢?
正如在本文我们所描述的那样,在有经验的攻击者手里,具有自我传播功能的勒索软件将可能给企业的业务带来致命损失,或成为受害者的一场噩梦。我们所倡导的“纵深防御”,不仅仅是一个概念,它决定了在勒索事件等攻击场景中,企业到底是能把危机挡在门外,还是引狼入室,让恶意软件对业务造成实际损失。
接下来,我们针对企业用户在公共云搭建Hadoop的安全漏洞问题,介绍几种防护手段。
1、端口开放最小化
Hadoop默认情况开放了很多端口提供WebUI,易出现安全漏洞; 如:
HDFS NameNode 默认端口 50070 SecondNameNode 默认端口 50090 DataNode 默认端口 50075 Backup/Checkpoint node 默认端口 50105- YARN(JobTracker) ResourceManager 默认端口8088 JobTracker 默认端口 50030 TaskTracker 默认端口 50060 Hue 默认端口 8080;
推荐方案:按照最小化原则,开放业务相关的少量端口,这样大大降低了被攻击的可能性;
展开全文
2、身份认证鉴权
Hadoop访问认证过于简单,比如DataNode 默认端口50075开放的话,攻击者可以通过hdsf提供的restful api对hdfs存储数据进行操作。
推荐方案: 检查请求 Request 发送者的真实身份,正确验证接收到的消息在途中是否被篡改,认证使用消息签名机制,可以保证消息在传输过程中的完整性 Integrity 和真实性 Authenticity,建议采用的消息签名算法HMAC-SHA1。
3、权限细粒度管理
Hadoop无法控制用户提交和运行作业的操作,及功能操作;
推荐方案:按照最小化原则,通过外围系统为不同的角色、操作等分配相应的权限,加强用户与系统的访问控制及作业访问控制;
4、增加日志审计
Hadoop作为软件级产品,黑客一旦攻击进来,无法及时发现并加以控制;
推荐方案:提供精准的、细粒度的数据访问操作记录,并长期保存。对于数据操作记录来说,收集服务栈上的所有操作记录,从上层table/column级别的数据访问日志,一直到底层分布式文件系统上的数据操作日志。最底层分布式文件系统上处理的每一次数据访问请求,也都能追溯到是最上层的哪个项目空间中的哪个用户的哪个作业发起的数据访问。有了服务栈上的各层操作审计之后,即使是内部攻击者(工程师或渗透到内部系统中的黑客)想从内部(绕过服务)直接访问底层分布式文件系统上的用户数据的话,也一定是可以从操作日志中被发现的。所以,通过数据访问审计,用户就可以准确的知道是否存在未授权的数据访问。
5、沙箱隔离
Hadoop在安全方面并没有实现进程级的权限控制;
推荐方案:为了确保不同用户作业在运行时互不干扰,将用户作业的进程运行在Container沙箱中。如果用户作业含有Java代码(比如UDF),那么Container沙箱中的进程启动JVM时,设置严格的Java 沙箱策略以限制UDF的运行时权限。
总结
勒索软件并不是新鲜事物。但是其最近手段更加老练、传播方式更加隐蔽,表明其越发倾向于以意想不到的全新方式盘剥在线运行的个人与单位。网络攻击如此肆虐,如果企业继续在公共云使用Hadoop进行生产作业的话,需要投入更多的安全维护成本,因为Hadoop并不适合在公共云搭建PAAS平台,提供企业级服务;比如 Hadoop产品设计之初就是使用在内网,默认开启过多端口,超级管理员权限,数据资产不隔离,这样为企业带来更多的安全维护成本。
如果企业需要在公共云做,我们推荐大家使用阿里云数加MaxCompute。
MaxCompute设计之初就重点考虑了安全问题,在公共云提供企业级/金融级服务,安全特性有以下几个方面;
1、MaxCompute认证采用业界标准的API认证协议来实现,如HmacSHA1。MaxCompute还提供HTTP和HTTPS两种的EndPoint以满足用户对认证安全的不同要求。
2. MaxCompute平台并没有超级管理员的角色,所以MaxCompute的开发、测试、运维同学都是没有权限看到用户数据的。
3、MaxCompute产品面向的是企业级用户,所以提供了丰富的项目空间内的用户管理及授权功能。 MaxCompute设计之初就是要满足数据分享(或数据交换)的场景。所以,只要有授权,用户就可以非常方便的进行跨项目空间的数据访问。
4. MaxCompute支持用户提交各种类型的作业(如SQL/XLib/MR)。为了确保不同用户作业在运行时互不干扰,MaxCompute将用户作业在运行时隔离。
5. MaxCompute作业运行时使用最小权限,最小权限原则是系统安全和容错设计的一个基本指导原则,即让每个任务在运行时使用刚好满足需要(不多也不少)的权限来执行。
6. MaxCompute还提供精准的、细粒度的数据访问操作记录,并会长期保存。通过数据访问审计,用户就可以准确的知道他在MaxCompute上的数据是否存在未授权的数据访问。
7. 除了不同层面的防御机制之外,MaxCompute产品还会提供一套安全监控系统,用于监控用户作业及用户数据的安全活动,如AccessKey滥用,项目空间安全配置不当,用户代码运行时触犯安全策略,以及用户数据是否遭受异常访问等。
安全攻击防不胜防,MaxCompute可以帮助企业做好纵深防御,保护好DT时代的数据资产。
相关文章
- 3条评论
- 笙沉野梦2022-09-02 23:38:00
- 业运行时使用最小权限,最小权限原则是系统安全和容错设计的一个基本指导原则,即让每个任务在运行时使用刚好满足需要(不多也不少)的权限来执行。6. MaxCompute还提供精准的、细粒度的数据访问操作记录,并会长期保存。通过数据访问审计,用户就可以准确的知道他在MaxCompute上的数
- 余安路弥2022-09-03 09:33:00
- 越发倾向于以意想不到的全新方式盘剥在线运行的个人与单位。网络攻击如此肆虐,如果企业继续在公共云使用Hadoop进行生产作业的话,需要投入更多的安全维护成本,因为Hadoop并不适合在公
- 鸠骨鸢栀2022-09-03 00:05:33
- ResourceManager 默认端口8088 JobTracker 默认端口 50030 TaskTracker 默认端口 50060 Hue 默认端口 8080;推荐方案:按照最小化原则,开放业务相关的少量端口,这样大