本文来自微信公众号“twt企业IT社区”,作者/社区ID:木讷大叔爱运维,互联网+金融行业,专注于运维、数据库领域,持续分享基于运维自动化的思考、实践及解决方案。
背景
作为运维,当对新上架的服务器装完操作系统后,第一步就是对操作系统进行初始化配置来保证配置合规,此时你可能就会有疑问:我们应该初始化哪些参数,有没有相关标准参考呢?
要想真正了解进行初始化配置的目的,我们先来普一下法:
《中华人民共和国网络安全法》第二十一条规定,国家实行网络安全等级保护制度。网络运营者应当按照网络安全等级保护制度的要求,履行下列全保护义务:保障网络免受干扰、破坏或者未经授权的访问,防止网络数据泄露或者被窃取、篡改。
《中华人民共和国网络安全法》规定,等级保护是我国信息安全保障的基本制度。
看到这个,大家可能觉得我扯远了,这个和运维有啥关系呢?起初我也是这么认为的,但随着网上各种因删除跑路获刑事件不绝于耳,如果我们的安全意识不足,会不会就发生到我们身上呢?
“存在即合理”,等级保护如此重要,那么它是否可以作为我们配置的参考呢?
等级保护级别
我国实行网络安全等级保护制度,等级保护对象分为五个级别,由一到五级别逐渐升高,每一个级别的要求存在差异,级别越高,要求越严格。
一级:自主保护级
二级:指导保护级
三级:监督保护级
四级:强制保护级
五级:专控保护级
其中最常见的是等保二级和等保三级。在我国,“三级等保”是对非银行机构的最高等级保护认证,一般定级为等保三级的系统有互联网医院平台、P2P金融平台、网约车平台、云(服务商)平台和其他重要系统。这一认证由公安机关依据国家信息安全保护条例及相关制度规定,按照管理规范和技术标准,对各机构的信息系统安全等级保护状况进行认可及评定。
安全通用要求
安全通用要求细分为技术要求和管理要求。其中:
技术要求包括“安全物理环境”、“安全通信网络”、“安全区域边界”、“安全计算环境”和“安全管理中心”。
管理要求包括“安全管理制度”、“安全管理机构”、“安全管理人员”、“安全建设管理”和“安全运维管理”。
安全通用要求针对共性化保护需求提出,无论等级保护对象以何种形式出现,需要根据安全保护等级实现相应级别的安全通用要求。
安全扩展要求针对个性化保护需求提出,等级保护对象需要根据安全保护等级、使用的特定技术或特定的应用场景实现安全扩展要求。等级保护对象的安全保护需要同时落实安全通用要求和安全扩展要求提出的措施。
安全计算环境
针对边界内部提出的安全控制要求,主要对象为边界内部的所有对象,包括网络设备、安全设备、服务器设备、终端设备、应用系统、数据对象和其他设备等。
我们新上架的服务器属于安全计算环境范畴内,因此需要从以下安全控制点进行相关配置:
身份鉴别
1、应对登录的用户进行身份标识和鉴别,身份标识具有唯一性,应实现身份鉴别信息防窃取和防重用。静态口令应在8位以上,由字母、数字、符号等混合组成并每半年更换口令,不允许新设定的口令与前次旧口令相同。应用系统用户口令应在满足口令复杂度要求的基础上定期更换。
2、应具有登录失败处理功能,应配置并启用结束会话、限制登录间隔、限制非法登录次数和当登录连接超时自动退出等相关措施。
3、当进行远程管理时,应对管理终端进行身份标识和鉴别,采用密码技术防止鉴别信息在网络传输过程中被窃听。
4、应采用口令、密码技术、生物技术等两种或两种以上组合的鉴别技术对用户进行身份鉴别,且其中一种鉴别技术至少应使用密码技术来实现。
访问控制
1、应对登录的用户分配账户和权限。
2、应重命名或删除默认账户,修改默认账户或预设账户的默认口令。
3、应用系统应对首次登录的用户提示修改默认账户或预设账户的默认口令。
4、应及时删除或停用多余的、过期的账户,避免共享账户的存在。
5、应授予管理用户所需的最小权限,实现管理用户的权限分离。
6、应严格限制默认账户或预设账户的权限,如默认账户和预设账户的权限应为空权限或某单一功能专用权限等。
7、应由授权主体配置访问控制策略,访问控制策略规定主体对客体的访问规则。
8、访问控制的粒度应达到主体为用户级或进程级,客体为文件、数据库表级。
9、应对重要主体和客体设置安全标记,并控制主体对有安全标记信息资源的访问。
安全审计
1、应启用安全审计功能,审计覆盖到每个用户,对重要的用户行为和重要安全事件进行审计。
2、审计记录应包括事件的日期和时间、用户、事件类型、事件是否成功及其他与审计相关的信息。
3、应对审计记录进行保护,定期备份,避免受到未预期的删除、修改或覆盖等,审计记录保存时间应不少于6个月。
4、应对审计进程进行保护,防止未经授权的中断。
5、对于从互联网客户端登录的应用系统,应在用户登录时提供用户上一次非常用设备成功登录的日期、时间、方法、位置等信息。
6、审计记录产生时的时间应由系统范围内唯一确定的时钟产生,以确保审计分析的一致性与正确性。
入侵防范
1、应遵循最小安装的原则,仅安装需要的组件和应用程序。
2、应关闭不需要的系统服务、默认共享和高危端口。
3、应通过设定终端接入方式或网络地址范围对通过网络进行管理的管理终端进行限制。
4、应提供数据有效性检验功能,保证通过人机接口输入或通过通信接口输入的内容符合系统设定要求。
5、应能通过使用漏洞扫描工具、人工漏洞排查分析等漏洞检查手段,及时发现可能存在的已知漏洞,并在经过充分测试评估后,及时修补漏洞。
6、应能够检测到对重要节点进行入侵的行为,并在发生严重入侵事件时提供报警。
7、所有安全计算环境设备应全部专用化,不得进行与业务不相关的操作。
8、应能够有效屏蔽系统技术错误信息,不得将系统产生的错误信息直接或间接反馈到前台界面。
恶意代码防范
1、应采用免受恶意代码攻击的技术措施或主动免疫可信验证机制及时识别入侵和病毒行为,将其有效阻断并定期统一进行升级和更新防恶意代码库。
2、应建立病毒监控中心,对网络内计算机感染病毒的情况进行监控。
可信验证
可基于可信根对计算设备的系统引导程序、系统程序、重要配置参数和应用程序等进行可信验证,并在应用程序的关键执行环节进行动态可信验证,在检测到其可信性受到破坏后进行报警,并将验证结果形成审计记录送至安全管理中心。
数据完整性
1、应采用校验技术或密码技术保证重要数据在传输过程中的完整性,包括但不限于鉴别数据、重要业务数据、重要审计数据、重要配置数据、重要视频数据和重要个人信息等。
2、应采用校验技术或密码技术保证重要数据在存储过程中的完整性,包括但不限于鉴别数据、重要业务数据、重要审计数据、重要配置数据、重要视频数据和重要个人信息等。
数据保密性
1、应采用密码技术保证重要数据在传输过程中的保密性,包括但不限于鉴别数据、重要业务数据和重要个人信息等。
2、应采用密码技术保证重要数据在存储过程中的保密性,包括但不限于系统鉴别数据、重要业务数据和个人金融信息中的客户鉴别信息以及与账号结合使用可鉴别用户身份的鉴别辅助信息等个人敏感信息,对于其他直接反应特定自然人某些情况的信息,宜使用密码技术保护其存储过程中的保密性。
数据备份与恢复
1、应提供重要数据的本地数据备份与恢复功能,采取实时备份与异步备份或增量备份与完全备份的方式,增量数据备份每天一次,完全数据备份可根据系统的业务连续性保障相关指标(如RPO,RTO)以及系统数据的重要程度、行业监管要求,制定备份策略。备份介质场外存放,数据保存期限依照国家相关规定。
2、应提供异地实时备份功能,利用通信网络将重要数据实时备份至备份场地。
3、应提供重要数据处理系统的热冗余,保证系统的高可用性。
4、对于同城应用级灾难备份中心,应与生产中心直线距离至少达到30km,可以接管所有核心业务的运行;对于异地应用级灾难备份中心,应与生产中心直线距离至少达到100km。
5、为满足灾难恢复策略的要求,应对关键技术应用的可行性进行验证测试,并记录和保存验证测试的结果。
6、数据备份应至少保存两个副本,且至少一份副本异地存放,完全数据备份至少保证以一个星期为周期的数据冗余。
7、异地灾难备份中心应配备恢复所需的运行环境,并处于就绪状态或运行状态,“就绪状态”指备份中心的所需资源(相关软硬件以及数据等资源)已完全满足但设备CPU还没有运行,“运行状态”指备份中心除所需资源完全满足要求外,CPU也在运行状态。
剩余信息保护
1、应保证操作系统、数据库系统和应用系统用户鉴别信息所在的存储空间被释放或重新分配前得到完全清除,无论这些信息是存放在硬盘上还是内存中。
2、应保证操作系统、数据库系统和应用系统用户存有敏感数据的存储空间被释放或重新分配前得到完全清除,无论这些信息是存放在硬盘上还是内存中。
合规基线配置
安全控制点的范围很广,但是其中的某些方面可以作为我们在操作系统层面的配置依据,因此我们可以从此入手去梳理。
访问鉴权
1、配置尝试密码失败次数超过限制时锁定账户
2、两次密码更改之间的最短间隔为7天或以上
3、配置密码复杂度
4、配置密码有效期为365天或更短
5、密码到期前至少提前7天通知用户
6、禁止重复使用密码
7、限制某些用户及用户组可以访问ssh
8、配置ssh空闲超时间隔
9、配置ssh禁止空密码登录
10、ssh每个允许的最大身份验证尝试不大于4次
网络配置
1、配置/etc/hosts.allow和/etc/hosts.deny允许哪些IP可以访问;
2、开发端口配置防火墙规则3.系统安装防火墙
初始化设置
1、禁用自动挂载
2、安装selinux并运行
3、关闭不需要的系统服务、默认共享和高危端口
4、最小安装的原则,仅安装需要的组件和应用程序
日志与审计
1、收集user/group修改信息事件
2、收集系统管理员操作
3、收集会话启动事件
4、收集登录登出事件
5、收集用户删除文件事件
等等
总结
基于等级保护的了解及安全合规基线的梳理,相信我们对于服务器如何进一步配置有了方向,但是合规基线的配置并不等于就可以在生产环境中直接使用,我们还需要结合经验对服务器的其他参数进行初始化配置优化,如内核、时间同步、DNS等,这样才能真正初始化一台标准化配置的服务器。
对于批量初始化标准化配置,我们可以借助于Ansible Playbook实现安全合规和初始化配置的编排,最终进行标准化交付。