#!/bin/bash # # harbian-audit for Debian GNU/Linux 7/8/9 or CentOS Hardening # # # 6.11 Ensure IMAP and POP server is not enabled (Not Scored) # set -e # One error, it's over set -u # One variable unset, it's over HARDENING_LEVEL=3 HARDENING_EXCEPTION=mail # Based on aptitude search '~Pimap-server' and aptitude search '~Ppop3-server' PACKAGES='citadel-server courier-imap cyrus-imapd-2.4 dovecot-imapd mailutils-imap4d courier-pop cyrus-pop3d-2.4 dovecot-pop3d heimdal-servers mailutils-pop3d popa3d solid-pop3d xmail' # This function will be called if the script status is on enabled / audit mode audit () { if [ $OS_RELEASE -eq 2 ]; then ok "Redhat or CentOS does not have this check, so PASS" else for PACKAGE in $PACKAGES; do is_pkg_installed $PACKAGE if [ $FNRET = 0 ]; then if [ $ISEXCEPTION -eq 1 ]; then warn "$PACKAGE is installed! But Exception is set to 1, so it's pass!" else crit "$PACKAGE is installed!" fi else ok "$PACKAGE is absent" fi done fi } # This function will be called if the script status is on enabled mode apply () { if [ $OS_RELEASE -eq 2 ]; then ok "Redhat or CentOS does not have this check, so PASS" else for PACKAGE in $PACKAGES; do is_pkg_installed $PACKAGE if [ $FNRET = 0 ]; then if [ $ISEXCEPTION -eq 1 ]; then warn "$PACKAGE is installed! But the exception is set to true, so don't need any operate." else crit "$PACKAGE is installed, purging it" uninstall_pkg $PACKAGE fi else ok "$PACKAGE is absent" fi done fi } # This function will create the config file for this check with default values create_config() { cat <