NIST 的好兄弟 CIS 来了
作者:勤而行之
看过 《NIST、CIS、MITRE、SANS 傻傻分不清楚》的读者想必对 NIST 已经非常清楚了,那今天就接着聊 CIS。
作为连续剧,本文将对 CIS 做一些信息梳理,希望能和大家一起建立初步了解。按照惯例,本文将分为三个部分:
1、组织介绍
2、代表成果
3、内容索引
CIS 是 Center for Internet Security 的英文首字母缩写,国内译做“互联网安全中心”。CIS 成立于2000年,是一个社区驱动的、非营利性组织[1]。截至目前,共有250+员工,分布在全美19个州。
CIS 最出名的就是 CIS controlsR(CIS控制项)和 CIS BenchmarksTM(CIS 基准),这两个项目是全球公认的针对IT系统和数据安全的最佳实践。为了保持这些 项目 内容的实时更新,CIS 通过社群组织了一大群专家在做持续维护,同时,还提供了相应的产品和服务。此外,针对云环境,CIS 推出了 CIS Hardened Images® (加固镜像)。
关于R和TM的含义、区别 。
>用圆圈R,是“注册商标”的标记,意思是该商标已在国家商标局进行注册申请并已经商标局审查通过,成为注册商标。圆圈里的R是英文register注册的开头字母。
>用TM则是商标符号的意思,即标注TM的文字、图形或符号是商标,但不一定已经注册(未经注册的不受法律保护)。TM是英文trademark的缩写。
此外,CIS 还负责了两个政府性质项目
MS-ISAC®(Multi-State Information Sharing and Analysis Center® ):美国多州信息共享和分析中心,为各级政府提供网络威胁预防,保护,响应和恢复。
EI-ISAC®(Elections Infrastructure Information Sharing and Analysis Center®):选举基础设施信息共享和分析中心,为美国选举办公室提供网络安全支持。
另外,从该组织的人事架构、董事会信息来看,也完全是公司性质:
所以,相对 NIST,CIS 的职能更聚焦,从官网的介绍,以及栏目菜单可以梳理出其主要内容就是三大块:
1、项目
CIS 控制项:Part2 详细介绍
CIS 基准:Part2 详细介绍
MS-ISAC/IE-ISAC:前面已经讲过了,主要是为美国各级政府服务,和咱们关系不大,不做展开。
CIS 安全套装:主要是会员服务,将控制项和基准进行工具化落地,帮助企业做合规工作。会员可以使用 CIS-CAT Pro版本,可以获取CIS各种文件格式版本(免费的只有pdf版本,会员可以获取xlsx、xml等格式),可以拿到一些基线脚本,以及获得技术支持。
2、产品
CIS-CAT :配置评估工具,全称是 CIS-Configuration Assessment Tool 。分为精简版、专业版。详见Part2。
CIS WorkBench:Benchmark 的工作台,在这里可以下载到所有的 Benchmarks。详见Part2。
CIS RAM:一套风险评估方法,全称是 Risk Assessment Method。详见Part2。
CIS CSAT:针对 CIS 控制项的自查工具,全称是 Controls Self-Assessment Tool 。详见Part2。
3、服务
CIS Hardened Images ,云上镜像加固。AWS,Microsoft, Google和Oracle都已加入。
Consulting,咨询服务。
Network Monitoring - Albert。Albert 网络监控服务,基于网络流量打造的IDS产品,数据汇总到 SOC中心,通过7*24小时监控,来为接入用户提供预警分析服务。看了下规模,从2011年成立至今,服务器规模750台,感觉发展情况一般。
CIS CyberMarket,集中采购(团购)。通过集采降低采购成本,这种职责在国内一般由行业主管部门,或者中央采购来承担。
讲到这里,不禁有一个疑问:**作为一个非政府职能部门,而且号称“非盈利”的组织。要维护一只250+人的团队,钱从哪儿来呢?
**
答案就在下面这张图里。
注意看右边的色块,蓝色的区域为免费提供,其他区域只对会员,或者政府组织提供。
针对 Membership 收费(目前已有2000+会员,但政府部门、学术机构等免费[2]),收费标准如下图,会根据会员的年营收而变化。
所以,服务这一块全是付费和政府专用,就不做进一步介绍了。本文接下来的内容将聚焦在蓝色部分。
对CIS项目、产品、服务发展历程有兴趣的读者,可以继续阅读 CIS 官方博客的 20周年庆 文章。
CIS Controls 和 Benchmarks 是 CIS 成名的基础,所以代表成果首先是:
1、CIS Controls 控制项
2、CIS Benchmarks 基准
针对 控制项,CIS 提供了两个工具:
3、 CIS-CAT
4、CIS-CSAT
针对 基准, CIS 也提供了工具:
5、 CIS WorkBench
此外,还有一套风险评估方法论:
6、 CIS RAM
接下来逐个进行介绍。
CIS 控制项的历史可以追溯到2008年,最初是NSA(美国国家安全局)为了帮助美国国防部(DoD)确定其网络安全支出的优先级,拟定了一系列的安全控制项。这本来是一个保密的军方项目,但是NSA和CIS、SANS等社会组织有一系列长期合作,且NSA认为国家安全不能仅仅依靠军方,关键信息基础设施,例如通讯、电力、金融,也需要了解这些信息,才能从整体保护国家安全,于是开始有更多的团体参与到该项目中。2008年秋天,CSIS(美国战略与国际研究中心)成立了国家网络安全委员会,对相关控制项进行了审议,树立了其权威地位。
考虑到不同组织的网络安全成熟度不一样,为了获得投入和产出的平衡,不同的组织可可以根据实际情况选择一部分控制项进行实施。为此,CIS控制项将实施组织(Implementation Group,简称IG)分成了三级,如图所示,各个组织可以评估自身情况,对应到IG1、IG2或IG3,数字越大,需要实现的控制项越多。
IG1:中小型组织,IT和网络安全能力有限。此类组织的首要任务是保障业务的可用性,避免业务发生中断。该组织的数据敏感度很低,主要是内部员工和财务信息。当然,有些组织虽然人少,但是维护的数据敏感度很高,则应该提升级别。
IG2:中型组织,此类组织有专职的IT基础设施管理人员,存储和处理敏感的客户或公司信息,可以承受短暂的业务中断,更担心违规行为对其公信力造成的负面影响。
IG3:大型组织,有专职的网络安全专家(例如风险管理、渗透测试、应用程序安全)。存储了受法律和合规性监管的敏感信息。此类组织必须保证业务的可用性,以及敏感数据的机密性、完整性。一旦遭受攻击,将对公众安全造成严重影响。
目前 CIS 控制项的最新版是v7.1,于2019年4月发布。CIS控制项一共有20项,控制子项171个,分为基本管控、基础性管控和组织级管控三大类,如下图所示。
以CIS Control 1资产管理为例 :
对硬件资产管理给出了8个子控制项:
具有主动发现工具:能识别接入到组织网络中的硬件资产,并更新资产库。
具有被动资产发现工具:能识别接入到组织网络中的硬件资产,并自动更新资产库。
利用DHCP日志来更新资产库:通过DHCP服务器或者IP地址管理工具的日志来更新组织的硬件资产库。
维护详细的资产库:对但凡有可能存储或处理信息的技术资产,维护一份准确的、实时的资产库。库里面要包含所有的资产,无论其是否接入到组织网络之中。
维护资产库信息:确保硬件资产库记录了网络地址、硬件地址、机器名、数据属主、部门信息,以及资产是否已连接企业网络。
定位未授权资产:确保所有未授权的资产要么从从网络中移除、隔离,要么及时将该资产更新到资产库中。
实施端口级的访问控制:利用 802.1x 标准实现端口级访问控制,从而对设备准入进行授权。认证系统应该从硬件资产库中读取数据,确保只有授权的设备可以准入。
对硬件资产进行证书认证:使用客户端证书来对接入组织的硬件资产认证。
对应的,给出了硬件资产管理框架:
企业可以根据这些控制项制定自己的内部安全规范。
CIS 基准是安全配置系统的配置基线和最佳实践。每则指导建议都参考了一个或多个 CIS 控制措施,可帮助组织改进其网络防御能力。CIS 控制措施与许多已建立的标准和规章框架对应,包括 NIST 网络安全框架 (CSF) 和 NIST SP 800-53、ISO 27000 系列标准、PCI DSS、HIPAA 等等。[3]
国内更习惯于叫做安全基线,针对网络、系统、应用等等,在上线前,进行配置修改,实现基础的安全加固。
感觉这块并没有太多可以介绍的内容,都是实操,“干”就对了。
这里以《CIS_Apache_Tomcat_9_Benchmark_v1.1》为例进行介绍,Tomcat9 基线一共分为10章:
1、删除不必要的资源:例如说明文档、禁掉不用的Connector。
2、防止信息泄露:如禁用HTTP 头的 X-Powered-By 字段,关闭对TRACE的响应。
3、保护shutdown端口:防止未授权用户发送shutdown命令,导致服务关闭。
4、保护Tomcat 配置文件:如禁止访问 $CATALINA_HOME/BASE/日志 等目录、以及server.xml/tomcat-users.xml 等文件。
5、配置告警:如设置安全告警,用户锁定告警。
6、Connector 安全:如必须启用SSL才能使用敏感的Connector。
7、设置日志功能:如在logging.properties文件中设置文件句柄,确认context.xml中的className有正确设置。
8、配置Catalina 策略:限制对敏感包的运行时访问。
9、应用部署:如禁用应用自动部署功能、启用安全管理功能。
10、其他:如禁止访问管理页面、对manager应用重命名、配置maxHttpHeadSize、禁止符号链接、启用内存泄漏监听器等等。
每一章都会有大量详细的配置项,具体到操作命令该如何执行,例如针对shutdown端口的保护,可以先在server.xml搜索 SHUTDOWN 关键字:
$ cd $CATALINA_HOME/conf
$ grep 'shutdown[[:space:]]*=[[:space:]]*"SHUTDOWN"' server.xml
然后将该字符串改为不常用字符串:
<Server port="8005" shutdown="NONDETERMINISTICVALUE">
针对每一条配置项,都给出了适用的组织级别、配置项说明、验证方法、修复步骤、参考文章,以及对应的 CIS 控制项和子项。
对服务器按照合规要求进行自动化检测,生成检测报告,并给出修复建议。如下图所示,工具安装完成后,可以点击“start assessment”,系统自动开始进行基线检测。
目前国内很多主机安全产品(青藤、安全狗、G01、深信服EDR等)都具备类似功能,只是检测对象是等级保护的测评项,而非CIS基线。
主机类的检测手段在覆盖范围上存在其局限性,无法解决网络、哑终端等设备的基线。因此,要想提高基线检测的自动化水平,需要进行多平台整合。例如Tenable(Nessus的商业公司),可以综合多种方式进行基线检测:
1、利用登录式扫描或者agent,实现主机基线检测。
2、利用 nessus 主动扫描,以及 PVS 流量分析,实现网络设备基线检测。
总的来说,配置自动检测并不是什么新鲜事儿。在2C领域,十几年前3Q大战时的各种电脑管家类产品,早已能对用户的注册表、补丁、启动项等等进行安全评估,并给出PC安全状态总体评分,同时还提供一键修复功能,形成管理闭环,体验非常好。
如果用户想根据 CIS控制项 进行自我评估,对照官方的PDF来做显然比较麻烦。那是否有系统能做到:
1、根据组织级别(IG1-3)自动生成 CIS控制项。
2、可以对各个控制项填写当前状态。一共有四种:
3、根据填写的数据给出评估分值,告知当前水平在行业所处的位置。
没错,这就是 CIS-CSAT 需要做的事情。
先根据用户的组织等级,生成CIS控制项列表,再让用户根据是否具有内部规范、控制项是否实现、是否完成自动化、是否生成报告来进行人工勾选。
当用户填写完以上内容之后,给出评分,并与业界平均水平进行对比:
本质上就是使用基线的工作台。
先注册个账号登录:
可以查看社区在进行的工作,以及各个基线所处的状态(一共四种:草案、接收、发布、拒绝)。
所有的基线都可以从这里下载。
最初由 HALOCK 安全实验室开发,后来捐给了 CIS。目前的 RAM 基于CIS 控制项 v7 版本制定。大概看了下,和国内咨询机构做ISO27001的风险评估方式类似,但是RAM将组织分成了T1-T4(和NIST中的T1-T4保持一致),分别采用不同的评估方法:T1(基于控制项)、T2(基于资产)、T3和T4(基于威胁)。
虽然针对不同组织,但工作流程大体一致:
1)制定计划;
2)明确评估范围;
3)确定风险值计算模型;
4)风险项登记:一张硕大的表格,按照资产、脆弱性、可能性、影响程度等维度进行填写,在按照上面的模型计算出风险值,最后根据防御措施(safeguard)给出目标风险值,实现安全改进。
(CIS RAM 提供了1份完整版和1份简版介绍材料,以及一份风险评估Excel表格,关注公众号回复 CIS 获取本文所有材料)
7、其他内容
最近CIS以社区防御模型的形式发布了免费的最佳实践指南[4],该模型将CIS 控制项映射到MITER ATT&CK模型。
此外,CIS 还给出了1)针对云服务提供商的CIS Foundations Benchmarks;2)针对云安全的共享责任模型指南;3)CIS密码策略指南;4)CIS视频会议安全指南等。(在Workbench的downloads页面可以进行搜索下载,本文附件已包括3和4)
有兴趣的读者可以自行了解。
和实操层面关系最大还是 CIS 基线,官方提供了一份索引文件,一共有418项。(关注公众号之后,回复 CIS 获取 )
大体可以分为以下几类。
桌面和浏览器:
Apple Desktop OSX
Apple Safari Browser
Google Chrome
Microsoft Internet Explorer
Microsoft Windows Desktop XP/NT
Mozilla Firefox Browser
Opera Browser
移动设备
Apple Mobile Platform iOS
Google Mobile Platform
网络设备
Agnostic Print Devices
Checkpoint Firewall
Cisco Firewall Devices
Cisco Routers/Switches IOS
Cisco Wireless LAN Controller
Juniper Routers/Switches JunOS
服务器-操作系统
Amazon Linux
CentOS
Debian Linux Server
IBM AIX Server
Microsoft Windows Server
Novell Netware
Oracle Linux
Oracle Solaris Server
Red Hat Linux Server
Slackware Linux Server
SUSE Linux Enterprise Server
Ubuntu LTS Server
服务器-其他
Apache HTTP Server
Apache Tomcat Server
BIND DNS Server
FreeRADIUS
Microsoft IIS Server
IBM DB2 Server
Microsoft Exchange
Microsoft SharePoint Server
Microsoft SQL Server
MIT Kerberos
MySQL Database Server
Novell eDirectory
OpenLDAP Server
Oracle Database Server
Sybase Database Server
云和虚拟化平台
Agnostic VM Server
AWS Foundations
AWS Three-Tier Web Architecture
Docker
Kubernetes
VMware Server
Xen Server
其他
Microsoft Access
Microsoft Excel
Microsoft Office
Microsoft Outlook
Microsoft PowerPoint
Microsoft Word
因为内容太多,笔者只下载了部分常用的基线文档,包括Centos、SQL Server、Docker 、阿里云基线等(关注公众号之后,回复 CIS 获取)。有需要的读者可以注册一个 Workbench 账号,自行搜索。
PartN:最后
本来以为这一篇可以把CIS、SANS、MITRE “一网打尽”的,没想到写着写着内容又这么长了,那就还是拆开,单独介绍吧。
往期回顾:
[1] About Us, CIS官网,https://www.cisecurity.org/about-us/
[2] Product Vender, CIS 官网,https://www.cisecurity.org/cis-securesuite/pricing-and-categories/product-vendor/
[3] Internet 安全中心 (CIS) 基准,robmazz,https://docs.microsoft.com/zh-cn/compliance/regulatory/offering-cis-benchmark
[4] CIS CDM, 官网,https://www.cisecurity.org/press-release/center-for-internet-security-cis-releases-new-community-defense-model-for-cybersecurity/