当前位置: 首页>>技术教程>>正文


如果我以标准用户身份使用 Windows 7 与使用 ubuntu 有何区别?

, ,

问题描述

Ubuntu 之所以安全有很多原因,其中之一,也是我认为最主要的原因,就是当您尝试通过终端/商店安装软件/应用程序时,会弹出一个身份验证框,要求您输入密码。

不幸的是,我是 long-term Windows 用户,Windows 中有 3 种类型的用户帐户:管理员、标准用户和访客。

如果我使用标准用户帐户在 Windows 7 中执行任务,那么每次我需要安装软件时都会弹出一个身份验证框,要求我输入管理员密码,这与 ubuntu 类似,也是 Windows 的安全性加分项。

由于两者都要求输入密码,那么如果我使用 Windows 7 作为标准用户与使用 ubuntu 有什么区别?

最佳思路

\\n

\\u2026 what’s the difference in security \\u2026?

\\n

就身份验证和文件系统权限而言,说实话,没什么。我们可以对 policykitsudoers 大加赞赏,但这些只是技术问题。Windows 十多年来一直有类似的机制。

核心区别在于默认设置。普通的 just-bought-a-computer Windows 用户将拥有完全的系统写入权限。没有提示。没有 UAC。尽管 XP 可以被锁定,但其用户被灌输了只要能够做任何事情,权限就不管了。

微软 _u2014 despite constant resistance from veteran users _u2014 随着时间的推移对此进行了改进。

但重要的是,从统计学上讲,用户仍然是白痴。如果他们想要某些东西(图形驱动程序的存储库、一批屏幕保护程序,甚至 dripping wet Warhammer figurines ),他们可能会点击最接近 Okay! Just install it! 的东西,直到得到他们想要的东西。

几年前,我写了 Linux isn’t invulnerable 。即使在今天,同样的情况也适用于 Windows。

别误会我的意思,Ubuntu 仍然有很多优势:

  • 开源是最重要的。你可以查看系统上运行的几乎所有代码(二进制 blob 驱动程序和固件除外)。

  • Ubuntu 还拥有由值得信赖的开发人员维护的软件库。这使得许多软件可以在安全的环境中使用,而无需用户亲自寻找。

  • 同样的机制提供了 system-wide 安全更新。对于非核心软件,Windows 依靠应用程序自行更新。

  • AppArmor 和 SELinux 等机制对应用程序进行沙盒处理,限制它们可以接触的内容。

  • 传统上,较小的 user-base 意味着对于恶意软件创建者来说,我们不是一个有吸引力的目标。

这些都是可以避免的事情……零日漏洞仍然影响着我们,如果其他所有条件相同,针对用户或人群的针对性攻击同样有可能成功。

次佳思路

最新的 Linux 发行版使用一种可高度调整且可配置性极高的工具,名为 sudo。您可能已经听说过它。在 Windows 中,安装程序时必须提供管理员密码。

在 Ubuntu 中,管理员用户 (root) 默认是禁用的。您甚至不知道他的密码,没有人知道,直到您使用 sudo 更改了他的密码。用户可以在短时间内或执行单个任务(例如安装程序)获得 root 权限。此用户必须具有使用 sudo 的权限(在 /etc/sudoers 中配置)。使用 sudo 执行的程序将以 root 用户身份执行。

然后,在由 gnome 驱动的图形会话中,还有其他机制可以执行管理任务。其中之一就是 policyKit。后台有一个守护进程以 root 权限运行。例如,如果用户想要关闭机器(只有 root 可以),用户可以通过安全上下文(称为 D-Bus)与此守护进程对话。如果获得授权,守护进程将执行系统的关机命令。这些规则在 /usr/share/polkit-1/actions/* 中定义。

Gnome 通常附带一个 single-sign-on 解决方案,称为 Gnome Keyring。在此密钥环中可以存储您的凭据。当您通过网络共享(例如在 nautilus 中)进行身份验证时,系统将提示您输入密码,并且有一个复选框来记住您的密码。该密码将存储在密钥环中,这是一个受密码保护的数据库。此数据库将在通过 PAM 的图形登录过程中解锁。

然后是基于 SELinux 的 AppArmor。AppArmor 为系统上运行的不同应用程序定义配置文件。这些配置文件处理和限制特定应用程序所需的访问权限。

所有这些机制也都已在 Windows 操作系统中实现。只是方式不同且不太透明。

我真的可以推荐一些有关上述机制的讲座,以了解它们如何协同工作。

参考:

第三种思路

请考虑操作系统安全不仅仅涉及提示输入密码。事实上,密码是最弱的安全形式,因为它只是一个共享的秘密。

Linux 和 Windows 中都有多种控件可以保护您免受远程破解者的攻击,例如系统执行策略,它可以监视允许程序执行的操作,并在程序违反策略时采取行动(例如 Windows 中的 DEP(某种程度上)和 Linux 中的 SELinux),从而防止破解者执行恶意代码。此外,防火墙有助于抵御攻击者;Windows 和 Ubuntu 都预装了防火墙。不幸的是,在 Windows 中,可以通过抑制 UAC 提示来关闭管理控件,并且实际上就像在系统上以管理员身份运行一样,就像在早期版本的 Windows 中一样。这些只是安全实施系统的工具和方法,它们都无法解决所有专有代码的一个核心问题:从安全角度来看的代码质量和故意设置的后门(正如我们从某些前 NSA 承包商那里了解到的那样)。

Linux 和其他开源操作系统更安全的原因之一是所有代码都经过同行评审。这意味着许多人可以并且确实在评审开源生态系统中的流行代码,就像科学界评审彼此的研究一样。在这种透明度下,政府或颠覆性组织几乎不可能在您的系统中安装后门。系统分销商也不可能在社区不知情的情况下收集有关您的不必要信息。这种开放性显然为开源软件带来了更高的安全性。这也适用于开源代码的其他属性;例如性能和稳定性,除非社区在强加的劣势下运作,例如,企业实体拒绝分享某些硬件的规格,从而难以有效地构建驱动程序。

仅供参考:\n Windows Security Flaws Doubled in 2013, Windows 8 the Most Vulnerable OS | Softpedia News

参考资料

本文由Ubuntu问答整理, 博文地址: https://ubuntuqa.com/article/14505.html,未经允许,请勿转载。