TMAegisBeta
Više pravila za apache

Apache HTTP Server

TMA-APACHE-7.12

Ensure Only Cipher Suites That Provide Forward Secrecy Are Enabled

NiskaNivo 2Automatskaapache

Opis

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.

Kako se proverava

Metod provere: Komanda ljuske

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
Očekivani izlaz
compliant

Kako se ispravlja

Metod ispravke: Smernica ili zakrpa infrastrukture

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.

Svojstva

Operativni sistemi
Bilo koji
Oznake
apachetls
Referenca
CIS Apache HTTP Server 2.4 Benchmark v2.4.0 - 7.12 Ensure Only Cipher Suites That Provide Forward Secrecy Are Enabled

Proverite ovaj računar

Pokrenite ovo na računaru za koji imate dozvolu za proveru. Skeniranje radi u režimu samo za čitanje.

shell
tmaegis scan --target apache --level 2