ref: https://sysdig.com/blog/dockerfile-best-practices/
如果你常用到容器化、微服務架構,這些輕量化的架構當碰到問題時,背後的資安事件調查、報告、修復卻是影響甚鉅。然而,這些影響都可以透過「把安全意識擺在開發階段 (shifting left security)」來降低風險,而這篇文章就會講述 Dockerfile 的最佳實作手段有哪一些。
首先,我們會從幾個大面向來說明各種控制安全風險的細節,像是權限控管、降低攻擊層面、預防機敏資料洩漏,以及在發布 container image 時的注意事項。而你需要特別注意的是,其實 Dockerfile 也只是算是開發階段的一部份,所以這邊能提醒到的內容都屬於部署前(特別是開發階段)的準備。以下共提及 20 個你可以注意的重點,但因為篇幅較長,筆者將選出較重要的幾個來談談。
讓我們從「權限控管」說起:
Rootless container
根據報告結果顯示,有超過 58% 的 image 都是用 root 作為執行服務的使用者,所以在此也會建議透過 USER 參數來設定容器的預設使用者,同時,也可以利用執行環境/架構的設定來避免容器的預設使用者是 root。
Make executables owned by root and not writable
服務的 binary file 應該避免被任何人修改,容器的預設使用者只需要執行服務的權限,而不是擁有權。
至於「減少攻擊面」的部分:
Multistage builds小
在 image 的建立,可以透過 multistage build 來建立很多層 container,例如在第一層安裝編譯所需的套件,而第二層則只需安裝 runtime 所需的套件(如 openssl 等),再複製第一層所編譯出來的執行檔就可以了。其餘的因開發/編譯所安裝的套件皆不需要放在最後的 image,這樣同時也可以把 image 的大小縮小。
Distroless & Truested image
採用最小/最輕量化的 base image 來作為你打造 image 的基礎,同時使用可信任來源的 image,避免不小心在未知的情況引入好幾個潛在的安全威脅。(在原文中,sysdig 也使用了自身開發的工具來檢測 image 是否有安全問題,如果有需要也能參考看看)
而再來關於「機敏資訊」的部分:
Copy
當你在從你的開發環境複製檔案到 image 當中時,需要非常小心,因為你很可能一不小心就把你的密碼、開發環境的 token、API key 等資訊複製進去了。而且不要以為把 container 裡面的檔案刪掉就沒事了,別忘了 container image 是一層一層堆疊起來的,就算刪掉了,還是能在前面的 layer 裡面找到。
但如果還是有需要用到這些機敏資料,也可以考慮使用環境變數(docker run -e 引入),或是 Docker secret、Kubernetes secret 也能夠幫你引入這些參數。如果是設定檔的話,則可以用 mount 的方式來掛載到你的 container 裡面。
總而言之,你的 image 裡面不該有任何機敏資料、設定檔,開發服務時讓服務在 runtime 的時候可以接受來自環境變數的參數才是相對安全的。
其他的部分:
其實文章當中還有提到很多製作 image 的注意事項,像是在 deployment 階段,可能你部署的 latest 與實際的 latest 因時間差而不同。又或是在 image 裡面加上 health check,也才能做到狀況監測。
在容器化服務的時代,開發者不僅需要具備撰寫開發程式的能力,也要對於虛擬化環境有足夠的理解,否則,在對架構不熟的情況就將服務部署上去,或把 image 推送到公開的 registry,都可能造成重要的資料外洩與潛在的資安危機。
「微服務container」的推薦目錄:
- 關於微服務container 在 矽谷牛的耕田筆記 Facebook 的最佳解答
- 關於微服務container 在 台灣物聯網實驗室 IOT Labs Facebook 的精選貼文
- 關於微服務container 在 台灣物聯網實驗室 IOT Labs Facebook 的精選貼文
- 關於微服務container 在 container架構2023-在Facebook/IG/Youtube上的焦點新聞和 ... 的評價
- 關於微服務container 在 container架構2023-在Facebook/IG/Youtube上的焦點新聞和 ... 的評價
- 關於微服務container 在 【MentorTrust】Ep.08 聊聊什麼是Container(下)-容器的 ... 的評價
- 關於微服務container 在 Will 保哥的技術交流中心- 容器技術(Container Technology)... 的評價
- 關於微服務container 在 2023 Docker 書推薦ptt - bizedebiroyun.online 的評價
微服務container 在 台灣物聯網實驗室 IOT Labs Facebook 的精選貼文
醫院遭駭後1,300張病床靠紙本管理!全球資安大廠點出IoT、5G時代企業防護痛點
2020.01.31 by 蔣曜宇
每年一月,以色列資安大廠Check Point都會於泰國曼谷舉辦亞太區的年度資安峰會CPX360,邀請各國資安專家一同探討最新的資安趨勢。
Check Point為國際資安防護方案的領導廠商,服務全球超過十萬家不同規模的企業組織,並長年被國際科研權威機構Gartner評為防火牆領域的企業領導者。
今年Check Point於15日在泰國曼谷召開的CPX360,也同樣受到業者的矚目,吸引逾1,500人、來自22國的與會來賓、以及超過700間合作廠商共襄盛舉。席間,創辦人暨CEO吉爾.薛德(Gil Shwed)宣布,面臨IoT、5G等新科技的帶來的資安風險,Check Point將強化防護,推出「第六代」的資安防護機制。
從第三代到第六代,十年來資安攻擊變化多端、多數企業跟不上
何謂第六代資安防護機制?在談這件事之間,我們得先倒回去說明前幾代的資安防護機制為何。因為薛德表示, 「全球有95%到97%的企業,都還停留於2010年的第三代資安防護水平。」
第三代的資安防護機制,Check Point將之定義為2010年左右推出的入侵防護系統(IPS)。第三代的防護,較擅於防範已知的攻擊手法,難以從大量資料中分析出潛在、未知的威脅。
也因此,Check Point陸續在2015年因應新型態的惡意木馬程式推出基於負載(Payload)數據進行分析的第四代防護系統,監控可疑的網路行為。然而隨著雲端、IoT、AI系統的普及化,多管齊下的第五代防護系統也油然而生。Check Point在2017年也進一步推出跨網絡、雲端、安全管控系統平台Infinity,來抵禦跨平台不同渠道的風險。
到了2020年,物聯網設備、雲端系統、微服務與容器等技術應用都漸趨成熟,這時第六代的資安防護系統就必須登場了。薛德將那稱為 「奈米安全策略」(Nano Security) ,是針對多元的物聯網設備所準備,將安裝於終端的防護程式縮小,藉以深入到各種裝置、網路系統與雲端服務中的防護機制。
Check Point在該機制的設計上突破了技術限制,成功降低防護程式對網路的依賴,讓程式得以在無線寬頻有限的IoT設備中正常運作,擴大資安防護網。
這一個新的系統防護平台叫做「Infinity Next」,支援包含IoT、雲端、網路系統及終端設備等領域在內,超過50個國際供應商的設備防護,並提供逾60種的資安服務,給予企業更全面性的資安整體方案。
物聯網及跨平台的資安風險升級、防護需要更加「奈米化」
薛德表示,他們在企業客戶的討論中發現了幾個業界在做資安防護時會遇到的痛點。主要的三個因素有: 一,太多終端產品,難以集中管理防護;二,雲端及物聯網設備需要和過去不同的防護機制,多種防護系統有整合上的困難;三,採用DevOps開發營運流程需要速度,造成防護上的挑戰。
而Infinity Next的防護平台則提供了即時偵測、快速部署及跨平台、設備的防護機制,解決眾多廠商遇到的難題。而針對物聯網設備打造的新一代防護機制,也為許多針對關鍵基礎設施的攻擊,提供了防禦的方法。
舉例來說,2019年度最受矚目的資安攻擊事件之一,是發生在法國盧昂(Rouen)一間名叫University Hospital Centre(CHU)的醫院的駭客事件。勒索病毒的入侵使得這間有1,300多張病床的醫院網路系統癱瘓,雖然他們有幸保住了維繫患者生命的重要系統,但絕大多數的作業流程都得用紙筆作業,大大影響了醫院的運作。
未來像是醫院這樣充滿大量物聯網系統的環境,將暴露在更高的資安風險中。因為駭客得已從各種難以想像的物聯網設備中找到漏洞,駭入主要的系統網絡裡。對此,薛德再次強調第六代奈米安全策略的重要性。
「在過去,我們可能每次都得安裝5GB的大型、複雜的防護軟體到系統裡面去,」薛德說。但這樣笨重的軟體難以安裝到小巧的物聯網設備以及承載微服務的容器(container)裡面。而 透過奈米安全策略的手法,Check Point可以進一步將幾行必須的程式碼自動輸入到這些小設備裡面 ,不用像過去那樣一次安裝一整包資安軟體。而這這幾行程式碼可能只佔50MB不到的容量。
為了建立第六代防護系統,Check Point也做了不少的準備。去年11月,他們收購了以色列的物聯網資安新創Cymplify,加強針對小型物聯網設備如智慧電視、醫學設備及監視攝影機等設備的防護,並整合進Infinity Next平台中。這些動作,也是Check Point佈局今年8月東京奧運資安防護的前置作業。
「是時候讓企業組織升級到第六代防護機制了,」薛德說,「這樣一來,我們才能面對未來多變的資安環境。」
附圖:以色列資安大廠Check Point 15日在曼谷舉辦資安年會CPX360,推出第六代資安防護機制「Infinity Next」,加強物聯網防護系統。
2020年Check Point的年度資安盛會CPX360於泰國曼谷舉辦。
蔣曜宇攝影
Check Point創辦人薛德介紹六代不同的資安防護機制。
蔣曜宇攝影
資料來源:https://www.bnext.com.tw/article/56410/checkpoint-gen6-infinitynext?fbclid=IwAR0zxBNug-OwtHTROPBVSbknr-CEKeoD9XHcrViytdPfWsiz5_DQ3tQ7MQA
微服務container 在 台灣物聯網實驗室 IOT Labs Facebook 的精選貼文
醫院遭駭後1,300張病床靠紙本管理!全球資安大廠點出IoT、5G時代企業防護痛點
2020.01.31 by 蔣曜宇
每年一月,以色列資安大廠Check Point都會於泰國曼谷舉辦亞太區的年度資安峰會CPX360,邀請各國資安專家一同探討最新的資安趨勢。
Check Point為國際資安防護方案的領導廠商,服務全球超過十萬家不同規模的企業組織,並長年被國際科研權威機構Gartner評為防火牆領域的企業領導者。
今年Check Point於15日在泰國曼谷召開的CPX360,也同樣受到業者的矚目,吸引逾1,500人、來自22國的與會來賓、以及超過700間合作廠商共襄盛舉。席間,創辦人暨CEO吉爾.薛德(Gil Shwed)宣布,面臨IoT、5G等新科技的帶來的資安風險,Check Point將強化防護,推出「第六代」的資安防護機制。
從第三代到第六代,十年來資安攻擊變化多端、多數企業跟不上
何謂第六代資安防護機制?在談這件事之間,我們得先倒回去說明前幾代的資安防護機制為何。因為薛德表示, 「全球有95%到97%的企業,都還停留於2010年的第三代資安防護水平。」
第三代的資安防護機制,Check Point將之定義為2010年左右推出的入侵防護系統(IPS)。第三代的防護,較擅於防範已知的攻擊手法,難以從大量資料中分析出潛在、未知的威脅。
也因此,Check Point陸續在2015年因應新型態的惡意木馬程式推出基於負載(Payload)數據進行分析的第四代防護系統,監控可疑的網路行為。然而隨著雲端、IoT、AI系統的普及化,多管齊下的第五代防護系統也油然而生。Check Point在2017年也進一步推出跨網絡、雲端、安全管控系統平台Infinity,來抵禦跨平台不同渠道的風險。
到了2020年,物聯網設備、雲端系統、微服務與容器等技術應用都漸趨成熟,這時第六代的資安防護系統就必須登場了。薛德將那稱為 「奈米安全策略」(Nano Security) ,是針對多元的物聯網設備所準備,將安裝於終端的防護程式縮小,藉以深入到各種裝置、網路系統與雲端服務中的防護機制。
Check Point在該機制的設計上突破了技術限制,成功降低防護程式對網路的依賴,讓程式得以在無線寬頻有限的IoT設備中正常運作,擴大資安防護網。
這一個新的系統防護平台叫做「Infinity Next」,支援包含IoT、雲端、網路系統及終端設備等領域在內,超過50個國際供應商的設備防護,並提供逾60種的資安服務,給予企業更全面性的資安整體方案。
物聯網及跨平台的資安風險升級、防護需要更加「奈米化」
薛德表示,他們在企業客戶的討論中發現了幾個業界在做資安防護時會遇到的痛點。主要的三個因素有: 一,太多終端產品,難以集中管理防護;二,雲端及物聯網設備需要和過去不同的防護機制,多種防護系統有整合上的困難;三,採用DevOps開發營運流程需要速度,造成防護上的挑戰。
而Infinity Next的防護平台則提供了即時偵測、快速部署及跨平台、設備的防護機制,解決眾多廠商遇到的難題。而針對物聯網設備打造的新一代防護機制,也為許多針對關鍵基礎設施的攻擊,提供了防禦的方法。
舉例來說,2019年度最受矚目的資安攻擊事件之一,是發生在法國盧昂(Rouen)一間名叫University Hospital Centre(CHU)的醫院的駭客事件。勒索病毒的入侵使得這間有1,300多張病床的醫院網路系統癱瘓,雖然他們有幸保住了維繫患者生命的重要系統,但絕大多數的作業流程都得用紙筆作業,大大影響了醫院的運作。
未來像是醫院這樣充滿大量物聯網系統的環境,將暴露在更高的資安風險中。因為駭客得已從各種難以想像的物聯網設備中找到漏洞,駭入主要的系統網絡裡。對此,薛德再次強調第六代奈米安全策略的重要性。
「在過去,我們可能每次都得安裝5GB的大型、複雜的防護軟體到系統裡面去,」薛德說。但這樣笨重的軟體難以安裝到小巧的物聯網設備以及承載微服務的容器(container)裡面。而 透過奈米安全策略的手法,Check Point可以進一步將幾行必須的程式碼自動輸入到這些小設備裡面 ,不用像過去那樣一次安裝一整包資安軟體。而這這幾行程式碼可能只佔50MB不到的容量。
為了建立第六代防護系統,Check Point也做了不少的準備。去年11月,他們收購了以色列的物聯網資安新創Cymplify,加強針對小型物聯網設備如智慧電視、醫學設備及監視攝影機等設備的防護,並整合進Infinity Next平台中。這些動作,也是Check Point佈局今年8月東京奧運資安防護的前置作業。
「是時候讓企業組織升級到第六代防護機制了,」薛德說,「這樣一來,我們才能面對未來多變的資安環境。」
附圖:以色列資安大廠Check Point 15日在曼谷舉辦資安年會CPX360,推出第六代資安防護機制「Infinity Next」,加強物聯網防護系統。
2020年Check Point的年度資安盛會CPX360於泰國曼谷舉辦。
蔣曜宇攝影
Check Point創辦人薛德介紹六代不同的資安防護機制。
蔣曜宇攝影
資料來源:https://www.bnext.com.tw/…/56…/checkpoint-gen6-infinitynext…
微服務container 在 container架構2023-在Facebook/IG/Youtube上的焦點新聞和 ... 的美食出口停車場
Docker不只帶動了Container技術風潮,更掀起了IT架構的微服務革命,看好雲端原生應用的龐大需求,專為大量部署Container而生的輕量級Container OS隔空問世,甚至出現了 ... ... <看更多>
微服務container 在 【MentorTrust】Ep.08 聊聊什麼是Container(下)-容器的 ... 的美食出口停車場
... 但有點浪費.04:24 用人體器官來比喻 微服務 .06:32 企業的green ... 【MentorTrust】Ep.08 聊聊什麼是 Container (下)-容器的好處及使用情境. ... <看更多>
微服務container 在 container架構2023-在Facebook/IG/Youtube上的焦點新聞和 ... 的美食出口停車場
Docker不只帶動了Container技術風潮,更掀起了IT架構的微服務革命,看好雲端原生應用的龐大需求,專為大量部署Container而生的輕量級Container OS隔空問世,甚至出現了 ... ... <看更多>