*本文作者:宇宸@默安科技合规研究小组,本文属FreeBuf原创奖励计划,未经许可禁止转载。
序
本篇将会介绍等保中对主机层面的安全要求,文中内容全是本人个人观点,如有不对的地方欢迎纠正。文章以等保三级系统为基础,从合规角度解读要求。
等保到底是个啥系列文章
正文
本部分从主机安全层面解读标准要求。部分内容与网络部分会有重叠,要求一样,但是基于主机层面的。
7.1.3.1 身份鉴别(S3)
a) 应对登录操作系统和数据库系统的用户进行身份标识和鉴别;
b) 操作系统和数据库系统管理用户身份标识应具有不易被冒用的特点,口令应有复杂度要求并定期更换;
c) 应启用登录失败处理功能,可采取结束会话、限制非法登录次数和自动退出等措施;
d) 当对服务器进行远程管理时,应采取必要措施,防止鉴别信息在网络传输过程中被窃听;
e) 应为操作系统和数据库系统的不同用户分配不同的用户名,确保用户名具有唯一性。
f) 应采用两种或两种以上组合的鉴别技术对管理用户进行身份鉴别。
身份鉴别部分要求基本同网络设备一样,重点在于:
1) 用户身份标识唯一,用户名具有一定代表性,内部人员能够从名称分辨账户用于哪些系统或操作;不同权限/分组或系统的用户名原则上不能重复,不能多人使用;
2) 密码8位以上(含8位),至少包含3种字符的组合;(这里提一句,最近都在宣传无密码登录系统和管理平台,预计未来会成为趋势,好处是可以不用再去记复杂的密码,也可以防止爆破、撞库一类的盗号行为,系统也不用存储用户的密码信息。可以参考这篇文章:
https://www.gartner.com/smarterwithgartner/embrace-a-passwordless-approach-to-improve-security/)
3) 主机同样要做好登陆失败处置策略,要求(1)密码输入超过N此后,自动锁定该账户M分钟(通常是N=5,M>15,只是建议,不是要求);(2)登陆后无操作,S分钟后要自动断开(一般是S<5);
4) 如无特殊业务需求,不建议开放远程管理接口;如果需要,不能采用直接登陆方式,要先登陆堡垒机(或者先跳板机再转堡垒机;再或者非重要服务器,至少要先登陆跳板机而后再访问服务器),再访问需要操作的服务器;并且连接路径必须进行加密;
5)主机登陆同样采用双因素认证(堡垒机)。
7.1.3.2 访问控制(S3)
a) 应启用访问控制功能,依据安全策略控制用户对资源的访问;
b)应根据管理用户的角色分配权限,实现管理用户的权限分离,仅授予管理用户所需的最小权限;
c)应实现操作系统和数据库系统特权用户的权限分离;
d)应严格限制默认帐户的访问权限,重命名系统默认帐户,修改这些帐户的默认口令;
e)应及时删除多余的、过期的帐户,避免共享帐户的存在。
f) 应对重要信息资源设置敏感标记;
g) 应依据安全策略严格控制用户对有敏感标记重要信息资源的操作;
访问控制部分要求的也比较多,逐条说明。
a) 这里的资源指的是客体(信息),就是对于不同用户的访问权限要进行控制,避免越权;
b) 此项也是强调越权,要求最小化权限分配,只要能够满足工作需要即可,尽可能细化权限管理(网络和安全设备上这点不太容易做,但是主机层面是可以的,只是大家嫌麻烦都不愿意去做);提到的权限分离,就是避免一个账户拥有过多权限(比如超管,管理员账户),一般情况对于这种高权限账户使用前都是要走流程的,不会作为日常运维的账户来使用;
c) 此项是说系统和数据库账户不能由同一账户管理;举个例子,以前安装MS SQL的时候,会问你是不是要创建混合登录账户,就是可以以windows账户登录数据库,这种设置一般不建议;
d) 通常的做法就是直接禁用默认账户,如果非要用,那就重命名账户并设置复杂度较高的密码,然后再行使用;
e) 此项是很多企业容易犯的错误,各种外包,各种测试环境,测完系统交付了,之前的环境就没人管理了,不只是多余账号,有的测试环境可以访问生产网和办公网,开了临时接口也没关,没有防护措施,很容易被人作为跳板黑掉;就是缺乏对资产和流程的管理,产生边缘资产,没有人知道这些资产的状况;这点其实很重要,引申出来的问题不仅仅是多余账户的事情;
f) 这项基本来说,大多数企业是直接放弃的,因为这项要求一般分数不是很高,但做起来比较困难;敏感标记包含物理和技术两个方面(个人了解到的),敏感信息存储的设备和介质,你在其上贴了机密描述的标签,这也算做了物理层面的敏感标记;技术上,敏感信息在数据中插入自定义的标签或标识,做数据分类,这种也是敏感标记;当年能做这些的公司不多,但从当前来看是很有必要的,最近几年都在吹的数据生命周期,其中就包含了要求所述的内容;
g) 前面提到的是关于读的问题,这里说的是写的问题;就是做好权限管理,既不能越权去读,也不能越权去写。
7.1.3.3 安全审计(G3)
a) 审计范围应覆盖到服务器和重要客户端上的每个操作系统用户和数据库用户;
b)审计内容应包括重要用户行为、系统资源的异常使用和重要系统命令的使用等系统内重要的安全相关事件;
c)审计记录应包括事件的日期、时间、类型、主体标识、客体标识和结果等;
d)应能够根据记录数据进行分析,并生成审计报表;
e)应保护审计进程,避免受到未预期的中断;
f)应保护审计记录,避免受到未预期的删除、修改或覆盖等。
主机安全审计部分要求类似网络部分,个别部分有些区别。
1) 审计范围除了系统自身所涉及的服务器外,还要求要能够审计到重要客户端的系统用户和数据库用户操作;起初以为是像淘宝那样,要求审计每个用户的了浏览、购买、登录、退出等记录,其实是想多了;这里要求其实是系统所关联的服务器以及能够访问系统后台的终端的审计;比如管理员可以通过自己的PC访问系统后台,那么这台PC的日志都要留存,并能够审计;
2) 对于操作的审计比较好理解,就是要全面,能记录的有用信息都要记录,便于后续审计和安全事件的溯源;标准中提到的审计报表,就是根据日志,对操作、访问、异常行为等进行汇总统计,进行趋势的分析,形成报告,这也是检查时要查看的;
3) 这里是对日志和审计记录/报告的保护,要留存至少6个月的记录,且有专人管理,有场外备份,能够保证记录完整性。
7.1.3.4 剩余信息保护(S3)
a) 应保证操作系统和数据库系统用户的鉴别信息所在的存储空间,被释放或再分配给其他用户前得到完全清除,无论这些信息是存放在硬盘上还是在内存中;
b) 应确保系统内的文件、目录和数据库记录等资源所在的存储空间,被释放或重新分配给其他用户前得到完全清除。
本项要求,也是关于敏感信息泄露的防护措施。从几个方向来看吧:
1) 缓存和RAM类存储还好说,一般重启或多读取点信息,之前的内容就没了;这种信息泄露基本都是基于动态的,系统运行过程中,被黑了才能拿到数据,等保三的层面没有要求到这么高,所以不会有硬性要求;
2) 存储介质(磁盘、U盘等)方面,如果再次投入使用,必须要做好数据清理工作,目前企业大多数还没富裕到用完就报废的水平,所以大多都是格式化然后分配给其他部门或人继续使用;但众所周知,即使低格后,很多数据还是可以恢复过来的,一般大公司的做法就是,格式化,然后满格重复写入垃圾数据(3-7次,看实际情况);这样操作,基本上普通的恢复方式,恢复的大多是垃圾数据,对于大多企业来说足矣;再一方面就是磁带、CD,这类介质还是建议一次性使用,用完直接销毁,本身成本也不高,企业没必要为了这点钱重复使用。
3) 虚拟存储方面,这部分在老标准中没有要求,但是等保2.0有明确提出,其实是在资源控制部分的要求项,应保证分配给虚拟机的内存空间仅供其独占访问,虚拟机仅能使用为其分配的计算资源。具体技术手段,这里写不下,我也不是做底层的,所以推荐一篇论文,有兴趣的可以看看。
《虚拟机检测技术研究》 王宝林,杨明,张永辉(解放军理工大学 指挥自动化学院,江苏 南京)
7.1.3.5 入侵防范(G3)
a) 应能够检测到对重要服务器进行入侵的行为,能够记录入侵的源 IP 、攻击的类型、攻击的目的、攻击的时间,并在发生严重入侵事件时提供报警;
b) 应能够对重要程序的完整性进行检测,并在检测到完整性受到破坏后具有恢复的措施;
c) 操作系统应遵循最小安装的原则,仅安装需要的组件和应用程序,并通过设置升级服务器等方式保持系统补丁及时得到更新。
主机入侵防范涉及的技术太多了,这里主要说下等保要求。
a) IPS搞定一切,做好和监控平台的联动就OK,能够短信或邮件告警;
b) 个人理解,类似于WAF的网页防篡改,周期性去爬页面进行对比,完整性校验,有问题马上可以预警,这是前半部分;后半部分还要求具有恢复措施,就是应急预案和应急响应团队,尤其是政府类站点,非常重视此类问题,一旦出现篡改,都会马上启动应急响应工作;
c) 系统最小安装原则,说了多少年的事,没什么需要讨论的;后半句,就是打补丁要及时,有些主机1年不打补丁,在当前这种趋势环境下,我觉得管理者的心也是够大的;做安全运营和管理,还是要讲求谨小慎微,不怕细致,稳中发展,不能以不出事就行,出事再说的心态。(这里还有个别情况,就是系统老旧,一旦打了新补丁系统就无法运行,影响业务。对于这类系统,建议企业还是趁早重新设计研发新系统,除非你的系统不需要对外连接,纯封闭在内网的,否则被黑是迟早的事)
7.1.3.6 恶意代码防范(G3)
a) 应安装防恶意代码软件,并及时更新防恶意代码软件版本和恶意代码库;
b) 主机防恶意代码产品应具有与网络防恶意代码产品不同的恶意代码库;
c) 应支持防恶意代码的统一管理。
恶意代码防范其实在主机层面比较容易理解,第一是正版安全软件(杀软或者HIDS类产品),不要觉得安个盗版应付一下就OK了,按正常要求作为企业不允许使用盗版软件,只是现在查的不严,哪天严起来怕是要后悔的;软件版本和病毒库更新要及时,不能用IPS或FW上的恶意代码模块代替安全软件,要使用不同的特征库;再就是针对软件要进行统一管理,不能按人或按部门管理。(多说几句,这里有企业反映过,linux系统安全,一般不用装杀毒软件,但事实证明,都是屁话,中招后爽了吧?再一方面,怕杀软误删系统文件,导致业务暂停,这种情况确实存在,但是无论个人版还是企业版的杀软可以自己定义策略,怕出问题都设置成告警,手动处理就好了,根据业务情况,及时更改策略,有些是真实请求的可以加白名单)
7.1.3.7 资源控制(A3)
a) 应通过设定终端接入方式、网络地址范围等条件限制终端登录;
b)应根据安全策略设置登录终端的操作超时锁定;
c)应对重要服务器进行监视,包括监视服务器的 CPU 、硬盘、内存、网络等资源的使用情况;
d)应限制单个用户对系统资源的最大或最小使用限度;
e)应能够对系统的服务水平降低到预先规定的最小值进行检测和报警 。
在老等保标准中对于资源控制还是比较容易理解的,而且也容易实现,简单描述一下。
a) 能够登录堡垒机或跳板机的主机数量不能过多,而且要限制只允许某几个IP登录;
b) 服务器账户无操作,N分钟后自动锁屏(建议:通常可以设置5-15分钟,最长不要超过30分钟);
c) 现在一些大的机房都有监控平台,即使没有也可以用一些开源工具自己搭一个;
de) 主机层面的SLA,设置不同用户对系统资源调用的阈值;e中的要求可以在监控平台设置预警。
结尾
以上是主机安全部分的要求。推荐标准《YD/T 2701-2014》,有兴趣的可以看下。
*本文作者:宇宸@默安科技合规研究小组,本文属FreeBuf原创奖励计划,未经许可禁止转载。