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加固配置图


ACK正式支持对基于Alibaba Cloud Linux 2操作系统的集群进行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下载步骤


  1. 访问CIS Benchmark官方主页

  2. 按图中所示分类同时选定Operating SystemsLinux


ACK正式支持对基于Alibaba Cloud Linux 2操作系统的集群进行CIS加固


  1. 找到Aliyun Linux CIS Benchmark,并点击Download CIS Benchmark, 如下图所示


ACK正式支持对基于Alibaba Cloud Linux 2操作系统的集群进行CIS加固


  1. 在CIS下载界面填写个人的基本信息,然后点击Get Free Benchmarks Now


ACK正式支持对基于Alibaba Cloud Linux 2操作系统的集群进行CIS加固


  1. 过几分钟后,你填写的邮箱会收到CIS的邮件,如下图,点击Access PDFs


ACK正式支持对基于Alibaba Cloud Linux 2操作系统的集群进行CIS加固


  1. 进入下载界面找到最近访问的CIS Aliyun Linux 2 Benchmark v1.0.0并点击Download PDF即可


ACK正式支持对基于Alibaba Cloud Linux 2操作系统的集群进行CIS加固


使用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。


ACK正式支持对基于Alibaba Cloud Linux 2操作系统的集群进行CIS加固


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加固诉求的客户更加快速便捷的上云。
上一篇:线程基础知识系列(二)线程的管理


下一篇:Java编程基础阶段笔记 day06 二维数组