Center for Internet Security Linux Benchmark implementation for PuppetLabs
Clone or download
arildjensen Merge pull request #32 from proletaryo/master
Adding support for AWS Linux 2014.09
Latest commit 1cd7a4e Jun 23, 2015
Permalink
Failed to load latest commit information.
files escaped \ Jun 23, 2015
lib/facter Fixing f000[23] to look before leap Jun 5, 2014
manifests fixed puppet-lint warnings Jun 23, 2015
templates added/modified CIS guidelines 1.x.x for AWS Linux Jun 2, 2015
.gitignore added/modified CIS guidelines 1.x.x for AWS Linux Jun 2, 2015
.travis.yml
Gemfile Added RHEL7 support Apr 28, 2015
LICENSE.md Added Apache 2.0 license Feb 25, 2014
Modulefile
README.md Update README.md Jun 20, 2015
Rakefile Adding lint and parser testing Jun 5, 2014

README.md

Build Status

Overview

This module implements the Center for Internet Security (CIS) Security Configuration Benchmark for:

  • Amazon Linux 2014.09
  • Red Hat Enterprise Linux 6 v.1.4.0
  • Red Hat Enterprise Linux 7 v.1.1.0

Each scored control has been implemented as a class or a custom fact.

Installation

Please either:

Use

The class cis::el6all or cis::el7all will enforce all the controls for either RHEL6 or RHEL7. If you wish to deviate please look for the el6all.pp or el7all.pp file and use that as a template. Note that some of the scored controls not able to be written in Puppet code have been implemented as custom facts using Facter. Controls labeled "not scored" by the benchmark are not included.

Also note that there are three subclasses in the cis module:

  • cis::linuxcontrols (implements the specific controls with a general name, e.g. cis::linuxcontrols::c0001, allowing for future re-use)
  • cis::el6 (maps directly to a specific CIS control for RHEL6, e.g. cis::el6::1_1_17 for control 1.1.17 in the benchmark)
  • cis::el7 (maps directly to a specific CIS control for RHEL7, e.g. cis::el6::4_7 for control 4.7 in the benchmark)
  • cis::awslinux (maps directly to a specific CIS control for AWS Linux)

User-Controlled Settings

Some of the settings, such as which log server to use, can be specified by the user. Below is a sample hiera file containing all the current configurable settings:

cis::logserver: 'syslog.localdomain'
cis::ntpserver:
  - ntp1
  - ntp2
  - ntp3
cis::aide_cron_check:
  hour: 6
  minute: 30

Author

Written by Arild Jensen ajensen@counter-attack.com with source code repository at https://github.com/arildjensen/cis-puppet.

Release History

  • 0.2.1 - Added Apache 2.0 license
  • 0.2.0 - Added comments and implemented hiera support for some of the settings.
  • 0.1.0 - Initial release