使用Fedora作為伺服器有什麼問題?

使用Fedora作為伺服器有什麼問題?

我曾多次使用 Fedora 來託管伺服器。我從來沒有遇到任何問題。儘管如此,所有新用戶都告訴我們 Fedora 不安全。我們應該使用 Ubuntu / CentOS 或其他一些發行版,但不應該使用 Fedora。我一直不明白 Fedora 的問題是什麼。是什麼讓其他發行版更安全。

幾點: 1. Fedora 附帶的 iptables 配置為僅允許 SSH。另外,如果我們願意的話,我們也可以隨時設定 iptables 來阻止 SSH。所以防火牆沒有缺點。

  1. Fedora 定期發布更新(安全性修補程式和一般修補程式)。

  2. 人們說發行版 X 5 年發布一次新版本,Fedora 6 個月發布一次。為什麼每 5 年發布一次就能確保安全呢?如果您覺得 5 年前的東西是安全的,請安裝 5 年前的作業系統,或者即使有新版本出現,5 年內也不要升級。我個人認為五年不提供新版本並不會增加安全性。當偵測到錯誤時,您必須發佈 5 年內的補丁。因此,使用非常舊的作業系統意味著更多的修補程式。如果我們使用最近發布的版本,那麼我們必須套用更少的更新/補丁。我一直不明白如何每 5 年發布一次才能讓事情變得安全。

  3. 所有作業系統都使用類似的軟體包,如 Gnome、Open-Office、KDE、Open-SSH、Apache。其他發行版開發人員是否花時間閱讀這些套件的源代碼並糾正安全錯誤(如果有)?即使他們這樣做,他們也不會發布這些缺陷,並且所有其他發行版都會為其發布補丁,包括 Fedora。或者他們會保護自己的發行版而不費心去通知其他人。這一切都假設他們確實讀取了像 apache、gcc、Open-Office 這樣大的軟體包的所有數百萬行程式碼。如果每個發行版中的這些東西都是相同的,那麼是什麼讓 Fedora 更容易受到攻擊。

  4. Fedora 預先安裝了 seLinux,並且配置良好。

  5. 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。

答案1

沒有任何內容表明 Fedora 不適合在伺服器上使用,也沒有任何內容表明「伺服器發行版」是伺服器的唯一選擇。這取決於你的特殊需求。

使用「伺服器發行版」可以獲得以下好處:

  • 長期支持
  • 穩定的 API(庫和應用程式幾乎沒有版本升級)
  • 向後移植的安全修復和錯誤修復
  • 有償支持

我對伺服器發行版的主要「抱怨」是軟體/庫往往有些陳舊,並且支援的軟體包範圍比社區驅動的努力要小得多。

也就是說,商業軟體供應商喜歡長期支援和不變的 API,他們不必因為 API 突然改變而為最新的庫重建應用程式。他們可以為供應商 Y 版本 X 進行開發,並且知道該平台將在未來幾年內存在。

答案2

我以為我沒有什麼可添加的,但在生產環境中運行 Fedora 近兩年之後 - 對於我非常重要的 Zabbix 監控系統! ——看來我確實有幾句話要說。

首先,這不是我的第一選擇。通常,對於任何甚至不太重要的事情,我都會選擇 CentOS/RHEL,因為這些發行版提供的長期穩定性優勢。然而,對於這個特定的部署,我絕對需要 Zabbix 2.0 中的功能,而EPELrepo 僅提供 1.8。 (除了 1.8 之外,EPEL 現在還有 Zabbix 2.0 和 2.2 軟體包,儘管當時還沒有。如果有的話,我永遠不會嘗試這個。)

因此,這裡的權衡是:Fedora 擁有最新的軟體,但其版本的生命週期非常短,只有 13 個月,大約每六個月就會發布新版本。這意味著除了通常的定期安裝更新之外,我還必須計劃每年兩次升級 Fedora 的維護時段。

對於應該追蹤的監控系統其他一切,至關重要的是,此類維護週期應盡可能少且盡可能短。由於需要如此頻繁地升級,這通常會排除這種發行版,但請記住,我有更緊迫的問題;如果沒有我需要的功能,它就毫無用處。所以這是我在(幾乎)完全了解後果的情況下所做的權衡。

不久前,我在這台伺服器上進行了Fedora 18-19升級,使用的是Fedora新的fedup升級工具。我計劃停電兩個小時,另外兩個小時可能會處理任何可能已經死亡的受監控服務,而自從 Zabbix 宕機以來,這一事實就被忽略了。

實際的服務停機時間為 11 分鐘。這是從 Zabbix 在重新啟動之前停止的時間到完成升級後備份並監控服務的時間。我沒想到停機時間會這麼短!我以為會有更多麻煩,儘管我從經驗中知道,重大升級問題在 Fedora 中並不常見。 (並且它得到了進一步的改進:當我進行 Fedora 19-20 升級時,完全停機時間是驚人的六分鐘。 20-21 的時間相同。

當該服務可用時,幾乎肯定會轉移到 RHEL 7 上。經過這次經歷後,我對 Fedora 作為伺服器更加有信心,現在打算保留它,即使每六個月進行一次重大升級。遷移到 RHEL 會更具破壞性,並且可能會限制我的未來,原因如下:

不幸的是,紅帽的主要版本之間的間隔時間如此之長。 EL5 和 EL6 之間的類似延遲導致我實際上將 Ubuntu 安裝投入生產,直到今天我仍然在反思這一點。 (對於該系統,我考慮了 Fedora,但奇怪的是,儘管 EPEL 中有舊版本,但它當時根本沒有打包我需要的軟體。)


沒有人提到的關於運行 Fedora 的一個「問題」是,您將看到許多新事物,包括大型軟體專案和微小的增強功能,遠早於它們被納入 RHEL 中。因此,當您去管理 RHEL/CentOS 系統時,您會想念它們。例如,Fedora 有大量 bash 補全功能,預設情況下 RHEL 中還沒有這些補全功能;值得注意的一個是yum命令列中套件名稱的製表符補全。

因此,只要您能夠接受以下權衡,在生產中使用 Fedora 肯定是可能的:

  • 沒有支援合約。您必須擁有足夠的內部專業知識來管理伺服器及其服務並處理可能出現的任何問題;只能獲得社區支持,且沒有任何保證。 RHEL 經驗很有幫助,因為它們非常相似。
  • 您必須有一個維護時段至少每年升級一次。雖然每六個月一次更好;如果您每年升級一次,則必須同時升級兩個版本,這會使您在凌晨 3 點必須處理的潛在問題數量增加一倍。
  • 更新可能會帶來新版本的軟體,您將不得不處理這些問題;然而,這些將是單點版本,而不是主要版本。在極少數情況下,可能會添加重要的新功能(例如BZ#319901)。不過,通常情況下,軟體會在整個版本生命週期中保持相同的版本號,並且會向後移植修復程式。只有某些套件(例如 PHP)追蹤上游點版本。
  • 雖然安全更新的速度沒有顯著差異,但它們可能不會總是與錯誤修復更新隔離(同樣,例如 PHP)。這是否是一個問題取決於您計劃運行的服務。

考慮到所有因素,Fedora 仍然不是我的第一選擇伺服器平台,而且可能永遠不會是。 (雖然我一直都是快樂的 Fedora桌面如果您絕對需要更「企業」發行版中無法提供的軟體的最新版本,並且您可以接受權衡,那麼使用 Fedora 沒有任何問題。


最後,既然您具體詢問了安全性問題,我簡單說一下。

如前所述,Fedora 和任何其他發行版之間的安全性更新速度沒有真正的差異。 Fedora 打包者特別努力靠近上游並儘快發布此類更新,有時甚至在上游項目之前發布。

與它的企業老大哥一樣,Fedora 也配備了相當鎖定的安全配置:預設關閉服務(除了 ssh);預設情況下,IPv4 和 IPv6 均啟用預設拒絕防火牆;預設情況下,SELinux 是強制執行的。此外,Fedora 透過許多其他方式進行了強化

另一方面,您很早就可以看到新的安全技術;一個例子是最近推出的防火牆D,不過還沒完全準備好迎接黃金時段切換回以前的防火牆很容易

答案3

本質上,它更多的是關於穩定性和變化率,而不是安全性。 Fedora 是紅帽推出新功能和應用程式以驗證其相關性、提供實驗平台和解決整合問題的平台。

這通常不是您希望伺服器做的事情——您通常希望伺服器以盡可能最穩定的方式執行功能。

根據您正在做的事情,Fedora 可能就很好。如果您正在開發 Linux 桌面應用程序,那麼可能需要使用尖端技術。同樣,如果您正在進行為期一個學期的學校項目或其他一些持續時間有限的項目,並且不擔心變化的快節奏,那麼 Fedora 也很好。

答案4

沒有支援。

Fedora 沒有像 Red Hat Enterprise 那樣的技術支援合約。如果您遇到演出停止的問題,沒有人可以打電話給您。

相關內容