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,都可能造成重要的資料外洩與潛在的資安危機。
mount參數 在 Anthony安東尼.說走就走 Facebook 的最佳貼文
『天空の鏡』
🇧🇴玻利維雅 - 烏尤尼(Uyuni)
世界上最大的鹽田 https://youtu.be/EHEoIjL7tfQ
.
做了十幾個小時的車一切都值得了!!
為何坐如此久?沒辦法因為我是背包客嘛....😄
.
(旅遊小分享)
----------------------------------
簽證:
因為台灣並沒有玻利維雅大使館
要辦簽證的人可以至秘魯後再辦
秘魯有:LIMA、CUSCO、PUNO這三個地方可以辦理簽證
P.S 台灣人可以落地簽,需準備續回程機票(但是很貴!!!不太建議)
----------------------------------
旅行團:
Uyuni 旅行社非常多
像是比較有名的
Hodaka mountain 旅行社 (大多為日本旅客)
Oasis 、Brisa 旅行社 (大多為韓國客)
也有幾家專做歐美團 如Red planet…
行程不外乎:
1. 星空+日出團
2. 一日團
3. 一日團+日落團
4. 日落團+星空
5. 星空團
6. 甚至有三日團 (一路往智利Atacama )
至於要報名什麼?
天氣、乾雨季、時間、預算這些都是考量的因素並自行排列組合。
.
大家還喜歡嗎?準備好....說走就出發吧!!!
<有任何問題都可以在下面留言詢問我👍>
.
.
看更多照片影片趕快按讚追蹤唷!!
Youtube: https://www.youtube.com/AnthonyWenVlog
IG: anthony_wen_
.
100%GoPro影片
.
設備:
GoProFusion
GoPro5
GoPro4
Karma Grip STABILIZER
3 way
Bite Mount
.
參數:
5.2k/30fps.
3k/60fps
1080/120fps
1080/60fps
1080/60fps.
Time-lapse 2.7k
.
剪輯程式 :
Final cut pro
.
.
音樂:
ODESZA - DIVIDE (feat. Kelsey Bulkin)
Youtube: https://www.youtube.com/AnthonyWenVlog
Instagram: https://www.instagram.com/anthony_wen_/
#boliva #uyuni #gopro #goprotaiwan #create2k18 #goprohero #背包客 #南美極旅 #goprotw #2018creatorsummit #experiencedifferent
mount參數 在 文件系统mount参数收集· Issue #4 · digoal/pgsql_admin_script 的推薦與評價
看看有没有危险参数,是否有优化空间等。 ... 文件系统mount参数收集 #4. Closed. digoal opened this issue on Dec 1, 2015 · 0 comments. ... <看更多>