TMAegis
tomcat 관련 규칙 더 보기

Apache Tomcat

TMA-TOMCAT-10.18

Use the logEffectiveWebXml and metadata-complete settings for deploying applications in production

낮음레벨 1자동tomcat

설명

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.

점검 방법

감사 방식: 셸 명령

shell
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
예상 출력
0

조치 방법

조치 방식: 가이드 또는 인프라 패치

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.

속성

운영 체제
모두
태그
tomcatdeployment
참고 자료
CIS Apache Tomcat 10.1 Benchmark v1.0.0 - 10.18 Use the logEffectiveWebXml and metadata-complete settings for deploying applications in production

이 호스트 점검하기

감사 권한이 있는 시스템에서 실행하세요. 스캔은 읽기 전용입니다.

shell
tmaegis scan --target tomcat