NGINX
TMA-NGINX-4.1.8
Ensure HTTP Strict Transport Security (HSTS) is enabled
Descripción
HTTP Strict Transport Security (HSTS) is a critical security header that instructs browsers to communicate with a domain exclusively over HTTPS. A comprehensive HSTS policy must include the includeSubDomains directive to apply the policy to all current and future subdomains. For maximum protection, the policy should also contain the preload directive, allowing the domain to be submitted to browser-pre-load lists. Every Strict-Transport-Security add_header must have max-age of at least 31536000, includeSubDomains and the always parameter. Evaluated on the merged configuration printed by `nginx -T` (all included files; needs permission to read them). CIS marks this recommendation Manual; the automated check implements its audit procedure.
Cómo se verifica
Método de auditoría: Comando de shell
out=$(nginx -T 2>/dev/null) || exit 1; printf '%s\n' "$out" | awk '{l=$0; o=""; q=""; for(i=1;i<=length(l);i++){c=substr(l,i,1); if(q!=""){o=o c; if(c==q) q=""; continue} if(c=="\""||c=="\047"){q=c; o=o c; continue} if(c=="#") break; if(c==";"||c=="{"){print o c; o=""; continue} if(c=="}"){if(o~/[^[:space:]]/) print o; print "}"; o=""; continue} o=o c} if(o~/[^[:space:]]/) print o}' | awk 'function a(i, x){x=$i; sub(/;$/,"",x); gsub(/["\047]/,"",x); return x} function inb(n, i){for(i=1;i<=sp;i++) if(st[i]==n) return 1; return 0} $1=="add_header" && tolower(a(2))=="strict-transport-security"{n++; l=tolower($0); m=0; if(match(l,/max-age=[0-9]+/)) m=substr(l,RSTART+8,RLENGTH-8)+0; if(m>=31536000 && l~/includesubdomains/ && a(NF)=="always") ok++} {o=gsub(/\{/,"{"); c=gsub(/\}/,"}"); while(o-->0){sp++; b=$1; sub(/\{.*/,"",b); st[sp]=b} while(c-->0 && sp>0) sp--} END{print (n>0&&ok==n)?"compliant":"noncompliant"}'- Salida esperada
compliant
Cómo se corrige
Método de corrección: Guía o parche de infraestructura
add_header Strict-Transport-Security "max-age=63072000; includeSubDomains" always; Then run nginx -t and reload nginx.
Propiedades
- Sistemas operativos
- Cualquiera
- Etiquetas
- nginxtls
- Referencia
- CIS NGINX Benchmark v3.0.0 - 4.1.8 Ensure HTTP Strict Transport Security (HSTS) is enabled
Verificar este host
Ejecute esto en un equipo que tenga permiso para auditar. El escaneo es de solo lectura.
tmaegis scan --target nginx