最近去了项目组打杂,偷学了些对服务器做整改的等保要求,写下一篇废话,看完了就可以跟我一起打杂了。
主机指我们整个系统里面的操作系统(windows、linux),包括服务器和运维终端,在测评里主机安全被归类为安全计算环境模块(网络设备、安全设备、应用系统、数据都归在这个安全计算环境模块)。
主机安全也就是在主机层面上所做的安全措施,包括身份鉴别措施、密码复杂度、密码定期更换、登录失败处理、空闲超时退出、启用的远程管理协议、账户权限分配、日志审计功能启用、入侵/杀毒软件安装和更新、数据传输/存储的完整性和保密性、剩余信息清除等。这些措施都可以在我们主机上进行配置,当然了,如果在主机层面无法完成,也可以在网络层进行一些补偿措施。
等保三级主机测评要求分为身份鉴别、访问控制、入侵防范、恶意代码防范、可信验证、数据完整性、数据保密性、备份恢复测试、剩余信息保护这九大控制点,共有32个测评项。下面对一些常见且容易整改的测评项做下分析。
身份鉴别共四个测评项,主要几点:密码复杂度、密码定期更换、登录失败处理、空闲操作超时退出、远程管理传输防窃听、双因子。
(1)密码复杂度、密码定期更换
整改措施:密码需包含数字、大小写字母、特殊字符,长度8位以上;密码应定期更换,每90天更换一次。
这项措施主要是为了让所使用的密码“长”、“不易猜测”,防止口令暴力破解。
(2)登录失败处理、空闲操作超时退出
整改措施:账户连续登录失败5-10次,锁定账户一定时间(1-30分钟);登录后无操作5-15分钟,自动退出登录状态。
这项措施也是为了防止口令暴力破解,连续登录失败锁定账户可以避免攻击者多次猜测你的密码。
(3)远程管理传输防窃听
整改措施:使用加密传输协议,如SSH或RDP加密等。
这项措施主要是防止攻击者通过网络抓包获取到账号密码,登录时传输的账号密码如果是明文传输,拿到数据包就拿到了密码。
(4)双因子鉴别
整改措施:除了我们常用的账号密码进行认证之外还需要增加一种身份鉴别措施,如指纹、证书、人脸等。而且要求两种认证方式同时通过才能进行登录,也就是说两种认证方式必须是“且”关系而不是“或”关系。
这项措施是为了增加身份鉴别的安全性,也就是再加一道保险锁,避免攻击者拿到了你的账号密码就能直接登录你的主机。
三级系统访问控制共七个测评项,包括账号权限分配、默认账号名和口令修改、多余账号清除、账号权限分离、授权主体确定、访问粒度细化、安全标记。
(1)账号权限分配
整改措施:给各个使用的账号都分配一定权限,避免出现无权限的账户或过高权限账户。(主机方面只要账户创建都至少会默认一个普通账户权限,主要是需要避免给普通账户分配过高权限)
这项措施是为了给不同账户一个权限区分,避免全是高权限账户,容易对系统出现因操作失误造成的增删改查。
(2)默认账号名和口令修改
整改措施:重命名默认账户adminstratos、root等并修改他们的默认口令。对没办法修改默认账户名的(linux系统的root就改不了),可以禁止默认账号远程登录。(有些测评机构会认为即使修改了账户名,但是用常见的账户名如admin、sys等也不行。)
这项措施也是为了防止口令爆破,如果使用默认账户名,攻击者就只需要重复尝试口令。改了默认账户名攻击者就需要账户名、口令一起猜,可以加大攻击难度。
(3)多余账号清除
整改措施:删掉不用的账号。
这项措施依然是为避免账号密码猜测,以及避免账号已经被攻击者利用了却发现不了。多一个账号,攻击者就多一分猜测成功的概率。而且多余账号没有人用也没人在意,攻击者要是已经拿到了这个账号的密码,再你的系统里进进出出跟穿着夜行衣一样。
(4)账号权限分离
整改措施:划分系统管理员、审计管理员、安全管理员账户,并分配不同权限使其可以相互制约。
这项措施是为了避免一个账户独大,如果攻击者拿到了一个账户就有了系统全部权限。账户分权限,就像一个公司里有业务部、有技术部还有个监视全体员工的人事部一样。
(5)授权主体
整改措施:确定一个账户进行访问控制策略的配置。(这项实际测评中不需要该,一般默认权限最高的系统管理员或者安全管理员)
这项措施是为了避免管理混乱,同一套策略要是每个账户都可以修改,一个改一点,听谁的?确定一个账户进行策略配置,其他账户遵守策略就可以。
(6)访问粒度细化
整改措施:账户为主体,可访问的系统资源(文件、进程等)为客体,现在的操作系统基本上都能达到主体为用户级,客体为文件级或进程级,实际测评中不需要改。
这项措施是为了可以更好的进行授权,就是一间城堡三个区,四百间房子,我给你哪间房子钥匙你就能进哪间,其他的进不去。(钥匙就是权限、房子就是系统资源)
(7)安全标记
整改措施:开启强访问控制。这时候无论是账户还是系统资源都是主体,访问需要双方授权,而不是单方面授权。这项需要借助第三方工具,没有钱是整改不了的,一般为必丢的分数。
这项措施是为了在访问上再加一道安全锁。一间城堡两个人,四百间房子,每间房子里面都有个扣脚大汉。你手上拿着钥匙,大汉手上拿着可进入的人员名单。我给你哪间房子钥匙你不一定能进,必须要你的名字同时在大汉手上的人员名单里,大汉才会让你进去。而且这里钥匙和名单也是“且”关系而不是“或”关系。
三级系统安全审计共四个测评项,包括日志审计启用及覆盖类型、审计记录完善度、审计记录存储、审计进程保护。
(1)日志审计启用及覆盖类型
整改措施:开启系统审计功能,审计类型包括系统运行状态、登录审计、访问审计、参数修改审计等,且审计应该要覆盖到所有的账户。
这项措施是为了系统操作所有变化都可以有迹可循,说白了就是给系统开监控,做了什么、发生了什么都给记录下来。
(2)审计记录完善度
整改措施:审计要包括日期和时间、用户、事件类型、事件结果等。如果是开的主机自身审计功能一般不需要改,该记录的系统的都自动记录了.但如果是借助第三方审计,比如什么日志分析与审计系统之类的,可能有些版本老旧一些就容易缺日期时间什么的。
这项措施就是要审计内容有效,能让正常人或者分析系统看懂发生了什么事。记录事件至少要有时间、人物、做了什么,要是一条日志记录记了时间、人物,却没记做了什么,要这监控也没用…
(3)审计记录存储
整改措施:日志转存或定期备份,留存时间(可追溯)满足180天。日志可以转存到日志审计系统或导出来备份。
这项措施就是要记录可查,因为系统出现故障可能不是今天或者昨天造成的,可能是十天半个前的错误设置或者十天半月前就中病毒了,但现在问题才显现出来,这时候就需要查看之前的日志,找出出现问题的原因,或者做来源追溯。等保要求的180天是有相关法律规定的,虽然时间我觉得很长,但是也没办法了。顺便要提一下,根据我观查,系统全开审计的情况下,日志量是很大的,如果是存在主机本地,还是要谨慎设置,不然一个星期磁盘就满了,根本存不了180天。
(4)审计进程保护
整改措施:Linux系统开auditd,Windows系统默认符合。
这项措施就是要求审计不能被随意中断,按我的理解是需要给账户配权限,不要让普通账户可以关闭审计功能。但在等保里面会将auditd进程称为审计守护进程,如果是在主机自身进行审计,要求开启这个进程。而windows则是默认符合的。没有实验过auditd开了和没开有什么区别,所以不理解,但无所谓,我可以照做,谁让我需要拿分呢…
三级系统主机入侵防范共六个测评项,但实际主机测评中只需要测五项,包括最小化安装、关闭多余服务和高危端口、接入地址限制、漏洞扫描、入侵检测,不适用的一项是数据输入有效性校验。
(1)最小化安装
整改措施:卸载不需要的程序、软件。
这项措施是为了避免一些软件有漏洞或者后续被发现有漏洞,进而被攻击者利用,所以要求不需要用到的软件、插件全部都不允许安装。
(2)关闭多余服务和端口
整改措施:关闭系统默认开启但不需要用到的一些进程、端口。如Linux的telnet,Windows的默认共享、高危端口135、445、137-139等等。
这项措施和上面最小化安装的目的差不多,主要是防止攻击者利用这些端口攻击计算机或者感染计算机病毒,非要说有什么其他用途,可能是不开就不占运行内存吧。
(3)接入地址
整改措施:限制远程管理终端的接入地址范围,仅允许特地IP远程登录。在这处的整改可以通过网络策略限制,也可以通过主机自身的访问策略设置。
这项措施是为了避免计算机被尝试非法访问,如果主机对所有网络都开放访问,那不就所有人都可以尝试登录你的系统主机。限制了可访问的地址仅你们办公室地址或者指定单个IP,就可以在一定程度上减少主机被攻击者尝试访问的风险。
(4)漏洞扫描
整改措施:定期对主机进行漏洞扫描,扫描出有高危就修复。
这项措施是为了避免系统存在已知漏洞被攻击者利用。等保测评中一方面要求定期做漏扫,另一方面会在现场对系统再做一次漏扫,有高危就需要修复,有些漏扫设备报的高危也不一定就是高危,如果实际测试这个漏洞不好利用,是可以降风险为中危的。
(5)入侵检测
整改措施:主机上安装入侵检测工具,可进行入侵检测和报警。
这项措施是为了在系统被入侵时能及时发现。在我们实际系统部署中我们一般把入侵检测部署在网络层,比如在主要网络节点上加装一台NIPS。但我们系统同一个网络区比如说多台服务器之间或者服务器和运维办公室之间也是存在数据流的,而些数据流不一定都能经过网络上部署的NIPS,所以等保上要求在每台主机上也安装有入侵检测工具。当前很多厂商的EDR、IPS都可以通过在主机上安装插件实现联动管理。
三级系统主机恶意代码防范只有一个测评项,病毒防范。
(1)病毒防范
整改措施:在主机上安装杀毒软件。
这项措施就是为了防病毒,跟我们平时自己电脑上装个360、火绒什么的一样。需要注意的是我们大多数系统的主机一般都是部署在内网中,这样它的病毒特征库是不会自动更新的,测评中会看我们的病毒库是不是最新版,所以需要定期下载离线包进行更新。
三级系统主机可信验证也是只有一个测评项。
(1)可信验证
整改措施:主机上安装可信根、可信芯片等在系统运行前进行可信验证。
这项措施应该来说是防病毒和防篡改的,要求在系统运行前就先对系统做一次验证。但不得不说可信根、可信芯片这种东西先不说它技术在民用方面是否成熟,就算有,每台设备都要装,也是买不起的呀。可以说是等保的必丢分数了。
三级系统主机数据完整性涉及两个测评项,包括数据传输完整性、数据存储完整性。
(1)数据传输完整性
整改措施:使用SSH、RDP进行远程管理。
这项措施是为了避免数据传输过程大量丢包或被截获篡改后重放,也就是对传输协议有一定要求。服务器上的重要数据包括它的配置数据、鉴别数据,这些数据传输主要是在远程运维时,所以对远程管理所用的协议作出要求。至于主机上存储的应用系统的业务数据也是重要数据,但业务数据会被归类到应用系统去测评,在主机测评里不做要求。
(2)数据存储完整性
整改措施:使用第三方工具进行存储完整性校验。
这项措施是为了保证数据的完整性,在主机中鉴别数据存储会默认有一个加密算法,Linux是SHA512,Windows是NTLM Hash,但这两个算法对鉴别信息的作用到底是保密还是校验是存在争议的,所以这分可能得可能不得,要看测评机构的标准。而配置数据存储完整性,需要借助第三方工具完成,一般在三级系统里都做不到。
三级系统主机数据完整性涉及两个测评项,包括数据传输保密性、数据存储保密性。
(1)数据传输保密性
整改措施:使用SSH、RDP(RDP注意要开启加密)进行远程管理。
这项措施是为了避免数据传输过程被截获后读取,也就是不能明文传输。服务器上的重要数据包括它的配置数据、鉴别数据,但是配置数据是没有保密性要求的(配置数据存储同样没有保密性要求),所以要看的只是远程管理时鉴别数据的加密。
(2)数据存储保密性
整改措施:使用密码算法对鉴别数据(账号的密码)进行存储加密。
这项措施是为了保证数据的完整性,在主机中鉴别数据存储会默认有一个加密算法,Linux是SHA512,Windows是NTLM Hash。
三级系统主机数据备份恢复涉及三个测评项,而实际测评当中只需测两个,包括数据定期备份、设备冗余,不适用项是异地备份。
(1)定期备份
整改措施:对主机的主要配置数据进行定期备份,并定期进行备份恢复测试。
这项措施是为了当主机配置遭到破坏或篡改时能根据备份的数据快速恢复系统功能,备份恢复测试则是为了确保备份文件是有效的,不然真的要用的时候发现一堆备份文件没一个是能用的就完蛋了。至于什么是主要配置数据,这个需要根据你需要的功能去识别,比如说是一台搭应用的服务器,那设置了开放端口、脚本的文件就是主要配置文件。而实际使用或备份操作当中很难把某些配置文件单独进行备份(需要用备份工具),甚至可能配置文件全都备份了,到要做恢复的时候其实也没什么用,本来就几个配置项,还不如手动重新配。而且进行备份恢复测试的话也不可能在使用着的服务器上直接测试,需要另外花大成本搭测试环境。所以如果是虚拟服务器就定期做个快照,物理服务器的话这分可以放弃,不用这么折腾。
(2)设备冗余
整改措施:重要设备进行双机热冗余部署或集群部署。
这项措施是为了当一台设备出问题时另一台设备能支撑起功能,不影响系统继续运行,一般在主机测评里把应用服务器、数据库服务器作为重要设备看待。在一些要求高可用的系统里(比如民生、金融、重要工业等大型系统),会要求所有会影响业务使用的服务器都需要做热冗余。这里需要注意,热冗余和冷备份是有区别的,一个可能是同时运行(或无缝衔接),一个是一台挂掉后再启用另一台。
三级系统主机剩余信息保护涉及两个测评项,包含鉴别信息存储空间清除、敏感数据存储空间清除。
(1)鉴别信息存储空间清除
整改措施:清除登录界面的账户名和口令,windows开启“交互式登录:不显示最后的用户名”。
这项措施的本意是鉴别信息清除时要保证硬盘或内存上的存放的鉴别信息要完全清除。以我个人的理解这项其实是为了防止通过技术手段对数据进行恢复,从而获取数据,就像我们平时电脑上删除的数据如果没有覆盖掉其实是可以恢复的一样。而在实际操作当中要怎么去鉴别数据真的完全被清除了呢?用工具?看操作系统的开发文档有没有写?写了就一定是真的吗?太困难,所以衍生了一个接近但又不完全是的测评方法——用户退出后清除登录界面的账户名和密码以及授权信息。Linux一般用SSH,不要记住密码就可以了,windows有个配置项是“交互式登录:不显示最后的用户名”要开启。
(2)敏感数据存储空间清除
整改措施:windows开启“关机:清除虚拟内存页面文件”,Linux配置HISTSIEZ参数。
这项措施和上一项鉴别信息存储空间清除是类似的目的,只不过范围扩大了一点,上一项是主要对鉴别信息,而这一项是对所有的敏感数据(配置数据、操作指令、存储的重要数据等),发展过程也和上一项差不多,说白了就是实际太难操作。测评中会检查windows的“关机:清除虚拟内存页面文件”配置,Linux的HISTSIEZ参数配置。
以上就是三级等保测评主机涉及的所有测评项。测评当中的涉及设备测评(网络设备、安全设备)都是大同小异的。整篇文章内容均为我去项目组打杂后的个人理解,可以参考,但不一定就正确,有错误的地方欢迎指正。