Renum 8.2.x to 4.2.2.x for syslog-ng

renamed:    bin/hardening/8.2.2_enable_syslog-ng.sh -> bin/hardening/4.2.2.1_enable_syslog-ng.sh
	renamed:    bin/hardening/8.2.3_configure_syslog-ng.sh -> bin/hardening/4.2.2.2_configure_syslog-ng.sh
	new file:   bin/hardening/4.2.2.3_syslog_ng_logfiles_perm.sh
	renamed:    bin/hardening/8.2.5_syslog-ng_remote_host.sh -> bin/hardening/4.2.2.4_syslog-ng_remote_host.sh
	renamed:    bin/hardening/8.2.6_remote_syslog-ng_acl.sh -> bin/hardening/4.2.2.5_remote_syslog-ng_acl.sh
	renamed:    tests/hardening/8.2.6_remote_syslog-ng_acl.sh -> tests/hardening/4.2.2.1_enable_syslog-ng.sh
	renamed:    tests/hardening/8.2.3_configure_syslog-ng.sh -> tests/hardening/4.2.2.2_configure_syslog-ng.sh
	renamed:    tests/hardening/8.2.2_enable_syslog-ng.sh -> tests/hardening/4.2.2.3_syslog_ng_logfiles_perm.sh
	renamed:    tests/hardening/8.2.5_syslog-ng_remote_host.sh -> tests/hardening/4.2.2.4_syslog-ng_remote_host.sh
	new file:   tests/hardening/4.2.2.5_remote_syslog-ng_acl.sh
This commit is contained in:
Charles Herlin 2019-09-11 11:52:24 +02:00 committed by Thibault Ayanides
parent 00dd3ef591
commit 65f92a7556
10 changed files with 97 additions and 4 deletions

View File

@ -5,7 +5,7 @@
#
#
# 8.2.2 Ensure the syslog-ng Service is activated (Scored)
# 4.2.2.1 Ensure syslog-ng service is enabled (Scored)
#
set -e # One error, it's over

View File

@ -5,7 +5,7 @@
#
#
# 8.2.3 Configure /etc/syslog-ng/syslog-ng.conf (Not Scored)
# 4.2.2.2 Configure /etc/syslog-ng/syslog-ng.conf (Not Scored)
#
set -e # One error, it's over

View File

@ -0,0 +1,83 @@
#!/bin/bash
#
# CIS Debian Hardening
#
#
# 4.2.2.3 Ensure syslog-ng default file permissions configured (Scored)
#
set -e # One error, it's over
set -u # One variable unset, it's over
HARDENING_LEVEL=3
DESCRIPTION="Ensure logfile are created with root:640"
PATTERN='options[[:space:]]*{[[:alnum:] ()_;"\t]*perm\(0640\);'
# This function will be called if the script status is on enabled / audit mode
audit () {
FOUND=0
FILES="$SYSLOG_BASEDIR/syslog-ng.conf $($SUDO_CMD find -L $SYSLOG_BASEDIR/conf.d/ -type f)"
for FILE in $FILES; do
does_pattern_exist_in_file_multiline "$FILE" "$PATTERN"
if [ $FNRET = 0 ]; then
FOUND=1
fi
done
if [ $FOUND = 1 ]; then
ok "$PATTERN is present in $FILES"
else
crit "$PATTERN is not present in $FILES"
fi
}
# This function will be called if the script status is on enabled mode
apply () {
FOUND=0
FILES="$SYSLOG_BASEDIR/syslog-ng.conf $(find -L $SYSLOG_BASEDIR/conf.d/ -type f)"
for FILE in $FILES; do
does_pattern_exist_in_file_multiline "$FILE" "$PATTERN"
if [ $FNRET = 0 ]; then
FOUND=1
fi
done
if [ $FOUND = 1 ]; then
ok "$PATTERN is present in $FILES"
else
crit "$PATTERN is not present in $FILES, please set a remote host to send your logs"
fi
}
# This function will create the config file for this check with default values
create_config() {
cat <<EOF
status=audit
SYSLOG_BASEDIR='/etc/syslog-ng'
EOF
}
# This function will check config parameters required
check_config() {
:
}
# Source Root Dir Parameter
if [ -r /etc/default/cis-hardening ]; then
. /etc/default/cis-hardening
fi
if [ -z "$CIS_ROOT_DIR" ]; then
echo "There is no /etc/default/cis-hardening file nor cis-hardening directory in current environment."
echo "Cannot source CIS_ROOT_DIR variable, aborting."
exit 128
fi
# Main function, will call the proper functions given the configuration (audit, enabled, disabled)
if [ -r $CIS_ROOT_DIR/lib/main.sh ]; then
. $CIS_ROOT_DIR/lib/main.sh
else
echo "Cannot find main.sh, have you correctly defined your root directory? Current value is $CIS_ROOT_DIR in /etc/default/cis-hardening"
exit 128
fi

View File

@ -5,7 +5,7 @@
#
#
# 8.2.5 Configure rsyslog to Send Logs to a Remote Log Host (Scored)
# 4.2.2.4 Ensure syslog-ng is configured to send logs to a remote log host (Not Scored)
#
set -e # One error, it's over

View File

@ -5,7 +5,7 @@
#
#
# 8.2.6 Accept Remote rsyslog Messages Only on Designated Log Hosts (Not Scored)
# 4.2.2.5 Accept Remote rsyslog Messages Only on Designated Log Hosts (Not Scored)
#
set -e # One error, it's over

View File

@ -0,0 +1,10 @@
# run-shellcheck
test_audit() {
describe Running on blank host
register_test retvalshouldbe 0
dismiss_count_for_test
# shellcheck disable=2154
run blank /opt/debian-cis/bin/hardening/"${script}".sh --audit-all
# TODO fill comprehensive tests
}