经验分享 | 企业如何做好安全基线配置

一、为什么要做基线配置管理

一个组织在不同的时期部署了不同的业务系统,承载业务系统的是不同的操作系统和支持系统。业务系统在运行期间,基本上很少做操作系统的升级或变更。再就是由于不同供应商的支持原因,导致现存的操作系统和应用版本跨度很广,安全人员或运维人员资源不够的情况下很难支持做基线配置工作。

对组织的运维和安全人员来说,如果运行的业务系统一直不出事,是想不到要做基线配置、升级补丁、修复漏洞这些事情的,考虑做基线管理,通常来自于3个原因:

  • 合规性性要求,上级安全检查;
  • 遇到安全事件,根源落在安全配置或加固未做好的原因上;
  • 有经验的安全运维人员主动推动。

做好基线配置和加固是安全运维工作中很基础的工作,却跟很多安全事件有着紧密关系,如登录策略未配置好导致账号可以爆破、敏感信息泄露、默认口令、开启了含有漏洞服务的端口。做好基础的基线管理和系统加固可以在很多突发安全漏洞情况有足够的响应处理时间。

二、怎样做好基线配置管理

从整个安全工作来说,需要组织高层的支持,基线配置管理也同样需要,安全运维人员需要跟业务、开发、运维一起讨论,定制一个适用的基础运维环境统一计划,使用相同版本的操作系统和应用软件(容器、框架)。开发人员(包括外包开发)使用运维的建议的操作系统版本定制开发。运维人员使用分发软件(如:SaltStack、Puppet)统一做基线的配置修改。可以参考如下步骤:

建立基线配置管理规划

在了解组织现有资产情况(负责人是谁?现在运行的操作系统是什么版本,支持系统是什么版本?供应商是谁?是否还有开发或外包开发支持等)。同业务、开发、运维一起讨论制定合理的版本统一化建议,对统一化的时间达成一致的共识,并寻求最高管理层的支持。

实施情况和实施效果跟绩效关联,明确基线的订制、实施、评审责任,有检查手段能够确认安全基线未能成功部署的原因,有奖惩措施会提高基线落实的效果。

定制基础操作系统镜像

基础镜像包括选择那个版本的操作系统、如何进行分区,如何最小化安装,如何部署必须的工具软件(如杀毒,主机入侵检测、运维系统Agent等),统一做好的基础操作系统镜像分发给开发作为基础的定制开发环境。

制定基线配置模板

基线配置模板可以包含运维和安全2个部分,运维部分如性能相关配置、稳定性相关配置、个性化配置。同一个应用(Tomcat、IIS、Apache等)可以做成一个统一的配置模板由SaltStack、Puppet进行分发。同时也可以做一份标准化配置脚本,在部分能分发的情况下也能统一基线配置。

安全的基线配置可以参考2个来源:工信部基线配置要求;

https://learn.cisecurity.org/benchmarks 的安全配置建议,内容很多,虽然是英文版本的,建议读一下,写清楚了为什么要修改成的配置原因,更新也比较及时。

分发基线配置

分发基线配置最好和运维一起做,由运维支撑系统进行分发,可以加速效率。如果运维目前阶段还没有统一的分发管理系统,可单个用配置脚本完成,这样效率就很低。

基线配置检查

基线配置检查有独立的商业产品可以支持,也可以使用运维管理系统进行检查。

基线配置修订

每隔几年主流操作系统就会进行一次大版本的升级,商业版的操作系统也有可能供应商不在支持,需要建立基线修订的触发条件,满足什么情况下对基线进行修订,按照提前做好的修订流程修订基线配置。

三、基线管理配置的文档示例

同安全文档要求,分为3级文档,1级是指导规范,2级是具体操作要求,3级是结果和检查记录。

《安全基线技术规范》

其中框架分类可以参考CIS Benchmark的分类。

《XX基线配置》

还有种常见的基线配置文档见下面

检查记录可以在基线配置文档增加个符合选项。

四、总结

落实好基线配置还是于其他部门做好配合,一般安全基线的创建和检查属于安全部门负责,实际的实施由运维来做,如果没有比较成熟的运维能力和系统支持,做基线效率很低容易遗漏。安全人员可以协助运维建立基础运维支撑环境,安全运维和运维共通的部分很多,很多痛点是一样的,多和其他部门的人员沟通,一起提升组织的安全防御能力。资源不足就想办法标准化和自动化。

现在很多业务系统在云上部署,也有组织实施了 DevOps 方案,使用 Docker 直接部署应用,基线配置也需要跟上技术趋势,如 Docker 中配置安全的镜像,Dockerfile 的安全配置。

原文发布于微信公众号 - FreeBuf(freebuf)

原文发表时间:2018-01-05

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏维恩的派VNPIE

vn.py多版本切换

vn.py在大家使用和维护下不断地在更新,论坛里sargas分享了一个cmd脚本,可在不安装各个版本vn.py的前提下,切换使用任意版本。小编亲测可用,如有问题...

1253
来自专栏携程技术中心

干货 | 高吞吐消息网关的探索与思考

作者简介 刘惊惊,唯品会业务架构部高级架构师。主要负责用户线,营销线的业务架构,也参与库存系统的重构改造。 一、背景介绍 唯品会是一家立足于“全球精选,正品特卖...

3594
来自专栏Golang语言社区

不只是Web:十大令人振奋的Node.js项目

除了在Web服务器领域大展拳脚之外,Node.js同样也在无处不在的JavaScript应用程序创建当中散发出耀眼的光芒。 ? Node.js:不只是网站 就在...

5835
来自专栏技术小黑屋

Google Play Services 7.5新增API及多项特性

本文为 InfoQ 中文站特供稿件,首发地址为:文章链接。如需转载,请与 InfoQ 中文站联系。

1352
来自专栏编程坑太多

『中级篇』容器的技术概述(二)

每个虚拟机就是一个操作系统,每个操作系统都要分配对应的操作系统资源,大家都用window系统,真正的生产环境一般都是用linux操作系统其中一部分原因就是因为l...

1879
来自专栏数据之美

网站数据统计分析之二:前端日志采集是与非

在上一篇《网站数据统计分析之一:日志收集原理及其实现》中,咱们详细的介绍了整个日志采集的原理与流程。但是不是这样在真实的业务环境中就万事大吉了呢?事实往往并非如...

5527
来自专栏Crossin的编程教室

【我问 Crossin】Crossin 这个名字是什么意思?

1 新建 git 项目是用 git init 还是 git clone,git init 和 git clone 都是创建新仓库,两个有什么区别? git in...

3739
来自专栏机器人网

Python很火,最受欢迎的 7 种编程语言在商用情况?

Elixir Elixir 是一个相当年轻的语言,自然几乎所有的项目都是基于最新版本的。40% 的项目使用的是今年发布的Elixir 1.4 及以上版本,该版本...

3753
来自专栏小古哥的博客园

H5canvas赛车游戏-基于lufylegend引擎

lufylegend引擎是canvas游戏中,比较简单的引擎之一,它不需要配置环境,类似引入jquery包的方式,引用对应js文件即可 lufylegend官方...

3124
来自专栏FreeBuf

基于代理IP的挖掘与分析

? 废话不多说,直入主题。关于代理IP的挖掘与分析,个人的一些分析与总结。 1. 思路 1、获取代理地址 2、对获取的代理地址进行验证,提取出真实可用的代理地...

6437

扫码关注云+社区

领取腾讯云代金券