TMAegis
More rules for nginx

NGINX

TMA-NGINX-2.2.2

Ensure the NGINX service account is locked

MediumLevel 1Automatednginx

Description

The NGINX service account must not have a usable password and should be explicitly locked in the system's shadow file to prevent direct login or password-based privilege escalation. Reads the account from the user directive and expects passwd -S to report L or LK (run as root). 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.

How it is checked

Audit method: Shell command

shell
out=$(nginx -T 2>/dev/null) || exit 1; u=$(printf '%s\n' "$out" | awk '$1=="user"{x=$2; sub(/;$/,"",x); print x; exit}'); [ -n "$u" ] || { echo noncompliant; exit 0; }; s=$(passwd -S "$u" 2>/dev/null) || exit 1; printf '%s\n' "$s" | awk '{print ($2=="L"||$2=="LK")?"compliant":"noncompliant"}'
Expected output
compliant

How it is fixed

Fix method: Guidance or infrastructure patch

Lock the account: passwd -l <nginx user>.

Properties

Operating systems
Any
Tags
nginxaccounts
Reference
CIS NGINX Benchmark v3.0.0 - 2.2.2 Ensure the NGINX service account is locked

Check this host

Run this on a machine you are allowed to audit. The scan is read-only.

shell
tmaegis scan --target nginx