VPS & Server audit fixes
Firewall & Network: fixing all 6 checks
The firewall and network audit asks two things of the host itself: which ports are listening on an external interface, and whether anything on the box is filtering the traffic that reaches them.
Two checks are automated for UFW only, so on a firewalld, nftables or plain iptables host, Firewall Allow Rules and Outbound Firewall Policy both skip even when you run as root with everything else in place. The remaining skips are privilege, since four of the six checks need root to read firewall state, or a missing tool: no ufw, firewall-cmd, nft or iptables at all, neither ss nor netstat, no Docker daemon it can query, or no iproute2 for the IPv6 check.
Transcribed from the vps-security-firewall-network audit script. For what the audit covers rather than how to fix it, see the Firewall & Network 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.
Firewall State
SoonChecks whether a firewall (UFW, firewalld, nftables, iptables) is present and active
HighNeeds root3 resultsFirewall Allow Rules
SoonAudits configured firewall allow rules (UFW)
MediumNeeds root3 resultsDocker Firewall Bypass
SoonChecks for Docker containers publishing ports on all interfaces, bypassing the firewall
HighNeeds root3 resultsOpen Ports
SoonLists services listening on external interfaces
MediumNo root4 resultsIPv6 Firewall Coverage
SoonChecks whether IPv6 traffic is covered by the firewall
MediumNo root4 resultsOutbound Firewall Policy
SoonChecks the default outbound/egress firewall policy
LowNeeds root3 results
A SKIP is never a pass
A skipped check verified nothing at all. The most common cause is privilege: 4 of the 6 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.
Firewall & Network questions
Run all 6 Firewall & Network 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