在启动大数据项目之前要考虑安全问题?考虑要存储什么数据?责任集中?加密静态和动态数据?把密钥与加密数据分开?使用Kerberos网络身份识别协议?使用安全自动化?向Hadoop集群增加记录?节点之间以及节点与应用之间采用安全通信。
当企业转变为数据驱动的机器时,其潜力是巨大的:企业所拥有的数据可能成为获得竞争优势的关键。因此,企业的数据和基础设施的安全也变得比以往任何时候都重要。
在许多情况下,企业或组织都可能得到Forrester所说的“有毒的数据”。例如,一家无线公司正在收集谁登录哪一个天线塔、他们在线逗留多长时间、他们使用多少数据、他们是在移动还是处于静止状态等数据,这些数据可用来了解用户行为的状况。
这家无线公司也许有许多用户生成的数据:信用卡号码、社会保险号码、购买习惯数据和用户使用任何信息的方式等。关联这种数据和从这些数据中提取推断结果的能力是有价值的,但是,这种做法也是有害的,如果这种关联的数据泄露到机构外部并且落入他人手中,这将给个人和机构造成灾难性的损失。
应用大数据,不要忘记法规遵从和控制。下面是保证大数据安全的9个技巧。
1. 在启动大数据项目之前要考虑安全问题。不应该等到发生数据突破事件之后再采取保证数据安全的措施。组织的IT安全团队和参加大数据项目的其他人员在向分布式计算(Hadoop)集群安装和发送大数据之前应该认真地讨论安全问题。
2. 考虑要存储什么数据。在计划使用Hadoop存储和运行要提交给监管部门的数据时,可能需要遵守具体的安全要求。即使所存储的数据不受监管部门的管辖,也要评估风险,如果个人身份信息等数据丢失,造成的风险将包括信誉损失和收入损失。
3. 责任集中。现在,企业的数据可能存在于多个机构的竖井之中和数据集中。集中的数据安全的责任可保证在所有这些竖井中强制执行一致的政策和访问控制。
4. 加密静态和动态数据。在文件层增加透明的数据加密。SSL(安全套接层)加密能够在数据在节点和应用程序之间移动时保护大数据。安全研究与顾问公司Securosis的首席技术官和分析师阿德里安·莱恩(Adrian Lane)称,文件加密解决了绕过正常的应用安全控制的两种攻击方式。在恶意用户或者管理员获得数据节点的访问权限和直接检查文件的权限以及可能窃取文件或者不可读的磁盘镜像的情况下,加密可以起到保护作用。这是解决一些数据安全威胁的节省成本的途径。
5. 把密钥与加密的数据分开。把加密数据的密钥存储在加密数据所在的同一台服务器中等于是锁上大门,然后把钥匙悬挂在锁头上。密钥管理系统允许组织安全地存储加密密钥,把密钥与要保护的数据隔离开。
6. 使用Kerberos网络身份识别协议。企业需要能够管理什么人和流程可以访问存储在Hadoop中的数据。这是避免流氓节点和应用进入集群的一种有效的方法。莱恩说,这能够帮助保护网络控制接入,使管理功能很难被攻破。我们知道,设置Kerberos比较困难,验证或重新验证新的节点和应用可以发挥作用。但是,没有建立双向的信任,欺骗Hadoop允许恶意应用进入这个集群、或者接受引进的恶意节点是很容易的。这个恶意节点以后可以增加、修改或者提取数据。Kerberos协议是可以控制的最有效的安全控制措施。Kerberos建在Hadoop基础设施中,因此,请使用它。
7. 使用安全自动化。企业是在处理一个多节点环境,因此,部署的一致性是很难保证的。Chef和Puppet等自动化工具能够帮助企业更好地使用补丁、配置应用程序、更新Hadoop栈、收集可信赖的机器镜像、证书和平台的不一致性等信息。事先建立这些脚本需要一些时间,但是,以后会得到减少管理时间的回报,并且额外地保证每一个节点都有基本的安全。
8. 向Hadoop集群增加记录。大数据很自然地适合收集和管理记录数据。许多网站公司开始使用大数据专门管理记录文件。为什么不向现有的集群增加记录呢?这会让企业观察到什么时候出现的故障或者是否有人以为企业已经被黑客攻破了。没有一个事件跟踪记录,你就是一个瞎子。记录MR请求和其它集群活动是很容易的并且可以稍微提高存储和处理需求。但是,当有需要的时候,这些数据是不可或缺的。
9. 节点之间以及节点与应用之间采用安全通信。要做到这一点,需要部署一个SSL/TLS(安全套接层/传输层安全)协议保护企业的全部网络通信,而不是仅仅保护一个子网。就像许多云服务提供商一样,Cloudera等Hadoop提供商已经在做这件事。如果设置上没有这种能力,就需要把这些服务集成到应用栈中。