Disable httpd Service
Ensures the Apache/httpd web server (httpd.service) is disabled and not running unless the host is an intentional web server.
Checked against the resolved running state (e.g. sshd -T, sysctl, systemctl show), catches drop-ins and Includes a file read would miss. Caveat: runtime ≠ persistence; a value correct now may not survive a reboot.
Pavois asserts the effective configuration, the live, resolved state, not a file. File-based scanners (OVAL/SCAP, Lynis) miss Includes, drop-ins and runtime defaults; this check sees what is actually applied.
A mapping is a cross-reference to where each standard places this requirement, anchored and cross-validated, not a claim of equivalence. A passing check is evidence toward these references, how to read it.
Why this rule matters
An Apache/httpd web server exposes a network-facing service that is a frequent remote avenue of attack. Unless the host is an intended web server, it should be disabled to reduce the attack surface.
What Pavois checks
Pavois queries the resolved unit state with systemctl is-enabled / is-active for httpd.service. The effective state catches a server enabled via a drop-in or socket activation that scanning /etc/httpd/ or /etc/apache2/ config files would miss.
describe service('apache2.service') do
it { should_not be_enabled }
it { should_not be_running }
endHow to verify it is applied
Run systemctl is-enabled httpd.service (expected disabled or not-found) and systemctl is-active httpd.service (expected inactive).
Inspect & investigate
Check systemctl show httpd.service (fields UnitFileState, ActiveState) and journalctl -u httpd.service; HTTP request activity also appears in /var/log/httpd/ or /var/log/apache2/.
Remediation
Pavois's harden plan applies a service resource for httpd with actions disable and stop, so the web server stays off across reboots and is stopped immediately. Apply it with pavois harden apply.
Pavois applies this with its own harden engine, the plan below, not a shell script:
| action | disable, stop |
|---|---|
| name | apache2.service |
| resource | service |
pavois harden plan localwhere the target is local, a user@host SSH alias, or a container , Docs
Impact & precautions
On a host that is not a web server, disabling httpd.service has no functional impact. Precaution: if this machine serves websites or APIs over HTTP/HTTPS, do not disable it, those services would go offline; document the exception instead. Note that on Debian/Ubuntu the unit is usually apache2.service, so also confirm that one is in the intended state.
Standards mapping
| Standard | Reference | Type | Version | Confidence |
|---|---|---|---|---|
| CIS | 2.1.18 | direct | per OS, see the benchmark table | high |
| NIST | CM-7(a), CM-7(b), CM-6(a) | supporting | 800-53 Rev 5 · 800-171 Rev 2 (pinned) | medium |
Each reference is a cross-reference anchored in the upstream benchmark and cross-validated against the SCAP Security Guide and ansible-lockdown, not a claim of equivalence. Direct = a prescriptive, line-level requirement; supporting = an abstract control family (NIST) the check provides evidence toward. How to read a mapping.