# 我们使用开源的 FreeBSD 作为企业操作系统的 5 个原因

* 原地址：<https://hackernoon.com/5-reasons-we-use-open-source-freebsd-as-our-enterprise-os>
* 作者：Jason Kafer
* 译者：ykla & ChatGPT

有时候，当我告诉其他的技术专家我们建立的成功数字支付公司是运行在 FreeBSD 上时，他们会感到惊讶。

这并不是因为他们没有听说过 FreeBSD——这个开源操作系统今年已经 30 岁了。相反，他们之前可能没有将 FreeBSD 视为一个企业级操作系统。但事实上，这正是它的作用，以及我们如何使用它：FreeBSD 是一个关键的企业级操作系统，在企业环境中与其他操作系统不相上下，甚至在某些方面更胜一筹。

我使用 FreeBSD 已经 16 年了。和许多其他人一样，我最初是出于爱好开始使用它的。之前我在企业环境中使用了各种操作系统，主要是在支付行业，但对一些其他著名的可选项的一些缺点感到不满：随机的错误代码，无尽的支持工单，以及封闭的系统。一位同事向我介绍了 FreeBSD，我立即喜欢上了它的简洁性和功能。我们将那家公司重建在 FreeBSD 堆栈上，项目取得了巨大的成功。

当我们启动我们的数字支付公司时，我们选择了 FreeBSD，并且从未回头；它仍是我们的首选操作系统。我们在两个不同的美国数据中心运行近 60 台服务器。我们采用主动 - 主动架构，并拥有自己的 IPV4 地址块，通过 Anycast 技术实现了高可用性。我们还使用几个高度分割的 VLAN 用于隔离和安全目的。而且我们所有这些都是通过 FreeBSD 来实现的。

这让一些人感到惊讶的原因之一是，作为一家支付公司，我们处理数百万个信用卡和银行账户号码。简单地说：数据泄露对我们来说将是极其严重的后果。我们进行密集的渗透测试和漏洞扫描，以确保我们尽可能强大。我们定期接受安全和合规性评估，并且成绩优异。

在这个过程中，我花了很多时间与审计员、信息安全专家、首席信息官、CISSP 等行业人员交流，为使用 FreeBSD 提供商业案例，并与他们分享我们亲身体验的教训：FreeBSD 是一个非常强大、可靠的企业级操作系统，能够应对最严格的安全标准和监管审查。

接下来，我将解释为什么 FreeBSD 是我们企业级操作系统的首选，并且这些理由同样可以成为你在自己组织中为 FreeBSD 提供商业案例的五个基本原则。

使用 FreeBSD 作为企业级操作系统：5 个需要知道的事情。

**1.安全与稳定性**

FreeBSD 及其生态系统中所有产品最优秀的特点之一是，它是一个完全免费且开源的项目。历史上，在企业环境中，开源有时可能受到负面评价，但随着 IT 专业人员认识到，当正确配置和管理时，开源软件的安全性可以与专有代码一样安全，甚至可能更安全。

其中一个关键原因是，开源消除了所有的黑盒。你可以深入了解其中的一切，没有任何神秘的地方。更重要的是，许多人关注着这些代码，这意味着问题往往会被发现并迅速得到解决，特别是当项目有着长期参与的社区（就像 FreeBSD 一样）。

此外，我从未见过其他操作系统在发布和补丁周期之间具有如此一致的行为。使用 FreeBSD，我们从未遇到那些（在其他系统上）常见的情况——即安装更新或新版本后，一些工具突然停止工作，因为底层库已更改。

FreeBSD 的基本安装还运行着一组非常简化的对外服务，这支持了许多强调零信任或最小权限原则的安全框架，只运行实际需要的服务。你可以轻松添加你需要的功能，而无需担心卸载或禁用那些不需要的内容。

同样，一切都非常容易调整和配置，从网络堆栈的运行方式到入侵检测等等。文档非常好，同样没有黑盒或无休止的支持工单。

开源特性还有助于提供优秀的性能，最大限度地减少环境中的调用和其他潜在负担。最后，在安全性和稳定性方面，基本操作系统与安装在其上的其他所有内容是相互隔离的。

**2.高可用性**

高可用性（HA）是一个热门话题，在许多领域越来越常见的要求。过去，我从未能够在其他操作系统上实现高可用性，而不购买昂贵的防火墙和路由设备。

我们使用基本的 FreeBSD 构建了我们的主动 - 主动、多主机、Anycast 环境。甚至我们的防火墙也是 FreeBSD。我们唯一需要添加的第三方应用是用于 BGP 路由的 BIRD。

两年来，我们没有任何停机时间。我们对当前配置进行了负载测试，最多有 20,000 个并发的信用卡交易，但这还没有达到平台的极限。而且，我们实际上是使用简单的硬件和基本的 FreeBSD 实现了这一切。

**3.补丁更新**

这可能是在企业环境中考虑使用 FreeBSD 最具吸引力的原因之一，也是我最喜欢谈论的方面之一。

我经常被问到一个类似的问题：“等等，你使用 FreeBSD 作为防火墙的操作系统？”我的回答总是：“是的，绝对没错。”

事实是，很多审计和评估公司以及 CISSP 都习惯于使用知名的商业操作系统。这本身没有什么问题，但我喜欢分享我的信念，即许多这些平台在内部使用了许多开源软件，例如 FreeBSD 及其 PF 防火墙。当然，他们会在其上封装自己的用户界面和代码，但本质上，我们在自己的系统上做的事情与他们是一样的。

当我们运行类似于 `pkg audit nightly` 这样的命令来检查我们的系统是否存在 CVE 和其他已知问题时，我们可以比等待商业操作系统供应商提供补丁更快地修补这些漏洞。当一个漏洞被发现时，我们会很快地使用最新的修补程序构建和运行。

**4.配置管理**

没有人喜欢神秘的复选框用户界面风格的配置管理。它是另一种形式的黑盒，因为你不真正知道后台发生了什么。

因此，我喜欢配置 FreeBSD 的简单性。它全部是平面文件。你不需要登录到用户界面来进行更改。

FreeBSD 基于文件的配置使你拥有了一个简单但强大的变更管理系统，这在安全性和审计方面是很有说服力的。几乎任何安全性和评估框架都需要一些类型的变更管理流程。基于文件的配置使得在配置管理中添加变更管理变得简单，你可以将这些文件配置保存为 GIF 文件，或者在其上使用版本控制，从而在配置管理中固有地增加了变更管理。

如果你想将其提升到更高的水平，我们使用 SaltStack 来实现配置管理的集中自动化和编排。在我们的环境中，没有一台服务器上有手动创建或更新的配置文件；一切都是通过 SaltStack 和 Git 完成的，这使得我们可以轻松跟踪环境中的配置管理和变更管理。这为我们提供了对任何系统上进行的任何变更的集中审计跟踪。

**5.合规性管理**

作为一家支付公司，符合监管合规性是我们的主要要求，这也是银行和金融服务行业中其他公司（以及大多数行业）的主要要求。

我们经常遵循 PCI DSS 和 NIST 网络安全框架。根据我们的经验，像这些框架这样的规范通常与某个主要商业操作系统高度匹配，因此许多审计员和评估员对该操作系统也更有经验。这在进行 PCI 一级评估或 NIST 审计时会产生学习曲线，因为我们基本上不得不教授审计员如何配置和保护 FreeBSD。（影响是，现在有一些供应商非常了解它的运作方式！）

如果你与一个不了解 FreeBSD 的供应商合作，第一次评估或审计可能比后续的更加痛苦，因为你必须帮助他们应对这个学习曲线。

但是，好消息是：每当我们完成一次与之前不熟悉 FreeBSD 的安全评估员的课程后，到最后，他们总是会被确信 FreeBSD 是从安全性、合规性、补丁更新和配置管理角度来看最好的操作系统。真的。成功地完成这些审计和评估最终使一个操作系统符合“企业就绪”的标准，我可以断言 FreeBSD 超过了这个标准。

这就是为什么我喜欢分享我们的经验和我们所学到的东西，因为这不可避免地可能成为一个催化剂，帮助我们的技术人员和团队从这样一个伟大的开源操作系统中获得好处。

***

Jason Kafer 是一位经验丰富的技术专家，他专注于高可用性和容错性系统、金融科技领域和数据安全。


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://translated-articles.bsdcn.org/2023-nian-9-yue-yi-qian/5-reasons-we-use-open-source-freebsd-as-our-enterprise-os.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
