開發與維運

ACK正式支持對基於Alibaba Cloud Linux 2操作系統的集群進行CIS加固

作者:

伯紀,阿里雲基礎軟件部操作系統安全工程師,從事Alibaba Cloud Linux 的等保加固、CIS加固以及機密計算等相關工作。

曉賈,阿里雲基礎軟件部操作系統產品專家,從事Alibaba Cloud Linux 的產品化相關工作。

背景信息

CIS全名Center for Internet Security,是一個美國的第三方安全組織,他們致力於採用線上社區的模式與大公司、政府機構、學術機構一起打造優秀的安全實踐解決方案(各種benchmarks)。當前各個公司發佈的Linux操作系統大多都已經提供CIS benchmark,包括Alibaba Cloud Linux 2,CentOS、Ubuntu等,詳情可以參見CIS網站。當前發佈CIS benchmark已經成為很多阿里雲客戶對於OS安全的重要評判依據之一。

Alibaba Cloud Linux 2 (原Aliyun Linux 2) 不僅是阿里雲官方操作系統鏡像,也是ACK的首選默認系統鏡像。Alibaba Cloud Linux 2在2019年8月16日正式通過了CIS組織的全部認證流程併發布對應的CIS Aliyun Linux 2 Benchmark version 1.0.0

CIS Aliyun Linux 2 Benchmark version 1.0.0加固項分類說明

CIS Aliyun Linux 2 Benchmark version 1.0.0是最新的CIS Aliyun Linux 2 Benchmark。您可以對其進行下載,具體操作,請參見下載CIS Aliyun Linux 2 Benchmark version 1.0.0進行下載。它一共包含204項,按照每一項所處的安全level分為Level 1(168項)和Level 2(36項)。其中Level 1與Level 2的主要區別如下:

  • Level 1是說明此加固條目是基礎項加固且基本不會帶來較大的性能影響
  • Level 2說明此條目適用於安全性更高的場景,且可能會對系統帶來性能開銷

此外CIS Aliyun Linux 2 Benchmark從計分(Scoring Information) 的維度分為了Scored和Not Scored兩類,其中

  • Scored:意味著此條目會納入計分項,如果驗證系統是安全的,則加分,如果不安全,則減分。
  • Not Scored:意味著無論是否安全,都不納入計分項,也就是說不增減分。

綜上,CIS Aliyun Linux 2一共204項,可以分為四類:

  • Level 1 Sorced(共145項)
  • Level 1 Not Scored(共21項)
  • Level 2 Scored(共33項)
  • Level 2 Not Scored(共3項)

因為Level 2可能會影響性能且Not Scored項不納入計分,因此對節點的Alibaba Cloud Linux 2操作系統,ACK集群只針做Level 1 Sorced項的安全加固。

ACK使用Alibaba Cloud Linux 2 CIS加固版

在創建ACK集群時,您可以選擇啟用CIS加固,這樣集群在創建時會自動配置對應的CIS加固項,使得ACK集群所有節點的Alibaba Cloud Linux 2鏡像滿足CIS Aliyun Linux 2 Benchmark version 1.0.0中大部分Level 1 Scored項的加固要求。關於具體滿足的加固項,請參見ACK CIS加固集群滿足的CIS Level 1 Scored加固項清單

圖1. CIS加固配置圖

image.png

  • 注意:為了滿足CIS Level 1的加固要求,ACK會在CIS加固的Alibaba Cloud Linux 2操作系統中默認創建ack_cis這個普通用戶。

ACK CIS加固集群滿足的CIS Level 1 Scored加固項清單

經過對CIS Aliyun Linux 2 Benchmark version 1.0.0所有Level 1 Scored(共145項)進行分析和測試,我們對除下表所列的17項以外的128項(88%以上)進行了安全加固。

表1. ACK集群中未加固的CIS Level 1 Scored項清單

加固項 未加固的原因
1.1.2 Ensure /tmp is configured(Scored) 涉及到分區的修改
1.1.18 Ensure sticky bit is set on all world-writable directories (Scored) 影響ACK管控邏輯
1.7.1.1 Ensure message of the day is configured properly(Scored) 需要刪除Alibaba Cloud Linux 2系統MOTD中的使用指南的鏈接
3.1.1 Ensure IP forwarding is disabled (Scored) 對ACK的terway的組件有影響
3.5.1.1 Ensure default deny firewall policy (Scored) 需要用戶設置自己的防火牆策略
3.5.1.2 Ensure loopback traffic is configured (Scored) 需要用戶設置自己的loopback規則
3.5.1.4 Ensure firewall rules exist for all open ports (Scored) 需要用戶對開放的端口設置防火牆策略
3.5.2.1 Ensure IPv6 default deny firewall policy (Scored) 需要用戶設置自己的IPv6防火牆策略
3.5.2.2 Ensure IPv6 loopback traffic is configured (Scored) 需要用戶設置自己的 IPv6 loopback規則
4.2.1.4 Ensure rsyslog is configured to send logs to a remote log host (Scored) 需要用戶配置rsyslog來設置自己的遠程log host
4.2.3 Ensure permissions on all logfiles are configured (Scored) 改動文件太多,存在潛在風險
5.2.10 Ensure SSH root login is disabled (Scored) 需要用戶自行創建其它登錄賬號或者選擇VNC等非ssh登錄方式,然後才能禁用root登錄
5.2.18 Ensure SSH access is limited (Scored) 需要用戶配置允許登錄的用戶和組
5.2.3 Ensure permissions on SSH private host key files are configured(Scored) 掃描腳本有誤,ssh_keys的Gid被硬編碼未998, 但實際系統不一定是998(可能是996等)
5.3.2 Ensure lockout for failed password attempts is configured (Scored) benchmark給出的修復建議跟Alibaba Cloud Linux 2系統對應的配置文件差異較大,建議謹慎修改
6.1.11 Ensure no unowned files or directories exist (Scored) 影響ACK管控邏輯
6.1.12 Ensure no ungrouped files or directories exist (Scored) 影響ACK管控邏輯

如果您需要修復ACK集群中這些沒修復的CIS Level 1 Scored項,您可以參考CIS Aliyun Linux 2 Benchmark version 1.0.0手冊,每一項都有以下內容,您可根據該項的Remediation部分進行修復,然後按照Audit檢查您的修復是否生效。

  • Profile Applicability:該項屬於Level 1還是Level 2
  • Decription:加固條目的簡單介紹。
  • Rationale:用於描述條目的細節和背景,告訴讀者這麼加固的意義和原因。
  • Audit:關鍵項,用於判斷檢測系統是否達標的腳本。根據此腳本的運行返回值來判斷是否需要加固。
  • Remediation:關鍵項,如果Audit環節判斷系統需要進行加固,那此環節就是執行腳本進行安全處理。
  • Impact:影響,主要來描述如果不進行正確配置可能會導致的影響。
  • References:參考文獻。
  • CIS Controls:此條目對應的CIS control文檔的講解,需要註冊後才能下載。

CIS Aliyun Linux 2 Benchmark version 1.0.0下載步驟

  1. 訪問CIS Benchmark官方主頁
  2. 按圖中所示分類同時選定Operating SystemsLinux

image

  1. 找到Aliyun Linux CIS Benchmark,並點擊Download CIS Benchmark, 如下圖所示

image

  1. 在CIS下載界面填寫個人的基本信息,然後點擊Get Free Benchmarks Now

image

  1. 過幾分鐘後,你填寫的郵箱會收到CIS的郵件,如下圖,點擊Access PDFs

image

  1. 進入下載界面找到最近訪問的CIS Aliyun Linux 2 Benchmark v1.0.0並點擊Download PDF即可

image

使用CIS-CAT掃描工具驗證ACK集群的CIS加固效果

如果您想驗證ACK集群的CIS加固效果,可以使用CIS官網提供的CIS-CAT工具進行掃描驗證。CIS-CAT是一個安全配置評估軟件工具,即掃描工具,它能夠詳細地提供目標系統的評估結果。通過運行該工具,可以得到目標系統在指定CIS Benchmark profile的合規分數,同時還會針對不合規的配置給出修復步驟。

CIS-CAT 分為 Lite和Pro版, Lite提供功能有限,且僅支持的系統包括Windows 10,  Ubuntu 18.04和Google Chrome等,因此不支持Alibaba Cloud Linux 2操作系統,因此無法掃描ACK集群的CIS加固效果。

CIS-CAT Pro具有v4和v3兩個版本系列。以v4為例,本文將闡述如何使用CIS-CAT Pro進行掃描驗證ACK集群的CIS加固效果。

  1. 註冊成為CIS SecureSuite會員後,下載CIS-CAT Pro工具
  2. 登錄到ACK集群的某個Alibaba Cloud Linux 2操作系統的節點
  3. 安裝CIS-CAT需要的java環境

yum -y install java-1.8.0-openjdk java-1.8.0-openjdk-devel
cat > /etc/profile.d/java8.sh <<EOF 
export JAVA_HOME=$(dirname $(dirname $(readlink $(readlink $(which javac)))))
export PATH=$PATH:$JAVA_HOME/bin
export CLASSPATH=.:$JAVA_HOME/jre/lib:$JAVA_HOME/lib:$JAVA_HOME/lib/tools.jar
EOF
source /etc/profile.d/java8.sh

  1. 使用CIS-CAT Pro工具(以Assessor-CLI-v4.0.23.zip為例)進行掃描, 其中

  • -b: 用來選擇Benchmark的類型(操作系統和對應的版本類型)。
  • -p:用來選擇掃描的Level,因ACK只對CIS Level 1 scored進行掃描,因此掃描時選擇Level 1。

unzip Assessor-CLI-v4.0.23.zip
cd Assessor-CLI
chmod +x ./Assessor-CLI.sh
./Assessor-CLI.sh  -b ./benchmarks/CIS_Aliyun_Linux_2_Benchmark_v1.0.0-xccdf.xml  -p "Level 1" -html

  1. 查看掃描結果,如下圖所示,根據 CIS-CAT Pro Assessor v4中User Guide Assessor文檔的Report部分的使用指南, 具體解釋如下:

  • Total # of Results: 所選擇的benchmark的加固項總數,CIS_Aliyun_Linux_2_Benchmark_v1.0.0總共204項。
  • Total Scored Results: 所選Level 的Scored項總數,Level 1一共145項。
  • Total Pass: 所選Level的 Scored項中當前系統通過的總數,CIS加固的ACK集群每個節點通過的Level 1 Scored項為128項。
  • Total Fail: 所選Level的 Scored項中當前系統未通過的總數,CIS加固的ACK集群每個節點未通過的Level 1 Scored項為17項。
  • Total Error:  所選Level的Scored項中掃描腳本執行出錯的項,這裡CIS-CAT Pro都正確返回,因此結果為0。
  • Total Unknown: 所選Level的Scored項中,CIS-CAT無法判斷是否滿足安全加固標準的項,這裡結果為0。
  • Total Not Applicable: 所選的benchmark中與當前操作系統不匹配的項。在Alibaba Cloud Linux 2上執行CIS_Aliyun_Linux_2_Benchmark_v1.0.0的CIS-CAT Pro掃描不存在不匹配的項。
  • Total Not Checked: 與Total Informational一樣同屬於Not Scored。
  • Total Not Selected: 所選benchmark中未檢查的加固項。CIS-CAT Pro對Level 1進行檢查,因此這裡未檢查的加固項為所有的Level 2(共36項)。
  • Total Informational: 需要手動評估是否滿足,在所選Level中屬於Not Scored。

image

ACK CIS加固的意義

目前越來越多的企業開始全面擁抱雲原生,並充分利用雲原生基礎設施。雲原生技術已經無處不在, 作為雲原生服務的提供者,阿里雲將會持續、高速發展雲原生技術。而安全是雲原生不可或缺的重要組成部分,Alibaba Cloud Linux 2 作為阿里雲官方操作系統鏡像和ACK的首選默認鏡像, 提高Alibaba Cloud Linux 2的安全水位對於雲原生非常重要。為此,阿里雲眾多專家投入CIS benckmarks的分析和研究,經過大量測試,制定了適合ACK集群的CIS Level 1 Scored加固項清單。ACK支持對基於Alibaba Cloud Linux 2操作系統的集群進行CIS加固具有以下意義:

  • 為ACK客戶提供CIS加固的方案,來滿足客戶對於阿里雲更加簡單、快捷、穩定、安全的使用的需求。當用戶創建ACK集群時,如果選擇Alibaba Cloud Linux 2, 就可以選擇啟動配置CIS加固,使集群在創建時自動執行對應的CIS加固項,直接滿足大部分CIS Level Scored加固項的要求。
  • 託管版ACK集群專有版ACK集群都支持CIS加固,無論您是託管版的用戶還是專有版的用戶,都能通過選擇CIS加固選項來提供ACK集群的安全水位(CIS Level 1 Scored計分項通過88%以上)。
  • 阿里雲在雲產品開發和交付的過程中將安全作為重要組成部分,將合規融入到產品的“血液”中,把安全植入產品的“骨髓”裡,能夠幫助有CIS加固訴求的客戶更加快速便捷的上雲。

Leave a Reply

Your email address will not be published. Required fields are marked *