编者注:本主题为系列文章《CSA大数据安全防护技术实践》的第二节,在此系列主题文章的上一节,介绍了在分布式编程框架计算安全方面需要注意的十个问题和相应的安全实践建议。本节对非关系型数据存储安全的相关问题和建议进行了阐述。
(二)非关系型数据存储安全
由于NoSQL等非关系型数据存储解决方案出现的时间较短,其内置的安全措施通常还比较少,针对注入等数据库类攻击的解决方案均不太成熟。因此,建议在解决非关系型数据库安全问题时,可以从以下多个角度采取相应的技术措施:
2.1 口令安全防护
本环节的主要技术目的是加强隐私保护。建议采用的具体技术手段为:
1)采用安全的哈希算法对口令实施加密或散列操作;
2)建议采用SHA2(SHA-256或更高)、SHA3等安全性较高的哈希算法;
3)为避免离线攻击或穷举攻击的发生,建议采用加盐密码哈希。
2.2 通过数据加密保护静态数据
本环节的主要技术目的是保证即便在身份认证及授权手段较弱的情况下,仍能有效地保障数据安全。建议采用的具体技术手段为:
1)使用AES、RSA和SHA2(SHA-256)等安全性较高的加密算法;
2)代码、加密密钥与数据分库存储;
3)在安全的位置离线备份加密密钥。
2.3 采用TLS安全传输层协议
本环节的主要技术目的包括:
1)保证数据在传输过程中的机密性;
2)保证用户与服务器间连接的可信性;
3)保证服务器集群中各节点间通信的安全性。
建议采用的具体技术手段为:采用TLS / SSL协议封装链接,同时为每一个节点都配置公私钥对及数字证书,以便对客户端实施身份认证。
2.4 为可插拔认证模块(PAM)提供API支持
本环节的主要技术目的是保证用户能够通过PAM接口API调用认证服务。建议采用的具体技术手段为在网络安全管理中心建立针对认证服务的安全基线,同时采用支持PAM功能的安全操作系统(如SELinux)。
2.5 合理记录相关日志
本环节的主要技术目的是发现可能存在的攻击行为。建议采用的具体技术手段包括:
1)按照SP800-92 [KS06]管理指南和ISO27002信息安全管理实用规则等规范的要求记录日志;
2)针对APT类攻击,采用log4j等日志记录手段,以及ELK、Splunk等用于日志监控及即时分析的分析系统。
2.6 用模糊测试法实施安全测试
本环节的主要技术目的是为了通过测试发现NoSQL中由于输入验证不足而可能导致的漏洞,从而避免跨站、注入等攻击的发生。建议采用的具体技术手段包括:
1)采用无效输入、非预期输入、随机输入等进行测试,典型策略包括愚蠢模糊(完全随机输入)和智能模糊(基于一定格式生成随机输入)两类;
2)模糊测试应该在系统中的多个不同级别(协议级、数据节点级、应用级等)实施;
3)采用Sulley等模糊测试工具。
领取专属 10元无门槛券
私享最新 技术干货