Linux中國

容器監管:保持 Linux 容器的安全和穩定

Linux 容器正在改變 IT 從業者的工作方式。相比於龐大、沉重的虛擬機,一些組織發現把他們的應用部署在容器中更有效,可以提供更快的速度,更加密集,提升他們操作的敏捷性。

從安全的角度看,容器帶來了一些優勢,但是也面臨著它們自己的一些安全挑戰。和傳統的基礎設施一樣,為了避免安全缺陷,確保運行在一個容器內的組件和系統庫的定期更新是至關重要的。但是你如何知道什麼東西運行在你的容器內?為了幫助你應對這些的安全挑戰,一個名為 Anchore的初創公司正在開發一個同名的開源項目,它用來幫助展示 Linux 容器中的內容。

為了了解更多關於 Anchore,我找到了 Anchore 的市場和產品的發言人 Andrew Cathrow,來了解更多關於這個開源項目背後的公司。

簡而言之 Anchore 是什麼? 它如何工作?

Anchore 的目標是提供一套工具,允許開發人員、運營團隊、安全團隊在容器的整個開發周期中保持對「監管鏈(Chain of Custody)」的全程可見,並提供生產部署所需的可見性、可預測性和控制性。Anchore 的引擎通過插件可以進行分析(通過提取鏡像數據和元數據)、查詢(允許對容器進行分析)、以及策略評估(這裡的策略指可以被指定的管理的圖像)。

雖然市場上有很多掃描工具,但是大部分不開源。我們認為安全合規的產品應該是開源的,否則你怎麼才能信任他們。

Anchore 除了開源以外,還有兩大優勢,使它可以區別於市場中的商業產品。

首先,我們看的不止是操作系統的鏡像。如今的掃描工具專註於操作系統的軟體包,比如「你的 RPM 或 DEB 包中有CVE(安全漏洞)么?」這雖然是很重要的,你不希望你的鏡像中有不安全的包,但是操作系統包只是鏡像的基礎。其他的層次都需要進行驗證,包括配置文件、語言模塊、中間件等等。你可以用的全是最新的軟體包,但是可能一個配置文件配置出現錯誤,不安全就出現在裡面。第二個不同就是允許用戶添加自己的數據、查詢或策略來擴展這個引擎。

什麼推動了容器的校驗和分析工具的需求出現?這個工具可以解決運營面臨的什麼問題呢?

企業使用 Docker 首要關注的就是安全,特別是他們正在部署的容器的分配和合規性。在生產環境中,從公共鏡像庫拉取一個鏡像,運行它,並在幾秒鐘部署,是非常簡單的,甚至不知道下面可能發生什麼。終端用戶在部署應用時,必須信任他們所部署的是安全、高效和易於維護的。

容器是不透明的,它們是一個包含應用程序的可部署的「黑盒」。雖然非常容易把這些鏡像看作「打包的應用程序」,但是它們包括了系統的鏡像和多達數百個包和成千上萬個文件。如同所有在物理伺服器、虛擬機或者雲上的操作系統一樣,鏡像也需要維護。鏡像或許包含了未補丁的安全缺陷、帶有 bug 和錯誤配置的過期軟體。

要對您的容器部署有信心,你需要知道底層是什麼,並基於容器鏡像的內容來做出決定。

如今容器的創新基本上都是開源的,你認為是為什麼呢?是什麼促使了它們開源呢?

在過去的 20 年中,各個組織已經經歷了開源帶來的優勢,節省成本,減少鎖定,提高了安全性和更快的創新。容器,特別是 Docker,都是非常好的例子。Docker 公司的團隊不能在專有系統上創建一個新的軟體部署模式,他們不能要求在修改專有系統的代碼,而是與行業領導者比如谷歌、IBM、英特爾、紅帽合作,朝著一個共同的目標。開源和 Linux 總是開啟創新和激勵產業困境。在過去,實現一個大的想法需要一個大的團隊和很多資源。在開源世界,一個有著很大的創意的小公司可以工作在一個更大的社區中,通過知識共享的力量來協作,提供真正的企業創新。

為了深入的說明開源的使用,Anchroe 團隊最近剛從多倫多的 LinuxCon 回來,在哪裡,令人難以相信的是,微軟作為鑽石級的贊助商,展示了他們用在 Linux 上的產品投入的增長。Linus Toravlds 曾說過,「如果微軟為 Linux 開發應用就意味著我贏了」。我要把這句話改為「開源贏了」。

容器領域的通用標準的創建還需要時間,在容器的幾乎所有部分,仍有許多挑戰。在這個領域,創業公司有哪些挑戰?

這裡有個很重要的點,就是沒有開放的標準和開源,我們不可能看到快速推動容器的採用和改變行業格局的創新。開放容器倡議(OCI)由 Linux 和容器行業的行業領導者組成,正在為運行環境和鏡像格式創造標準,這將使我們能夠看到更多的創新。Anchore 很自豪能成為 OCI 的新成員,我們期待幫助形成標準。

你將如何圍繞 Anchor 項目建立一個開源社區?

Anchore 團隊來自 Ansible、Eucalyptus Systems 和 Red Hat 的領導團隊,在開源社區中擁有豐富的工作經驗。從一開始,Anchore 就準備創建一個強大的開源社區,我們正在應用我們在開源世界中學到的經驗和教訓。第一課,當然,發布要儘早儘快。我們在 6 月開源我們的檢測和分析引擎,遠遠早於我們的商用產品,以便了確保開源項目能夠獨立運行,使更多的直接用戶能夠使用它,而無需購買 Anchore 的商用產品。通過支持、服務和增強型的數據源,有很多機會給商用產品創造更多價值,但是如果開源引擎本身沒有用,我們將看不到活躍的社區。

我們將 Anchore 模塊化,允許添加分析、報告和策略插件,而不需要更改核心的引擎。我們希望保證任何人都可以創建插件,所以我們選擇了 Python 作為項目的基本語言,因為 Python 被開發者和系統管理員廣泛應用。但是,即使你不熟悉 Python,你仍然可以使用任何你喜歡的語言或者腳本環境創建插件。如果你可以創建一個 Bash 腳本,那麼你也可以創建一個 Anchore 插件。我們的目標是最大化的吸引社區的參與。雖然我們鼓勵用戶將貢獻回饋給社區,但是我們也為這個項目構建並進行了授權,來確保可以獨立創建和維護私有的插件和模塊。

容器的用途不止是在伺服器上更大密度的部署應用程序或者技術層面更快的速度,而且還有不同工具的組合,這些工具提供了一種不同的方式來拉近開發者和操作者共同工作。作為在這個領域工作的公司,你們希望提供一個什麼樣的消息來讓開發者和運營產生共鳴?

隨著越來越多的運行環境、編排、監控和集成產品,容器的生態系統正在快速發展。所以,我們的架構中的第一個考慮因素不是限定 Anchore 的部署和使用。我們需要確保我們可以適應任何 CI/CD 工作流,無論是私有部署還是雲端部署。一個經常問到我們的問題是,Anchore 是否將提供一個包含了鏡像掃描和分析的容器倉庫。雖然這將大大簡化我們的工作,但是這會迫使用戶進入特定的部署架構,並限制了用戶部署他們自己最好的組件的能力。我們已經確保 Anchore 可以和所有領先的倉庫、運行環境平台、 CI/CD 平台和編排工具配合使用。

一些開發者掌握了運營技能,並轉換為 DevOps 角色,我們看到系統管理員/運營團隊也在更多的了解開發,轉換成 DevOps 角色。我們也看到了具有混合能力的團隊。我們設計了可供開發運營和安全團隊使用的 Anchore ,以便他們共同定義規則和策略來評估開發周期中的任何一個環節。另外一個例子是插件/模塊的架構,使任何人都可以在他們喜歡的環境中輕鬆創建一個模塊 —— 無論是以 Python、Go、Perl、C 甚至是一個 Bash 腳本。

via: https://opensource.com/business/16/10/interview-andy-cathrow-anchore

作者:Jason Baker 譯者:Bestony 校對:wxy

本文由 LCTT 原創編譯,Linux中國 榮譽推出


本文轉載來自 Linux 中國: https://github.com/Linux-CN/archive

對這篇文章感覺如何?

太棒了
0
不錯
0
愛死了
0
不太好
0
感覺很糟
0
雨落清風。心向陽

    You may also like

    Leave a reply

    您的電子郵箱地址不會被公開。 必填項已用 * 標註

    此站點使用Akismet來減少垃圾評論。了解我們如何處理您的評論數據

    More in:Linux中國