[![GitHub Release][release-img]][release] [![License][license-img]][license] [![Coverage Status][cov-img]][cov] [![GitHub Build Actions][build-action-img]][actions] [![GitHub Release Actions][release-action-img]][actions]
Linux-bench is a Go application that checks whether the Linux operating system is configured securely by running the checks documented in the CIS Distribution Independent Linux Benchmark.
Tests are configured with YAML files, making this tool easy to update as test specifications evolve.
linux-bench currently supports tests for benchmark version 1.1.0 only.
linux-bench will determine the test set to run on the host machine based on the following:
- Operating system platform - ubuntu/debian/rhel/coreos
- Boot loader - grub/grub2
- System logging tool - rsyslog/syslog-ng
- Lsm - selinux/apparmor
Install Go, then clone this repository and run as follows (assuming your $GOPATH is set):
go install github.com/Sentinel-One/linux-bench@<version_tag>
cd $GOPATH/pkg/mod/github.com/!sentinel-!one/linux-bench@<version-tag>
go build -o linux-bench .
# See all supported options
./linux-bench --help
# Run checks
./linux-bench
# Run checks for specified linux cis version
./linux-bench --version <version>
Tests are specified in definition files cfg/<version>/definitions.yaml.
Where <version>
is the version of linux cis for which the test applies.
We welcome PRs and issue reports.