TMA-TOMCAT-10.18
Use the logEffectiveWebXml and metadata-complete settings for deploying applications in production
Opis
Both fragments and annotations give rise to security concerns. web.xml contains a metadata-complete attribute on the web-app element whose binary value defines whether other sources of metadata should be considered when deploying this web application, this includes annotations on class files (@WebServlet, but also @WebListener, @WebFilter, …), web-fragment.xml as well as classes located in WEB-INF/classes. Counts applications whose WEB-INF/web.xml lacks metadata-complete="true" or whose META-INF/context.xml lacks logEffectiveWebXml="true"; expects 0. Reads $CATALINA_BASE (default /opt/tomcat) and $CATALINA_HOME (default: $CATALINA_BASE); set them for packaged installs (e.g. CATALINA_BASE=/var/lib/tomcat10, CATALINA_HOME=/usr/share/tomcat10). XML comments are ignored.
Kako se proverava
Metod provere: Komanda ljuske
B=${CATALINA_BASE:-/opt/tomcat}; H=${CATALINA_HOME:-$B}; O=${TOMCAT_OWNER:-tomcat_admin}; G=${TOMCAT_GROUP:-tomcat}; x(){ [ -r "$1" ] || return 1; awk 'BEGIN{RS="<!--"} NR==1{print;next} {i=index($0,"-->"); if(i) print substr($0,i+3)}' "$1" | tr '\n\t\r' ' ' | tr '<' '\n'; }; [ -d "$B/webapps" ] || exit 1; n=0; for a in "$B"/webapps/*/; do [ -d "$a" ] || continue; x "$a/WEB-INF/web.xml" 2>/dev/null | grep -Eq '^web-app[[:space:]].*metadata-complete[[:space:]]*=[[:space:]]*.true' && x "$a/META-INF/context.xml" 2>/dev/null | grep -Eq '^Context[[:space:]].*logEffectiveWebXml[[:space:]]*=[[:space:]]*.true' || n=$((n+1)); done; echo $n- Očekivani izlaz
0
Kako se ispravlja
Metod ispravke: Smernica ili zakrpa infrastrukture
Set metadata-complete="true" on <web-app> in each application web.xml and logEffectiveWebXml="true" on <Context> in each META-INF/context.xml. Restart Tomcat afterwards.
Svojstva
- Operativni sistemi
- Bilo koji
- Oznake
- tomcatdeployment
- Referenca
- CIS Apache Tomcat 10.1 Benchmark v1.0.0 - 10.18 Use the logEffectiveWebXml and metadata-complete settings for deploying applications in production
Proverite ovaj računar
Pokrenite ovo na računaru za koji imate dozvolu za proveru. Skeniranje radi u režimu samo za čitanje.
tmaegis scan --target tomcat