云数据库HBase企业级安全解析

简介: 在2018年1月25日的数据库直播中,Apsara DB-HBase产品技术团队的天斯分享了“云数据库HBase企业级安全解析”的重要课题,通过与开源HBase相比,拥有由Intel和Alibaba合作开发的HAS系统的云HBase系统无论在安全性还是在运维成本上亦或是友好性上都有了较大的提高。

摘要:在2018年1月25日的数据库直播中,Apsara DB-HBase产品技术团队的天斯分享了“云数据库HBase企业级安全解析”的重要课题,通过与开源HBase相比,拥有由Intel和Alibaba合作开发的HAS系统的云HBase系统无论在安全性还是在运维成本上亦或是友好性上都有了较大的提高。
直播视频:https://yq.aliyun.com/video/play/1333
PDF下载:https://yq.aliyun.com/download/2459
以下为精彩视频内容整理:
开源HBase安全解绍

1

开源HBase的安全功能主要包含3个部分:
1.Access Controller coprocessor实现的ACL权限控制;
2.RPC层的安全认证,主要实现有kerberos认证;
3.HBase的WebUI支持https访问。

开源HBase ACL权限控制介绍
HBsae ACL是基于coprocessor实现的一套权限控制机制,可以有效控制用户对HBase的数据访问权限,最小维度控制到列级。支持按用户、用户组来进行权限分配。HBsae ACL的作用范围大小:global > namespace > table > famliy > quelifier。而认证通过优先级顺序:global > namespace > table > family > quelifier。看以看出用户权限是由大到小进行认证,因此在规定用户权限时要注意用户的受限的权限上层的大权限有无被限制。此外可以按单个用户user分配进行权限管理,也可以按 用户group进行权限管理,认证顺序user>group。

开源HBase ACL使用案例

2

在对某公司HBase数据库管理小组各成员进行权限分配后,可以实现各相关人员的权限但是并不能保证访问权限的安全,假若有来自外界的冒充人员,在获取相应API后,在不开启身份认证时系统会误认为其是小组内的成员,这样就存在了安全风险。此时需要系统开启身份认证来拒绝冒充人员的访问,从而达到安全要求。

开源HBase 身份认证

3

身份认证(Authentication)是用于识别用户身份的过程,只有通过身份认证的用户才有可能访问某些服务。与身份认证不同的是,ACL授权仅仅控制的是指定的用户访问某些制定服务,但并不进行相应的身份识别。因此,只有身份认证(Authentication)和授权(Authorization)一同使用才能达到更更好的安全作用。

HBase目前支持的身份认证方式是kerberos认证,在RPC级实现的认证功能,并且kerberos也是hadoop内置的唯一认证方式。HBase/HDFS/Zookeeper一般同时开启kerberos认证功能使用。

当前开源HBase的安全常用搭建方案主要有3方面:
1.HBase启用kerberos认证,启用https WebUI 访问,启用ACL权限授权控制,开启日志审计,流量限制;
2.HDFS启用kerberos认证,启用权限控制,启用数据加密;
3.zookeeper启用kerberos认证,启用zk的ACL权限控制。

kerberos介绍

Kerberos是一种网络认证协议,目前Kerberos协议有很多实现版本,其本质使用对称加密的技术实现网络中的身份认证。通常使用第三方服务的方式提供身份认证,即独立于相关的服务组件。目前很多大数据服务组件都默认集成了Kerberos,均可以开启Kerberos身份启动服务。

4

当一个用户需要访问某个被Kerberos保护的服务时,Kerberos认证过程可以分为两个阶段:
1.Kerberos服务端程序(Authentication Server,AS)对用户的身份认证;
2.服务对用户的身份认证。

目前开源HBase在开启相应身份认证后,虽然安全性得到了有效提高,但是其存在成本方面投入巨大,访问集群准备 步骤多且繁锁,使用并不友好,配置复杂繁琐,需要将账户与系统进行绑定等缺点。

云数据库HBase安全介绍

5

云数据库HBase在安全的方面主要支持功能有:网络层安全隔离、身份认证、权限控制,日志审计、流量控制,数据加密。公网用户、经典网用户若想用户VPC需要先加入白名单,否则是无法进行访问的。

6

云数据库HBase的网络安全隔离方面,用户可以设置防火墙白名单、安全组端口限制,选择HBase安装在VPC专有网络上;在身份认证上,采用Intel和Alibaba合作开发的HAS服务做身份认证,使用更友好;在权限控制上兼容HBase Access Controller coprocessor,支持细粒度权限控制,用户账户不依赖本地linux系统用户,提高了使用的效率;在审计上可以记录用户对资源访问操作,监控/跟踪资源访问的安全风险。因此,与开源HBase相比云数据库HBase在安全性、成本、用户友好方面都有较大的提高。

云HBase安全模块还提供了:
1)支持多种认证方式实现,如账户密码、RAM、LDAP等;
2)扩展backend元数据高可用服务;
3)简化client配置;
4)快捷方便的命令行行管理工具;
5)可以向客服提供与现存账户认证体系对接的能力。

云HBase安全原理

1.什么是HAS?
HAS (Hadoop Authentication Service),由致力于解决开源大数据服务和生态系统的认证支持。目前开源大数据(Hadoop/Spark)在安全认证上只内置支持了Kerberos方式,HAS提出了一种新的认证方式(Kerberos-based token authentication),通过与现有的认证和授权体系进行对接,使得在Hadoop/Spark在上面支持Kerberos以外的认证方式变成可能,并对最终用户简化和隐藏Kerberos的复杂性。

7

2.HAS系统架构
HAS基于Apache Kerby 基础上,以较少的开发 成本实现的全新的针对开源⼤大数据认证的方案。Apache Kerby为HAS主要:提供了了全面的kerberos 客户端lib和工具;提供了Kerby KDC:高效、高可用服务;强大的ASN-1支持;TokenPreauth 全新的token认证机制。

8

HAS协议流程主要是对Kerberos进行扩展,其协议基础是TokenPreauth机制,该机制主要是在Apache Kerby中实现。该机制允许用户使用第三⽅方颁发的token来代替,并由password向KDC进行身份验证,目前已经被广泛的使用在互联网、云和移动互联网中,使得Kerberos系统能够和其他认证方案相结合,并推动了Kerberos在云和大数据平台上的发展。

云HBase安全应用场景

安全需求无处不在,例如,企业为了防止员工恶意报复,防止外部用户访问盗窃数据,甚至删除所有数据等。可以说只要是生产的环境,就有安全的需求,只是安全要求的防护级别有所不不同。例如对于公有云常见的用户,一般HBase数据库就是内网DB,只供自己访问使用,没有第三方人员公用,加上存储的数据可能都是用户日志数据,那么这个客户可能只需要外部网络层隔离就可以了。如果某公司HBase数据库与某业务第三方服务商供存储,可能就需要更更进一步的身份、权限、审计等安全需求了。

云HBase与开源HBase相比,实现了运维成本和使用成本的下降,简化了配置,并且不依赖系统账户来实现公网用户、经典网用户的访问,最为重要的的是在安全性上有了更大的提高。

本文由云栖志愿小组林一木整理,百见编辑。

目录
相关文章
|
机器学习/深度学习 安全 大数据
揭秘!企业级大模型如何安全高效私有化部署?全面解析最佳实践,助你打造智能业务新引擎!
【10月更文挑战第24天】本文详细探讨了企业级大模型私有化部署的最佳实践,涵盖数据隐私与安全、定制化配置、部署流程、性能优化及安全措施。通过私有化部署,企业能够完全控制数据,确保敏感信息的安全,同时根据自身需求进行优化,提升计算性能和处理效率。示例代码展示了如何利用Python和TensorFlow进行文本分类任务的模型训练。
1118 6
|
域名解析 负载均衡 安全
DNS技术标准趋势和安全研究
本文探讨了互联网域名基础设施的结构性安全风险,由清华大学段教授团队多年研究总结。文章指出,DNS系统的安全性不仅受代码实现影响,更源于其设计、实现、运营及治理中的固有缺陷。主要风险包括协议设计缺陷(如明文传输)、生态演进隐患(如单点故障增加)和薄弱的信任关系(如威胁情报被操纵)。团队通过多项研究揭示了这些深层次问题,并呼吁构建更加可信的DNS基础设施,以保障全球互联网的安全稳定运行。
|
机器学习/深度学习 人工智能 安全
TPAMI:安全强化学习方法、理论与应用综述,慕工大、同济、伯克利等深度解析
【10月更文挑战第27天】强化学习(RL)在实际应用中展现出巨大潜力,但其安全性问题日益凸显。为此,安全强化学习(SRL)应运而生。近日,来自慕尼黑工业大学、同济大学和加州大学伯克利分校的研究人员在《IEEE模式分析与机器智能汇刊》上发表了一篇综述论文,系统介绍了SRL的方法、理论和应用。SRL主要面临安全性定义模糊、探索与利用平衡以及鲁棒性与可靠性等挑战。研究人员提出了基于约束、基于风险和基于监督学习等多种方法来应对这些挑战。
478 2
|
安全 Java 编译器
Java 泛型深入解析:类型安全与灵活性的平衡
Java 泛型通过参数化类型实现了代码重用和类型安全,提升了代码的可读性和灵活性。本文深入探讨了泛型的基本原理、常见用法及局限性,包括泛型类、方法和接口的使用,以及上界和下界通配符等高级特性。通过理解和运用这些技巧,开发者可以编写更健壮和通用的代码。
329 1
|
存储 安全 程序员
|
安全 网络安全 Android开发
深度解析:利用Universal Links与Android App Links实现无缝网页至应用跳转的安全考量
【10月更文挑战第2天】在移动互联网时代,用户经常需要从网页无缝跳转到移动应用中。这种跳转不仅需要提供流畅的用户体验,还要确保安全性。本文将深入探讨如何利用Universal Links(仅限于iOS)和Android App Links技术实现这一目标,并分析其安全性。
2527 0
|
区块链 C# 存储
链动未来:WPF与区块链的创新融合——从智能合约到去中心化应用,全方位解析开发安全可靠DApp的最佳路径
【8月更文挑战第31天】本文以问答形式详细介绍了区块链技术的特点及其在Windows Presentation Foundation(WPF)中的集成方法。通过示例代码展示了如何选择合适的区块链平台、创建智能合约,并在WPF应用中与其交互,实现安全可靠的消息存储和检索功能。希望这能为WPF开发者提供区块链技术应用的参考与灵感。
273 0
|
安全 开发者 数据安全/隐私保护
Xamarin 的安全性考虑与最佳实践:从数据加密到网络防护,全面解析构建安全移动应用的六大核心技术要点与实战代码示例
【8月更文挑战第31天】Xamarin 的安全性考虑与最佳实践对于构建安全可靠的跨平台移动应用至关重要。本文探讨了 Xamarin 开发中的关键安全因素,如数据加密、网络通信安全、权限管理等,并提供了 AES 加密算法的代码示例。
209 0
|
网络协议 安全 网络安全
揭秘互联网的隐形斗篷:你的DNS数据真的安全吗?
【8月更文挑战第27天】在互联网中,每个网站通过IP地址定位,但记忆这些数字困难且存在安全风险。因此,域名系统(DNS)诞生,实现域名与IP之间的转换。然而,未加密的DNS请求易受中间人攻击,导致隐私泄露或恶意软件植入。为解决此问题,DNS-over-HTTPS(DoH)和DNS-over-TLS(DoT)协议应运而生,它们通过对DNS查询进行加密确保数据传输安全。本文将介绍这两种协议,并通过示例展示如何配置支持DoT的DNS服务器,包括安装dnscrypt-proxy、编辑配置文件及重启服务等步骤。
1125 0
|
安全 网络安全 数据安全/隐私保护

推荐镜像

更多
  • DNS