iT邦幫忙

2023 iThome 鐵人賽

0
DevOps

跟著菜鳥手把手用Docker建立服務系列 第 29

Day29 - 菜鳥們一起深入探討 Docker - User 安全篇

  • 分享至 

  • xImage
  •  

當科技技術成長速度越快,讓人們能方便的使用,但在使用的過程中,安全性其實是很重要的,如果不安全也會造成很大的損失,所以安全性是我們要很謹慎看待/images/emoticon/emoticon76.gif


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"]
  • RUN groupadd -r flask && useradd -r -g flask flask -> 先創立一個flask用戶
  • USER flask -> 切換到 flask 用戶
  • 當容器啟動時,它將以 flask 用戶的身份運行,這可以提高安全性,因為容器內的應用程式只能以 flask 用戶的權限運行

安全性對每個人來說很重要,給別人使用甚至是自己使用,都要確保安全,不要讓有心人士不要那麼簡單去達到它們想要的目的/images/emoticon/emoticon30.gif


參考資料:
Docker Security 筆記
Docker容器技术从入门到精通


上一篇
Day28 - 菜鳥們一起深入探討 Docker - Cache 篇
下一篇
Day30 - 菜鳥的有始有終
系列文
跟著菜鳥手把手用Docker建立服務30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言