TMA-APACHE-3.4
Ensure Apache Directories and Files Are Owned By Root
AltaNivel 1Automatizadaapache
Descripción
The Apache directories and files should be owned by root. This applies to all of the Apache software directories and files installed. Counts files under the ServerRoot (APACHE_PREFIX) not owned by root; expects 0. 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.
Cómo se verifica
Método de auditoría: Comando de 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; [ -d "$R" ] || exit 1; find "$R" ! -user root -print 2>/dev/null | wc -l- Salida esperada
0
Cómo se corrige
Método de corrección: Guía o parche de infraestructura
chown -R root "$APACHE_PREFIX" (the ServerRoot, e.g. /etc/httpd or /etc/apache2).
Propiedades
- Sistemas operativos
- Cualquiera
- Etiquetas
- apacheaccounts
- Referencia
- CIS Apache HTTP Server 2.4 Benchmark v2.4.0 - 3.4 Ensure Apache Directories and Files Are Owned By Root
Verificar este host
Ejecute esto en un equipo que tenga permiso para auditar. El escaneo es de solo lectura.
shell
tmaegis scan --target apache