Center for Internet Security (CIS) Azure Linux 基準
適用於 AKS 的 Azure Linux 容器主機映像所套用的安全性 OS 組態是以符合 CIS 基準的 Azure Linux 安全性基準為基礎。 作為安全服務,AKS 符合 SOC、ISO、PCI DSS 和 HIPAA 標準。 如需 Azure Linux 容器主機安全性的詳細資訊,請參閱 AKS 中叢集的安全性概念。 若要了解 CIS 基準,請參閱 Center for Internet Security (CIS) 基準。 如需適用於 Linux 的 Azure 安全性基準的詳細資訊,請參閱 Linux 安全性基準。
Azure Linux 2.0
此 Azure Linux 容器主機作業系統是基於已套用內建安全性組態的 Azure Linux 2.0 映像。
作為安全性最佳化的作業系統一部分:
- AKS 和 Azure Linux 依預設會提供安全性最佳化的主機 OS,但沒有選項可選取替代作業系統。
- 安全性最佳化的主機 OS 是專門針對 AKS 所建置和維護,且無法在 AKS 平台外部獲得支援。
- 已在 OS 中停用非必要的核心模組驅動程式,以縮小受攻擊面。
建議
下表包含四個區段:
- CIS 識別碼:與每個基準規則相關聯的規則識別碼。
- 建議描述:CIS 基準所發佈建議的描述。
- 等級:L1 (或等級 1) 會建議可在任何系統上設定,且應該不會中斷服務或減少功能的基本安全性需求。
- 狀態:
- 通過 - 已套用建議。
- 失敗:未套用建議。
- N/A:建議與資訊清單檔權限需求相關,但該需求與 AKS 並不相關。
- 視環境而定:建議會套用在使用者的特定環境中,且不受 AKS 控制。
- 對等控制項:以不同的對等方式實作建議。
- 原因:
- 潛在的作業影響:未套用建議,因為建議會對服務產生負面影響。
- 包含在其他地方:Azure 雲端計算的另一個控制項中包含該建議。
以下是以 CIS 規則為基礎的 CIS Azure Linux 2.0 基準 v1.0 (英文) 建議的結果:
CIS 識別碼 | 建議描述 | 狀態 | 原因 |
---|---|---|---|
1.1.4 | 停用自動掛接 | 通過 | |
1.1.1.1 | 確定已停用 cramfs 檔案系統的掛接 | 通過 | |
1.1.2.1 | 確定 /tmp 是個別的分割區 | 通過 | |
1.1.2.2 | 確定 /tmp 分割區上已設定 nodev 選項 | 通過 | |
1.1.2.3 | 確定 /tmp 分割區上已設定 nosuid 選項 | 通過 | |
1.1.8.1 | 確定 /dev/shm 分割區上已設定 nodev 選項 | 通過 | |
1.1.8.2 | 確定 /dev/shm 分割區上已設定 nosuid 選項 | 通過 | |
1.2.1 | 確定已全域啟動 DNF gpgcheck | 通過 | |
1.2.2 | 確定已全域啟動 TDNF gpgcheck | 通過 | |
1.5.1 | 確定已停用核心傾印儲存 | 通過 | |
1.5.2 | 確定已停用核心傾印反向追蹤 | 通過 | |
1.5.3 | 確定已啟用位址空間配置隨機化 (ASLR) | 通過 | |
1.7.1 | 確定已正確設定本機登入警告橫幅 | 通過 | |
1.7.2 | 確定已正確設定遠端登入警告橫幅 | 通過 | |
1.7.3 | 確保已設定 /etc/motd 的權限 | 通過 | |
1.7.4 | 確定已設定 /etc/issue 的權限 | 通過 | |
1.7.5 | 確定已設定 /etc/issue.net 的權限 | 通過 | |
2.1.1 | 確定時間同步處理正在使用中 | 通過 | |
2.1.2 | 確定已設定 chrony | 通過 | |
2.2.1 | 確定未安裝 xinetd | 通過 | |
2.2.2 | 確定未安裝 xorg-x11-server-common | 通過 | |
2.2.3 | 確定未安裝 avahi | 通過 | |
2.2.4 | 確定未安裝列印伺服器 | 通過 | |
2.2.5 | 確定未安裝 dhcp 伺服器 | 通過 | |
2.2.6 | 確定未安裝 dns 伺服器 | 通過 | |
2.2.7 | 確定未安裝 FTP 用戶端 | 通過 | |
2.2.8 | 確定未安裝 ftp 伺服器 | 通過 | |
2.2.9 | 確定未安裝 tftp 伺服器 | 通過 | |
2.2.10 | 確定未安裝網頁伺服器 | 通過 | |
2.2.11 | 確定未安裝 IMAP 和 POP3 伺服器 | 通過 | |
2.2.12 | 確定未安裝 Samba | 通過 | |
2.2.13 | 確定未安裝 HTTP Proxy 伺服器 | 通過 | |
2.2.14 | 確定未安裝 net-snmp,或未啟用 snmpd 服務 | 通過 | |
2.2.15 | 確定未安裝 NIS 伺服器 | 通過 | |
2.2.16 | 確定未安裝 Telnet 伺服器 | 通過 | |
2.2.17 | 確定已設定郵件傳輸代理程式使用僅限本機模式 | 通過 | |
2.2.18 | 確定未安裝 nfs-utils,或已遮罩 nfs-server 服務 | 通過 | |
2.2.19 | 確定未安裝 rsync-daemon,或已遮罩 rsyncd 服務 | 通過 | |
2.3.1 | 確定未安裝 NIS 用戶端 | 通過 | |
2.3.2 | 確定未安裝 rsh 用戶端 | 通過 | |
2.3.3 | 確定未安裝 talk 用戶端 | 通過 | |
2.3.4 | 確定未安裝 Telnet 用戶端 | 通過 | |
2.3.5 | 確定未安裝 LDAP 用戶端 | 通過 | |
2.3.6 | 確定未安裝 TFTP 用戶端 | 通過 | |
3.1.1 | 確定已啟用 IPv6 | 通過 | |
3.2.1 | 確定已停用封包重新導向傳送 | 通過 | |
3.3.1 | 確定不接受來源路由封包 | 通過 | |
3.3.2 | 確定不接受 ICMP 重新導向 | 通過 | |
3.3.3 | 確定不接受安全 ICMP 重新導向 | 通過 | |
3.3.4 | 確定會記錄可疑的封包 | 通過 | |
3.3.5 | 確定會忽略廣播 ICMP 要求 | 通過 | |
3.3.6 | 確定會忽略假 ICMP 回應 | 通過 | |
3.3.7 | 確定已啟用反轉路徑篩選 | 通過 | |
3.3.8 | 確定已啟用 TCP SYN Cookie | 通過 | |
3.3.9 | 確定不接受 IPv6 路由器公告 | 通過 | |
3.4.3.1.1 | 確定已安裝 iptables 套件 | 通過 | |
3.4.3.1.2 | 確定未隨 iptables 一起安裝 nftables | 通過 | |
3.4.3.1.3 | 確定未安裝防火牆或已使用 iptables 遮罩 | 通過 | |
4.2 | 確定已設定 logrotate | 通過 | |
4.2.2 | 確定所有記錄檔都已設定適當的存取權 | 通過 | |
4.2.1.1 | 確定已安裝 rsyslog | 通過 | |
4.2.1.2 | 確定已啟用 Rsyslog 服務 | 通過 | |
4.2.1.3 | 確定已設定 Rsyslog 預設檔案權限 | 通過 | |
4.2.1.4 | 確定已設定記錄 | 通過 | |
4.2.1.5 | 確定 Rsyslog 未設定為從遠端用戶端接收記錄 | 通過 | |
5.1.1 | 確定已啟用 cron 精靈 | 通過 | |
5.1.2 | 確定已設定 /etc/crontab 的權限 | 通過 | |
5.1.3 | 確定已設定 /etc/cron.hourly 的權限 | 通過 | |
5.1.4 | 確定已設定 /etc/cron.daily 的權限 | 通過 | |
5.1.5 | 確定已設定 /etc/cron.weekly 的權限 | 通過 | |
5.1.6 | 確定已設定 /etc/cron.monthly 的權限 | 通過 | |
5.1.7 | 確定已設定 /etc/cron.d 的權限 | 通過 | |
5.1.8 | 確定 cron 限制為已授權的使用者 | 通過 | |
5.1.9 | 確定 at 限制為已授權的使用者 | 通過 | |
5.2.1 | 確定已設定 /etc/ssh/sshd_config 的權限 | 通過 | |
5.2.2 | 確定已設定 SSH 私人主機金鑰檔案的權限 | 通過 | |
5.2.3 | 確定已設定 SSH 公用主機金鑰檔案的權限 | 通過 | |
5.2.4 | 確定 SSH 存取受到限制 | 通過 | |
5.2.5 | 確定 SSH LogLevel 適當 | 通過 | |
5.2.6 | 確定已啟用 SSH PAM | 通過 | |
5.2.7 | 確定已停用 SSH 根登入 | 通過 | |
5.2.8 | 確定已停用 SSH HostbasedAuthentication | 通過 | |
5.2.9 | 確定已停用 SSH PermitEmptyPasswords | 通過 | |
5.2.10 | 確定已停用 SSH PermitUserEnvironment | 通過 | |
5.2.11 | 確定已啟用 SSH IgnoreRhosts | 通過 | |
5.2.12 | 確定只使用強式加密 | 通過 | |
5.2.13 | 確定僅使用強式 MAC 演算法 | 通過 | |
5.2.14 | 確定只使用強式金鑰交換演算法 | 通過 | |
5.2.15 | 確定已設定 SSH 警告橫幅 | 通過 | |
5.2.16 | 確定 SSH MaxAuthTries 設定為 4 或更低 | 通過 | |
5.2.17 | 確定已設定 SSH MaxStartups | 通過 | |
5.2.18 | 確定 SSH LoginGraceTime 設定為一分鐘或更低 | 通過 | |
5.2.19 | 確定 SSH MaxSessions 設定為 10 或更低 | 通過 | |
5.2.20 | 確定已設定 SSH 閒置逾時間隔 | 通過 | |
5.3.1 | 確定已安裝 sudo | 通過 | |
5.3.2 | 確定未全域停用權限提升的重新驗證 | 通過 | |
5.3.3 | 確定已正確設定 sudo 驗證逾時 | 通過 | |
5.4.1 | 確定已設定密碼建立需求 | 通過 | |
5.4.2 | 確定已設定密碼嘗試失敗的鎖定 | 通過 | |
5.4.3 | 確保密碼雜湊演算法為 SHA-512 | 通過 | |
5.4.4 | 確定密碼重複使用受到限制 | 通過 | |
5.5.2 | 確定系統帳戶受到保護 | 通過 | |
5.5.3 | 確定根帳戶的預設群組為 GID 0 | 通過 | |
5.5.4 | 確定預設使用者 umask 為 027 或更嚴格 | 通過 | |
5.5.1.1 | 確定密碼到期日為 365 天或更短 | 通過 | |
5.5.1.2 | 確定已設定密碼變更之間的最小天數 | 通過 | |
5.5.1.3 | 確定密碼到期警告天數為 7 天或更多 | 通過 | |
5.5.1.4 | 確定非作用中密碼鎖定為 30 天或更短 | 通過 | |
5.5.1.5 | 確保所有使用者的上次密碼變更日期是過去的日期 | 通過 | |
6.1.1 | 確定已設定 /etc/passwd 的權限 | 通過 | |
6.1.2 | 確定已設定 /etc/passwd- 的權限 | 通過 | |
6.1.3 | 確定已設定 /etc/group 的權限 | 通過 | |
6.1.4 | 確定已設定 /etc/group- 的權限 | 通過 | |
6.1.5 | 確定已設定 /etc/shadow 的權限 | 通過 | |
6.1.6 | 確定已設定 /etc/shadow- 的權限 | 通過 | |
6.1.7 | 確定已設定 /etc/gshadow 的權限 | 通過 | |
6.1.8 | 確定已設定 /etc/gshadow- 的權限 | 通過 | |
6.1.9 | 確定沒有未擁有或未分組的檔案或目錄存在 | 通過 | |
6.1.10 | 確定全域可寫入的檔案和目錄受到保護 | 通過 | |
6.2.1 | 確定密碼欄位非空白 | 通過 | |
6.2.2 | 確保 /etc/passwd 中的所有群組都存在於 /etc/group 中 | 通過 | |
6.2.3 | 確保沒有任何重複的 UID 存在 | 通過 | |
6.2.4 | 確保沒有任何重複的 GID 存在 | 通過 | |
6.2.5 | 確保沒有重複的使用者名稱 | 通過 | |
6.2.6 | 確定沒有重複的群組名稱 | 通過 | |
6.2.7 | 確定根路徑完整性 | 通過 | |
6.2.8 | 確保根是唯一的 UID 0 帳戶 | 通過 | |
6.2.9 | 確保所有使用者的主目錄皆存在 | 通過 | |
6.2.10 | 確定使用者擁有其主目錄 | 通過 | |
6.2.11 | 確定使用者的主目錄權限為 750 或更嚴格 | 通過 | |
6.2.12 | 確定使用者的 dot 檔案不可進行群組或全域寫入 | 通過 | |
6.2.13 | 確定使用者的 .netrc 檔案不可進行群組或全域存取 | 通過 | |
6.2.14 | 確保沒有任何使用者有 .forward 檔案 | 通過 | |
6.2.15 | 確保沒有任何使用者有 .netrc 檔案 | 通過 | |
6.2.16 | 確保沒有任何使用者有 .rhosts 檔案 | 通過 |
下一步
如需 Azure Linux 容器主機安全性的詳細資訊,請參閱下列文章: