使用 IRONSECUREDOC

Docker 認證(如何為開發者工作)

查克尼思·賓
查克尼思·賓
2025年1月14日
分享:

什麼是Docker

Docker 是一個免費的開源容器化平台,因此更容易開發、部署和維護應用程式。 它確實只是有點薄,一個實際包含應用程式的輕量事物,其中包含應用程式所依賴的一切; 它需要在盡可能多的情境下運作,從開發者自己的電腦到生產伺服器。 這些容器顯著地更高效且更快速,因為它們共享主機系統的核心,與標準虛擬機不同。

Docker 認證(對開發人員的運作方式):圖 1

Docker 引擎只是提供生成、管理和共享容器的多家公司之一。 此模型的某個版本甚至被命名為 Docker 映像。 用於共享和存儲容器映像的特殊類型的 Docker 存儲庫是 Docker Hub。 Docker 技術在雲端開發工作流程和 DevOps 中如此受歡迎的主要原因之一是其在可擴展性、可移植性和效率方面的優勢。 Docker 提供兩個版本:個人版和企業版。

什麼是 Docker 證書?

一份Docker 證書是一種數位證書,用於通過 HTTPS 建立 Docker 客戶端與 Docker 伺服器(如 Docker 守護程序或 Docker registry)之間的安全通信。 這是 Docker 的 TLS 配置的一個重要方面,它只允許客戶端和伺服器彼此互動。 當在生產或分散式環境中部署 Docker 時,這是相當有用的。

Docker 證書的功能

TLS/SSL 認證: 它應用 TLS/SSL 憑證來驗證客戶端和伺服器以確保它們來自合法來源。

加密:Docker 通過證書實現客戶端與服務器之間的加密數據傳輸。 這些憑證無法被他人閱讀。

相互驗證:相互 TLS 實現了客戶端和服務器之間證書的相互驗證。 它提供了絕對的安全性,因為在任何數據傳輸之前,必須先驗證任一方的證書。

Docker 中的證書類型

伺服器證書:它允許用戶端驗證 Docker 守護程式。 伺服器證書已安裝在運行 Docker 的伺服器上。

用戶端憑證:它是發給發出憑證的 Docker 用戶端,用於在伺服器上進行身份驗證。 用戶端證書必須由可信的CA簽署。

CA 憑證:這應該是在雙方使用的 CA 憑證,用於簽署伺服器或客戶端憑證,並在雙方之間建立信任關係。

使用自定義憑證授權機構 (CA)

如果我們運行一個自訂 CA,我們將需要讓 Docker 信任此 CA。 我們通常會透過將 CA 憑證儲存在 Docker 主機的 /etc/docker/certs.d//ca.crt 來配置 Docker 指向您的 CA。

我們應該將 CA 憑證貼到 Docker 主機的 /etc/docker/certs.d/<你的 registry>/ca.crt 中。

使用 Docker 與 TLS

可以透過生成伺服器和客戶端證書,然後配置 Docker 使用它們進行通信來保護 Docker 守護程式本身的安全。

生成證書

使用 OpenSSL 生成所需的證書:

openssl genrsa -aes256 -out ca-key.pem 4096
openssl req -new -x509 -days 365 -key ca-key.pem -sha256 -out ca.pem
openssl genrsa -aes256 -out ca-key.pem 4096
openssl req -new -x509 -days 365 -key ca-key.pem -sha256 -out ca.pem
'INSTANT VB TODO TASK: The following line uses invalid syntax:
'openssl genrsa -aes256 -out ca-key.pem 4096 openssl req -New -x509 -days 365 -key ca-key.pem -sha256 -out ca.pem
$vbLabelText   $csharpLabel

Docker 認證(對開發人員的運作方式):圖 2

立即創建客戶端和服務器密鑰及證書:

openssl genrsa -out server-key.pem 4096
openssl req -subj "/CN=your-server" -sha256 -new -key server-key.pem -out server.csr
openssl x509 -req -days 365 -sha256 -in server.csr -CA ca.pem -CAkey ca-key.pem -CAcreateserial -out server-cert.pem
openssl genrsa -out server-key.pem 4096
openssl req -subj "/CN=your-server" -sha256 -new -key server-key.pem -out server.csr
openssl x509 -req -days 365 -sha256 -in server.csr -CA ca.pem -CAkey ca-key.pem -CAcreateserial -out server-cert.pem
'INSTANT VB TODO TASK: The following line uses invalid syntax:
'openssl genrsa -out server-key.pem 4096 openssl req -subj "/CN=your-server" -sha256 -New -key server-key.pem -out server.csr openssl x509 -req -days 365 -sha256 -in server.csr -CA ca.pem -CAkey ca-key.pem -CAcreateserial -out server-cert.pem
$vbLabelText   $csharpLabel

最後,配置 Docker 以使用這些證書:將它們放在正確的目錄中並更正 Docker daemon 配置。

配置 Docker 守护进程

要使用生成的證書,更改 Docker 守護程式的配置:

{
  "tls": true,
  "tlsverify": true,
  "tlscacert": "/etc/docker/ca.pem",
  "tlscert": "/etc/docker/server-cert.pem",
  "tlskey": "/etc/docker/server-key.pem",
  "hosts": ["tcp://0.0.0.0:2376", "unix:///var/run/docker.sock"]
}
{
  "tls": true,
  "tlsverify": true,
  "tlscacert": "/etc/docker/ca.pem",
  "tlscert": "/etc/docker/server-cert.pem",
  "tlskey": "/etc/docker/server-key.pem",
  "hosts": ["tcp://0.0.0.0:2376", "unix:///var/run/docker.sock"]
}
If True Then
  "tls": True, "tlsverify": True, "tlscacert": "/etc/docker/ca.pem", "tlscert": "/etc/docker/server-cert.pem", "tlskey": "/etc/docker/server-key.pem", "hosts": ("tcp://0.0.0.0:2376", "unix:///var/run/docker.sock")
End If
$vbLabelText   $csharpLabel

重啟 Docker 守護程序以應用更改。

Docker 認證考試

Docker Certified Associate 是一項全球認可的認證,旨在驗證候選人在 Docker 技能方面的專業知識。 Docker 認證包含約 55 題選擇題和多選題,這些問題會在這個線上監考的考試中出現(Docker 認證助理),需要在 90 分鐘內完成。

它包括六個主要領域:協同調度、圖像創建與管理、安裝與配置、網路、安全性和存儲。 雖然沒有嚴格的先決條件,但建議候選人具有至少六個月的 Docker 實際使用經驗,並應具備對容器化應用程序工作流程運作方式的良好理解,Docker 認證的有效期為兩年。

準備工作包括學習 Docker 文檔、練習 CLI 命令、使用 Docker Swarm 和 Docker Compose,並使用模擬考試。 取得 DCA 表示在 Docker 方面展現出熟練程度,並在 DevOps、雲端原生開發和容器編排中帶來更好的職業前景。 要了解有關 Docker 培訓課程的更多信息,請查看這裡

什麼是IronSecureDoc

IronSecureDoc 是 Iron Software 最近開發的一款產品,專門設計用於數位安全文檔,特別是 PDF,並且具有相當強大的加密和控制功能。 這將進一步允許組織安裝像 AES-256 這樣的先進加密協議,以確保未經授權的許可無法查看所述的敏感信息。 公司對打印、編輯或複製設有自訂權限和限制,這表示只有授權用戶才能開啟該文件。 密碼保護和數位簽章也能提升文件和浮水印的安全性和完整性。

Docker 認證(對開發人員的作用):圖 3 - IronSecureDoc:PDF 安全與合規服務器

IronSecureDoc 對開發者友好,並且可以通過 Docker 或其他程式環境輕鬆整合到應用程式中,因此應能適應許多業務工作流程。 例如,在健康、金融和法律行業中,文件的保密性至關重要。 IronSecureDoc 將結合加密和組織內文件控制的功能,確保文件的安全保管,以便與外部合作夥伴或客戶合規且容易、安全地共享。

證書如何增強IronSecureDoc的安全性

驗證:證書設計允許使用者或系統在安全的文件上進行身份驗證,只有授權人員才能存取檔案。這對於合規性和內部安全性至關重要,特別是在金融和醫療等受管制行業參與時。

加密:在公钥加密中,文件可以通過 IronSecureDoc 進行加密,這樣用該工具加密的文件只能由擁有相應私钥的個人打開。 因此,無論多麼努力地嘗試,被截取的內容都無法訪問。

數位簽章:證書允許數位簽名,這賦予文件來源和完整性。 有效的簽名可以保證文件未被更改,從而增加信任,並滿足數位交易的法律標準。

安裝及運行IronSecureDoc

在命令提示符或開啟的終端視窗中運行以下命令,以從存儲庫中拉取IronSecureDoc Docker映像。

docker pull ironsoftwareofficial/ironsecuredoc

Docker 認證(開發人員如何使用):圖 4

從 Docker 容器提取映像後,我們可以使用另一個命令來啟動 IronSecureDoc,一個正在運行的容器。

docker container run --rm -p 8080:8080 -e IronSecureDoc_LicenseKey=<IRONSECUREDOC_LICENSE_KEY> -e ENVIRONMENT=Development -e HTTP_PORTS=8080 ironsoftwareofficial/ironsecuredoc:latest

上述的 Docker 執行命令將創建一個 IronSecureDoc 的容器實例。

使用 IronSecuredoc

IronSecureDoc 的 REST API 讓用戶可以在安裝和啟動 Docker 時對文件進行編輯、驗證和加密; 這也在其他地方提到過。 這裡是文檔的連結。

Docker 認證(開發者如何運作):圖 5

例如,要加密文件,您可以向IronSecureDoc API發送POST請求:

curl -X 'POST' \
  'http://localhost:8080/v1/document-services/pdfs/encrypt?user_password=demo' \
  -H 'accept: */*' \
  -H 'Content-Type: multipart/form-data' \
  -F 'pdf_file=@test.pdf;type=application/pdf'

這將自動將文件轉發到 IronSecureDoc,在那裡將適當地加密。

結論

Docker 證書和 IronSecureDoc 因此構成了一個全面的安全框架,用於在容器化環境中管理文件。 Docker 憑證促進 Docker 客戶端與服務器之間的加密和身份驗證通信,以確保安全部署和管理像 IronSecureDoc 這樣的容器託管應用程式。 只有受信任的實體能夠訪問和修改 Docker 容器,從而防止在伺服器環境中發生任何未授權的行為。

這由IronSecureDoc支持,可以在其中添加文件特定的安全功能,比如文件加密、實施存取控制,以及通過數位簽章驗證文件的真實性。 結合 Docker 證書和 IronSecureDoc,提供了對基礎設施和儲存敏感數據的完整安全防護。 欲了解更多有關 Ironsecuredoc 授權的信息,請點擊此頁面。 有關Iron Software許多產品的資訊,請點擊此連結

查克尼思·賓
軟體工程師
Chaknith 致力於 IronXL 和 IronBarcode。他在 C# 和 .NET 方面擁有豐富的專業知識,協助改進軟體並支持客戶。他從用戶互動中獲得的洞察力有助於提高產品、文檔和整體體驗。
< 上一頁
如何使用 C# 在 Docker 中保護 PDF API
下一個 >
Zabbix Docker(開發人員如何運作)

準備開始了嗎? 版本: 2024.10 剛剛發布

查看許可證 >