Linux 之所以安全是一种常见误解
这里对“Linux 默认就是安全的”这一说法提出了挑战。许多人指出,与 iOS、macOS、ChromeOS 或 Qubes OS 等系统相比,桌面 Linux 往往缺乏强沙箱、加固后的默认设置以及统一明确的威胁模型。另一些人则反驳说,Linux 的开放性、灵活的安全工具(SELinux、VM、容器)以及作为消费级目标较低的受欢迎度,在正确配置时可以让它实际上非常安全,而且 Windows 和 macOS 的遥测带来的隐私伤害是另一个同样重要的问题。总体而言,这场讨论围绕的是:安全应当在多大程度上来自默认设置,而用户又应承担多少配置工作;以及“安全”这一概念的不同侧面(技术加固、易用性、隐私、攻击者资源)如何影响人们对各个平台的判断。
关于 Linux 安全性的总体看法
- 许多人认为“Linux 是安全的”和“Linux 是不安全的”这两种说法都过于简化;安全性取决于配置、威胁模型和用户行为。
- 有人认为桌面 Linux 在实践中相对安全(不是热门攻击目标,有强大的工具可用),也有人称它在开箱即用时相比加固过的系统“可笑地不安全”。
- 还有几条评论指出,没有任何主流操作系统能真正抵御资源充足的攻击者;差异主要体现在默认设置以及防御手段的易用性上。
与其他操作系统的比较
- 多条评论声称,iOS、macOS、Android、ChromeOS,有时还有 Windows,默认情况下都比典型的桌面 Linux 发行版更安全。
- 反方观点:Linux 可以被配置得同样安全甚至更安全,但通常需要专业知识以及非默认的加固措施(SELinux、seccomp、自定义构建等)。
- ChromeOS 和 Android 被举为基于 Linux 的系统范例,它们具有强沙箱、面向客户端使用场景的 SELinux 策略、较小的内核攻击面(例如禁用 io_uring)、只读且经过验证的 rootfs,以及没有自启动,从而限制持久化。
- Qubes OS(通常配合 Whonix)被反复强调为通过 VM 隔离实现强安全性的典范。
隐私、遥测与厂商控制
- 有人认为“Linux 是安全的”部分意味着“Linux 厂商没那么恶意”:更少的遥测、更少的广告、更少的远程控制。
- 也有人不同意这一点:他们指出 Ubuntu 的广告/遥测,以及 Debian 的可选 popularity contest;并指出安全性 ≠ 隐私,厂商广告/遥测通常也不被视为安全漏洞。
- 另一种观点是:未经同意的监控和广告 确实 是安全问题,因为厂商可以作为你机器上不受信任的“第三方”采取行动。
用户行为与生态系统
- Windows 文化被描述为鼓励从随机网站安装软件,并使用可疑的驱动更新器;Linux 用户则更常使用发行版仓库。
- 讨论的焦点还包括:运行
curl|bash脚本是否真的比运行未知二进制文件更安全;有人强调脚本至少可以审查,另一些人则说大多数用户其实并不会真正阅读它们。 - 包管理方面:Linux 发行版提供集中式更新;Windows 现在有 winget,但它主要只是包装传统的 EXE 安装器。
沙箱、加固与默认设置
- 关于 Flatpak 的讨论:它提供了沙箱框架,但许多应用仍然获得较宽泛的权限(例如访问
$HOME),这与传统软件包类似,因此它并不会神奇地解决桌面安全问题。 - macOS 的沙箱机制被认为集成得更好,不过未沙箱化的应用仍然可以获得较广泛的磁盘访问权限。
- SELinux 被反复提及为一种重要的缓解措施,但其有效性取决于发行版如何应用它(更偏向服务器还是客户端)。
- 有人批评发行版存在不安全默认设置,例如默认启用 sshd;也有人认为这种服务本就可预期,责任在于没有明确告知。
内存安全与内核特性
- 讨论提到文章对“Linux 软件大多使用 C/C++ 编写”的批评,但评论者指出其他生态系统同样如此,而且也提供安全语言选项。
- 关于内核特性也存在争论:有些人为 eBPF 及内核对危险构造的处理辩护;另一些人则倾向于尽量缩小攻击面。
- 有几条评论提到 Windows 正在推动新组件采用 Rust,但也质疑其已经“高度依赖” Rust 的说法。