TMAegis
More rules for apache

Apache HTTP Server

TMA-APACHE-8.2

Ensure ServerSignature Is Not Enabled

LowLevel 1Automatedapache

Description

Disable the server signatures which generates a signature line as a trailing footer at the bottom of server generated documents such as error pages. ServerSignature must be absent (default Off) or Off everywhere. Reads the main configuration (APACHE_CONF overrides; default /etc/apache2/apache2.conf, /etc/httpd/conf/httpd.conf or /usr/local/apache2/conf/httpd.conf) and every Include/IncludeOptional file.

How it is checked

Audit method: Shell command

shell
c=${APACHE_CONF:-}; if [ -z "$c" ]; then for f in /etc/apache2/apache2.conf /etc/httpd/conf/httpd.conf /usr/local/apache2/conf/httpd.conf /etc/apache2/httpd.conf; do [ -f "$f" ] && { c=$f; break; }; done; fi; [ -r "$c" ] || exit 1; R=$(awk 'tolower($1)=="serverroot"{v=$2; gsub(/"/,"",v); print v; exit}' "$c"); [ -n "$R" ] || R=$(dirname "$c"); shopt -s nocasematch; inc(){ local p g l; [ ${#FUNCNAME[@]} -lt 16 ] || return 0; p=$1; case $p in /*) ;; *) p=$R/$p;; esac; [ -d "$p" ] && p="$p/*"; for g in $p; do [ -f "$g" ] || continue; while IFS= read -r l || [ -n "$l" ]; do if [[ $l =~ ^[[:space:]]*include(optional)?[[:space:]]+\"?([^\"[:space:]]+) ]]; then inc "${BASH_REMATCH[2]}"; else printf '%s\n' "$l"; fi; done < "$g"; done; }; cfg=$(inc "$c" | sed -e 's/^[[:space:]]*//' -e '/^#/d' -e '/^$/d'); shopt -u nocasematch; printf '%s\n' "$cfg" | awk 'tolower($1)=="serversignature" && tolower($2)!="off"{bad=1} END{print bad?"noncompliant":"compliant"}'
Expected output
compliant

How it is fixed

Fix method: Guidance or infrastructure patch

Set ServerSignature Off and remove ServerSignature On/EMail. Then run apachectl configtest and reload Apache.

Properties

Operating systems
Any
Tags
apacheinformation-disclosure
Reference
CIS Apache HTTP Server 2.4 Benchmark v2.4.0 - 8.2 Ensure ServerSignature Is Not Enabled

Check this host

Run this on a machine you are allowed to audit. The scan is read-only.

shell
tmaegis scan --target apache