TMAegis
Weitere Regeln für apache

Apache HTTP Server

TMA-APACHE-7.12

Ensure Only Cipher Suites That Provide Forward Secrecy Are Enabled

NiedrigStufe 2Automatisiertapache

Beschreibung

In cryptography, forward secrecy (FS), which is also known as perfect forward secrecy (PFS), is a feature of specific key exchange protocols that give assurance that your session keys will not be compromised even if the private key of the server is compromised. The effective SSLCipherSuite (last one at server level and in each virtual host) is expanded with the local openssl ciphers -v; every TLS 1.2-and-older suite must use ephemeral key exchange (Kx=ECDH or DH). Fails when no SSLCipherSuite is configured. 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. CIS marks this recommendation Manual; the automated check implements its audit procedure.

So wird geprüft

Prüfmethode: Shell-Befehl

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; eff(){ printf '%s\n' "$cfg" | awk -v k="$1" '{l=tolower($0)} l~/^<virtualhost/{vh=1; next} l~/^<\/virtualhost>/{if(v!="") print v; v=""; vh=0; next} tolower($1)==tolower(k){if(vh) v=$0; else g=$0} END{if(g!="") print g}'; }; s=$(eff SSLCipherSuite | awk 'tolower($1)=="sslciphersuite"{v=(NF>=3 && ($2=="SSL"||$2=="TLSv1.3"))?$3:$2; if(NF>=3 && $2=="TLSv1.3") next; gsub(/"/,"",v); print v}'); [ -n "$s" ] || { echo noncompliant; exit 0; }; command -v openssl >/dev/null || exit 1; bad=0; while IFS= read -r v; do o=$(openssl ciphers -v "$v" 2>/dev/null) || { bad=1; continue; }; printf '%s\n' "$o" | awk '$2!="TLSv1.3" && $3!~/^Kx=(ECDH|DH)$/' | grep -q . && bad=1; done <<< "$s"; [ "$bad" = 0 ] && echo compliant || echo noncompliant
Erwartete Ausgabe
compliant

So wird behoben

Behebungsmethode: Anleitung oder Infrastruktur-Patch

SSLCipherSuite EECDH:EDH:!NULL:!SSLv2:!RC4:!aNULL:!3DES:!IDEA (at server level and in each TLS virtual host). Then run apachectl configtest and reload Apache.

Eigenschaften

Betriebssysteme
Beliebig
Tags
apachetls
Referenz
CIS Apache HTTP Server 2.4 Benchmark v2.4.0 - 7.12 Ensure Only Cipher Suites That Provide Forward Secrecy Are Enabled

Diesen Host prüfen

Führen Sie dies auf einem Rechner aus, den Sie prüfen dürfen. Der Scan ist schreibgeschützt.

shell
tmaegis scan --target apache --level 2