github Nuver-Labs/vps-audit v0.1.0

latest release: v0.2.0
6 hours ago

First tagged release of vps-audit, a single-file bash script that audits the security and performance posture of a Linux server. No dependencies beyond what a stock Debian or Ubuntu install already ships.

Usage

curl -O https://raw.githubusercontent.com/Nuver-Labs/vps-audit/main/vps-audit.sh
chmod +x vps-audit.sh
sudo ./vps-audit.sh

Every check prints PASS, WARN or FAIL with a short explanation of why, and the whole run is also written to a timestamped report file.

What it checks

Security:

  • SSH root login, password authentication, and non-default or unprivileged ports, including Include overrides
  • Firewall status across UFW, firewalld, iptables and nftables
  • Intrusion prevention via Fail2ban or CrowdSec, including containerized installs
  • Failed login attempts, read from auth.log or from journald on Debian 11 and newer
  • Pending system updates
  • Running service count, listening ports, and how many are publicly exposed
  • Sudo logging
  • Password policy via pwquality.conf
  • SUID files outside standard locations

Performance:

  • Disk, memory and CPU usage, load average, and active connections

Configuration

Thresholds and file paths are plain variables at the top of the script, so you can retune the PASS/WARN/FAIL bands or point a check at a non-standard path without touching the logic. The Customization section of the README documents each one.

Known limitations

  • Targets Debian and Ubuntu. The update check assumes apt, and package detection assumes dpkg.
  • Sudo logging reads /etc/sudoers only, not sudoers.d.
  • Requires root or sudo.

Thanks

To everyone who has sent a patch: @latetedemelon, @alvarosaavedrau, @Un1q32, @davefatkin, @jnsvgt, @kyle-mckay, @idosysstuff, @xgboosted, @neod123, @DazEdword and @aafmj.

Don't miss a new vps-audit release

NewReleases is sending notifications on new releases.