Chef系统加固的标准和优秀实践

译文 精选
安全 应用安全
本文将和您探讨什么是系统加固、加固的重要性、加固的标准、以及Chef如何帮助DevSecOps团队快速、轻松地加固异构化的系统。

译者 | 陈峻

审校 | 孙淑娟

如果我问您什么方面会与IT基础架构、运营管理、以及DevOps都有联系,您可能会脱口而出是“系统加固”。的确,系统加固不但是拥有多样化基础架构的大型IT团队的日常工作之一,而且能够给系统保护带来广泛的安全功能。  

下面,我将和您探讨什么是系统加固、加固的重要性、加固的标准、以及Chef如何帮助DevSecOps团队快速、轻松地加固异构化的系统。

什么是系统加固?

系统加固是一种通过减少服务器、应用程序、固件、以及其他面向网络的系统级漏洞,来抵御网络攻击的方法。系统加固往往需要在基础设施和安全管理工具的帮助下来实现。这些工具将有助于审计各种系统、检测潜在的攻击向量、并最小化攻击面。  

鉴于网络安全攻击对于企业的各种​​影响​​,系统加固可以做出针对攻击者的一种战略性防御,去弥补那些经常被用来攻击系统、以及访问敏感数据的系统级漏洞。下面是一些与系统加固相关的关键性操作: 

  • 删除或禁用不再使用的系统
  • 限制各种权限
  • 删除多余的应用程序、端口、功能、以及用户帐户
  • 监控各种漏洞

理想情况下,运行漏洞扫描是系统加固的绝好起点。因为它们会发现各种缺失的补丁与安全更新,以及那些可被作为攻击入口的开放端口。系统加固也会要求更改服务与应用程序的默认密码,使用应用防火墙的严格规则来限制或控制流量,启用帐户锁定机制,以及执行持续的合规性审计。由于系统加固是一个持续的动态过程,因此我们需要事先确定好对此负责的团队,以及可长期实施的系统加固策略。  

目前,大多数企业都会遵循由​​CIS​​(Center for Internet Security,互联网安全中心)、NIST(National Institute of Standards and Technology,美国国家标准与技术研究院)、以及ENISA(欧洲网络与信息安全局)等组织颁布的严格的系统加固准则。不过,此类准则并不能让企业一劳永逸。企业需要持续通过构建多层次的深度安全防御原则,在不减少应用程序和操作系统的特性与功能的基础上,来缩小各种网络攻击面。  

从广义上讲,系统加固可被分为如下类型: 

  • 服务器加固:旨在保护服务器上的端口、功能、数据、以及权限。涉及到的技术包括:对服务器软件予以定期更新、打补丁,以及使用强密码机制。
  • 软件加固:通过编辑或更新应用程序代码,来升级所有应用程序的安全措施,以应对各类攻击。
  • 操作系统加固:旨在保障所有端点上运行的操作系统的安全。涉及到的技术包括:更新系统级的补丁,以及限制访问操作系统的帐户。
  • 数据库加固:旨在保障数据库和DBMS的安全。涉及到的技术包括:限制用户的访问权限,禁用不必要的服务,以及加密数据库里的信息等。
  • 网络加固:旨在保障服务器和端点之间的网络中,所有通信通道的安全。

系统加固的重要性 

系统加固极大地降低了网络攻击的风险。在系统级的审计中,一种常见的违规原因便是那些导致“合规性漂移(compliance drift)”的配置更改。也就是说,我们每次在添加新的服务器、用户、以及应用程序时,都有可能产生新的漏洞。  

一种常见现象是:当企业拥有多种可配置的大量软硬件资产时,安全运维人员都需要花时间以手动或自动的方式,对新、旧资产根据CIS之类的基准予以配置与调整。而在完成的时候,他们却无法保证没有引入新的错误。正是由于此类现象在各种IT生态系统中都普遍存在,因此我们需要特别注意那些不断变化的IT基础架构,确保对其动态的安全配置和持续合规性进行检查。对此,企业往往需要实施自动化的工具,通过持续监控和审计异构的IT资产,来保证能够在出现偏差时,及时补救并协助加固IT系统。  

系统加固的优秀实践 

既然系统加固是一个必不可少的过程,那么我们综合了NIST和CIS颁布的优秀实践标准,提出如下全面加固系统的策略:

  • 遵守CIS、NIST、ENISA等系统加固标准
  • 基于企业的特定需求,制定系统加固计划
  • 使用基于CIS基准的安全审计工具,来执行持续审计、并识别系统中的漏洞
  • 使用自动化的漏洞扫描与修补工具,识别缺失的补丁、错误的配置、安全类更新,进而快速执行漏洞的修复
  • 运用强大的用户权限与访问规则,删除整个基础架构中不必要的帐户和权限
  • 使用由CIS认证的自动化合规工具,自动产生合规性偏差报告和修复建议

系统加固建议图

系统加固与Chef Compliance

Chef Compliance是一种自动化的解决方案,其中包括CIS和​​DISA STIG​​的各项基准,可被用于审计和修复系统中的各种漏洞,以促进IT生态系统的合规与安全。在Chef Compliance中,企业可以同时使用Chef Infra(配置管理)和Chef InSpec(合规性)两个模块,来实现:

  • 执行持续审计,评估异构资产的当前配置与状态
  • 根据CIS和STIG推荐的基准,纠正错误的配置
  • 对特定控制的审计,谨慎使用例外和豁免
  • 自定义现有的补救内容,以满足企业的需求
  • 如果安全基准受到了破坏,则应回滚到最后一次已知的可信状态
  • 从单一的仪表板处,查看所有端点的配置与合规状态

借助Chef Compliance,企业可以保持跨混合云和多云环境的安全性,同时提高DevOps流程的整体效率。同时,IT团队能够在Chef的持续安全审计与修复的帮助下,执行系统加固,从而检测和修复不同IT组件中的漏洞。由于IT管理员获得了完全的可见性,因此他们很容易根据企业的实际要求,去调整基线,以及轻松地维护合规性配置文件。同时,他们也能够针对大规模的分布式混合与边缘基础设施,实施系统级别的加固。 

获取、定义、监控、补救和报告

使用Chef进行系统加固的优势

从安全性和合规性的角度来看,使用Chef进行系统加固的优势主要体现在: 

  • 改进的安全态势:通过CIS和STIG的标准化配置文件,可持续开展审计和修复,确保降低系统的数据泄露、漏洞被利用、恶意软件的安装、未经授权的访问等风险。
  • 更好的可审计性:Chef精心规划的配置文件,能够使得复杂的安全审计,变得更容易、更快速、更透明,进而能够交付出适用于主流平台和操作系统的、易于阅读的代码。
  • 改进的系统功能:凭借着无差错(error-free)的自动化、针对流程的提速、配置的一致性、以及全面安全的基础设施,Chef提高了系统的整体效率、以及DevOps团队的生产力。

通过Chef InSpec扫描来检查系统加固的态势

如果您正在为系统加固寻找自动化工具,以确保异构IT资产的合规性,请下载免费版的​​Chef Workstation​​,并针对Windows或Linux系统,运行公开可用的Chef InSpec配置文件。  

无需额外安装,您可以仅在目标节点上使用如下提供的DevSec基线,以分析Linux和Windows的系统态势。由于下面的命令会从GitHub中提取内容,因此您无需克隆存储库。通过提供SSH或WinRM的相关凭据,您可以扫描本地、云端、以及边缘系统中的IT资产:

Linux:

  1. $ inspec exec
  2. -t ssh://user@node -i ~/.ssh/id_rsa

Windows:

  1. $ inspec exec
  2. -t winrm://user:password@node

无论您的系统最初是如何配置的,这些简单的命令都会立即报告各种已通过的和失败了的测试结果,并且能够突出显示那些易受攻击的地方。同时,Chef Automate(Chef生态系统的仪表板)的用户也可以利用各种默认的、或自定义的系统加固配置文件,使用Chef Compliance去安排定期扫描。 

译者介绍

陈峻 (Julian Chen),51CTO社区编辑,具有十多年的IT项目实施经验,善于对内外部资源与风险实施管控,专注传播网络与信息安全知识与经验;持续以博文、专题和译文等形式,分享前沿技术与新知;经常以线上、线下等方式,开展信息安全类培训与授课。

原文标题:System Hardening Standards and Best Practices With Chef,作者:Anugraha Benjamin

责任编辑:华轩 来源: 51CTO
相关推荐

2023-05-16 15:25:08

2022-11-23 10:49:41

IT资产管理IT战略

2022-10-20 10:02:16

前端测试开发

2021-05-18 08:00:00

Kubernetes容器进程

2019-05-21 10:45:44

Docker架构容器

2017-10-13 18:33:57

静态代码分析SCAIDS

2018-12-25 09:26:28

2022-11-28 23:48:06

JavaScript编程语言技巧

2023-02-23 15:56:51

2021-04-15 08:08:48

微前端Web开发

2019-11-27 10:55:36

云迁移云计算云平台

2019-09-17 09:44:45

DockerHTMLPython

2023-04-20 11:59:03

开源PatternFly

2024-01-22 12:46:00

KubernetesAPI接口

2023-06-08 16:47:09

软件开发工具

2023-06-16 08:36:25

多线程编程数据竞争

2022-11-30 10:34:17

2022-08-24 08:16:33

容器安全容器

2023-12-08 14:50:45

Python枚举类工具

2023-07-04 15:56:08

DevOps开发测试
点赞
收藏

51CTO技术栈公众号