【文章摘要】很多人都知道Linux系统的安全性比微软Windows系统更高。但是,为什么会是这样?这种说法到底有没有道理?却很少有人能回答得出来。
为了搞清楚这个问题,首先,我们必须要明确“安全性”的定义。其实,绝大多数人都犯了同样一个错误,那就是孤立地认为某个产品比较安全。比如,Linux系统要比微软Windows系统更加安全;或是,开放源代码的Firefox网络浏览器要比微软IE浏览器更加安全。不、不、不,你们都错了,安全性并不是针对某个产品本身而言的。它是一整套以用户为核心的体系。安全性指的是在用户和软件之间,通过适当的交互方式,所达成的一种活跃状态。漏洞补丁管理仅仅是这套系统的一个重要方面。而其它可能更为重要的方面还包括:用于补丁管理的恰当工具、健壮的默认设置,达成安全的多层次运作体系,以及时刻将用户看作是安全性的第一道、也是最后一道防线的设计理念。
当你有了这种思想之后,我就可以向你解释,为什么在一般情况下,一位有经验的用户在使用Linux系统要比使用Windows系统要更加安全:
1. 更加卓越的补丁管理工具:
在微软的Windows系统中,自动更新程序只会升级那些由微软公司官方所提供的组件。而第三方的应用程序却不会得到修补。从而,第三方的应用程序可能会给你的系统带来大量的安全隐患。你在使用Real player播放器吗?你需要单独升级它。在使用Flash?你还是需要单独进行升级。依此类推,对于电脑上所有的应用程序,你都需要定期地对每一款软件单独进行更新升级。这种方法非常的繁琐,并且让人心烦,而绝大多数用户很快就将这项工作忘到九霄云外去了。
而在Linux系统中,当你在自动更新系统的时候,它将同时升级系统中所有的软件。在Ubuntu系统中,你所下载的任何软件产品,都会出现在系统的程序仓库当中,要升级它,你只需要用鼠标轻轻一点。而在其它Linux发行版本中,如果下载的软件并没有出现在系统的程序仓库中,要添加它也是非常的简便。这样的设计,极大地提高了用户实时更新系统的积极性。
2. 更加健壮的默认设置:
Linux系统天生就被设计成一个多用户的操作系统。因此,即便是某个用户想要进行恶意破坏,底层系统文件依然会受到保护。假如,在非常不幸的情况下,有任何远程的恶意代码在系统中被执行了,它所带来的危害也将被局限在一个小小的局部之中。
与之形成鲜明对照的是微软的Windows XP系统。在这里,用户会默认以系统管理员的身份登录,而在系统中所发生的任何损害,都会迅速蔓延到整个系统之中。微软最新的Windows Vista系统让用户在默认设置下以受限用户的身份登录,因此它要比自己的前任更加安全一点。
3. 模块化设计:
Linux系统采用的是模块化设计。这表示,如果不需要的话,你可以将任何一个系统组件给删除掉。由此而带来的一个好处是,如果用户感觉Linux系统的某个部分不***全,他就可以移除掉这个组件。这对于Windows系统来说,简直是不可思议的。比如说,如果我感觉对于自己的Linux系统来说,Firefox网络浏览器是最薄弱的一个环节,我完全可以删除掉它,用其它网络浏览器来替代,比如说Opera。而在Windows系统当中,即便是再不满意,我也无法替换微软的Internet Explorer网络浏览器。
4. 更棒的“零日攻击(zero-day attacks)”防御工具:
即便你能确保自己的系统实时更新,这也并不代表着万无一失!零日攻击(zero-day attacks,指的是在软件生产厂商发布针对漏洞的更新补丁之前,就抢先利用该漏洞发动网络攻击的攻击方式)正在变得日益猖獗。此外,一项调查研究也显示:对于攻击者来说,他们只需要6天时间就能够开发出针对漏洞的恶意攻击代码,而软件生产厂商们却需要花费长得多的时间才能够推出相应的更新补丁。因此,一套睿智的安全策略在防御零日攻击方面至关重要。微软的Windows XP系统并没有提供这样的一套防御机制。而新的Vista系统,在保护模式状态之下,虽然有一定效果,但是也只能对针对Internet Explorer网络浏览器的攻击提供一点有限的保护。
与之相对应的是,无论是何种类型的远程遥控代码攻击,AppArmor或SELinux,都能够为系统提供细致而周全的保护。有越来越多的主流Linux发行版本,在系统中都默认整合了AppArmor(例如,SuSE、Ubuntu Gutsy)或者SELinux(Fedora、Debian Etch、Yellow Dog)。即便是对于其它发行版本来说,用户也可以非常方便地从网络上下载并安装这两套软件。
5. 开放源代码构架:
在Linux系统中,当谈论到系统安全性的时候,用“你所看到的,就是你所得到的”这句话来形容,是再合适也不过了。开放源代码意味着,任何可能的软件漏洞都将被“无数双眼睛”所看到,并且得到尽可能快的修复。而更重要的是,这同时也意味着,在这里没有任何被隐藏的修复措施。作为用户,只要你有心,就可以找出自己系统所存在的安全问题,并采取相应的防范措施以应对潜在的安全威胁,即便是在此时该漏洞还没有被修补。
而在Windows世界当中,有很多安全问题都是被掩盖起来的。微软公司内部所发现的软件漏洞,是不会让外界所知晓的,而他们所想的只是在下一个更新升级包中对它进行默默地修补就可以了。虽然这样做可以让被公开的软件漏洞数目更少,并让某些漏洞不会被大规模地利用,但这种做法同时也蒙蔽了用户的双眼。由此所导致的结果是,用户很可能不会积极地对系统进行升级,因为他不了解自己的系统存在着什么样的漏洞,以及这些漏洞的危害大小,结果反而会成为恶意攻击的牺牲品。
6. 多样化的系统环境:
Windows的系统环境可以说是千篇一律。这种巨大的一致性让攻击者们在编写恶意代码、病毒或其它诸如此类的一些东西时显得得心应手。反过来,看一看Linux系统世界。在这里,应用程序可以是.deb、.rpm,或源代码,以及其它诸如此类的等等。这种差异性让攻击者们很难在Linux系统身上获得像Windows系统那样的广泛影响。
最后,但却是最重要的,你必须时刻牢记,系统的安全性最终还是掌握在用户手中的。一位有经验的用户可以安全地使用Windows 98 操作系统,而一位无知的用户则可以让基于OpenBSD的系统都变得千疮百孔。因此,归根结蒂,人才是系统安全的核心,人才是一切的根本。要牢记这一点!