【編者的話】本文是對11.16歐洲DockerCon大會的簡短報道。重點在Docker容器安全領域的新特性,對于在生產環境中更安全使用Docker有很大的參考價值。
Docker 公司在巴塞羅那舉辦的 DockerCon Europe 大會上宣布三款安全工具以及容器的一些新特性。
這些工具在不影響開發者正常工作流的情況下,使開發者使用容器更加安全。它們包括:使用Yubico硬件密鑰、支持用戶名稱空間,這樣Docker容器就不再需要root權限連接了。這兩個新特性可以在Docker實驗版本頻道獲取。
Docker公司今天還宣布它們會定期掃描Docker Hub上的90多個官方倉庫,來檢查是否有潛在的漏洞,并且發布它們的掃描結果。
Docker創始人兼CTO Solomon Hykes在他的keynote中強調安全非常重要,但是人們往往在事后才注意到。“這些就像烘焙中需要在開始就備烘焙的食材”【譯者注:Solomon Hykes在這里以烤面包為例子,在開始就要先烤一些原料備用】。他指出:“你們需要在使用Docker初期就考慮好它的安全問題”。
作為Docker的產品總監,Scott Johnston在本周早些就告訴我,Docker團隊的目標是改善Docker平臺同時確保使用Docker的開發者們不會去做一些“讓他們平時的工作流不自然的事情”(Hykes稱之為“美好而舒適的開發流”)。例如,新的硬件簽名特性,它是基于最近推出的新的Docker Content Trust框架,這個框架允許容器的數字簽名。
現在,擁有同樣是今天推出的YubiKey 4的開發者可以簽名他們的容器,確保他們的Apps在Docker整個開發流程中完整一致。Docker與Yubico合作建立了觸摸即簽名的編碼簽名系統使得開發人員能夠快速進入Docker命令行。
正如Johnston強調的那樣,可信任的內容在鏡像層又增加了安全層,但是開發者并不需要使用這一層。
當人們談到容器和安全時,事實是Docker守護式進程和容器需要root權限才能連接到宿主機上,而這長期以來一直被人們所詬病。Johnston也承認這一點,他指出早期使用Docker也有好處因為它“促進市場的發展”。但是隨著容器日益流行安全問題也日益凸顯。
在新的實驗版本中,管理員可以分離容器和Docker守護式進程間的權限。Docker守護式進程仍然需要root權限,容器不再需要。但是Docker公司指出,這一改進使得運行中的Docker容器更加安全,例如,現在部門和團隊可以獲得連接控制容器的權限了。
在很多情況下,容器的安全開始于運行在容器中的應用。為了在此做些改進,今天Docker公司宣布將開始掃描官方Docker Hub倉庫中的容器是否存在潛在的漏洞(Heartbleed就是一個很好的例子)。
如果這些你聽起來很熟悉的話,是因為你可能了解到CoreOS最近對它的注冊表中的容器做很類似的事情。就像CoreOS公司一樣,Docker將會發布容器的安全報告,就像Johnston對我說的那樣,這將協同上游的生態系統以保證這些問題盡快得以修復。
90個注冊Docker Trust的官方倉庫,大約占Docker Hub上所有下載鏡像數量的20%。今天Hykes指出,經團隊測試后,實際上這項服務已經在靜靜地保護著這些版本庫兩個月了。該項計劃目的是要在未來拓展這個工具到所有的鏡像,包括私有的鏡像。