TMAegisBeta
Aturan lainnya untuk apache

Apache HTTP Server

TMA-APACHE-3.12

Ensure Group Write Access for the Document Root Directories and Files Is Properly Restricted

SedangLevel 1Otomatisapache

Deskripsi

Group permissions on Apache Document Root directories $DOCROOT may need to be writable by an authorized group such as development, support, or a production content management tool. However, it is important that the Apache group used to run the server does not have write access to any directories or files in the document root. Counts files under every DocumentRoot that belong to the Apache group (Group directive) and are group-writable; 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. CIS marks this recommendation Manual; the automated check implements its audit procedure.

Cara pemeriksaan

Metode audit: Perintah 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; ev(){ case $1 in '${'*'}') local n=${1#??}; n=${n%?}; local v; v=$(sed -n "s/^[[:space:]]*export[[:space:]]*$n=//p" "${APACHE_ENVVARS:-/etc/apache2/envvars}" 2>/dev/null | tail -n1 | tr -d "\"'"); printf '%s\n' "${v:-$1}";; *) printf '%s\n' "$1";; esac; }; g=$(ev "$(printf '%s\n' "$cfg" | awk 'tolower($1)=="group"{v=$2} END{print v}')"); getent group "$g" >/dev/null || { echo noncompliant; exit 0; }; n=0; while IFS= read -r dr; do dr=${dr//\"/}; [ -d "$dr" ] || continue; k=$(find -L "$dr" -group "$g" -perm /g=w -print 2>/dev/null | wc -l); n=$((n+k)); done < <(printf '%s\n' "$cfg" | awk 'tolower($1)=="documentroot"{print $2}'); echo $n
Output yang diharapkan
0

Cara perbaikan

Metode perbaikan: Panduan atau patch infrastruktur

chmod -R g-w <DocumentRoot> for files owned by the Apache group.

Properti

Sistem operasi
Apa saja
Tag
apacheaccounts
Referensi
CIS Apache HTTP Server 2.4 Benchmark v2.4.0 - 3.12 Ensure Group Write Access for the Document Root Directories and Files Is Properly Restricted

Periksa host ini

Jalankan ini pada mesin yang diizinkan untuk Anda audit. Pemindaian bersifat hanya baca.

shell
tmaegis scan --target apache