大数据平台对数据进行加密存储,实现无明文存储,避免明文带来的数据泄露等安全风险。
实现数据的透明加解密,在集群中数据写入时自动对数据进行加密、数据读取时自动对数据进行解密,数据离开集群环境后是密文,没有秘钥的情况下不能解密。一方面在集群环境中对应用程序实现透明加解密方便上层应用的开发,减少上层应用处理加解密带来的额外负担和安全风险;另一方面对数据起到保护作用,数据一旦离开集群环境就不能访问到秘钥因此无法解密出明文。
对于高密级的数据,可以设置多次加密和解密授权。通过不同的秘钥和加密算法对数据进行多次加密,可以进一步提高数据安全性,增加破解成本。只有通过解密授权的用户和程序才能访问数据对应的秘钥进行解密,而且解密授权和访问控制授权是两套不通的授权体系,因此即使通过攻击访问授权体系拿到数据的访问权限,在没有同时攻破解密授权体系的情况下,也只能看到加密后的密文数据,无法解密得到明文数据。
目前支持AES-256加密算法,且对AES-256加解密利用Intel指令集优化进行深度性能加速,单核加解密速度分别从50MB/s提升到1.2GB/s和1.5GB/s。加密算法可以通过配置和插件化机制进行替换,可以定制支持符合国家标准的加密算法如SM2、SM3。
1 数据完整性保护
根据大数据平台可用性要求,应保证数据能够在生命周期期间能正常的被生成、使用和销毁,应保证对误操作有一定的容错性,并且应保证数据有足够的备份措施。
为了保证数据的可靠性,防止数据丢失、损坏,采取以下策略:
- 集群中数据默认三副本存储,对于重要数据设置更多副本存储提高可靠性,系统会自动检测发现副本不足并调度分布式副本拷贝进行恢复。
- 敏感数据和系统数据,采用防删除机制,避免误删除和人为破坏。
- 数据删除时将首先被移入到回收站,并临时保存24小时(根据需求可以设置更长时间),以避免数据误删除导致的数据不可恢复。
- 定期对重要数据做同城和异地灾备。
- 集群节点需要经过统一认证体系进行认证,防止恶意节点试图接入集群进行针对大数据平台的特定攻击和破坏,如数据分布到恶意节点后节点下线造成数据不完整。
2 数据可用性保护
任何系统的资源和服务能力都是有限的,如果大数据平台出现资源恶意占用甚至服务攻击,会导致大数据平台的访问质量下降甚至失败,引发大数据平台和应用不稳定等问题,即时数据没有丢失、没有失窃也会造成严重影响。
大数据平台进行一些列保护措施,保障大数据平台的资源和服务的可用性:
- 大数据平台各个组件的主节点、从节点均采用高可用架构,某个节点出现软硬件故障时其他节点自动接替工作,从平台架构上避免单点失效造成服务不可用。
- 对每个用户和组的资源进行管理和限制,包括存储资源、计算资源、网络资源等,防止用户因为疏忽或者恶意占用平台资源造成平台不稳定。
- 对热点数据采用分级存储、多份存储的策略,使用高性能存储介质如SSD甚至内存存储或缓存热点数据防止其成为瓶颈,利用分布式系统的特性将热点数据的副本从默认3副本自动升高到更多副本,通过更多服务器同时提供高并发高吞吐服务。
- 对大数据平台提供的服务如存储读写、计算任务执行、数据检索等,进行服务可用性健康检查和性能监控,及时发现服务中断、可用性降低、性能降低等异常情况并发出告警通知进行处理。