《Docker —— 從入門到實踐­》正體中文版
  • 前言
  • Docker 簡介
    • 什麼是 Docker
    • 為什麼要用 Docker
  • 基本概念
    • 映像檔
    • 容器
    • 倉庫
  • 安裝
    • Ubuntu
    • CentOS
  • 映像檔
    • 取得映像檔
    • 列出
    • 建立
    • 儲存和載入
    • 移除
    • 實作原理
  • 容器
    • 啟動
    • 常駐執行
    • 終止
    • 進入容器
    • 匯出與匯入
    • 刪除
  • 倉庫
    • Docker Hub
    • 私有倉庫
    • 設定檔案
  • 資料管理
    • 資料卷
    • 資料卷容器
    • 備份、恢復、遷移資料卷
  • 使用網路
    • 外部存取容器
    • 容器互連
  • 進階網路設定
    • 快速設定指南
    • 設定 DNS
    • 容器存取控制
    • 埠號映射實作
    • 設定 docker0 橋接器
    • 自訂橋接器
    • 工具與範例
    • 編輯網路設定檔案
    • 實例:創造一個點對點連線
  • 實戰案例
    • 使用 Supervisor 來管理程式
    • 建立 tomcat/weblogic 集群
    • 多台實體主機之間的容器互連
    • 標準化開發測試和生產環境
  • 安全
    • 核心命名空間
    • 控制組
    • 伺服端防護
    • 核心能力機制
    • 其他安全特性
    • 總結
  • Dockerfile
    • 基本結構
    • 指令
    • 建立映像檔
    • 從映像檔產生 Dockerfile
  • 底層實作
    • 基本架構
    • 命名空間
    • 控制組
    • Union 檔案系統
    • 容器格式
    • 網路
  • 附錄一:命令查詢
  • 附錄二:常見倉庫介紹
    • Ubuntu
    • CentOS
    • MySQL
    • MongoDB
    • Redis
    • Nginx
    • WordPress
    • Node.js
  • 附錄三:資源連結
Powered by GitBook
On this page

Was this helpful?

  1. 安全

核心能力機制

Previous伺服端防護Next其他安全特性

Last updated 5 years ago

Was this helpful?

能力機制(Capability)是 Linux 核心一個強大的特性,可以提供細緻的權限存取控制。 Linux 核心自 2.2 版本起就支援能力機制,它將權限劃分為更加細緻的操作能力,既可以作用在程式上,也可以作用在檔案上。

例如,一個 Web 服務程式只需要綁定一個低於 1024 的連接埠的權限,並不需要 root 權限。那麽它只需要被授權 net_bind_service 能力即可。此外,還有很多其他的類似能力來避免程式取得 root 權限。

預設情況下,Docker 啟動的容器被嚴格限制只允許使用核心的一部分能力。

使用能力機制對加強 Docker 容器的安全有很多好處。通常,在伺服器上會執行一堆需要特權權限的程式,包括有 ssh、cron、syslogd、硬體管理工具模組(例如負載模組)、網路設定工具等等。容器跟這些程式是不同的,因為幾乎所有的特權程式都由容器以外的支援系統來進行管理。

  • ssh 存取被主機上ssh服務來管理;

  • cron 通常應該作為使用者程式執行,權限交給使用它服務的應用來處理;

  • 日誌系統可由 Docker 或第三方服務管理;

  • 硬體管理無關緊要,容器中也就無需執行 udevd 以及類似服務;

  • 網路管理也都在主機上設定,除非特殊需求,容器不需要對網路進行設定。

從上面的例子可以看出,大部分情況下,容器並不需要“真正的” root 權限,容器只需要少數的能力即可。為了加強安全,容器可以禁用一些沒必要的權限。

  • 完全禁止任何 mount 操作;

  • 禁止直接存取本地主機的socket;

  • 禁止存取一些檔案系統的操作,比如建立新的設備、修改檔案屬性等;

  • 禁止模組載入。

這樣,就算攻擊者在容器中取得了 root 權限,也不能獲得本地主機的較高權限,能進行的破壞也有限。

預設情況下,Docker採用 機制,禁用 之外的其它權限。 當然,使用者也可以根據自身需求來為 Docker 容器啟用額外的權限。

白名單
必需功能