v0.1.0
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.shEvery 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
Includeoverrides - Firewall status across UFW, firewalld, iptables and nftables
- Intrusion prevention via Fail2ban or CrowdSec, including containerized installs
- Failed login attempts, read from
auth.logor 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 assumesdpkg. - Sudo logging reads
/etc/sudoersonly, notsudoers.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.