當科技技術成長速度越快,讓人們能方便的使用,但在使用的過程中,安全性其實是很重要的,如果不安全也會造成很大的損失,所以安全性是我們要很謹慎看待
58% 的 docker 鏡像是使用 root 權限運行,攻擊者可以透過 root 訪問所有資訊並可以直接控制硬體,這也是 Docker 的 root 權限令人詬病的地方,因此 docker 中的 process 最好以最小權限創建的使用者執行
我們透過USER來解決這個問題
Dockerfile
FROM ubuntu
# 創建一個叫做 flask 的用戶和群組
RUN groupadd -r flask && useradd -r -g flask flask
# 在 /app 目錄下創建一個應用程式文件
RUN mkdir /app && echo "print('Hello from Flask user!')" > /app/app.py
# 設定 /app 目錄的擁有者為 flask 用戶和 flask 群組
RUN chown -R flask:flask /app
# 切換到 flask 用戶
USER flask
# 定義工作目錄
WORKDIR /app
# 執行應用程式
CMD ["python", "app.py"]
安全性對每個人來說很重要,給別人使用甚至是自己使用,都要確保安全,不要讓有心人士不要那麼簡單去達到它們想要的目的
參考資料:
Docker Security 筆記
Docker容器技术从入门到精通