8.3.2_tripwire_cron.sh

This commit is contained in:
thibault.dewailly 2016-04-14 23:05:58 +02:00
parent d373b6f937
commit 909dde9f18
4 changed files with 61 additions and 3 deletions

View File

@ -12,13 +12,11 @@
set -e # One error, it's over set -e # One error, it's over
set -u # One variable unset, it's over set -u # One variable unset, it's over
#destination d_httpd_error { tcp("10.1.0.31" log_fifo_size(100000000) template("<187>$MSGHDR$MSG\n") template_escape(no)); };
PATTERN='^destination.*(tcp|udp)[[:space:]]*\([[:space:]]*\".*\"[[:space:]]*\)' PATTERN='^destination.*(tcp|udp)[[:space:]]*\([[:space:]]*\".*\"[[:space:]]*\)'
FILES='/etc/syslog-ng/syslog-ng.conf /etc/syslog-ng/conf.d/*'
# This function will be called if the script status is on enabled / audit mode # This function will be called if the script status is on enabled / audit mode
audit () { audit () {
FILES="$SYSLOG_BASEDIR/syslog-ng.conf $SYSLOG_BASEDIR/conf.d/*"
does_pattern_exists_in_file "$FILES" "$PATTERN" does_pattern_exists_in_file "$FILES" "$PATTERN"
if [ $FNRET != 0 ]; then if [ $FNRET != 0 ]; then
crit "$PATTERN not present in $FILES" crit "$PATTERN not present in $FILES"
@ -29,6 +27,7 @@ audit () {
# This function will be called if the script status is on enabled mode # This function will be called if the script status is on enabled mode
apply () { apply () {
FILES="$SYSLOG_BASEDIR/syslog-ng.conf $SYSLOG_BASEDIR/conf.d/*"
does_pattern_exists_in_file "$FILES" "$PATTERN" does_pattern_exists_in_file "$FILES" "$PATTERN"
if [ $FNRET != 0 ]; then if [ $FNRET != 0 ]; then
crit "$PATTERN not present in $FILES, please set a remote host to send your logs" crit "$PATTERN not present in $FILES, please set a remote host to send your logs"

View File

@ -0,0 +1,56 @@
#!/bin/bash
#
# CIS Debian 7 Hardening
# Authors : Thibault Dewailly, OVH <thibault.dewailly@corp.ovh.com>
#
#
# 8.3.2 Implement Periodic Execution of File Integrity (Scored)
#
set -e # One error, it's over
set -u # One variable unset, it's over
FILES='/etc/crontab /etc/cron.d/*'
PATTERN='tripwire --check'
# This function will be called if the script status is on enabled / audit mode
audit () {
does_pattern_exists_in_file "$FILES" "$PATTERN"
if [ $FNRET != 0 ]; then
crit "$PATTERN not present in $FILES"
else
ok "$PATTERN present in $FILES"
fi
}
# This function will be called if the script status is on enabled mode
apply () {
does_pattern_exists_in_file "$FILES" "$PATTERN"
if [ $FNRET != 0 ]; then
warn "$PATTERN not present in $FILES, setting tripwire cron"
echo "0 10 * * * root /usr/sbin/tripwire --check > /dev/shm/tripwire_check 2>&1 " > /etc/cron.d/CIS_8.3.2_tripwire
else
ok "$PATTERN present in $FILES"
fi
}
# This function will check config parameters required
check_config() {
:
}
# Source Root Dir Parameter
if [ ! -r /etc/default/cis-hardenning ]; then
echo "There is no /etc/default/cis-hardenning file, cannot source CIS_ROOT_DIR variable, aborting"
exit 128
else
. /etc/default/cis-hardenning
if [ -z $CIS_ROOT_DIR ]; then
echo "No CIS_ROOT_DIR variable, aborting"
fi
fi
# Main function, will call the proper functions given the configuration (audit, enabled, disabled)
[ -r $CIS_ROOT_DIR/lib/main.sh ] && . $CIS_ROOT_DIR/lib/main.sh

View File

@ -1,2 +1,3 @@
# Configuration for script of same name # Configuration for script of same name
status=enabled status=enabled
SYSLOG_BASEDIR='/etc/syslog-ng'

View File

@ -0,0 +1,2 @@
# Configuration for script of same name
status=enabled