TMAegisBeta
Mais regras para apache

Apache HTTP Server

TMA-APACHE-5.16

Ensure Browser Framing Is Restricted

BaixaNível 2Automatizadaapache

Descrição

To prevent Clickjacking or UI Redressing attacks, it's important for the server to include an HTTP header which instructs browsers to restrict the content from being framed. There are two headers that may be used. The Content-Security-Policy header, or the X- Frame-Options header. The Header directive allows server HTTP response headers to be added, replaced or merged. Compliant when a Header always set/append Content-Security-Policy with frame-ancestors 'none' or 'self', or a Header always set/append X-Frame-Options SAMEORIGIN/DENY, 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.

Como é verificado

Método de auditoria: Comando shell

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 '{l=tolower($0)} l~/^header[[:space:]]+always[[:space:]]+(set|append)[[:space:]]+"?content-security-policy/ && l~/frame-ancestors[[:space:]]+\047?(none|self)/{ok=1} l~/^header[[:space:]]+always[[:space:]]+(set|append)[[:space:]]+"?x-frame-options"?[[:space:]]+"?(sameorigin|deny)/{ok=1} END{print ok?"compliant":"noncompliant"}'
Saída esperada
compliant

Como é corrigido

Método de correção: Orientação ou patch de infraestrutura

Header always append Content-Security-Policy "frame-ancestors 'self'" Then run apachectl configtest and reload Apache.

Propriedades

Sistemas operacionais
Qualquer
Tags
apacheheaders
Referência
CIS Apache HTTP Server 2.4 Benchmark v2.4.0 - 5.16 Ensure Browser Framing Is Restricted

Verificar este host

Execute isto em uma máquina que você tenha permissão para auditar. A varredura é somente leitura.

shell
tmaegis scan --target apache --level 2