使用Fedora服务器有什么问题?

我已经很多次使用Fedora托pipe服务器了。 我从来没有遇到任何问题。 仍然所有的新用户来告诉F​​edora不安全。 我们应该使用Ubuntu / CentOS或其他一些发行版,但不使用Fedora。 我从来不明白Fedora有什么问题。 什么使其他分布更安全。

几点:1. Fedora带有iptablesconfiguration,只允许SSH。 另外,我们总是可以configurationiptables甚至阻止SSH,如果我们也想。 所以不要在防火墙上出现短路。

  1. Fedora定期发布更新(包括安全和一般补丁)。

  2. 人们说发行版X在5年内发布一次新版本,在6个月内发布一次Fedora。 如何在5年内发布一次使事情安全。 如果你觉得5岁的东西是安全的,安装五年的操作系统或不要升级5年即使新版本来。 我个人觉得5年不给新版本不会增加安全性。 当发现错误时,您将不得不发布5年的补丁。 所以使用非常旧的操作系统就意味着更多的补丁 如果我们使用最近发布的版本,那么我们不得不申请更新/补丁。 如何在5年内释放一次使事情安全我从来没有明白。

  3. 所有操作系统都使用类似的软件包,如Gnome,Open-Office,KDE,Open-SSH,Apache。 其他发行版开发者是否花时间阅读这些软件包的源代码并更正安全错误(如果有的话)? 即使他们不会发布这些漏洞,所有其他发行版也会发布补丁,包括Fedora。 或者他们会保护自己的分配,而不是麻烦通知其他人。 这一切都假设他们读取所有数以百万计的包的代码行大到apache,gcc,Open-Office。 如果这种情况在每个发行版本中都是一样的话,那么Fedora就会更加脆弱。

  4. Fedora预装了seLinux,configuration得很好。

  5. 绑定运行在chroot默认情况下在Fedora中。 现在Fedora 11默认情况下也支持DNSSEC。 在Fedora 11上查看问题DNS服务器 ,有人指出Fedora不适合托pipeDNS。 我不知道为什么。

实际上,其中一个新的pipe理员在其中一台testing机器上安装了Cent-OS 5.3。 我用它来ping一个不在那里的IP。 我得到了答复。 我感到惊讶,因为这是不可能的。 我试图找出答复来的地方,但失败了。 在尝试了一个多小时后,我从CentOS机器上取下了网线。 我仍然能够ping IP。 然后我试着ping机器的IP地址。 我也可以ping通。 所以我能ping通两个IP(不是别人,我也试过),当机器configuration了一个IP,没有别名(eth0:1等)出席。 我也检查了ifconfig输出。 我完全信任所谓的服务器发行版,并在所有testing机器上安装了Fedora 11。 现在我不会遇到ping这样基本的问题。

我真的很感激,如果我能得到真实的生活中的例子,表明Fedora是不安全的,如果在这种情况下,任何其他分配的东西本来是可以的。 不要举例pipe理员犯了错误。 我们不能指责这个分配。 也不要给很老的Fedora 1,2或者Fedora 3的例子。 Fedora项目现在已经非常成熟了,特别是最近的两个版本10,11。如果你遇到了只有它们特有的安全问题,请分享你的经验。

Fedora不适合在服务器上使用,也没有任何规定“server distros”是服务器的唯一select。 这取决于你的特殊需求。

使用“服务器发行版”可能会获得的是:

  • 长期的支持
  • 稳定的API(很less到没有版本升级的库和应用程序)
  • backported安全修复和错误修正
  • 有偿支持

我对服务器发行版的主要“抱怨”是软件/库往往有些陈旧,支持的软件包的范围远远小于社区驱动的努力。

即长期的支持和不变的API是商业软件供应商喜欢的东西,他们将不必为最新的库重build应用程序,因为API突然改变了。 他们可以开发供应商Y版本X,并知道这个平台将在未来几年左右。

更重要的是稳定性和变化率,而不是安全本身。 Fedora是Red Hat推出新function和应用程序以validation其相关性,提供实验平台和解决集成问题的平台。

这通常不是您希望服务器执行的操作 – 您通常希望服务器以最稳定的方式执行function。

根据你在做什么,Fedora可能会很好。 如果您正在开发Linux桌面应用程序,则可能需要使用最新的优势。 同样,如果您正在进行一个为期一学期的学校项目或者其他一些时间不太紧的项目,那么Fedora也不错。

我想我没有什么可以补充的,但是在运行了近两年的Fedora之后 – 对于我非常重要的Zabbix监控系统! – 看来我有几件事要说。

首先,这不是我的第一select。 通常对于任何事情,甚至是非常重要的,我都会selectCentOS / RHEL来获得这些发行版提供的长期稳定性好处。 然而,对于这个特殊的部署,我绝对需要Zabbix 2.0的function,而EPEL回购只提供1.8。 (除了1.8以外,EPEL现在还有Zabbix 2.0和2.2版本,不过目前还没有。)如果有的话,我绝对不会这么做。)

所以这里的权衡是:Fedora有最新的软件,但是它的发行版本只有很短的13个月的生命周期,每六个月就有一个新版本发布。 这意味着我不得不计划每年两次升级Fedora的维护窗口,除了定期安装更新。

对于一个应该跟踪其他事情的监控系统,重要的是这样的维护周期尽可能less和尽可能短。 随着升级频繁的要求,通常会排除这样的分布,但请记住我有更紧迫的关注。 没有我需要的function就没用了。 所以这是我(几乎)完全了解后果的权衡。

不久前,我使用Fedora新的fedup升级工具在这台服务器上进行了Fedora 18-19的升级。 我计划了两个小时的停电,再过两个小时,可能会处理任何可能已经死亡的监测服务,并且自从Zabbix宕机以来这个事实错过了。

实际的服务停机时间是11分钟。 这是从Zabbix停止重启之前到备份和监控服务完成升级之后的时间。 我没有意识到宕机的时间太短了! 尽pipe我从经验中知道,Fedora出现重大的升级问题是不常见的,但我还是期待更多的麻烦 。 (并且进一步改进了:当我做Fedora 19-20升级时,完全停机时间是六分钟 ,同时是20-21。)

几乎可以肯定的是,这项服务将变成可用的RHEL 7。 在这个经历之后,我对Fedora作为一个服务器更有信心,现在打算保留它,即使每六个月进行一次重大升级。 迁移到RHEL会更具破坏性,并可能会限制我将来,因为以下几点:

不幸的是,红帽在主要版本之间有这么长的时间, EL5和EL6之间的类似的延迟导致我实际上把一个Ubuntu安装投入生产,我仍然踢我自己到今天。 (对于那个系统,我认为是Fedora,但奇怪的是,尽pipeEPEL中有一个更老的版本,但是当时并没有我需要打包的软件。)


没有人提到运行Fedora的一个“问题”,就是在将它们包含在RHEL之前,你会看到很多新的东西,包括大型软件项目和微小的增强。 所以当你去pipe理你的RHEL / CentOS系统时,你会想念他们。 例如,Fedora有大量bash完成,默认情况下它们还不在RHEL中; 一个值得注意的是yum命令行中的包名称的标签yum

所以,当然可以在生产环境中使用Fedora,只要您可以接受这个权衡:

  • 没有支持合同。 您必须拥有足够的内部专家来pipe理服务器及其服务,并处理可能出现的任何问题; 只有社区支持是可用的,那里没有保证。 RHEL的经验很有帮助,因为它们非常相似。
  • 你必须有一个维护窗口至less每年升级 。 虽然每六个月更好, 如果每年进行升级,则必须立即升级两个版本,这将使您在凌晨3点需要处理的潜在问题数量翻一番。
  • 更新可能会带来新版本的软件,您将不得不处理; 然而,这些将是点发布,而不是主要版本。 在极less数情况下,可能会添加重要的新function(例如BZ#319901 )。 但是,通常情况下,软件在整个发行版本的整个生命周期中保持相同的版本号,并修复了回传; 只有一些软件包(比如PHP)跟踪上游的发行版。
  • 虽然安全更新的速度没有显着差异,但是它们可能并不总是与bugfix更新(再次如PHP)隔离。 这是否是一个问题取决于您计划运行的服务。

所有的事情,Fedora仍然不是我的第一个服务器平台的select,可能永远不会。 (尽pipe我已经成为了Fedora 桌面用户的完美存在)。如果您绝对需要更多的“更新”版本的软件,而且您可以接受权衡,那么就没有任何东西使用Fedora错误。


最后,因为你特别提到了安全问题,所以就说一下。

如前所述,Fedora和任何其他发行版之间的安全更新速度没有实质性差异。 Fedora打包者做了特别的努力,以保持接近上游,并尽快得到这些更新,有时甚至在上游项目之前。

与其企业级的兄弟一样,Fedora也附带一个相当locking的安全configuration:默认情况下,服务(ssh除外) 对于IPv4和IPv6,默认情况下默认启用默认拒绝防火墙; SELinux默认执行。 另外, Fedora在许多其他方面也被强化了 。

另一方面,你很早就能看到新的安全技术。 一个例子就是最近推出的防火墙 ,尽pipe转换到以前的防火墙很容易 ,但它还没有做好准备。

使我不能使用Fedora作为服务器而宁愿使用Debian,Ubuntu或者CentOS的关键就是支持的稳定性和长度 。 当你运行一台服务器时,你需要稳定性,安全性和长久性。 是的,几乎每个发行版都包装相同的软件,所以在那里并不重要。 这是什么testing,安全更新和支持的问题。

Fedora的每6个月的发布时间表是好的,如果你想要stream血的边缘,但是当谈论服务器的stream血边缘并不总是一件好事。 除此之外,Fedora只支持最后三个版本,这意味着你在18个月内正在查看不受支持的操作系统,并且需要升级。 如果你曾经做过Fedora升级,他们通常是不好的,而且在台式机/笔记本电脑上进行干净的安装可能不是那么糟糕,而对于服务器来说,这意味着停机,而且对大多数系统pipe理员来说是不可接受的。

CentOS到目前为止支持周期最长,在此期间它被支持,并且安全补丁和更新被释放,所以它的发布时间不一样。 这样做的好处是,您不需要花费所有时间为下一次升级做准备。 你有一个稳定的服务器,运行稳定的testing软件。

Debian有一个比Fedora更长的发布时间表,但比CentOS更短,但总是安全更新。 Debian的另一个优势是一个干净的升级path。 Debian发行版对干净安装和实时升级都进行了testing,并且在没有问题的情况下才能成功完成发布。 这种关注细节和意愿推迟发布date以清除更多的包错误是最强大的优点之一。 DEB封装结构本身也是为了使升级非常stream畅并保持您的configuration而devise的。 唯一缺乏的就是商业支持,在这种情况下,你可以看看Debian的Debian软件包,就像CentOS从RHEL中获取大部分的包装一样。

编辑:添加大胆的文字,以吸引注意的事实,显然错过了,我不认为Fedora足够稳定的服务器平台。

没有支持。

Fedora没有像红帽企业这样的技术支持合同。 如果你有一个显示停止的问题,没有人打电话。

我最大的争论是:

服务器不是其主要目标受众

同样,我也不build议在服务器环境中使用Ubuntu,许多人会不同意我的看法,但这不是主要的目标。

针对家庭用户和台式机的软件往往缺乏面向服务器的部门,就像针对服务器的事情对家庭用户来说并不适用。

此外,针对家庭用户的平台往往会吸引更多的家庭用户,因此,发现,报告和修复的错误将因此受到优先考虑。

同样,针对服务器使用的平台往往会吸引服务器的使用,因此与服务器使用相关的错误更可能在您到达服务器时find并解决。

(我至less有一位朋友在生产环境中拥有Ubuntu的专业经验,并且说他完全害怕这个问题,并且更喜欢CentOS的生产服务器,因为)。

SELINUX

Fedora预装了seLinux,configuration得很好。

需要注意的是,seLinux并不意味着安全性。

从NSA自己的seLinux网站 :

安全性增强型Linux仅用于演示Linux等现代操作系统中的强制性控制,因此很难自行满足安全系统的任何有趣定义。

我是一个大的fedora粉丝,我认为它很棒,我在所有的台式机/笔记本上运行它,但是我不会在我的任何服务器上运行它。

  • Fedora旨在更接近“最前沿”。 这意味着您将获得更less的testing时间较短的软件。 由于没有发布同时发布,很难得到确切的数字,但我觉得Ubuntu的新function往往是一个版本,而debian / centos / redhat远远落后。

  • 这是我的印象,因为这有更多的更新Fedora,但我没有任何数字来支持。

尽pipe它缺乏Ubuntu的LTS模型,但真正的变化。 你可以在发布几个月之后安装一个Ubuntu LTS,并且知道它有足够的时间来解决任何重大问题并稍微安定下来。

之后,你知道你有至less4年的进一步的支持和升级之前,你必须升级你的服务器。 我可以忍受运行fefora的任何其他潜在的问题,但是不必每年至less移动一次发布(可能两次)。


编辑:find一些数字…

Fedora 11自带了openssh服务器版本5.2。 当它发布的Ubuntu的业力将只有版本5.1 ,相同的版本, debian lenny 。 对于我来说,centos网站太糟糕了,我可以find一个版本,但是他们在4.x上

这不是Fedora不安全。 这是因为它包含了大量的软件包,而且它的刷新速度非常快,所以每年都必须经过升级才能获得安全更新。 如果你有任何不重要的服务器数量,这是一个大问题,尤其是考虑到Fedora更新过程(iirc)需要停机。

在服务器上使用Fedora,而不是象CentOS,Debian,Ubuntu,Gentoo,Slackware,SLES等等,真正归结为这个工作的正确工具。

服务器pipe理员在服务器上发现Fedora的主要抱怨是每6个月到一年的升级周期(取决于您是否总是希望最新版本或跳过其他版本)。 正如您指出的那样,Fedora安装了“默认安全”configuration,并提供了大量用于维护安全系统的工具。 特别是在服务器上,preupgrade工具将会处理不同Fedora版本之间的迁移,这可以稍微缓解这个问题。

如果你想要一个更长的发布周期,那么类似CentOS(本质上是红帽企业Linux的免费版本)可能更容易处理你的工作负载。

总而言之,如果你对此感到满意的话,我认为你对Fedora来说还不错。 我从来没有看到任何证据表明Debian,Ubuntu或CentOS比Fedora 更安全

任何操作系统都可以做到安全。 关于Fedora作为服务器的两点。 其一,每次升级软件版本时,都有可能引入新版本中不存在的新错误和安全问题。 这就是为什么公司在安装软件之前需要等待一年,所以很多错误和安全问题都可以得到解决。 您不想在每次出现新版本时切换到新的迁移问题和新的安全问题。 第二个Fedora没有像RedHat或Ubuntu那样获得企业支持的能力。

我们在工作中使用RHEL。 如果您每6或12个月就必须升级7k服务器,我们永远都不会超前。 到2008年,我们仍然在使用Win2k3服务器。

Fedora版本过于频繁,没有很多服务器的公司保持最新状态。 对于一个小企业,确定Fedora可能是可以使用的。 但是,再次,您将需要在现场的Linuxpipe理员,大多数人不能负责解决很多问题。 所以这就是RHEL具有优势的支持。

我在家里使用了Debian。 我刚刚从7升级到8,非常顺利。 Ubuntu也有一台服务器,但Ubuntu相当于Fedora。 Debian需要很长时间才能推出新的软件包,因为他们对它们进行了彻底的testing。 缺点是,你可能没有最新的Apache或MySQL或任何你需要的应用程序,有你想要的function。 当然,你可以单独下载,但是它不符合“稳定和安全”操作系统的目的。

另外 – function/function可能会出现,然后在下一个版本中被引用 – 这对于服务器来说通常不是有用的,因为你需要可靠性。 OTOH,如果你安装了F11并且坚持了2-4年,像CentOS 5或者Ubuntu LTS一样,那么就没有什么区别了。 这关乎舒适水平。

等等…什么? 据我所知,维基百科运行在Fedora上。 不在RedHat上 – 在Fedora上。 所以Fedora被用作Web服务器真的没有问题:)

通常,系统pipe理员从面向服务器的分发中需要的是:

  1. 没有stream血的软件,即使在最新的版本
  2. 所有你需要的软件应该可以从官方仓库中获得:在生产环境中,有时你不能使用随机不受信任的网站提供的软件包,更糟糕的是,在本地编译。
  3. 从官方回购集中和及时的安全更新
  4. 软件包安装脚本和策略(由分发提供)确保顺利升级[即当守护程序升级到新版本时升级configuration文件内容]
  5. 可选,企业支持

Fedora在这一点上失败,afaik

CentOS在2,3,4,5上失败

Debian在5上失败

Ubuntu在1上失败

你的select :)