CIS Ubuntu 基準

本文說明 Google Distributed Cloud 符合 CIS Ubuntu 基準的程度。

存取基準

如要查看 CIS Ubuntu 基準,請前往 CIS 網站

組態設定檔

您可以在 CIS Ubuntu 基準文件中瞭解設定檔。Google Distributed Cloud 使用的 Ubuntu 映像檔經過強化,符合第 2 級 - 伺服器設定檔。

在 Google Distributed Cloud 上評估

我們使用下列值,在 Google Distributed Cloud 中指定 Ubuntu 建議的狀態。

狀態 說明
pass 符合基準建議。
失敗 與基準建議不同。
notapplicable 與要評估的系統無關,因此不適合進行測試。

Google Distributed Cloud 狀態

Google Distributed Cloud 使用的 Ubuntu 映像檔經過強化,符合 CIS Level 2 - Server 設定檔。下表說明 Google Distributed Cloud 元件未通過特定建議的原因。下表不包含狀態為 Passed 的基準。

1.33 和 1.32

版本

本節適用於下列版本:

Google Distributed Cloud 版本 Ubuntu 版本 CIS Ubuntu 基準版本 CIS 層級
1.32 22.04 LTS 1.0.0 版 第 2 級伺服器

無法套用建議

下表列出 Google Distributed Cloud 偏離基準建議的建議事項。這些發現適用於叢集節點和管理員工作站。

# 建議 嚴重性 狀態
1.1.2.1 確保 /tmp 位於獨立分區 low 失敗
1.1.3.1 確認 /var 位於獨立分區 low 失敗
1.1.4.1 確認 /var/tmp 位於獨立分區 失敗
1.1.5.1 確認 /var/log 位於獨立分區 low 失敗
1.1.6.1 確認 /var/log/audit 位於獨立分區 low 失敗
1.1.7.1 確認 /home 位於獨立磁碟分割區 low 失敗
1.4.1 在 grub2 中設定系統啟動載入程式密碼 失敗
1.4.3 確保單一使用者模式需要驗證 失敗
2.3.6 解除安裝 rpcbind 套件 low 失敗
3.2.2 停用 IPv4 介面上 IP 轉送的 Kernel 參數 失敗
3.3.7 啟用核心參數,預設在所有 IPv4 介面上使用反向路徑篩選 失敗
3.3.7 啟用核心參數,在所有 IPv4 介面上使用反向路徑篩選 失敗
3.5.2.8 確保 nftables 預設拒絕防火牆政策 失敗
3.5.2.10 確保 nftables 規則是永久規則 失敗
4.2.3 確認記錄檔的權限 失敗
5.2.4 限制使用者的 SSH 存取權 不明 失敗
5.3.4 確保使用者重新驗證,才能提權 - sudo 失敗
5.5.1.2 設定密碼有效期限 失敗

已通過的建議

下表列出 Google Distributed Cloud 遵循基準建議的建議事項。

# 建議 嚴重性 狀態
1.1.1.1 停用 cramfs 掛載功能 low pass
1.1.1.2 停用 squashfs 掛載功能 low pass
1.1.1.3 停用 UDF 掛載功能 low pass
1.1.8.1 在 /dev/shm 中新增 nodev 選項 pass
1.1.8.2 在 /dev/shm 中新增 noexec 選項 pass
1.1.8.3 在 /dev/shm 中新增 nosuid 選項 pass
1.1.9 停用 Automounter pass
1.1.10 停用 USB 儲存裝置驅動程式的 Modprobe 載入功能 pass
1.4.2 驗證 /boot/grub/grub.cfg 權限 pass
1.5.1 啟用虛擬位址空間隨機配置 pass
1.5.2 不得安裝「prelink」套件 pass
1.5.3 停用 Apport 服務 不明 pass
1.5.4 為所有使用者停用核心傾印 pass
1.5.4 停用 SUID 程式的 Core Dump pass
1.6.1.1 確認已安裝 AppArmor pass
1.6.1.2 確認啟動載入程式設定已啟用 AppArmor pass
1.6.1.4 強制執行所有 AppArmor 設定檔 pass
1.7.1 修改系統每日訊息橫幅 pass
1.7.2 修改系統登入橫幅 pass
1.7.3 修改遠端連線的系統登入橫幅 pass
1.7.4 驗證每日訊息橫幅的群組擁有權 pass
1.7.4 驗證每日訊息橫幅擁有權 pass
1.7.4 驗證每日訊息橫幅的權限 pass
1.7.5 驗證系統登入橫幅的群組擁有權 pass
1.7.5 驗證系統登入橫幅的擁有權 pass
1.7.5 驗證系統登入橫幅上的權限 pass
1.7.6 驗證遠端連線的系統登入橫幅群組擁有權 pass
1.7.6 驗證遠端連線的系統登入橫幅擁有權 pass
1.7.6 確認遠端連線的系統登入橫幅權限 pass
2.1.1.1 安裝 systemd_timesyncd 服務 pass
2.1.3.2 啟用 systemd_timesyncd 服務 pass
2.2.1 移除 X Windows 套件群組 pass
2.2.2 停用 Avahi 伺服器軟體 pass
2.2.2 解除安裝 avahi 伺服器套件 pass
2.2.3 停用 CUPS 服務 不明 pass
2.2.3 解除安裝 CUPS 套件 不明 pass
2.2.4 解除安裝 DHCP 伺服器套件 pass
2.2.5 解除安裝 openldap-servers 套件 low pass
2.2.6 解除安裝 nfs-kernel-server 套件 low pass
2.2.7 解除安裝繫結套件 low pass
2.2.8 解除安裝 vsftpd 套件 pass
2.2.9 解除安裝 httpd 套件 不明 pass
2.2.9 解除安裝 nginx 套件 不明 pass
2.2.10 解除安裝 cyrus-imapd 套件 不明 pass
2.2.10 解除安裝 dovecot 套件 不明 pass
2.2.11 解除安裝 Samba 套件 不明 pass
2.2.12 解除安裝 squid 套件 不明 pass
2.2.13 解除安裝 net-snmp 套件 不明 pass
2.2.14 解除安裝 nis 套件 low pass
2.2.15 確認郵件傳輸代理程式未監聽任何非迴路位址 pass
2.2.16 解除安裝 rsync 套件 pass
2.3.2 解除安裝 rsh 套件 不明 pass
2.3.3 解除安裝 Talk 套件 pass
2.3.4 移除 Telnet 用戶端 low pass
2.3.5 確認未安裝 LDAP 用戶端 low pass
3.1.2 停用無線網路介面 pass
3.2.1 預設停用所有 IPv4 介面上傳送 ICMP 重新導向的 Kernel 參數 pass
3.2.1 在所有 IPv4 介面上停用核心參數,以傳送 ICMP 重新導向 pass
3.2.2 停用 IPv6 轉送的核心參數 pass
3.3.1 在所有 IPv4 介面上停用核心參數,以接受來源路由封包 pass
3.3.1 在所有 IPv6 介面上停用核心參數,以接受來源路由封包 pass
3.3.1 預設停用核心參數,以接受 IPv4 介面上的來源路由封包 pass
3.3.1 預設停用核心參數,以在 IPv6 介面上接受來源路由封包 pass
3.3.2 停用所有 IPv4 介面的 ICMP 重新導向接受功能 pass
3.3.2 停用所有 IPv6 介面的 ICMP 重新導向接受功能 pass
3.3.2 在 IPv4 介面上,停用預設接受 ICMP 重新導向的 Kernel 參數 pass
3.3.2 在 IPv6 介面上,預設停用接受 ICMP 重新導向的 Kernel 參數 pass
3.3.3 設定核心參數,預設接受安全重新導向 pass
3.3.3 在所有 IPv4 介面上停用核心參數,以接受安全 ICMP 重新導向 pass
3.3.4 在所有 IPv4 介面上啟用核心參數,記錄火星封包 不明 pass
3.3.4 根據預設,啟用核心參數,在所有 IPv4 介面上記錄火星封包 不明 pass
3.3.5 啟用核心參數,忽略 IPv4 介面上的 ICMP 廣播回應要求 pass
3.3.6 啟用核心參數,忽略 IPv4 介面上無效的 ICMP 錯誤回應 不明 pass
3.3.8 啟用核心參數,在網路介面上使用 TCP Syncookies pass
3.3.9 在所有 IPv6 介面上設定接受路由器廣告 pass
3.3.9 預設停用所有 IPv6 介面上的路由器通告 pass
3.4.1 停用 DCCP 支援 pass
3.4.2 停用 SCTP 支援 pass
3.4.3 停用 RDS 支援 low pass
3.4.4 停用 TIPC 支援 low pass
3.5.1.2 移除 iptables-persistent 套件 pass
3.5.2.1 安裝 nftables 套件 pass
3.5.2.4 確認 Nftables 有資料表 pass
3.5.2.5 確認 Nftables 是否有基本鏈 pass
3.5.2.9 確認已啟用 nftables 服務 pass
3.5.3.1.1 安裝 iptables 套件 pass
3.5.3.1.3 移除 ufw 套件 pass
4.1.1.1 確認已安裝稽核子系統 pass
4.1.1.2 啟用 auditd 服務 pass
4.1.1.4 延長稽核 Daemon 的稽核待處理事項限制 low pass
4.1.2.1 設定 auditd 記錄檔大小上限 pass
4.1.2.2 設定 auditd max_log_file_action,在達到記錄檔大小上限時執行動作 pass
4.1.2.3 設定磁碟空間不足時的 auditd admin_space_left 動作 pass
4.1.2.3 在磁碟空間不足時設定 auditd mail_acct 動作 pass
4.1.2.3 設定磁碟空間不足時的 auditd space_left 動作 pass
4.1.3.1 確保 auditd 會收集系統管理員動作 pass
4.1.3.2 在執行具備特殊權限的可執行檔時記錄事件 pass
4.1.3.3 記錄嘗試執行維護活動的次數 pass
4.1.3.4 記錄嘗試變更 localtime 檔案的行為 pass
4.1.3.4 記錄透過 adjtimex 變更時間的嘗試 pass
4.1.3.4 記錄透過 clock_settime 變更時間的嘗試 pass
4.1.3.4 記錄透過 settimeofday 變更時間的嘗試 pass
4.1.3.4 嘗試透過 stime 變更時間的記錄 pass
4.1.3.5 記錄會修改系統網路環境的事件 pass
4.1.3.6 確保 auditd 收集權限指令 (su) 的使用資訊 pass
4.1.3.6 確保 auditd 會收集權限指令 (sudo) 的使用資訊 pass
4.1.3.6 確保 auditd 收集有關使用權限指令 (sudoedit) 的資訊 pass
4.1.3.6 確保 auditd 收集使用權限指令 (umount) 的相關資訊 pass
4.1.3.6 確保 auditd 收集特權指令的使用資訊 - unix_chkpwd pass
4.1.3.7 記錄檔案存取嘗試失敗的次數 - creat pass
4.1.3.7 記錄檔案的存取嘗試失敗次數 - ftruncate pass
4.1.3.7 記錄檔案存取嘗試失敗的事件 - 開啟 pass
4.1.3.7 記錄檔案存取嘗試失敗的次數 - openat pass
4.1.3.7 記錄檔案存取嘗試失敗的次數 - 截斷 pass
4.1.3.8 記錄修改使用者/群組資訊的事件 - /etc/group pass
4.1.3.8 記錄修改使用者/群組資訊的事件 - /etc/gshadow pass
4.1.3.8 記錄修改使用者/群組資訊的事件 - /etc/passwd pass
4.1.3.8 記錄修改使用者/群組資訊的事件 - /etc/security/opasswd pass
4.1.3.8 記錄修改使用者/群組資訊的事件 - /etc/shadow pass
4.1.3.9 記錄會修改系統任意存取控制項的事件 - chmod pass
4.1.3.9 記錄會修改系統自主存取控制項的事件 - chown pass
4.1.3.9 記錄修改系統任意存取控制項的事件 - fchmod pass
4.1.3.9 記錄修改系統任意存取控制項的事件 - fchmodat pass
4.1.3.9 記錄會修改系統任意存取控制項的事件 - fchown pass
4.1.3.9 記錄會修改系統任意存取控制項的事件 - fchownat pass
4.1.3.9 記錄會修改系統任意存取控制項的事件 - fremovexattr pass
4.1.3.9 記錄修改系統任意存取控制項的事件 - fsetxattr pass
4.1.3.9 記錄會修改系統任意存取控制項的事件 - lchown pass
4.1.3.9 記錄修改系統任意存取控制項的事件 - lremovexattr pass
4.1.3.9 記錄修改系統任意存取控制項的事件 - lsetxattr pass
4.1.3.9 記錄會修改系統任意存取控制項的事件 - removexattr pass
4.1.3.9 記錄會修改系統任意存取控制項的事件 - setxattr pass
4.1.3.10 確認 auditd 是否收集匯出至媒體的相關資訊 (成功) pass
4.1.3.11 記錄嘗試變更程序和會話啟動資訊的行為 pass
4.1.3.12 記錄嘗試變更登入和登出事件的行為 - faillog pass
4.1.3.12 記錄嘗試變更登入和登出事件的行為 - lastlog pass
4.1.3.12 記錄嘗試變更登入和登出事件的行為 - tallylog pass
4.1.3.13 確保 auditd 會收集使用者刪除檔案的事件 - 重新命名 pass
4.1.3.13 確保 auditd 會收集使用者刪除檔案的事件 - renameat pass
4.1.3.13 確保 auditd 會收集使用者刪除檔案的事件 - 取消連結 pass
4.1.3.13 確保 auditd 會收集使用者刪除檔案的事件 - unlinkat pass
4.1.3.14 記錄會修改系統強制存取控制的事件 pass
4.1.3.15 記錄任何執行 chcon 的嘗試 pass
4.1.3.16 記錄任何執行 setfacl 的嘗試 pass
4.1.3.17 記錄任何執行 chacl 的嘗試 pass
4.1.3.18 確保 auditd 收集權限指令的使用資訊 - usermod pass
4.1.3.19 確保 auditd 收集核心模組載入 (init_module) 的相關資訊 pass
4.1.3.19 確保 auditd 會收集核心模組卸載資訊 - delete_module pass
4.1.3.19 確保 auditd 收集權限指令 (insmod) 的使用資訊 pass
4.1.3.19 確保 auditd 收集權限指令的使用資訊 - modprobe pass
4.1.3.19 確保 auditd 收集權限指令 (rmmod) 的使用資訊 pass
4.1.3.20 讓 auditd 設定不可變更 pass
4.1.4.1 系統稽核記錄的模式必須為 0640 或更嚴格 pass
4.1.4.2 系統稽核記錄必須由根目錄擁有 pass
4.1.4.3 系統稽核記錄必須由根目錄擁有的群組 pass
4.1.4.4 系統稽核記錄的模式必須為 0750 或更嚴格 pass
4.1.4.5 驗證 /etc/audit/auditd.conf 的權限 pass
4.1.4.5 驗證 /etc/audit/rules.d/*.rules 的權限 pass
4.1.4.6 稽核設定檔必須由根目錄擁有 pass
4.1.4.7 稽核設定檔必須由群組根目錄擁有 pass
4.1.4.8 確認稽核工具的模式為 0755 以下 pass
4.1.4.9 確認稽核工具是否由根目錄擁有 pass
4.1.4.10 確認稽核工具是否由群組根目錄擁有 pass
4.2.1.1.1 安裝 systemd-journal-remote 套件 pass
4.2.1.1.4 停用 systemd-journal-remote Socket pass
4.2.1.2 啟用 systemd-journald 服務 pass
4.2.1.3 確認 journald 已設定為壓縮大型記錄檔 pass
4.2.1.4 確認 journald 已設定為將記錄檔寫入永久磁碟 pass
4.2.2.1 確認已安裝 rsyslog pass
4.2.2.2 啟用 rsyslog 服務 pass
4.2.2.4 確認已設定 rsyslog 預設檔案權限 pass
4.2.2.7 除非做為記錄伺服器,否則請確保 rsyslog 不接受遠端訊息 pass
5.1.1 啟用 Cron 服務 pass
5.1.2 驗證擁有 Crontab 的群組 pass
5.1.2 在 crontab 上驗證擁有者 pass
5.1.2 驗證 crontab 的權限 pass
5.1.3 驗證擁有 cron.hourly 的群組 pass
5.1.3 在 cron.hourly 上驗證擁有者 pass
5.1.3 確認 cron.hourly 的權限 pass
5.1.4 驗證 cron.daily 的擁有者群組 pass
5.1.4 在 cron.daily 上驗證擁有者 pass
5.1.4 驗證 cron.daily 的權限 pass
5.1.5 驗證擁有 cron.weekly 的群組 pass
5.1.5 在 cron.weekly 驗證擁有權 pass
5.1.5 驗證 cron.weekly 的權限 pass
5.1.6 驗證擁有 cron.monthly 的群組 pass
5.1.6 在 cron.monthly 驗證擁有者 pass
5.1.6 確認 cron.monthly 的權限 pass
5.1.7 驗證擁有 cron.d 的群組 pass
5.1.7 驗證 cron.d 的擁有者 pass
5.1.7 驗證 cron.d 的權限 pass
5.1.8 確認 /etc/cron.deny 不存在 pass
5.1.8 驗證擁有 /etc/cron.allow 檔案的群組 pass
5.1.8 驗證 /etc/cron.allow 檔案的權限 pass
5.1.8 驗證擁有 /etc/cron.allow 檔案的使用者 pass
5.1.9 確認 /etc/at.deny 不存在 pass
5.1.9 驗證擁有 /etc/at.allow 檔案的群組 pass
5.1.9 驗證 /etc/at.allow 檔案的權限 pass
5.1.9 驗證擁有 /etc/at.allow 檔案的使用者 pass
5.2.1 驗證擁有 SSH 伺服器設定檔的群組 pass
5.2.1 確認 SSH 伺服器設定檔的擁有者 pass
5.2.1 驗證 SSH 伺服器設定檔的權限 pass
5.2.2 驗證安全殼層伺服器私密 *_key 金鑰檔案的權限 pass
5.2.3 驗證 SSH 伺服器公開 *.pub 金鑰檔案的權限 pass
5.2.5 將 LogLevel 設為 INFO low pass
5.2.6 啟用 PAM pass
5.2.7 停用 SSH 根登入 pass
5.2.8 停用主機驗證 pass
5.2.9 停用透過空白密碼進行的 SSH 存取 pass
5.2.10 不允許使用 SSH 環境選項 pass
5.2.11 停用 .rhosts 檔案的 SSH 支援功能 pass
5.2.12 停用 X11 轉送 pass
5.2.13 僅使用高強度密碼 pass
5.2.14 只使用強 MAC pass
5.2.15 僅使用高強度金鑰交換演算法 pass
5.2.16 停用 SSH TCP 轉送 pass
5.2.17 啟用 SSH 警告橫幅 pass
5.2.18 設定 SSH 驗證嘗試次數上限 pass
5.2.19 確認已設定 SSH MaxStartups pass
5.2.20 設定 SSH MaxSessions 限制 pass
5.2.21 確認已設定 SSH LoginGraceTime pass
5.2.22 設定 SSH Client Alive Count Max pass
5.2.22 設定安全殼層用戶端存留間隔 pass
5.3.1 安裝 sudo 套件 pass
5.3.2 確保只有登入實際 tty 的使用者可以執行 Sudo - sudo use_pty pass
5.3.3 確認 Sudo Logfile 存在 - sudo logfile low pass
5.3.5 確保使用者重新驗證以提權 - sudo !authenticate pass
5.3.6 使用 sudo 指令時要求重新驗證 pass
5.3.7 強制使用 pam_wheel 和群組參數進行 su 驗證 pass
5.3.7 確認系統上存在 pam_wheel 模組使用的群組,且該群組為空 pass
5.4.1 確保 PAM 強制執行密碼規定 - 允許每個工作階段的驗證重試提示 pass
5.4.1 確保 PAM 強制執行密碼規定 - 最少不同類別 pass
5.4.1 確保 PAM 會強制執行密碼規定 - 最少要有幾位數字 pass
5.4.1 確保 PAM 會強制執行密碼規定 - 長度下限 pass
5.4.1 確保 PAM 強制執行密碼規定 - 小寫字元下限 pass
5.4.1 確保 PAM 會強制執行密碼規定 - 特殊字元下限 pass
5.4.1 確保 PAM 會強制執行密碼規定 - 大寫字元下限 pass
5.4.1 安裝 pam_pwquality 套件 pass
5.4.2 密碼輸入錯誤次數達到指定值時鎖定帳戶 pass
5.4.2 設定計算密碼輸入錯誤次數的時間間隔 pass
5.4.2 設定密碼輸入錯誤次數的鎖定時間 pass
5.4.3 限制重複使用密碼 pass
5.4.4 在 /etc/login.defs 中設定密碼雜湊演算法 pass
5.5.1.1 設定現有密碼的最低使用時間 pass
5.5.1.1 設定密碼最短使用時間 pass
5.5.1.2 設定現有密碼的有效期限 pass
5.5.1.3 設定密碼警告期限 pass
5.5.1.4 設定帳戶在閒置一段時間後到期 pass
5.5.1.5 確認所有使用者上次變更密碼的日期都在過去 pass
5.5.2 確保系統帳戶不會在登入時執行 Shell pass
5.5.3 確認根目錄具有主要 GID 0 pass
5.5.4 確認預設 Bash Umask 設定正確無誤 pass
5.5.4 確保互動式使用者的預設 Umask 設定正確無誤 pass
5.5.4 確認 /etc/profile 中的預設 Umask 設定正確無誤 pass
5.5.4 確認 login.defs 中的預設 Umask 設定正確無誤 pass
5.5.5 設定互動工作階段逾時 pass
6.1.1 驗證擁有 passwd 檔案的群組 pass
6.1.1 驗證 passwd 檔案的權限 pass
6.1.1 驗證擁有 passwd 檔案的使用者 pass
6.1.2 驗證擁有備份 passwd 檔案的群組 pass
6.1.2 驗證備份 passwd 檔案的權限 pass
6.1.2 驗證備份 passwd 檔案的擁有者 pass
6.1.3 確認擁有群組檔案的群組 pass
6.1.3 確認群組檔案的權限 pass
6.1.3 驗證群組檔案擁有者 pass
6.1.4 確認備份群組檔案的擁有者群組 pass
6.1.4 確認備份群組檔案的權限 pass
6.1.4 驗證備份群組檔案的擁有者 pass
6.1.5 驗證擁有陰影檔案的群組 pass
6.1.5 驗證影子檔案的權限 pass
6.1.5 驗證擁有陰影檔案的使用者 pass
6.1.6 確認擁有備份陰影檔案的群組 pass
6.1.6 驗證備份陰影檔案的權限 pass
6.1.6 驗證備份陰影檔案的擁有者 pass
6.1.7 驗證擁有 gshadow 檔案的群組 pass
6.1.7 驗證 gshadow 檔案的權限 pass
6.1.7 驗證擁有 gshadow 檔案的使用者 pass
6.1.8 驗證擁有備份 gshadow 檔案的群組 pass
6.1.8 驗證備份 gshadow 檔案的權限 pass
6.1.8 驗證備份 gshadow 檔案的擁有者 pass
6.1.10 確保所有檔案都由使用者擁有 pass
6.2.1 確認所有帳戶密碼雜湊都已遮蔽 pass
6.2.2 確認沒有帳戶的密碼為空白或空值 pass
6.2.3 /etc/passwd 中參照的所有 GID 都必須在 /etc/group 中定義 low pass
6.2.4 確認影子群組為空白 pass
6.2.5 確認系統中的所有帳戶都有不重複的使用者 ID pass
6.2.6 確認系統中的所有群組都有不重複的群組 ID pass
6.2.7 確保系統中的所有帳戶名稱皆不重複 pass
6.2.8 確保系統中的所有群組都有不重複的群組名稱 pass
6.2.9 確認根層級路徑不包含相對路徑或空目錄 不明 pass
6.2.9 確認根路徑不包含可供世界或群組寫入的目錄 pass
6.2.10 僅驗證根目錄是否具有 UID 0 pass
6.2.11 所有互動式使用者的主目錄都必須存在 pass
6.2.12 所有互動式使用者主目錄都必須由主要群組擁有 pass
6.2.12 所有互動式使用者主目錄都必須由主要使用者擁有 pass
6.2.13 所有互動式使用者主目錄的模式都必須為 0750 或權限較低的模式 pass
6.2.14 確認沒有 netrc 檔案 pass
6.2.15 確認沒有 .forward 檔案 pass
6.2.16 移除 Rsh 信任檔案 pass
6.2.17 使用者初始化檔案必須由主要群組擁有 pass
6.2.17 使用者初始化檔案必須由主要使用者擁有 pass
6.2.17 使用者初始化檔案不得執行可供全域寫入的程式 pass

不適用的建議

下表列出不適用於 Google Distributed Cloud 的建議。

# 建議 嚴重性 狀態
1.1.2.2 將 nodev 選項新增至 /tmp notapplicable
1.1.2.3 在 /tmp 中新增 noexec 選項 notapplicable
1.1.2.4 在 /tmp 中新增 nosuid 選項 notapplicable
1.1.3.2 在 /var 中新增 nodev 選項 notapplicable
1.1.3.3 在 /var 中新增 nosuid 選項 notapplicable
1.1.4.2 在 /var/tmp 中新增 noexec 選項 notapplicable
1.1.4.3 在 /var/tmp 中新增 nosuid 選項 notapplicable
1.1.4.4 將 nodev 選項新增至 /var/tmp notapplicable
1.1.5.2 在 /var/log 中新增 nodev 選項 notapplicable
1.1.5.3 在 /var/log 中新增 noexec 選項 notapplicable
1.1.5.4 在 /var/log 中新增 nosuid 選項 notapplicable
1.1.6.2 在 /var/log/audit 中新增 noexec 選項 notapplicable
1.1.6.3 將 nodev 選項新增至 /var/log/audit notapplicable
1.1.6.4 將 nosuid 選項新增至 /var/log/audit notapplicable
1.1.7.2 將 nodev 選項新增至 /home 不明 notapplicable
1.1.7.3 在 /home 中新增 nosuid 選項 notapplicable
1.10 設定 GNOME3 DConf 使用者設定檔 notapplicable
1.4.1 設定 UEFI 開機載入程式密碼 notapplicable
1.8.1 移除 GDM 檔案包群組 notapplicable
1.8.10 在 GDM 中停用 XDMCP notapplicable
1.8.4 啟用 GNOME3 螢幕保護程式,在閒置一段時間後鎖定螢幕 notapplicable
1.8.5 設定 GNOME3 螢幕保護程式在啟動時間過後鎖定裝置的延遲時間 notapplicable
1.8.6 停用 GNOME3 自動掛接開啟功能 notapplicable
1.8.6 停用 GNOME3 自動掛接功能 notapplicable
1.8.8 停用 GNOME3 自動掛接功能 low notapplicable
2.1.4.1 設定 ntpd 的伺服器限制 notapplicable
2.1.4.3 設定 ntpd 以 ntp 使用者身分執行 notapplicable
2.1.4.4 啟用 NTP 精靈 notapplicable
2.2.15 停用 Postfix 網路監聽 notapplicable
3.5.1.3 確認 ufw 已啟用 notapplicable
3.5.1.4 設定 UFW 迴路流量 notapplicable
3.5.1.6 確認所有開啟的通訊埠都有 ufw 防火牆規則 notapplicable
3.5.1.7 確保 ufw 預設拒絕防火牆政策 notapplicable
3.5.3.2.1 設定傳入封包的預設 iptables 政策 notapplicable
3.5.3.2.2 設定迴路流量 notapplicable
3.5.3.2.4 確認所有開啟的通訊埠都有 iptables 防火牆規則 notapplicable
3.5.3.3.1 設定傳入封包的預設 ip6tables 政策 notapplicable
3.5.3.3.4 確認所有開啟的通訊埠都有 ip6tables 防火牆規則 notapplicable

1.31

版本

本節適用於下列版本:

Google Distributed Cloud 版本 Ubuntu 版本 CIS Ubuntu 基準版本 CIS 層級
1.31 22.04 LTS 1.0.0 版 第 2 級伺服器

無法套用建議

下表列出 Google Distributed Cloud 偏離基準建議的建議事項。這些發現適用於叢集節點和管理員工作站。

# 建議 嚴重性 狀態
1.1.2.1 確保 /tmp 位於獨立分區 low 失敗
1.1.3.1 確認 /var 位於獨立分區 low 失敗
1.1.4.1 確認 /var/tmp 位於獨立分區 失敗
1.1.5.1 確認 /var/log 位於獨立分區 low 失敗
1.1.6.1 確認 /var/log/audit 位於獨立分區 low 失敗
1.1.7.1 確認 /home 位於獨立磁碟分割區 low 失敗
1.4.1 在 grub2 中設定系統啟動載入程式密碼 失敗
1.4.3 確保單一使用者模式需要驗證 失敗
2.3.6 解除安裝 rpcbind 套件 low 失敗
3.2.2 停用 IPv4 介面上 IP 轉送的 Kernel 參數 失敗
3.3.7 啟用核心參數,預設在所有 IPv4 介面上使用反向路徑篩選 失敗
3.3.7 啟用核心參數,在所有 IPv4 介面上使用反向路徑篩選 失敗
3.5.2.8 確保 nftables 預設拒絕防火牆政策 失敗
3.5.2.10 確保 nftables 規則是永久規則 失敗
4.2.3 確認記錄檔的權限 失敗
5.2.4 限制使用者的 SSH 存取權 不明 失敗
5.3.4 確保使用者重新驗證,才能提權 - sudo 失敗
5.5.1.2 設定密碼有效期限 失敗

已通過的建議

下表列出 Google Distributed Cloud 遵循基準建議的建議事項。

# 建議 嚴重性 狀態
1.1.1.1 停用 cramfs 掛載功能 low pass
1.1.1.2 停用 squashfs 掛載功能 low pass
1.1.1.3 停用 UDF 掛載功能 low pass
1.1.8.1 在 /dev/shm 中新增 nodev 選項 pass
1.1.8.2 在 /dev/shm 中新增 noexec 選項 pass
1.1.8.3 在 /dev/shm 中新增 nosuid 選項 pass
1.1.9 停用 Automounter pass
1.1.10 停用 USB 儲存裝置驅動程式的 Modprobe 載入功能 pass
1.4.2 驗證 /boot/grub/grub.cfg 權限 pass
1.5.1 啟用虛擬位址空間隨機配置 pass
1.5.2 不得安裝「prelink」套件 pass
1.5.3 停用 Apport 服務 不明 pass
1.5.4 為所有使用者停用核心傾印 pass
1.5.4 停用 SUID 程式的 Core Dump pass
1.6.1.1 確認已安裝 AppArmor pass
1.6.1.2 確認啟動載入程式設定已啟用 AppArmor pass
1.6.1.4 強制執行所有 AppArmor 設定檔 pass
1.7.1 修改系統每日訊息橫幅 pass
1.7.2 修改系統登入橫幅 pass
1.7.3 修改遠端連線的系統登入橫幅 pass
1.7.4 驗證每日訊息橫幅的群組擁有權 pass
1.7.4 驗證每日訊息橫幅擁有權 pass
1.7.4 驗證每日訊息橫幅的權限 pass
1.7.5 驗證系統登入橫幅的群組擁有權 pass
1.7.5 驗證系統登入橫幅的擁有權 pass
1.7.5 驗證系統登入橫幅上的權限 pass
1.7.6 驗證遠端連線的系統登入橫幅群組擁有權 pass
1.7.6 驗證遠端連線的系統登入橫幅擁有權 pass
1.7.6 確認遠端連線的系統登入橫幅權限 pass
2.1.1.1 安裝 systemd_timesyncd 服務 pass
2.1.3.2 啟用 systemd_timesyncd 服務 pass
2.2.1 移除 X Windows 套件群組 pass
2.2.2 停用 Avahi 伺服器軟體 pass
2.2.2 解除安裝 avahi 伺服器套件 pass
2.2.3 停用 CUPS 服務 不明 pass
2.2.3 解除安裝 CUPS 套件 不明 pass
2.2.4 解除安裝 DHCP 伺服器套件 pass
2.2.5 解除安裝 openldap-servers 套件 low pass
2.2.6 解除安裝 nfs-kernel-server 套件 low pass
2.2.7 解除安裝繫結套件 low pass
2.2.8 解除安裝 vsftpd 套件 pass
2.2.9 解除安裝 httpd 套件 不明 pass
2.2.9 解除安裝 nginx 套件 不明 pass
2.2.10 解除安裝 cyrus-imapd 套件 不明 pass
2.2.10 解除安裝 dovecot 套件 不明 pass
2.2.11 解除安裝 Samba 套件 不明 pass
2.2.12 解除安裝 squid 套件 不明 pass
2.2.13 解除安裝 net-snmp 套件 不明 pass
2.2.14 解除安裝 nis 套件 low pass
2.2.15 確認郵件傳輸代理程式未監聽任何非迴路位址 pass
2.2.16 解除安裝 rsync 套件 pass
2.3.2 解除安裝 rsh 套件 不明 pass
2.3.3 解除安裝 Talk 套件 pass
2.3.4 移除 Telnet 用戶端 low pass
2.3.5 確認未安裝 LDAP 用戶端 low pass
3.1.2 停用無線網路介面 pass
3.2.1 預設停用所有 IPv4 介面上傳送 ICMP 重新導向的 Kernel 參數 pass
3.2.1 在所有 IPv4 介面上停用核心參數,以傳送 ICMP 重新導向 pass
3.2.2 停用 IPv6 轉送的核心參數 pass
3.3.1 在所有 IPv4 介面上停用核心參數,以接受來源路由封包 pass
3.3.1 在所有 IPv6 介面上停用核心參數,以接受來源路由封包 pass
3.3.1 預設停用核心參數,以接受 IPv4 介面上的來源路由封包 pass
3.3.1 預設停用核心參數,以在 IPv6 介面上接受來源路由封包 pass
3.3.2 停用所有 IPv4 介面的 ICMP 重新導向接受功能 pass
3.3.2 停用所有 IPv6 介面的 ICMP 重新導向接受功能 pass
3.3.2 在 IPv4 介面上,停用預設接受 ICMP 重新導向的 Kernel 參數 pass
3.3.2 在 IPv6 介面上,預設停用接受 ICMP 重新導向的 Kernel 參數 pass
3.3.3 設定核心參數,預設接受安全重新導向 pass
3.3.3 在所有 IPv4 介面上停用核心參數,以接受安全 ICMP 重新導向 pass
3.3.4 在所有 IPv4 介面上啟用核心參數,記錄火星封包 不明 pass
3.3.4 根據預設,啟用核心參數,在所有 IPv4 介面上記錄火星封包 不明 pass
3.3.5 啟用核心參數,忽略 IPv4 介面上的 ICMP 廣播回應要求 pass
3.3.6 啟用核心參數,忽略 IPv4 介面上無效的 ICMP 錯誤回應 不明 pass
3.3.8 啟用核心參數,在網路介面上使用 TCP Syncookies pass
3.3.9 在所有 IPv6 介面上設定接受路由器廣告 pass
3.3.9 預設停用所有 IPv6 介面上的路由器通告 pass
3.4.1 停用 DCCP 支援 pass
3.4.2 停用 SCTP 支援 pass
3.4.3 停用 RDS 支援 low pass
3.4.4 停用 TIPC 支援 low pass
3.5.1.2 移除 iptables-persistent 套件 pass
3.5.2.1 安裝 nftables 套件 pass
3.5.2.4 確認 Nftables 有資料表 pass
3.5.2.5 確認 Nftables 是否有基本鏈 pass
3.5.2.9 確認已啟用 nftables 服務 pass
3.5.3.1.1 安裝 iptables 套件 pass
3.5.3.1.3 移除 ufw 套件 pass
4.1.1.1 確認已安裝稽核子系統 pass
4.1.1.2 啟用 auditd 服務 pass
4.1.1.4 延長稽核 Daemon 的稽核待處理事項限制 low pass
4.1.2.1 設定 auditd 記錄檔大小上限 pass
4.1.2.2 設定 auditd max_log_file_action,在達到記錄檔大小上限時執行動作 pass
4.1.2.3 設定磁碟空間不足時的 auditd admin_space_left 動作 pass
4.1.2.3 在磁碟空間不足時設定 auditd mail_acct 動作 pass
4.1.2.3 設定磁碟空間不足時的 auditd space_left 動作 pass
4.1.3.1 確保 auditd 會收集系統管理員動作 pass
4.1.3.2 在執行具備特殊權限的可執行檔時記錄事件 pass
4.1.3.3 記錄嘗試執行維護活動的次數 pass
4.1.3.4 記錄嘗試變更 localtime 檔案的行為 pass
4.1.3.4 記錄透過 adjtimex 變更時間的嘗試 pass
4.1.3.4 記錄透過 clock_settime 變更時間的嘗試 pass
4.1.3.4 記錄透過 settimeofday 變更時間的嘗試 pass
4.1.3.4 嘗試透過 stime 變更時間的記錄 pass
4.1.3.5 記錄會修改系統網路環境的事件 pass
4.1.3.6 確保 auditd 收集權限指令 (su) 的使用資訊 pass
4.1.3.6 確保 auditd 會收集權限指令 (sudo) 的使用資訊 pass
4.1.3.6 確保 auditd 收集有關使用權限指令 (sudoedit) 的資訊 pass
4.1.3.6 確保 auditd 收集使用權限指令 (umount) 的相關資訊 pass
4.1.3.6 確保 auditd 收集特權指令的使用資訊 - unix_chkpwd pass
4.1.3.7 記錄檔案存取嘗試失敗的次數 - creat pass
4.1.3.7 記錄檔案的存取嘗試失敗次數 - ftruncate pass
4.1.3.7 記錄檔案存取嘗試失敗的事件 - 開啟 pass
4.1.3.7 記錄檔案存取嘗試失敗的次數 - openat pass
4.1.3.7 記錄檔案存取嘗試失敗的次數 - 截斷 pass
4.1.3.8 記錄修改使用者/群組資訊的事件 - /etc/group pass
4.1.3.8 記錄修改使用者/群組資訊的事件 - /etc/gshadow pass
4.1.3.8 記錄修改使用者/群組資訊的事件 - /etc/passwd pass
4.1.3.8 記錄修改使用者/群組資訊的事件 - /etc/security/opasswd pass
4.1.3.8 記錄修改使用者/群組資訊的事件 - /etc/shadow pass
4.1.3.9 記錄會修改系統任意存取控制項的事件 - chmod pass
4.1.3.9 記錄會修改系統自主存取控制項的事件 - chown pass
4.1.3.9 記錄修改系統任意存取控制項的事件 - fchmod pass
4.1.3.9 記錄修改系統任意存取控制項的事件 - fchmodat pass
4.1.3.9 記錄會修改系統任意存取控制項的事件 - fchown pass
4.1.3.9 記錄會修改系統任意存取控制項的事件 - fchownat pass
4.1.3.9 記錄會修改系統任意存取控制項的事件 - fremovexattr pass
4.1.3.9 記錄修改系統任意存取控制項的事件 - fsetxattr pass
4.1.3.9 記錄會修改系統任意存取控制項的事件 - lchown pass
4.1.3.9 記錄修改系統任意存取控制項的事件 - lremovexattr pass
4.1.3.9 記錄修改系統任意存取控制項的事件 - lsetxattr pass
4.1.3.9 記錄會修改系統任意存取控制項的事件 - removexattr pass
4.1.3.9 記錄會修改系統任意存取控制項的事件 - setxattr pass
4.1.3.10 確認 auditd 是否收集匯出至媒體的相關資訊 (成功) pass
4.1.3.11 記錄嘗試變更程序和會話啟動資訊的行為 pass
4.1.3.12 記錄嘗試變更登入和登出事件的行為 - faillog pass
4.1.3.12 記錄嘗試變更登入和登出事件的行為 - lastlog pass
4.1.3.12 記錄嘗試變更登入和登出事件的行為 - tallylog pass
4.1.3.13 確保 auditd 會收集使用者刪除檔案的事件 - 重新命名 pass
4.1.3.13 確保 auditd 會收集使用者刪除檔案的事件 - renameat pass
4.1.3.13 確保 auditd 會收集使用者刪除檔案的事件 - 取消連結 pass
4.1.3.13 確保 auditd 會收集使用者刪除檔案的事件 - unlinkat pass
4.1.3.14 記錄會修改系統強制存取控制的事件 pass
4.1.3.15 記錄任何執行 chcon 的嘗試 pass
4.1.3.16 記錄任何執行 setfacl 的嘗試 pass
4.1.3.17 記錄任何執行 chacl 的嘗試 pass
4.1.3.18 確保 auditd 收集權限指令的使用資訊 - usermod pass
4.1.3.19 確保 auditd 收集核心模組載入 (init_module) 的相關資訊 pass
4.1.3.19 確保 auditd 會收集核心模組卸載資訊 - delete_module pass
4.1.3.19 確保 auditd 收集權限指令 (insmod) 的使用資訊 pass
4.1.3.19 確保 auditd 收集權限指令的使用資訊 - modprobe pass
4.1.3.19 確保 auditd 收集權限指令 (rmmod) 的使用資訊 pass
4.1.3.20 讓 auditd 設定不可變更 pass
4.1.4.1 系統稽核記錄的模式必須為 0640 或更嚴格 pass
4.1.4.2 系統稽核記錄必須由根目錄擁有 pass
4.1.4.3 系統稽核記錄必須由根目錄擁有的群組 pass
4.1.4.4 系統稽核記錄的模式必須為 0750 或更嚴格 pass
4.1.4.5 驗證 /etc/audit/auditd.conf 的權限 pass
4.1.4.5 驗證 /etc/audit/rules.d/*.rules 的權限 pass
4.1.4.6 稽核設定檔必須由根目錄擁有 pass
4.1.4.7 稽核設定檔必須由群組根目錄擁有 pass
4.1.4.8 確認稽核工具的模式為 0755 以下 pass
4.1.4.9 確認稽核工具是否由根目錄擁有 pass
4.1.4.10 確認稽核工具是否由群組根目錄擁有 pass
4.2.1.1.1 安裝 systemd-journal-remote 套件 pass
4.2.1.1.4 停用 systemd-journal-remote Socket pass
4.2.1.2 啟用 systemd-journald 服務 pass
4.2.1.3 確認 journald 已設定為壓縮大型記錄檔 pass
4.2.1.4 確認 journald 已設定為將記錄檔寫入永久磁碟 pass
4.2.2.1 確認已安裝 rsyslog pass
4.2.2.2 啟用 rsyslog 服務 pass
4.2.2.4 確認已設定 rsyslog 預設檔案權限 pass
4.2.2.7 除非做為記錄伺服器,否則請確保 rsyslog 不接受遠端訊息 pass
5.1.1 啟用 Cron 服務 pass
5.1.2 驗證擁有 Crontab 的群組 pass
5.1.2 在 crontab 上驗證擁有者 pass
5.1.2 驗證 crontab 的權限 pass
5.1.3 驗證擁有 cron.hourly 的群組 pass
5.1.3 在 cron.hourly 上驗證擁有者 pass
5.1.3 確認 cron.hourly 的權限 pass
5.1.4 驗證 cron.daily 的擁有者群組 pass
5.1.4 在 cron.daily 上驗證擁有者 pass
5.1.4 驗證 cron.daily 的權限 pass
5.1.5 驗證擁有 cron.weekly 的群組 pass
5.1.5 在 cron.weekly 驗證擁有權 pass
5.1.5 驗證 cron.weekly 的權限 pass
5.1.6 驗證擁有 cron.monthly 的群組 pass
5.1.6 在 cron.monthly 驗證擁有者 pass
5.1.6 確認 cron.monthly 的權限 pass
5.1.7 驗證擁有 cron.d 的群組 pass
5.1.7 驗證 cron.d 的擁有者 pass
5.1.7 驗證 cron.d 的權限 pass
5.1.8 確認 /etc/cron.deny 不存在 pass
5.1.8 驗證擁有 /etc/cron.allow 檔案的群組 pass
5.1.8 驗證 /etc/cron.allow 檔案的權限 pass
5.1.8 驗證擁有 /etc/cron.allow 檔案的使用者 pass
5.1.9 確認 /etc/at.deny 不存在 pass
5.1.9 驗證擁有 /etc/at.allow 檔案的群組 pass
5.1.9 驗證 /etc/at.allow 檔案的權限 pass
5.1.9 驗證擁有 /etc/at.allow 檔案的使用者 pass
5.2.1 驗證擁有 SSH 伺服器設定檔的群組 pass
5.2.1 確認 SSH 伺服器設定檔的擁有者 pass
5.2.1 驗證 SSH 伺服器設定檔的權限 pass
5.2.2 驗證安全殼層伺服器私密 *_key 金鑰檔案的權限 pass
5.2.3 驗證 SSH 伺服器公開 *.pub 金鑰檔案的權限 pass
5.2.5 將 LogLevel 設為 INFO low pass
5.2.6 啟用 PAM pass
5.2.7 停用 SSH 根登入 pass
5.2.8 停用主機驗證 pass
5.2.9 停用透過空白密碼進行的 SSH 存取 pass
5.2.10 不允許使用 SSH 環境選項 pass
5.2.11 停用 .rhosts 檔案的 SSH 支援功能 pass
5.2.12 停用 X11 轉送 pass
5.2.13 僅使用高強度密碼 pass
5.2.14 只使用強 MAC pass
5.2.15 僅使用高強度金鑰交換演算法 pass
5.2.16 停用 SSH TCP 轉送 pass
5.2.17 啟用 SSH 警告橫幅 pass
5.2.18 設定 SSH 驗證嘗試次數上限 pass
5.2.19 確認已設定 SSH MaxStartups pass
5.2.20 設定 SSH MaxSessions 限制 pass
5.2.21 確認已設定 SSH LoginGraceTime pass
5.2.22 設定 SSH Client Alive Count Max pass
5.2.22 設定安全殼層用戶端存留間隔 pass
5.3.1 安裝 sudo 套件 pass
5.3.2 確保只有登入實際 tty 的使用者可以執行 Sudo - sudo use_pty pass
5.3.3 確認 Sudo Logfile 存在 - sudo logfile low pass
5.3.5 確保使用者重新驗證以提權 - sudo !authenticate pass
5.3.6 使用 sudo 指令時要求重新驗證 pass
5.3.7 強制使用 pam_wheel 和群組參數進行 su 驗證 pass
5.3.7 確認系統上存在 pam_wheel 模組使用的群組,且該群組為空 pass
5.4.1 確保 PAM 強制執行密碼規定 - 允許每個工作階段的驗證重試提示 pass
5.4.1 確保 PAM 強制執行密碼規定 - 最少不同類別 pass
5.4.1 確保 PAM 會強制執行密碼規定 - 最少要有幾位數字 pass
5.4.1 確保 PAM 會強制執行密碼規定 - 長度下限 pass
5.4.1 確保 PAM 強制執行密碼規定 - 小寫字元下限 pass
5.4.1 確保 PAM 會強制執行密碼規定 - 特殊字元下限 pass
5.4.1 確保 PAM 會強制執行密碼規定 - 大寫字元下限 pass
5.4.1 安裝 pam_pwquality 套件 pass
5.4.2 密碼輸入錯誤次數達到指定值時鎖定帳戶 pass
5.4.2 設定計算密碼輸入錯誤次數的時間間隔 pass
5.4.2 設定密碼輸入錯誤次數的鎖定時間 pass
5.4.3 限制重複使用密碼 pass
5.4.4 在 /etc/login.defs 中設定密碼雜湊演算法 pass
5.5.1.1 設定現有密碼的最低使用時間 pass
5.5.1.1 設定密碼最短使用時間 pass
5.5.1.2 設定現有密碼的有效期限 pass
5.5.1.3 設定密碼警告期限 pass
5.5.1.4 設定帳戶在閒置一段時間後到期 pass
5.5.1.5 確認所有使用者上次變更密碼的日期都在過去 pass
5.5.2 確保系統帳戶不會在登入時執行 Shell pass
5.5.3 確認根目錄具有主要 GID 0 pass
5.5.4 確認預設 Bash Umask 設定正確無誤 pass
5.5.4 確保互動式使用者的預設 Umask 設定正確無誤 pass
5.5.4 確認 /etc/profile 中的預設 Umask 設定正確無誤 pass
5.5.4 確認 login.defs 中的預設 Umask 設定正確無誤 pass
5.5.5 設定互動工作階段逾時 pass
6.1.1 驗證擁有 passwd 檔案的群組 pass
6.1.1 驗證 passwd 檔案的權限 pass
6.1.1 驗證擁有 passwd 檔案的使用者 pass
6.1.2 驗證擁有備份 passwd 檔案的群組 pass
6.1.2 驗證備份 passwd 檔案的權限 pass
6.1.2 驗證備份 passwd 檔案的擁有者 pass
6.1.3 確認擁有群組檔案的群組 pass
6.1.3 確認群組檔案的權限 pass
6.1.3 驗證群組檔案擁有者 pass
6.1.4 確認備份群組檔案的擁有者群組 pass
6.1.4 確認備份群組檔案的權限 pass
6.1.4 驗證備份群組檔案的擁有者 pass
6.1.5 驗證擁有陰影檔案的群組 pass
6.1.5 驗證影子檔案的權限 pass
6.1.5 驗證擁有陰影檔案的使用者 pass
6.1.6 確認擁有備份陰影檔案的群組 pass
6.1.6 驗證備份陰影檔案的權限 pass
6.1.6 驗證備份陰影檔案的擁有者 pass
6.1.7 驗證擁有 gshadow 檔案的群組 pass
6.1.7 驗證 gshadow 檔案的權限 pass
6.1.7 驗證擁有 gshadow 檔案的使用者 pass
6.1.8 驗證擁有備份 gshadow 檔案的群組 pass
6.1.8 驗證備份 gshadow 檔案的權限 pass
6.1.8 驗證備份 gshadow 檔案的擁有者 pass
6.1.10 確保所有檔案都由使用者擁有 pass
6.2.1 確認所有帳戶密碼雜湊都已遮蔽 pass
6.2.2 確認沒有帳戶的密碼為空白或空值 pass
6.2.3 /etc/passwd 中參照的所有 GID 都必須在 /etc/group 中定義 low pass
6.2.4 確認影子群組為空白 pass
6.2.5 確認系統中的所有帳戶都有不重複的使用者 ID pass
6.2.6 確認系統中的所有群組都有不重複的群組 ID pass
6.2.7 確保系統中的所有帳戶名稱皆不重複 pass
6.2.8 確保系統中的所有群組都有不重複的群組名稱 pass
6.2.9 確認根層級路徑不包含相對路徑或空目錄 不明 pass
6.2.9 確認根路徑不包含可供世界或群組寫入的目錄 pass
6.2.10 僅驗證根目錄是否具有 UID 0 pass
6.2.11 所有互動式使用者的主目錄都必須存在 pass
6.2.12 所有互動式使用者主目錄都必須由主要群組擁有 pass
6.2.12 所有互動式使用者主目錄都必須由主要使用者擁有 pass
6.2.13 所有互動式使用者主目錄的模式都必須為 0750 或權限較低的模式 pass
6.2.14 確認沒有 netrc 檔案 pass
6.2.15 確認沒有 .forward 檔案 pass
6.2.16 移除 Rsh 信任檔案 pass
6.2.17 使用者初始化檔案必須由主要群組擁有 pass
6.2.17 使用者初始化檔案必須由主要使用者擁有 pass
6.2.17 使用者初始化檔案不得執行可供全域寫入的程式 pass

不適用的建議

下表列出不適用於 Google Distributed Cloud 的建議。

# 建議 嚴重性 狀態
1.1.2.2 將 nodev 選項新增至 /tmp notapplicable
1.1.2.3 在 /tmp 中新增 noexec 選項 notapplicable
1.1.2.4 在 /tmp 中新增 nosuid 選項 notapplicable
1.1.3.2 在 /var 中新增 nodev 選項 notapplicable
1.1.3.3 在 /var 中新增 nosuid 選項 notapplicable
1.1.4.2 在 /var/tmp 中新增 noexec 選項 notapplicable
1.1.4.3 在 /var/tmp 中新增 nosuid 選項 notapplicable
1.1.4.4 將 nodev 選項新增至 /var/tmp notapplicable
1.1.5.2 在 /var/log 中新增 nodev 選項 notapplicable
1.1.5.3 在 /var/log 中新增 noexec 選項 notapplicable
1.1.5.4 在 /var/log 中新增 nosuid 選項 notapplicable
1.1.6.2 在 /var/log/audit 中新增 noexec 選項 notapplicable
1.1.6.3 將 nodev 選項新增至 /var/log/audit notapplicable
1.1.6.4 將 nosuid 選項新增至 /var/log/audit notapplicable
1.1.7.2 將 nodev 選項新增至 /home 不明 notapplicable
1.1.7.3 在 /home 中新增 nosuid 選項 notapplicable
1.4.1 設定 UEFI 開機載入程式密碼 notapplicable
1.8.1 移除 GDM 檔案包群組 notapplicable
1.8.4 啟用 GNOME3 螢幕保護程式,在閒置一段時間後鎖定螢幕 notapplicable
1.8.5 設定 GNOME3 螢幕保護程式在啟動時間過後鎖定裝置的延遲時間 notapplicable
1.8.6 停用 GNOME3 自動掛接開啟功能 notapplicable
1.8.6 停用 GNOME3 自動掛接功能 notapplicable
1.8.8 停用 GNOME3 自動掛接功能 low notapplicable
1.8.10 在 GDM 中停用 XDMCP notapplicable
1.10 設定 GNOME3 DConf 使用者設定檔 notapplicable
2.1.4.1 設定 ntpd 的伺服器限制 notapplicable
2.1.4.3 設定 ntpd 以 ntp 使用者身分執行 notapplicable
2.1.4.4 啟用 NTP 精靈 notapplicable
2.2.15 停用 Postfix 網路監聽 notapplicable
3.5.1.3 確認 ufw 已啟用 notapplicable
3.5.1.4 設定 UFW 迴路流量 notapplicable
3.5.1.6 確認所有開啟的通訊埠都有 ufw 防火牆規則 notapplicable
3.5.1.7 確保 ufw 預設拒絕防火牆政策 notapplicable
3.5.3.2.1 設定傳入封包的預設 iptables 政策 notapplicable
3.5.3.2.2 設定迴路流量 notapplicable
3.5.3.2.4 確認所有開啟的通訊埠都有 iptables 防火牆規則 notapplicable
3.5.3.3.1 設定傳入封包的預設 ip6tables 政策 notapplicable
3.5.3.3.4 確認所有開啟的通訊埠都有 ip6tables 防火牆規則 notapplicable

1.30

版本

本節適用於下列版本:

Google Distributed Cloud 版本 Ubuntu 版本 CIS Ubuntu 基準版本 CIS 層級
1.30 22.04 LTS 1.0.0 版 第 2 級伺服器

無法套用建議

下表列出 Google Distributed Cloud 偏離基準建議的建議事項。這些發現適用於叢集節點和管理員工作站。

# 建議 嚴重性 狀態
1.1.2.1 確保 /tmp 位於獨立分區 low 失敗
1.1.3.1 確認 /var 位於獨立分區 low 失敗
1.1.4.1 確認 /var/tmp 位於獨立分區 失敗
1.1.5.1 確認 /var/log 位於獨立分區 low 失敗
1.1.6.1 確認 /var/log/audit 位於獨立分區 low 失敗
1.1.7.1 確認 /home 位於獨立磁碟分割區 low 失敗
1.4.1 在 grub2 中設定系統啟動載入程式密碼 失敗
1.4.3 確保單一使用者模式需要驗證 失敗
2.3.6 解除安裝 rpcbind 套件 low 失敗
3.2.2 停用 IPv4 介面上 IP 轉送的 Kernel 參數 失敗
3.3.7 啟用核心參數,預設在所有 IPv4 介面上使用反向路徑篩選 失敗
3.3.7 啟用核心參數,在所有 IPv4 介面上使用反向路徑篩選 失敗
3.5.2.8 確保 nftables 預設拒絕防火牆政策 失敗
3.5.2.10 確保 nftables 規則是永久規則 失敗
4.2.3 確認記錄檔的權限 失敗
5.2.4 限制使用者的 SSH 存取權 不明 失敗
5.3.4 確保使用者重新驗證,才能提權 - sudo 失敗
5.5.1.2 設定密碼有效期限 失敗

已通過的建議

下表列出 Google Distributed Cloud 遵循基準建議的建議事項。

# 建議 嚴重性 狀態
1.1.1.1 停用 cramfs 掛載功能 low pass
1.1.1.2 停用 squashfs 掛載功能 low pass
1.1.1.3 停用 UDF 掛載功能 low pass
1.1.8.1 在 /dev/shm 中新增 nodev 選項 pass
1.1.8.2 在 /dev/shm 中新增 noexec 選項 pass
1.1.8.3 在 /dev/shm 中新增 nosuid 選項 pass
1.1.9 停用 Automounter pass
1.1.10 停用 USB 儲存裝置驅動程式的 Modprobe 載入功能 pass
1.4.2 驗證 /boot/grub/grub.cfg 權限 pass
1.5.1 啟用虛擬位址空間隨機配置 pass
1.5.2 不得安裝「prelink」套件 pass
1.5.3 停用 Apport 服務 不明 pass
1.5.4 為所有使用者停用核心傾印 pass
1.5.4 停用 SUID 程式的 Core Dump pass
1.6.1.1 確認已安裝 AppArmor pass
1.6.1.2 確認啟動載入程式設定已啟用 AppArmor pass
1.6.1.4 強制執行所有 AppArmor 設定檔 pass
1.7.1 修改系統每日訊息橫幅 pass
1.7.2 修改系統登入橫幅 pass
1.7.3 修改遠端連線的系統登入橫幅 pass
1.7.4 驗證每日訊息橫幅的群組擁有權 pass
1.7.4 驗證每日訊息橫幅擁有權 pass
1.7.4 驗證每日訊息橫幅的權限 pass
1.7.5 驗證系統登入橫幅的群組擁有權 pass
1.7.5 驗證系統登入橫幅的擁有權 pass
1.7.5 驗證系統登入橫幅上的權限 pass
1.7.6 驗證遠端連線的系統登入橫幅群組擁有權 pass
1.7.6 驗證遠端連線的系統登入橫幅擁有權 pass
1.7.6 確認遠端連線的系統登入橫幅權限 pass
2.1.1.1 安裝 systemd_timesyncd 服務 pass
2.1.3.2 啟用 systemd_timesyncd 服務 pass
2.2.1 移除 X Windows 套件群組 pass
2.2.2 停用 Avahi 伺服器軟體 pass
2.2.2 解除安裝 avahi 伺服器套件 pass
2.2.3 停用 CUPS 服務 不明 pass
2.2.3 解除安裝 CUPS 套件 不明 pass
2.2.4 解除安裝 DHCP 伺服器套件 pass
2.2.5 解除安裝 openldap-servers 套件 low pass
2.2.6 解除安裝 nfs-kernel-server 套件 low pass
2.2.7 解除安裝繫結套件 low pass
2.2.8 解除安裝 vsftpd 套件 pass
2.2.9 解除安裝 httpd 套件 不明 pass
2.2.9 解除安裝 nginx 套件 不明 pass
2.2.10 解除安裝 cyrus-imapd 套件 不明 pass
2.2.10 解除安裝 dovecot 套件 不明 pass
2.2.11 解除安裝 Samba 套件 不明 pass
2.2.12 解除安裝 squid 套件 不明 pass
2.2.13 解除安裝 net-snmp 套件 不明 pass
2.2.14 解除安裝 nis 套件 low pass
2.2.15 確認郵件傳輸代理程式未監聽任何非迴路位址 pass
2.2.16 解除安裝 rsync 套件 pass
2.3.2 解除安裝 rsh 套件 不明 pass
2.3.3 解除安裝 Talk 套件 pass
2.3.4 移除 Telnet 用戶端 low pass
2.3.5 確認未安裝 LDAP 用戶端 low pass
3.1.2 停用無線網路介面 pass
3.2.1 預設停用所有 IPv4 介面上傳送 ICMP 重新導向的 Kernel 參數 pass
3.2.1 在所有 IPv4 介面上停用核心參數,以傳送 ICMP 重新導向 pass
3.2.2 停用 IPv6 轉送的核心參數 pass
3.3.1 在所有 IPv4 介面上停用核心參數,以接受來源路由封包 pass
3.3.1 在所有 IPv6 介面上停用核心參數,以接受來源路由封包 pass
3.3.1 預設停用核心參數,以接受 IPv4 介面上的來源路由封包 pass
3.3.1 預設停用核心參數,以在 IPv6 介面上接受來源路由封包 pass
3.3.2 停用所有 IPv4 介面的 ICMP 重新導向接受功能 pass
3.3.2 停用所有 IPv6 介面的 ICMP 重新導向接受功能 pass
3.3.2 在 IPv4 介面上,停用預設接受 ICMP 重新導向的 Kernel 參數 pass
3.3.2 在 IPv6 介面上,預設停用接受 ICMP 重新導向的 Kernel 參數 pass
3.3.3 設定核心參數,預設接受安全重新導向 pass
3.3.3 在所有 IPv4 介面上停用核心參數,以接受安全 ICMP 重新導向 pass
3.3.4 在所有 IPv4 介面上啟用核心參數,記錄火星封包 不明 pass
3.3.4 根據預設,啟用核心參數,在所有 IPv4 介面上記錄火星封包 不明 pass
3.3.5 啟用核心參數,忽略 IPv4 介面上的 ICMP 廣播回應要求 pass
3.3.6 啟用核心參數,忽略 IPv4 介面上無效的 ICMP 錯誤回應 不明 pass
3.3.8 啟用核心參數,在網路介面上使用 TCP Syncookies pass
3.3.9 在所有 IPv6 介面上設定接受路由器廣告 pass
3.3.9 預設停用所有 IPv6 介面上的路由器通告 pass
3.4.1 停用 DCCP 支援 pass
3.4.2 停用 SCTP 支援 pass
3.4.3 停用 RDS 支援 low pass
3.4.4 停用 TIPC 支援 low pass
3.5.1.2 移除 iptables-persistent 套件 pass
3.5.2.1 安裝 nftables 套件 pass
3.5.2.4 確認 Nftables 有資料表 pass
3.5.2.5 確認 Nftables 是否有基本鏈 pass
3.5.2.9 確認已啟用 nftables 服務 pass
3.5.3.1.1 安裝 iptables 套件 pass
3.5.3.1.3 移除 ufw 套件 pass
4.1.1.1 確認已安裝稽核子系統 pass
4.1.1.2 啟用 auditd 服務 pass
4.1.1.4 延長稽核 Daemon 的稽核待處理事項限制 low pass
4.1.2.1 設定 auditd 記錄檔大小上限 pass
4.1.2.2 設定 auditd max_log_file_action,在達到記錄檔大小上限時執行動作 pass
4.1.2.3 設定磁碟空間不足時的 auditd admin_space_left 動作 pass
4.1.2.3 在磁碟空間不足時設定 auditd mail_acct 動作 pass
4.1.2.3 設定磁碟空間不足時的 auditd space_left 動作 pass
4.1.3.1 確保 auditd 會收集系統管理員動作 pass
4.1.3.2 在執行具備特殊權限的可執行檔時記錄事件 pass
4.1.3.3 記錄嘗試執行維護活動的次數 pass
4.1.3.4 記錄嘗試變更 localtime 檔案的行為 pass
4.1.3.4 記錄透過 adjtimex 變更時間的嘗試 pass
4.1.3.4 記錄透過 clock_settime 變更時間的嘗試 pass
4.1.3.4 記錄透過 settimeofday 變更時間的嘗試 pass
4.1.3.4 嘗試透過 stime 變更時間的記錄 pass
4.1.3.5 記錄會修改系統網路環境的事件 pass
4.1.3.6 確保 auditd 收集權限指令 (su) 的使用資訊 pass
4.1.3.6 確保 auditd 會收集權限指令 (sudo) 的使用資訊 pass
4.1.3.6 確保 auditd 收集有關使用權限指令 (sudoedit) 的資訊 pass
4.1.3.6 確保 auditd 收集使用權限指令 (umount) 的相關資訊 pass
4.1.3.6 確保 auditd 收集特權指令的使用資訊 - unix_chkpwd pass
4.1.3.7 記錄檔案存取嘗試失敗的次數 - creat pass
4.1.3.7 記錄檔案的存取嘗試失敗次數 - ftruncate pass
4.1.3.7 記錄檔案存取嘗試失敗的事件 - 開啟 pass
4.1.3.7 記錄檔案存取嘗試失敗的次數 - openat pass
4.1.3.7 記錄檔案存取嘗試失敗的次數 - 截斷 pass
4.1.3.8 記錄修改使用者/群組資訊的事件 - /etc/group pass
4.1.3.8 記錄修改使用者/群組資訊的事件 - /etc/gshadow pass
4.1.3.8 記錄修改使用者/群組資訊的事件 - /etc/passwd pass
4.1.3.8 記錄修改使用者/群組資訊的事件 - /etc/security/opasswd pass
4.1.3.8 記錄修改使用者/群組資訊的事件 - /etc/shadow pass
4.1.3.9 記錄會修改系統任意存取控制項的事件 - chmod pass
4.1.3.9 記錄會修改系統自主存取控制項的事件 - chown pass
4.1.3.9 記錄修改系統任意存取控制項的事件 - fchmod pass
4.1.3.9 記錄修改系統任意存取控制項的事件 - fchmodat pass
4.1.3.9 記錄會修改系統任意存取控制項的事件 - fchown pass
4.1.3.9 記錄會修改系統任意存取控制項的事件 - fchownat pass
4.1.3.9 記錄會修改系統任意存取控制項的事件 - fremovexattr pass
4.1.3.9 記錄修改系統任意存取控制項的事件 - fsetxattr pass
4.1.3.9 記錄會修改系統任意存取控制項的事件 - lchown pass
4.1.3.9 記錄修改系統任意存取控制項的事件 - lremovexattr pass
4.1.3.9 記錄修改系統任意存取控制項的事件 - lsetxattr pass
4.1.3.9 記錄會修改系統任意存取控制項的事件 - removexattr pass
4.1.3.9 記錄會修改系統任意存取控制項的事件 - setxattr pass
4.1.3.10 確認 auditd 是否收集匯出至媒體的相關資訊 (成功) pass
4.1.3.11 記錄嘗試變更程序和會話啟動資訊的行為 pass
4.1.3.12 記錄嘗試變更登入和登出事件的行為 - faillog pass
4.1.3.12 記錄嘗試變更登入和登出事件的行為 - lastlog pass
4.1.3.12 記錄嘗試變更登入和登出事件的行為 - tallylog pass
4.1.3.13 確保 auditd 會收集使用者刪除檔案的事件 - 重新命名 pass
4.1.3.13 確保 auditd 會收集使用者刪除檔案的事件 - renameat pass
4.1.3.13 確保 auditd 會收集使用者刪除檔案的事件 - 取消連結 pass
4.1.3.13 確保 auditd 會收集使用者刪除檔案的事件 - unlinkat pass
4.1.3.14 記錄會修改系統強制存取控制的事件 pass
4.1.3.15 記錄任何執行 chcon 的嘗試 pass
4.1.3.16 記錄任何執行 setfacl 的嘗試 pass
4.1.3.17 記錄任何執行 chacl 的嘗試 pass
4.1.3.18 確保 auditd 收集權限指令的使用資訊 - usermod pass
4.1.3.19 確保 auditd 收集核心模組載入 (init_module) 的相關資訊 pass
4.1.3.19 確保 auditd 會收集核心模組卸載資訊 - delete_module pass
4.1.3.19 確保 auditd 收集權限指令 (insmod) 的使用資訊 pass
4.1.3.19 確保 auditd 收集權限指令的使用資訊 - modprobe pass
4.1.3.19 確保 auditd 收集權限指令 (rmmod) 的使用資訊 pass
4.1.3.20 讓 auditd 設定不可變更 pass
4.1.4.1 系統稽核記錄的模式必須為 0640 或更嚴格 pass
4.1.4.2 系統稽核記錄必須由根目錄擁有 pass
4.1.4.3 系統稽核記錄必須由根目錄擁有的群組 pass
4.1.4.4 系統稽核記錄的模式必須為 0750 或更嚴格 pass
4.1.4.5 驗證 /etc/audit/auditd.conf 的權限 pass
4.1.4.5 驗證 /etc/audit/rules.d/*.rules 的權限 pass
4.1.4.6 稽核設定檔必須由根目錄擁有 pass
4.1.4.7 稽核設定檔必須由群組根目錄擁有 pass
4.1.4.8 確認稽核工具的模式為 0755 以下 pass
4.1.4.9 確認稽核工具是否由根目錄擁有 pass
4.1.4.10 確認稽核工具是否由群組根目錄擁有 pass
4.2.1.1.1 安裝 systemd-journal-remote 套件 pass
4.2.1.1.4 停用 systemd-journal-remote Socket pass
4.2.1.2 啟用 systemd-journald 服務 pass
4.2.1.3 確認 journald 已設定為壓縮大型記錄檔 pass
4.2.1.4 確認 journald 已設定為將記錄檔寫入永久磁碟 pass
4.2.2.1 確認已安裝 rsyslog pass
4.2.2.2 啟用 rsyslog 服務 pass
4.2.2.4 確認已設定 rsyslog 預設檔案權限 pass
4.2.2.7 除非做為記錄伺服器,否則請確保 rsyslog 不接受遠端訊息 pass
5.1.1 啟用 Cron 服務 pass
5.1.2 驗證擁有 Crontab 的群組 pass
5.1.2 在 crontab 上驗證擁有者 pass
5.1.2 驗證 crontab 的權限 pass
5.1.3 驗證擁有 cron.hourly 的群組 pass
5.1.3 在 cron.hourly 上驗證擁有者 pass
5.1.3 確認 cron.hourly 的權限 pass
5.1.4 驗證 cron.daily 的擁有者群組 pass
5.1.4 在 cron.daily 上驗證擁有者 pass
5.1.4 驗證 cron.daily 的權限 pass
5.1.5 驗證擁有 cron.weekly 的群組 pass
5.1.5 在 cron.weekly 驗證擁有權 pass
5.1.5 驗證 cron.weekly 的權限 pass
5.1.6 驗證擁有 cron.monthly 的群組 pass
5.1.6 在 cron.monthly 驗證擁有者 pass
5.1.6 確認 cron.monthly 的權限 pass
5.1.7 驗證擁有 cron.d 的群組 pass
5.1.7 驗證 cron.d 的擁有者 pass
5.1.7 驗證 cron.d 的權限 pass
5.1.8 確認 /etc/cron.deny 不存在 pass
5.1.8 驗證擁有 /etc/cron.allow 檔案的群組 pass
5.1.8 驗證 /etc/cron.allow 檔案的權限 pass
5.1.8 驗證擁有 /etc/cron.allow 檔案的使用者 pass
5.1.9 確認 /etc/at.deny 不存在 pass
5.1.9 驗證擁有 /etc/at.allow 檔案的群組 pass
5.1.9 驗證 /etc/at.allow 檔案的權限 pass
5.1.9 驗證擁有 /etc/at.allow 檔案的使用者 pass
5.2.1 驗證擁有 SSH 伺服器設定檔的群組 pass
5.2.1 確認 SSH 伺服器設定檔的擁有者 pass
5.2.1 驗證 SSH 伺服器設定檔的權限 pass
5.2.2 驗證安全殼層伺服器私密 *_key 金鑰檔案的權限 pass
5.2.3 驗證 SSH 伺服器公開 *.pub 金鑰檔案的權限 pass
5.2.5 將 LogLevel 設為 INFO low pass
5.2.6 啟用 PAM pass
5.2.7 停用 SSH 根登入 pass
5.2.8 停用主機驗證 pass
5.2.9 停用透過空白密碼進行的 SSH 存取 pass
5.2.10 不允許使用 SSH 環境選項 pass
5.2.11 停用 .rhosts 檔案的 SSH 支援功能 pass
5.2.12 停用 X11 轉送 pass
5.2.13 僅使用高強度密碼 pass
5.2.14 只使用強 MAC pass
5.2.15 僅使用高強度金鑰交換演算法 pass
5.2.16 停用 SSH TCP 轉送 pass
5.2.17 啟用 SSH 警告橫幅 pass
5.2.18 設定 SSH 驗證嘗試次數上限 pass
5.2.19 確認已設定 SSH MaxStartups pass
5.2.20 設定 SSH MaxSessions 限制 pass
5.2.21 確認已設定 SSH LoginGraceTime pass
5.2.22 設定 SSH Client Alive Count Max pass
5.2.22 設定安全殼層用戶端存留間隔 pass
5.3.1 安裝 sudo 套件 pass
5.3.2 確保只有登入實際 tty 的使用者可以執行 Sudo - sudo use_pty pass
5.3.3 確認 Sudo Logfile 存在 - sudo logfile low pass
5.3.5 確保使用者重新驗證以提權 - sudo !authenticate pass
5.3.6 使用 sudo 指令時要求重新驗證 pass
5.3.7 強制使用 pam_wheel 和群組參數進行 su 驗證 pass
5.3.7 確認系統上存在 pam_wheel 模組使用的群組,且該群組為空 pass
5.4.1 確保 PAM 強制執行密碼規定 - 允許每個工作階段的驗證重試提示 pass
5.4.1 確保 PAM 強制執行密碼規定 - 最少不同類別 pass
5.4.1 確保 PAM 會強制執行密碼規定 - 最少要有幾位數字 pass
5.4.1 確保 PAM 會強制執行密碼規定 - 長度下限 pass
5.4.1 確保 PAM 強制執行密碼規定 - 小寫字元下限 pass
5.4.1 確保 PAM 會強制執行密碼規定 - 特殊字元下限 pass
5.4.1 確保 PAM 會強制執行密碼規定 - 大寫字元下限 pass
5.4.1 安裝 pam_pwquality 套件 pass
5.4.2 密碼輸入錯誤次數達到指定值時鎖定帳戶 pass
5.4.2 設定計算密碼輸入錯誤次數的時間間隔 pass
5.4.2 設定密碼輸入錯誤次數的鎖定時間 pass
5.4.3 限制重複使用密碼 pass
5.4.4 在 /etc/login.defs 中設定密碼雜湊演算法 pass
5.5.1.1 設定現有密碼的最低使用時間 pass
5.5.1.1 設定密碼最短使用時間 pass
5.5.1.2 設定現有密碼的有效期限 pass
5.5.1.3 設定密碼警告期限 pass
5.5.1.4 設定帳戶在閒置一段時間後到期 pass
5.5.1.5 確認所有使用者上次變更密碼的日期都在過去 pass
5.5.2 確保系統帳戶不會在登入時執行 Shell pass
5.5.3 確認根目錄具有主要 GID 0 pass
5.5.4 確認預設 Bash Umask 設定正確無誤 pass
5.5.4 確保互動式使用者的預設 Umask 設定正確無誤 pass
5.5.4 確認 /etc/profile 中的預設 Umask 設定正確無誤 pass
5.5.4 確認 login.defs 中的預設 Umask 設定正確無誤 pass
5.5.5 設定互動工作階段逾時 pass
6.1.1 驗證擁有 passwd 檔案的群組 pass
6.1.1 驗證 passwd 檔案的權限 pass
6.1.1 驗證擁有 passwd 檔案的使用者 pass
6.1.2 驗證擁有備份 passwd 檔案的群組 pass
6.1.2 驗證備份 passwd 檔案的權限 pass
6.1.2 驗證備份 passwd 檔案的擁有者 pass
6.1.3 確認擁有群組檔案的群組 pass
6.1.3 確認群組檔案的權限 pass
6.1.3 驗證群組檔案擁有者 pass
6.1.4 確認備份群組檔案的擁有者群組 pass
6.1.4 確認備份群組檔案的權限 pass
6.1.4 驗證備份群組檔案的擁有者 pass
6.1.5 驗證擁有陰影檔案的群組 pass
6.1.5 驗證影子檔案的權限 pass
6.1.5 驗證擁有陰影檔案的使用者 pass
6.1.6 確認擁有備份陰影檔案的群組 pass
6.1.6 驗證備份陰影檔案的權限 pass
6.1.6 驗證備份陰影檔案的擁有者 pass
6.1.7 驗證擁有 gshadow 檔案的群組 pass
6.1.7 驗證 gshadow 檔案的權限 pass
6.1.7 驗證擁有 gshadow 檔案的使用者 pass
6.1.8 驗證擁有備份 gshadow 檔案的群組 pass
6.1.8 驗證備份 gshadow 檔案的權限 pass
6.1.8 驗證備份 gshadow 檔案的擁有者 pass
6.1.10 確保所有檔案都由使用者擁有 pass
6.2.1 確認所有帳戶密碼雜湊都已遮蔽 pass
6.2.2 確認沒有帳戶的密碼為空白或空值 pass
6.2.3 /etc/passwd 中參照的所有 GID 都必須在 /etc/group 中定義 low pass
6.2.4 確認影子群組為空白 pass
6.2.5 確認系統中的所有帳戶都有不重複的使用者 ID pass
6.2.6 確認系統中的所有群組都有不重複的群組 ID pass
6.2.7 確保系統中的所有帳戶名稱皆不重複 pass
6.2.8 確保系統中的所有群組都有不重複的群組名稱 pass
6.2.9 確認根層級路徑不包含相對路徑或空目錄 不明 pass
6.2.9 確認根路徑不包含可供世界或群組寫入的目錄 pass
6.2.10 僅驗證根目錄是否具有 UID 0 pass
6.2.11 所有互動式使用者的主目錄都必須存在 pass
6.2.12 所有互動式使用者主目錄都必須由主要群組擁有 pass
6.2.12 所有互動式使用者主目錄都必須由主要使用者擁有 pass
6.2.13 所有互動式使用者主目錄的模式都必須為 0750 或權限較低的模式 pass
6.2.14 確認沒有 netrc 檔案 pass
6.2.15 確認沒有 .forward 檔案 pass
6.2.16 移除 Rsh 信任檔案 pass
6.2.17 使用者初始化檔案必須由主要群組擁有 pass
6.2.17 使用者初始化檔案必須由主要使用者擁有 pass
6.2.17 使用者初始化檔案不得執行可供全域寫入的程式 pass

不適用的建議

下表列出不適用於 Google Distributed Cloud 的建議。

# 建議 嚴重性 狀態
1.1.2.2 將 nodev 選項新增至 /tmp notapplicable
1.1.2.3 在 /tmp 中新增 noexec 選項 notapplicable
1.1.2.4 在 /tmp 中新增 nosuid 選項 notapplicable
1.1.3.2 在 /var 中新增 nodev 選項 notapplicable
1.1.3.3 在 /var 中新增 nosuid 選項 notapplicable
1.1.4.2 在 /var/tmp 中新增 noexec 選項 notapplicable
1.1.4.3 在 /var/tmp 中新增 nosuid 選項 notapplicable
1.1.4.4 將 nodev 選項新增至 /var/tmp notapplicable
1.1.5.2 在 /var/log 中新增 nodev 選項 notapplicable
1.1.5.3 在 /var/log 中新增 noexec 選項 notapplicable
1.1.5.4 在 /var/log 中新增 nosuid 選項 notapplicable
1.1.6.2 在 /var/log/audit 中新增 noexec 選項 notapplicable
1.1.6.3 將 nodev 選項新增至 /var/log/audit notapplicable
1.1.6.4 將 nosuid 選項新增至 /var/log/audit notapplicable
1.1.7.2 將 nodev 選項新增至 /home 不明 notapplicable
1.1.7.3 在 /home 中新增 nosuid 選項 notapplicable
1.4.1 設定 UEFI 開機載入程式密碼 notapplicable
1.8.1 移除 GDM 檔案包群組 notapplicable
1.8.4 啟用 GNOME3 螢幕保護程式,在閒置一段時間後鎖定螢幕 notapplicable
1.8.5 設定 GNOME3 螢幕保護程式在啟動時間過後鎖定裝置的延遲時間 notapplicable
1.8.6 停用 GNOME3 自動掛接開啟功能 notapplicable
1.8.6 停用 GNOME3 自動掛接功能 notapplicable
1.8.8 停用 GNOME3 自動掛接功能 low notapplicable
1.8.10 在 GDM 中停用 XDMCP notapplicable
1.10 設定 GNOME3 DConf 使用者設定檔 notapplicable
2.1.4.1 設定 ntpd 的伺服器限制 notapplicable
2.1.4.3 設定 ntpd 以 ntp 使用者身分執行 notapplicable
2.1.4.4 啟用 NTP 精靈 notapplicable
2.2.15 停用 Postfix 網路監聽 notapplicable
3.5.1.3 確認 ufw 已啟用 notapplicable
3.5.1.4 設定 UFW 迴路流量 notapplicable
3.5.1.6 確認所有開啟的通訊埠都有 ufw 防火牆規則 notapplicable
3.5.1.7 確保 ufw 預設拒絕防火牆政策 notapplicable
3.5.3.2.1 設定傳入封包的預設 iptables 政策 notapplicable
3.5.3.2.2 設定迴路流量 notapplicable
3.5.3.2.4 確認所有開啟的通訊埠都有 iptables 防火牆規則 notapplicable
3.5.3.3.1 設定傳入封包的預設 ip6tables 政策 notapplicable
3.5.3.3.4 確認所有開啟的通訊埠都有 ip6tables 防火牆規則 notapplicable

設定 AIDE Cron 工作

AIDE 是檔案完整性檢查工具,可驗證是否符合 CIS L1 伺服器基準 1.4 Filesystem Integrity Checking。在 Google Distributed Cloud 中,AIDE 程序造成資源用量過高的問題。

節點上的 AIDE 程序預設為停用,可避免資源問題。這會影響 CIS L1 伺服器基準 1.4.2 的法規遵循情形:Ensure filesystem integrity is regularly checked.

如要選擇執行 AIDE cron 工作,請完成下列步驟,重新啟用 AIDE:

  1. 建立 DaemonSet。

    以下是 DaemonSet 的資訊清單:

    apiVersion: apps/v1
    kind: DaemonSet
    metadata:
    name: enable-aide-pool1
    spec:
    selector:
      matchLabels:
        app: enable-aide-pool1
    template:
      metadata:
        labels:
          app: enable-aide-pool1
      spec:
        hostIPC: true
        hostPID: true
        nodeSelector:
          cloud.google.com/gke-nodepool: pool-1
        containers:
        - name: update-audit-rule
          image: ubuntu
          command: ["chroot", "/host", "bash", "-c"]
          args:
          - |
            set -x
            while true; do
              # change daily cronjob schedule
              minute=30;hour=5
              sed -E "s/([0-9]+ [0-9]+)(.*run-parts --report \/etc\/cron.daily.*)/$minute $hour\2/g" -i /etc/crontab
    
              # enable aide
              chmod 755 /etc/cron.daily/aide
    
              sleep 3600
            done
          volumeMounts:
          - name: host
            mountPath: /host
          securityContext:
            privileged: true
        volumes:
        - name: host
          hostPath:
            path: /
    

    在上述資訊清單中:

    • 如 nodeSelector cloud.google.com/gke-nodepool: pool-1 所指定,AIDE cron 工作只會在節點集區 pool-1 上執行。您可以在 nodeSelector 欄位下方指定集區,設定要在多少節點集區上執行 AIDE 程序。如要在不同節點集區執行相同的 cron 工作排程,請移除 nodeSelector 欄位。不過,為避免主機資源壅塞,建議您維持個別排程。

    • 根據設定 minute=30;hour=5,系統會排定每天早上 5:30 執行 Cron 工作。您可以視需要為 AIDE Cron 工作設定不同時間表。

  2. 將資訊清單複製到名為「enable-aide.yaml」的檔案,然後建立 DaemonSet:

    kubectl apply --kubeconfig USER_CLUSTER_KUBECONFIG -f enable-aide.yaml
    

    其中 USER_CLUSTER_KUBECONFIG 是指使用者叢集的 kubeconfig 檔案路徑。

使用安全內容自動化通訊協定 (SCAP) 評估

建議您自行掃描安裝項目,評估其第 2 級是否符合 Ubuntu Linux CIS 基準。有多種工具可用於掃描叢集和管理員工作站。您可以按照下列步驟安裝及執行 OpenSCAP 開放原始碼工具集,進行第 2 級安全評估:

  1. 將下列指令碼複製到名為 cis-benchmark.sh 的檔案:

    #!/bin/bash
    
    set -x
    
    REPORTS_DIR="$1"
    
    mkdir -p "${REPORTS_DIR}"
    
    echo "Start CIS L2 benchmark evaluation..."
    apt update
    apt install libopenscap8
    sudo oscap xccdf eval \
        --profile cis_level2_server_customized \
        --tailoring-file /etc/cloud/usg/tailored-cis-level2-server-anthos-wmware.xml \
        --results "${REPORTS_DIR}"/cis-results.xml \
        --report "${REPORTS_DIR}"/cis-report.html \
        --verbose INFO \
        --verbose-log-file "${REPORTS_DIR}/cis-output-verbose.log" \
        /etc/cloud/usg/ssg-ubuntu2204-ds-1.2.xml > "${REPORTS_DIR}"/cis-output.log 2>&1
    chmod -R 755 "${REPORTS_DIR}/.."
    echo "Done CIS L2 benchmark evaluation"
    
  2. 將指令碼設定為可執行檔:

    chmod +x cis-benchmark.sh
    
  3. 執行指令碼:

    ./cis-benchmark.sh REPORTS_DIR
    

    請將 REPORTS_DIR 替換為現有目錄的路徑,您要將產生的評估報告儲存至該目錄。

    指令碼順利完成後,REPORTS_DIR 目錄會包含產生的 cis-report.html 檔案。