執行時間安全 - Amazon Elastic Container Service

本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。

執行時間安全

執行階段安全提供容器執行時的主動保護。這個想法是檢測並防止惡意活動發生您的容器。

使用安全運算 (seccomp),您可以防止容器化應用程序對底層主機操作系統的內核進行某些 syscalls。雖然 Linux 作業系統有幾百個系統呼叫,但其中大部分是不需要執行容器。藉由限制容器可以製作哪些 syscalls,您可以有效地減少應用程式的攻擊面。

要開始使用 seccomp,您可以使用strace來生成堆棧跟踪,以查看您的應用程序正在進行哪個系統調用。您可以使用如syscall2seccomp從堆疊追蹤收集的資料建立 seccomp 設定檔。如需詳細資訊,請參閱「」擱淺系統呼叫 2 秒

與 SELinux 安全模組不同,seccomp 無法彼此隔離容器。但是,它可以保護主機內核免受未經授權的系統調用。它通過攔截系統調用,並只允許那些被允許列出的系統調用。Docker 具有一個defaultseccomp 設定檔,適用於大多數一般用途工作負載。

注意

您也可以為需要其他許可的事物建立自己的設定檔。

ArperMAppArmor 是一個類似於 seccomp 的 Linux 安全模塊,但它限制了容器的功能,包括訪問文件系統的部分。它可以在enforcementcomplain模式。由於建立 ApperAppArmor 定檔可能具有挑戰性,所以建議您使用像bane。如需 HarbAppArmor 的詳細資訊,請參閱官方AppArmor(憑證已建立!) 頁面上的名稱有些許差異。

重要

虛 AppArmor 只適用於 Linux 的 Ubuntu 和 Debian 發行版。

Recommendations

我們建議您在設定執行階段安全性時採取下列動作。

為執行階段防禦使用第三方解決方案

為執行階段防禦使用第三方解決方案。如果您熟悉 Linux 安全性的運作方式,請建立和管理節目和虛擬 AppArmor 定檔。兩者都是開源項目。否則,請考慮改用不同的協力廠商服務。大多數使用機器學習功能來封鎖或警示可疑活動。如需可用的協力廠商解決方案清單,請參閱AWS Marketplace適用於容器

使用節段原則新增或移除 Linux 功能

使用 seccomp 可更好地控制 Linux 功能,並避免系統呼叫檢查錯誤。Seccomp 的運作方式是系統呼叫篩選器,可撤銷執行特定系統呼叫或使用特定系統呼叫的權限。