首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >为什么基于Linux的操作系统被认为比Windows安全?

为什么基于Linux的操作系统被认为比Windows安全?
EN

Server Fault用户
提问于 2009-07-03 18:26:29
回答 21查看 8.6K关注 0票数 19

我听说基于Linux的系统在安全性方面更好。显然,他们没有病毒,也不需要杀毒软件。就连我的大学也声称--他们拒绝在服务器上安装Windows,这真是太可惜了,因为我们想使用.NET框架来创建一些网站。

我能看到Linux更安全的唯一原因是因为它是开源的,所以理论上bug会很快被捕获和修复。

我对操作系统的工作原理有一点了解,但还没有深入研究Linux和Windows是如何实现其操作系统的。有人能解释一下使基于Linux的系统更加安全的区别吗?

EN

回答 21

Server Fault用户

回答已采纳

发布于 2009-07-03 19:18:49

我不认为操作系统是“安全的”。操作系统的特定配置对攻击有一定程度的抵抗力。

在这里,我可能会因为是一名“微软辩护者”而受到批评,但这条主线非常强调对"Windows“的泛化,而这些都是不正确的。

Windows 1.0 - 3.11、95、98和ME是基于DOS的.操作系统的这种血统在形式上没有任何安全性(受保护的地址空间、内核/用户模式分离等等)。幸运的是,当我们今天谈论"Windows“时,我们不是在谈论这些操作系统。

Windows NT系列操作系统(Windows NT 3.5、3.51、4.0、2000、XP、2003、Vista、2008和7)自从1992年首次发布以来,就有了非常合理的“设计”安全系统。操作系统的设计考虑了TCSEC的“橙书”,虽然并不完美,但我确实认为它设计和实现得相当好。

  • Windows NT从一开始就是“多用户”(尽管多个用户同时从同一服务器接收图形用户界面的功能直到Windows 3.51时代的Citrix WinFrame才出现)。存在内核/用户模式分离,地址空间保护依赖于MMU和CPU的底层硬件功能。(我想说它是非常“Unix”,但实际上它是非常“VMS-y”。)
  • NTFS中的文件系统权限模型相当“丰富”,尽管它相对于“继承”(或缺少继承--参见如何解决NTFS移动/复制设计缺陷?)有一些缺陷,但直到过去10年左右,Unix风格的操作系统才实现了类似的功能。(Novell NetWare在这个问题上击败了微软,尽管我认为MULTICS两人都打败了.>smile<)
  • 服务控制管理器,包括控制对启动/停止/暂停服务程序的访问的权限系统,设计得非常好,并且在设计上比许多Linux发行版中的各种"init.d“脚本”体系结构“(更像”绅士协议“)更加健壮。
  • 执行对象管理器(请参阅http://en.wikipedia.org/wiki/Object_经理_(窗户),它松散地分析了/proc文件系统和/dev文件系统,它有一个类似于文件系统的ACL模型,比我所知道的任何Linux发行版上的/proc或/dev权限模型都丰富得多。
  • 虽然我们可以讨论注册表的优缺点,但是注册表中键的权限模型比对/etc目录中的文件设置权限的模型要细得多。(我特别喜欢罗伯·肖特在他的“代码背后”采访中的评论re:注册表:http://channel9.msdn.com/shows/Behind+The+Code/Rob-Short-Operating-System-Evolution Rob最初是Windows注册表的主要用户之一,我认为可以肯定地说,他不一定很高兴。)

Linux本身只是一个内核,而Windows更像是Linux发行版。你用苹果和橘子来比较它们。我同意Windows比一些基于Linux的系统更难“剥离”。另一方面,一些Linux发行版也打开了大量的“垃圾”。随着Windows的各种“嵌入式”风格的出现,可以(尽管对一般公众来说并非如此)构建Windows的“发行版”,这些发行版的行为与Microsoft的默认值不同(不包括各种服务、更改默认权限等)。

不同版本的Windows都有一些选择不当的默认设置、允许未经授权的用户获得特权的bug、拒绝服务攻击等。Unix内核(以及许多默认运行的基于Unix的应用程序以根用户身份运行)也有同样的问题。自Windows 2000以来,微软已经完成了一项令人惊叹的工作,它使得划分应用程序、以最少特权运行程序和删除操作系统不需要的功能变得更加容易。

简而言之,我想我要说的是,针对您需要的特定操作系统的配置,在安全性方面,比您使用的操作系统类型更重要。Windows和Linux发行版在安全性特性方面具有非常相似的功能。您可以在任何操作系统中应用可靠的安全技术(最小特权、有限的可选组件安装、加密安全身份验证机制等)。不管你是否真的这么做--这才是最重要的。

票数 55
EN

Server Fault用户

发布于 2009-07-03 19:57:34

另一件没有提到的事情是,Windows中的安全性比Linux中的安全性要不透明得多。

例如,我可以查看几个文本文件,并准确地查看我的web服务器正在运行的内容。IIS?没有那么多--您可以通过GUI工具看到配置的结果,但是也有隐藏的设置。然后,您必须使用一组不同的工具来检查文件上的ACL,等等。

windows世界中的大多数程序也是如此--很难快速准确地理解在注册表和ACL之间影响运行时环境的是什么。

票数 16
EN

Server Fault用户

发布于 2009-07-03 18:43:14

不知道文件权限比较..。当我是UNIX/Linux管理员时,NT4的文件ACL比UNIX/Linux传统的'777‘风格的权限要细得多。当然,权限并不是万能的,我确信现代Linux发行版至少使细粒度的ACL可用,即使它们不是默认实现的。在我看来,sudo和根概念一直存在于UNIX中,尽管Windows一直在稳步地添加这些概念,而且现在可能处于同等水平。

我自己的解释是,由于Linux内核代码及其许多驱动程序和实用程序都是开放的--它可能会被更广泛地审查,并且由于编码错误而被修复得更频繁,从而导致黑客可以利用的远程漏洞。理论上,无论如何,在我的头脑中,因为Linux不是一个公司拥有的,它可以比一个公司更充分地探索安全目标。企业必须赚钱;而开放源码组根本没有这种限制。

进入Linux系统并简单地关闭整个窗口系统、RPC守护进程等等要容易得多--您可以将基于Linux或BSD的系统简化为一个或两个开放端口,只需最少安装的软件包,并且仍然可以非常容易地拥有一个非常有用的系统。这可能与作为开发人员的操作系统的UNIX遗产有更多的关系;所有的东西都是模块化的,而不是过于互联的。这将导致一个更可配置的系统,您可以简单地删除与此无关的内容。我不认为用这种方式来增强Windows服务器是很容易的。

OpenBSD小组已经将这一概念推向了极致。该程序的首要目标是检查每一行代码是否存在可能的安全漏洞。从布丁中可以看出,多年来,由于这种近乎狂热的(恕我直言)对细节的关注,OpenBSD发现了数量非常少的漏洞。

公司,虽然他们制作了优秀的软件(MSSQL,Exchange,Windows 2003在我的书中都是很棒的),只是有不同的目标。

票数 11
EN
页面原文内容由Server Fault提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://serverfault.com/questions/35656

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档