司开星的博客

Chef Inspec 入门

因工作需要最近调研了Microsoft Security Compliance Toolkit 和Inspect Chef两款支持Windows的安全基线扫描工具。本文记录一下Chef Inspec的一些基础知识。

简介

Chef Inspec是Chef提供的一个安全基线扫描工具,支持Windows、macOS、Redhat、Ubuntu等系统。

本文侧重 Windows Server 的扫描流程。

下载

https://downloads.chef.io/inspec/

你也可以根据Github页面的Readme使用ruby gem安装:

For CentOS/RedHat/Fedora:

yum -y install ruby ruby-devel make gcc gcc-c++

For Ubuntu:

apt-get -y install ruby ruby-dev gcc g++ make

install Inspec:

gem install inspec-bin

用法

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
$ inspec --help
Commands:
inspec archive PATH # archive a profile to tar.gz (default) ...
inspec check PATH # verify all tests at the specified PATH
inspec compliance SUBCOMMAND ... # Chef Compliance commands
inspec detect # detect the target OS
inspec exec PATH(S) # run all test files at the specified PATH.
inspec help [COMMAND] # Describe available commands or one spe...
inspec init TEMPLATE ... # Scaffolds a new project
inspec json PATH # read all tests in PATH and generate a ...
inspec shell # open an interactive debugging shell
inspec supermarket SUBCOMMAND ... # Supermarket commands
inspec version # prints the version of this tool

Options:
[--diagnose], [--no-diagnose] # Show diagnostics (versions, configurations)

想直接使用现有基线列表开始扫描需要使用inspect exec:

inspec exec https://github.com/dev-sec/windows-baseline

参数可以接Github上别人贡献的基线列表。也可以下载使用:

1
2
git clone https://github.com/dev-sec/windows-baseline
inspec exec windows-baseline

官方提供了一个chef supermarket用于分享各种基线列表,有需求可以去按需查找。

注意

版本

每个Chef InSpec版本都写了支持的操作系统版本,比如1.50.1及之后的版本不支持Windows Server 2008,另外基线列表可能也有系统版本限制,比如示例的windows-baseline只支持Windows 2012R2以上版本。不过在Windows 2008R2上实测发现Chef InSpec 1、3、4大版本都可以正常安装,使用windows-baseline扫描时Chef InSpec 1会直接报错,3、4有报错但可以扫描出很多结果,且4的结果多一些。

###