VPS & Server audit fixes
Logging & Monitoring: fixing all 3 checks
The logging and monitoring audit checks whether this host blocks repeated login failures and keeps the evidence, covering brute-force protection, log rotation and failed SSH logins in the auth log.
All three checks are marked as needing root and two of them genuinely skip without it: Brute-Force Protection can see that fail2ban is running but cannot list its jails, and Failed SSH Logins cannot open /var/log/auth.log, /var/log/secure or the journal. System Log Rotation never skips, and a host with no logrotate binary at all warns rather than skipping.
Transcribed from the vps-security-logging-monitoring audit script. For what the audit covers rather than how to fix it, see the Logging & Monitoring checklist.
Find your finding
Listed in the order the audit runs them. Take the check name from the third field of the result line and open its page.
Brute-Force Protection
SoonChecks whether fail2ban is installed, running and has active jails, or another brute-force blocker is in place
MediumNeeds root4 resultsSystem Log Rotation
SoonChecks whether logrotate is installed and rotating, and flags log files that have grown past 100MB
MediumNeeds root2 resultsFailed SSH Logins
SoonChecks the auth log for failed SSH login attempts in the last 24 hours
LowNeeds root3 results
A SKIP is never a pass
A skipped check verified nothing at all. The most common cause is privilege: 3 of the 3 checks in this audit need root for a complete result. Before every run, each script works out which of four privilege modes it is in.
| Mode | How it is reached | What it means for your results |
|---|---|---|
root | The audit runs as UID 0. | Every privileged branch runs directly. No check skips for lack of permission. |
nopass | sudo -n true succeeds, so the account has passwordless sudo. | Privileged commands run through sudo -n. |
pass | A sudo password was supplied in the CtrlOps audit settings and accepted. | Privileged commands run through sudo -S. |
none | None of the above worked. | CAN_ROOT=0. Every privileged branch returns SKIP with a "Need root" message rather than guessing. |
If many checks skip with a “need root” message, run the audit as root, grant the audit account sudo (with or without NOPASSWD), or supply the sudo password in the CtrlOps audit settings.
Logging & Monitoring questions
Run all 3 Logging & Monitoring checks, in one click
CtrlOps runs this audit over your existing SSH connection - no agents, no scripts to manage. $7/user/month after a 1 month free trial - no credit card required.
✓ Start instantly·✓ No credit card·✓ No sneaky autorenewals