通過閱讀網上帖子以及瀏覽相關新聞,大家可能會產生一種先入為主的印象,即docker天生安全性薄弱且尚不足以被直接引入生產環境。不過實際情況是,雖然我們需要對容器安全性加以高度關注,但只要使用得當,其完全可以成為一套遠優於單獨使用虛擬機器或者裸機的安全、高效生產系統。
要安全地使用docker方案,大家首先需要了解其面對的潛在安全問題,並掌握能夠對基於容器之系統加以切實保護的各類主要工具與技術。
大家還需要隨時牢記以下五個問題,並在利用docker承載關鍵性任務應用程式的整個流程當中秉承這種謹慎的態度。
核心漏洞
與虛擬機器系統不同,全部容器及其主機使用的都是同一套共享核心,因此該核心中存在的任何安全漏洞都有可能造成巨大影響。如果某套容器系統導致核心崩潰,那麼這反過來又會造成整台主機上的全部容器毀於一旦。在虛擬機器當中,情況則要好得多:攻擊者必須借道虛擬機器核心與虛擬機器管理程式之後,才有可能真正接觸到主機核心。
拒絕服務攻擊
所有容器都共享同樣的核心資源。如果某套容器能夠以獨佔方式訪問某些資源——包括記憶體以及使用者id等其它更為抽象化的資源——那麼與其處於同一臺主機上的其它容器則很可能因資源匱乏而無法正常運轉。這正是拒絕服務攻擊(簡稱dos)的產生原理,即合法使用者無法對部分或者全部系統進行訪問。
容器突破
能夠訪問某一容器的攻擊者在原則上應該無法藉此訪問到其它容器或者主機。在預設情況下,使用者並不具備命名空間,因此游離於容器之外的任何程序都將在主機之上獲得與容器內相同的執行許可權; 而如果大家在容器內擁有root許可權,那麼在主機上亦將具備root身份。這意味著大家需要對這種潛在的許可權提公升攻擊做好準備——這類攻擊意味著使用者往往通過應用程式**中需要配合額外許可權的bug實現許可權提公升,從而使攻擊者獲得root或者其它級別的訪問與操縱能力。考慮到容器技術目前仍處於早期發展階段,因此我們在規劃自己的安全體系時,必須要將這種容器突破狀況考慮在內。
含毒映象
那麼我們要如何判斷自己使用的映象是否安全、是否存在篡改或者其宣稱的**是否可靠?如果攻擊者誘導大家執行由其精心設計的映象,那麼各位的主機與資料都將處於威脅之下。同樣的,大家還需要確保自己執行的映象為最新版本,且其中不包含任何存在已知安全漏洞的軟體版本。
違規之秘
DevSecOps五個需要關注的編碼問題
devsecops實現的一大關鍵在於 安全左移 理念。程式的安全不再只是在軟體開發完成後進行測試進行,而需要全週期的分析,及時地發現和修復 而達成這個目標的工具之一就是靜態分析 sast 在過去的軟體開發流程中,安全總是在開發的最終階段進行 雖然這個時候發現的漏洞其實能在更早的階段就被修復。如果要在...
MySQL使用需要關注編碼問題
mysql以前沒怎麼使用過,當然mysql跟oracle和mssql對比來說,效能上還是會有所差異的,但是不怎麼明顯,一般來說使用mysql作為業務系統資料庫時完全夠用,而且由於mysql開源,相信以後會變得越來越強大。由於版權問題費用問題,使得mysql更受歡迎,但是在使用過程發現mysql對欄位...
效能測試需要關注的效能點
我們站在管理員的角度考慮需要關注的效能點 1 相應時間 2 伺服器資源使用情況是否合理 3 應用伺服器和資料庫資源使用是否合理 4 系統能否實現擴充套件 5 系統最多支援多少使用者訪問 系統最大業務處理量是多少 6 系統效能可能存在的瓶頸在 7 更換那些裝置可以提高效能 8 系統能否支援7 24小時...