我曾多次使用 Fedora 来托管服务器。我从来没有遇到过任何问题。仍然所有新用户都来告诉 Fedora 不安全。我们应该使用 Ubuntu / CentOS 或其他发行版,而不是 Fedora。我永远不明白 Fedora 有什么问题。是什么让其他发行版更安全。
几点: 1. Fedora 自带的 iptables 配置为只允许 SSH。另外,如果我们愿意,我们也可以随时配置 iptables 甚至阻止 SSH。所以防火墙没有缺点。
Fedora 定期发布更新(包括安全补丁和通用补丁)。
人们说 distro X 5 年发布一次新版本,Fedora 6 个月发布一次。为什么 5 年发布一次就可以保证安全。如果您觉得 5 年前的东西是安全的,请安装 5 年前的操作系统,或者即使新版本来了也不升级 5 年。我个人觉得 5 年不提供新版本不会增加安全性。当检测到错误时,您将不得不发布 5 年的补丁。所以使用非常旧的操作系统意味着更多的补丁。如果我们使用最近发布的版本,那么我们必须应用更少的更新/补丁。5 年发布一次如何让事情变得安全,我从未理解过。
所有操作系统都使用类似的软件包,如 Gnome、Open-Office、KDE、Open-SSH、Apache。其他发行版开发人员是否花时间阅读这些软件包的源代码并纠正安全错误(如果有)?即使他们不会发布这些缺陷,所有其他发行版也会发布补丁,包括 Fedora。还是他们会保护自己的发行版而不费心通知其他人。这一切都假设他们确实阅读了 apache、gcc、Open-Office 等数百万行代码。如果这在每个发行版中都是一样的,那么是什么让 Fedora 更容易受到攻击。
Fedora 预装了 seLinux 并进行了很好的配置。
在 fedora 中,Bind 默认在 chroot 中运行。现在在 Fedora 11 中也默认提供 DNSSEC 支持。请参阅Fedora 11 上的 DNS 服务器问题,其中有人指出 Fedora 不适合托管 DNS。我不知道为什么。
事实上,其中一位新管理员在其中一台测试机器上安装了 Cent-OS 5.3。我用它来ping一个不存在的IP。我收到了 ping 回复。我很惊讶,因为这是不可能的。我试图找出回复的位置,但失败了。最后在尝试了一个多小时后,我从 CentOS 机器上拔下了网线。我仍然能够ping通IP。然后我尝试ping机器的IP地址。我也可以ping通。因此,当机器配置有一个 IP 并且没有别名(eth0:1 等)存在时,我能够 ping 两个 IP(不是其他 IP,我也尝试过)。我也检查了 ifconfig 输出。我对所谓的服务器分发完全失去了信任,并在所有测试机器上安装了 Fedora 11。现在,对于像 ping 这样基本的东西,我不会遇到这种奇怪的问题。
如果我能获得表明 Fedora 不安全的真实示例,并且在这种情况下,如果是任何其他发行版,我将非常感激。如果管理员犯了错误,请不要举例。我们不能为此责怪发行版。也不要给出非常旧的 Fedora 1、2 或 Fedora 3 示例。Fedora 项目现在非常成熟,尤其是最后两个版本 10、11。如果您遇到过只有它们特有的安全问题,请分享您的经验。
我以为我没有什么要补充的,但在生产中运行 Fedora 近两年后——对于我非常重要的 Zabbix 监控系统!- 看来我确实有几件事要说。
首先,这不是我的第一选择。通常对于任何非常重要的事情,我都会选择 CentOS/RHEL 以获得这些发行版提供的长期稳定性优势。但是,对于这个特定的部署,我绝对需要 Zabbix 2.0 中的功能,而EPEL 存储库仅提供 1.8。(EPEL 现在除了 1.8 之外还有 Zabbix 2.0 和 2.2 包,虽然当时没有。如果有,我永远不会尝试这个。)
所以这里的权衡是:Fedora 拥有最新的软件,但它的版本只有 13 个月的生命周期,大约每六个月发布一次新版本。这意味着除了通常的定期安装更新之外,我还必须计划一个维护窗口来每年升级两次 Fedora。
对于应该跟踪其他所有内容的监控系统,此类维护周期应尽可能少且尽可能短,这一点至关重要。由于需要如此频繁地升级,这通常会排除这样的发行版,但请记住,我有更紧迫的担忧;如果没有我需要的功能,它将毫无用处。所以这是我在(几乎)完全了解后果的情况下做出的权衡。
不久前,我在这台服务器上做了 Fedora 18-19 升级,使用了 Fedora 新的 fedup 升级工具。我计划了两个小时的中断,另外两个小时可能会处理任何可能已经死亡的受监控服务,并且由于 Zabbix 宕机而错过了这一事实。
实际服务停机时间为11 分钟。那是从 Zabbix 在重启前停止的时间到它在完成升级后备份和监控服务的时间。我没有意识到停机时间会这么短!我期待更多的麻烦,尽管我从经验中知道重大升级问题在 Fedora 中并不常见。(而且它得到了进一步的改进:当我升级 Fedora 19-20 时,完全停机时间是惊人的6 分钟。20-21 也是如此。)
这项服务几乎肯定会在可用时移至 RHEL 7。在这次经历之后,我对 Fedora 作为服务器更有信心,现在打算保留它,即使每六个月进行一次重大升级。转移到 RHEL 会更具破坏性,并且将来可能会限制我,原因如下:不幸的是,Red Hat 在主要版本之间存在如此长的时间。EL5 和 EL6 之间的类似延迟导致我实际上将 Ubuntu 安装投入生产,直到今天我仍在努力。(对于那个系统,我考虑过 Fedora,但奇怪的是,它当时根本没有打包我需要的软件,尽管 EPEL 中有一个旧版本。)
没有人提到运行 Fedora 的一个“问题”是,您将看到许多新事物,包括大型软件项目和微小的增强,远远早于将它们包含在 RHEL 中。所以当你去管理你的 RHEL/CentOS 系统时,你会想念它们。例如,Fedora 有大量的 bash 补全,默认情况下它们还没有在 RHEL 中。一个值得注意的是
yum
命令行中包名称的制表符补全。所以,当然可以在生产中使用 Fedora,只要你能接受权衡:
综合考虑,Fedora 仍然不是我作为服务器平台的首选,而且可能永远不会是。(尽管我一直是一个快乐的 Fedora桌面用户。)如果您绝对需要更多当前版本的软件,而这些软件在更“企业”的发行版中不可用,并且您可以接受权衡,那么就没有什么了使用 Fedora 有问题。
最后,既然您专门询问了安全性,请就此说几句。
如前所述,Fedora 和任何其他发行版之间的安全更新速度并没有真正的区别。Fedora 打包人员特别努力与上游保持密切联系,并尽可能快地发布这些更新,有时甚至在上游项目之前。
像它的企业大哥一样,Fedora 也提供了相当锁定的安全配置:服务(除了 ssh)默认提供;默认情况下,IPv4 和 IPv6 均启用 default-deny 防火墙;SELinux 默认执行。此外,Fedora 在许多其他方面得到了强化。
另一方面,您可以很早就看到新的安全技术;一个例子是最近推出的FirewallD,虽然切换回以前的防火墙很容易,但它还没有准备好迎接黄金时段。
没有任何东西表明 Fedora 不适合在服务器上使用,也没有任何东西表明“服务器发行版”是服务器的唯一选择。这取决于您的特定需求。
您可以从使用“服务器发行版”中获得的是:
我对服务器发行版的主要“抱怨”是软件/库往往有些陈旧,支持的软件包范围远小于社区驱动的努力。
即长期支持和不变的 API 是商业软件供应商喜欢的东西,他们不必为最新的库重建他们的应用程序,因为 API 突然改变了。他们可以为 Vendor Y Release X 开发,并且知道这个平台将在未来几年内出现。
它本身更多的是关于稳定性和变化率而不是安全性。Fedora 是 Red Hat 推出新功能和应用程序以验证其相关性、提供实验平台和解决集成问题的平台。
这通常不是您希望服务器执行的操作——您通常希望服务器以尽可能最稳定的方式执行功能。
取决于你在做什么,Fedora 可能会很好。如果您正在开发 Linux 桌面应用程序,则可能需要使用最前沿的技术。同样,如果您正在从事为期一个学期的学校项目或其他一些时间有限的项目,而无需担心变化的快节奏,Fedora 也可以。
阻止我使用 Fedora作为服务器并更喜欢 Debian、Ubuntu 或 CentOS的关键点是稳定性和支持的长度。当您运行服务器时,您需要稳定性、安全性和使用寿命。是的,几乎每个发行版都打包了相同的软件,所以这无关紧要。这取决于测试的内容、是否有安全更新以及是否受支持。
如果您想要前沿技术,Fedora 每 6 个月的发布计划是不错的,但在谈论服务器前沿技术时并不总是一件好事。此外,Fedora 仅支持最后三个版本,这意味着您将在 18 个月内查看不受支持的操作系统并且必须升级。如果您曾经进行过 Fedora 升级,它们通常很糟糕,并且更容易进行全新安装,这在台式机/笔记本电脑上可能不会那么糟糕,但对于服务器而言,这意味着停机并且大多数系统管理员无法接受。
CentOS 迄今为止拥有最长的支持周期,在此期间它受到支持,并且发布了安全补丁和更新,因此它始终不是同一个版本。这样做的好处是您不必花费所有时间为下一次升级做准备。您有一台稳定的服务器,上面运行着经过稳定测试的软件。
Debian 的发布时间表比 Fedora 长,但比 CentOS 短,但总是在安全更新上。Debian 的另一个优点是干净的升级路径。Debian 发行版经过全新安装和实时升级测试,直到能够成功完成且没有问题时才真正发布。这种对细节的关注和推迟发布日期以清除更多包错误的意愿是它最强大的优点之一。DEB 包结构本身也经过精心设计,可以使升级非常顺利并维护您的配置。它唯一真正缺乏的是商业支持,在这种情况下,您可以查看 Ubuntu,它从 Debian 获取软件包,就像 CentOS 从 RHEL 获取大部分软件包一样。
编辑:添加了粗体文本以引起人们对明显被忽略的事实的注意,即我认为 Fedora 对于服务器平台来说不够稳定。
我最大的论点是:
服务器不是其主要目标受众
同样,我不建议将 Ubuntu 用于服务器环境,许多人会不同意我的观点,但这根本不是主要目标。
针对家庭用户和台式机的软件往往在面向服务器的部门中缺乏,就像针对服务器的软件对家庭用户不起作用一样。
此外,针对家庭用户的平台往往会吸引更多的家庭用户,因此,发现、报告和修复的错误将因此而被优先考虑。
同样,以服务器使用为目标的平台往往会吸引服务器使用,因此与服务器使用相关的错误更有可能在您找到它们时被发现并解决。
(我至少有一个朋友在生产环境中使用过 Ubuntu,他说他完全被它吓坏了,并且更喜欢 CentOS 用于生产服务器,因为。)
seLinux
需要注意的是,seLinux 并不意味着安全。
来自NSA 自己的 seLinux 网站:
没有支持。
Fedora 没有像 Red Hat 企业那样的技术支持合同。如果您有一个停止显示的问题,没有人可以打电话。
我是 Fedora 的忠实粉丝,我认为它很棒,我在我所有的台式机/笔记本电脑上运行它,但我不会在我的任何服务器上运行它。
Fedora 旨在更接近“流血边缘”。这意味着您将获得测试时间更少的更新软件。由于没有任何版本同时发布,因此很难获得确切的数字,但我觉得 ubuntu 通常在新功能方面落后一个版本,而 debian/centos/redhat 则落后得多。
我的印象是,正因为如此,fedora 上有更多更新,但我也没有任何数据来支持这一点。
尽管缺少 ubuntu 所拥有的 LTS 模型,但真正影响它的是什么。您可以在 ubuntu LTS 发布几个月后安装它,并且知道它有足够的时间来解决任何重大问题并稍微安定下来。
在那之后,您知道在升级服务器之前您至少有 4 年的进一步支持和升级。我可以忍受运行 fefora 的任何其他潜在问题,但不必每年至少在每个盒子上移动一次(尽管可能两次)。
编辑:找到一些数字...
Fedora 11 带有 openssh 服务器版本 5.2。当它发布时,ubuntu karmic 将只有5.1版本,与debian lenny的版本相同。centos 网站对我来说太垃圾了,无法找到版本,但是 afaik 他们在 4.x 上
并不是说fedora 不安全。这是因为它附带最先进的软件包,并且更新速度非常快,因此您必须每年左右进行升级才能不断获得安全更新。如果您有任何数量不小的服务器,这将是一件大事,尤其是考虑到 Fedora 更新过程 (iirc) 需要停机时间。
在服务器上使用 Fedora 与 CentOS、Debian、Ubuntu、Gentoo、Slackware、SLES 等相比,真正归结为适合这项工作的正确工具。
服务器管理员对服务器上的 Fedora 的主要抱怨是每 6 个月到一年的升级周期(取决于您是始终想要使用最新版本还是跳过所有其他版本)。正如您所指出的,Fedora 安装了“默认安全”配置,并提供了许多用于维护安全系统的工具。特别是在服务器上,预升级工具可以很好地处理不同 Fedora 版本之间的迁移,这在一定程度上缓解了这种担忧。
如果您想要更长的发布周期,那么像 CentOS(本质上是 Red Hat Enterprise Linux 的免费版本)之类的东西可能更容易处理您的工作负载。
总而言之,如果您对 Fedora 感到满意,我认为您可以使用它。我从未见过任何证据表明 Debian、Ubuntu 或 CentOS比 Fedora更安全。
任何操作系统都可以变得安全。关于 Fedora 作为服务器的两点。第一,每次升级软件版本时,您都面临着引入以前版本中不存在的新错误和安全问题的风险。这就是为什么公司希望在软件发布后等待一年再安装它,因此可以修复许多错误和安全问题。您不希望每次出现迁移难题和涉及的新安全问题时都切换到新版本。其次,Fedora 无法获得像 RedHat 或 Ubuntu 这样的企业支持。