Ubuntu 之所以安全有很多原因,其中之一,也是我认为最主要的原因,就是当您尝试通过终端/商店安装软件/应用程序时,会弹出一个身份验证框,要求您输入密码。
不幸的是,我是长期的 Windows 用户,Windows 中有 3 种类型的用户帐户:管理员、标准用户和访客。
如果我使用标准用户帐户在 Windows 7 中执行任务,那么每次我需要安装软件时都会弹出一个身份验证框,要求我输入管理员密码,这与 ubuntu 类似,也是 Windows 的安全性加分项。
由于两者都要求输入密码,那么如果我使用 Windows 7 作为标准用户与使用 ubuntu 有什么区别?
答案1
…安全性上有什么区别……?
就身份验证和文件系统权限而言,说实话,没什么。我们可以对此大加赞赏policykit
,sudoers
但这些只是技术细节。十多年来,Windows 一直有类似的机制。
核心区别曾是在默认设置下。普通的、刚买电脑的 Windows 用户将拥有完全的系统写入权限。没有提示。没有 UAC。即使 XP可以被锁定,其用户被灌输只能够做某些事情,权限被诅咒。
微软已经——尽管资深用户不断抵制— 随着时间的推移,情况不断改善。
但重要的是,从统计学上讲,用户仍然是白痴。如果他们想要某些东西(图形驱动程序的存储库、一批屏幕保护程序,甚至湿漉漉的战锤小雕像)他们可能会点击最接近的东西,Okay! Just install it!直到得到他们想要的东西。
几年前我写过Linux 并非坚不可摧. 同样的情况也适用于 Windows,即使到今天也是如此。
别误会我的意思,Ubuntu 仍然有很多优势:
- 开源是最重要的。你可以查看系统上运行的几乎所有代码(二进制 blob 驱动程序和固件除外)。
- Ubuntu 还拥有由值得信赖的开发人员维护的软件库。这使得许多软件可以在安全的环境中使用,而无需用户亲自寻找。
- 同样的机制提供系统范围的安全更新。对于非核心软件,Windows 依靠应用程序自行更新。
- AppArmor 和 SELinux 等机制对应用程序进行沙盒处理,限制它们可以接触的内容。
- 传统上,较小的用户群意味着我们对于恶意软件创建者来说不是一个有吸引力的目标。
这些都是可以避免的事情......零日漏洞仍然影响着我们,如果其他所有条件相同,针对用户或人群的针对性攻击同样有可能成功。
答案2
最现代的 Linux 发行版使用一种高度可调且可配置的工具,称为须藤。您可能已经听说过。在 Windows 中,安装程序时必须提供管理员密码。
在 Ubuntu 中,管理员用户 (root) 默认处于停用状态。您甚至不知道他的密码,没有人知道,直到您使用 更改了他的密码sudo
。用户可以在短时间内或执行单个任务(例如安装程序)获得 root 权限。此用户必须具有使用权限sudo
(在 中配置/etc/sudoers
)。sudo
执行的程序以 root 用户身份执行。
然后,在由 gnome 驱动的图形会话中,还有其他机制可以执行管理任务。其中之一是政策工具包。后台有一个守护进程以 root 权限运行。例如,如果用户想要关闭计算机(只有 root 可以),用户可以通过安全上下文(称为D-总线)。如果被授予,守护进程将执行系统的关机命令。这些规则在 中定义/usr/share/polkit-1/actions/*
。
Gnome 通常带有一个名为侏儒钥匙圈。在此密钥环中可以存储您的凭据。当您通过网络共享进行身份验证时(例如在 nautilus 中),系统将提示您输入密码,并且有一个复选框来记住您的密码。该密码将存储在密钥环中,这是一个受密码保护的数据库。此数据库将在图形登录过程中解锁,方法是聚丙烯酰胺。
然后是应用装甲基于SELinux。AppArmor 为系统上运行的不同应用程序定义配置文件。这些配置文件处理和限制特定应用程序所需的访问权限。
所有这些机制也都已在 Windows 操作系统中实现。只是方式不同且不太透明。
我真的可以推荐一些有关上述机制的讲座,以了解它们如何协同工作。
参考:
答案3
请考虑操作系统安全不仅仅涉及提示输入密码。事实上,密码是最弱的安全形式,因为它只是一个共享的秘密。
Linux 和 Windows 中都有多种控件可以保护您免受远程破解者的攻击,例如系统执行策略,它可以监视允许程序执行的操作,并在程序违反策略时采取行动(例如 Windows 中的 DEP(某种程度上)和 Linux 中的 SELinux),从而防止破解者执行恶意代码。此外,防火墙有助于抵御攻击者;Windows 和 Ubuntu 都预装了防火墙。不幸的是,在 Windows 中,只需抑制 UAC 提示即可关闭管理控件,并且实际上就像在系统上以管理员身份运行一样,就像在早期版本的 Windows 中一样。这些只是安全实施系统的工具和方法,它们都无法解决所有专有代码的一个核心问题:从安全角度来看的代码质量和故意设置的后门(正如我们从某些前 NSA 承包商那里了解到的那样)。
Linux 和其他开源操作系统更安全的原因之一是所有代码都经过同行评审。这意味着许多人可以而且确实在评审开源生态系统中的流行代码,就像科学界评审彼此的研究一样。在这种透明度下,政府或颠覆性组织几乎不可能在你的系统上安装后门。系统分销商也不可能在社区不知情的情况下收集有关你的不必要的信息。这种开放性显然为开源软件带来了更高的安全性。这也适用于开源代码的其他属性;如性能和稳定性,除非社区在强加的劣势下运作,例如,企业实体拒绝分享某些硬件的规格,从而难以有效地构建驱动程序。
供参考: 2013 年 Windows 安全漏洞翻倍,Windows 8 成为最易受攻击的操作系统 | Softpedia 新闻