作者:
伯紀,阿里雲基礎軟件部操作系統安全工程師,從事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加固配置圖
- 注意:為了滿足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下載步驟
- 訪問CIS Benchmark官方主頁
- 按圖中所示分類同時選定
Operating Systems
和Linux
- 找到Aliyun Linux CIS Benchmark,並點擊
Download CIS Benchmark
, 如下圖所示
- 在CIS下載界面填寫個人的基本信息,然後點擊
Get Free Benchmarks Now
- 過幾分鐘後,你填寫的郵箱會收到CIS的郵件,如下圖,點擊
Access PDFs
- 進入下載界面找到最近訪問的
CIS Aliyun Linux 2 Benchmark v1.0.0
並點擊Download PDF
即可
使用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加固效果。
- 註冊成為CIS SecureSuite會員後,下載CIS-CAT Pro工具
- 登錄到ACK集群的某個Alibaba Cloud Linux 2操作系統的節點
- 安裝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
- 使用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
- 查看掃描結果,如下圖所示,根據 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。
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加固訴求的客戶更加快速便捷的上雲。