我们都看到过一些大公司的系统被黑客入侵的报道,一般来说,黑客都是从获得root访问权开始的,一旦获得root访问权,可以说你的任何文件,只要入侵者想要,他们都是可以取走的,这就引出了两个问题:
· 数据路径应该变得更安全点吗?
· 如果数据路径应该变得更安全,我们该怎么做呢?
数据路径应该变得更安全点吗?
看起来似乎有点疯了,人们告诉我没有存储安全需求,需要的是网络和操作系统安全,保护文件系统和数据路径并不重要,他们的理由是存储安全太难以管理了,当然,我问他们究竟是怎么想的,他们并没有给我直接的答复。我认为人们关心的是磁盘驱动器密钥管理的复杂性,但这仅仅是存储安全的一个方面。磁盘加密一旦磁盘从系统移除,很容易造成破坏。磁盘加密并不能阻止任何人访问你系统中的数据,就像磁盘驱动器写入时加密,读取时解密一样,那些认为只有网络和操作系统需要安全保护的论点在我看来是有缺陷的,是站不住脚的。
如果黑客想进入你的系统,你必须采取多层次的安全,才能防止非法访问和缩小损害范围,如果你有宝贵的数据,当黑客攻破系统后,他们获得的成功将是巨大的。
如何增强安全
我认为存储安全需要从文件系统开始,并从多个层次进行防御,包括一些大型系统,可能是光纤通道网络,但我认为存储的安全性必须从文件系统开始,目前的框架是借助用户(UID)、组(GID)和访问控制列表(ACLS)来实施安全保护的,不能满足所有的安全需求。一旦有人获得root访问权,游戏就结束了,所有文件就像被脱光的人站在大街上一样,当然,用户可以选择加密数据,但没有为每个文件加密设立一个标准,密钥管理也是个问题,从MVS到Linux,再到Windows或其它系统,使用的文件系统可能也不一样,管理也是一个问题,如可能需要访问一个已解雇雇员的文件,或雇员在休了四个星期的假后忘记了加密密钥。我使用TrueCrypt加密磁盘分区,密钥超过20个字符,但如果我不小心删除了密钥,如何才能获得我电脑中的文件呢?老实说,如果没人知道我的密钥,难度是很大的,唯一的办法就是破解硬盘,所花的时间和金钱不是每个人都能承受得起的。
在我看来,答案是SELinux(Security Enhanced Linux,安全增强的Linux)和MLS(multi-level security,多级安全),专有安全增强操作系统的历史是肮脏的,从Cray Research机器上的UNICOS到Secure Solaris,Secure IRIX和一长串其它安全厂商提供的MLS操作系统,没有一个在商业上取得了成功,没有一个得到了市场的广泛认可,只有极少数得到了商业世界的认可,下面是我能想到的几个原因:
1、操作系统和特定硬件在当时的市场环境中不符合要求,因为性能需求超出了厂商的提供能力。
2、操作系统只支持有限的功能集,本地文件系统的性能不能满足应用程序和备份的需求,HSM应用程序不能工作。
3、除了少数政府网站,人们不关心安全。
4、管理成本太高,每个操作系统都需要专门的培训。
这些都是一些原因,但我认为可能最重要的原因是,MLS系统对过去的用户来说,使用起来太难了,他们不能再以一贯的方式共享文件了,因为每个文件的安全级别都具体到了用户,即使两个用户的级别相同,他们也可能无法像以前那样共享文件了,因为管理员可以设置许多其它安全约束。以超级用户(root)用户登录并不意味着你就可以看到所有文件(如果设置正确的话),对系统做的修改想不被记录进日志也是不可能的。如果黑客获得了系统的超级用户权限,他可能获得从普通文件到系统日志文件所有文件的访问权,意味着黑客可以将自己的罪证消除。
解决麻烦
我的建议是使用SELinux,它已经成为所有系统的基础,使用它的人也越来越多,现在它也能和NFS、CIFS、共享文件系统和NAS文件系统等一起工作,操作系统应该支持这个层次,这将需要改变人们业务往来的方式,厂商需做出一些改变,标准机构将采取新的框架来访问,管理员和用户如何交换文件,系统如何管理都将发生变化,文件系统也需要做出一些改变以支持新的安全需求,对共享文件系统来说,变化将非常大,需要认证。
网络访问NFS和CIFS文件系统会怎么样呢?我预计它们将可能有额外的身份验证,以支持这些新的安全框架和新标准,SELinux不是解决所有安全问题的万能钥匙,但它肯定是朝着正确的方向迈出了一大步,解决了当前黑客猖獗环境中一些很难得到解决的问题。
如果有人攻入系统,SELinux有助于保护数据的安全性,当然,如果SELinux配置不当,或使用非常简单的,如abc123或更简单的密码,所有的努力都是白费,因为黑客通常都会以每个用户的身份尝试登录,从最近的索尼,新闻媒体和世界各地政府网站发生的入侵事件来看,我们应该调整方向,停止仅仅重视周边安全,我们必须重视端到端安全,需要设置更强大的密码,真正将SELinux利用起来,强密码和强认证必须解决员工忘记他们的身份认证信息能够登录系统。
这一切都不简单,但一个不安全的面向外部的机器将引起入侵者可以访问内部无数的机器,我们必须在操作系统中实施更强大的身份验证和数据访问权限控制,我相信SELinux是这个方向一个很好的开端。
原文链接:ZDNet