Repolode
nuver-labs

nuver-labs/vps-audit

A dependency-free Bash script that audits a Linux VPS for security settings, performance, and resource usage, then writes a PASS/WARN/FAIL report.

Stars
3,250
Forks
312
Open issues
13
Last commit
3 months ago

What is it?

vps-audit is a shell script for checking the security posture and resource health of Ubuntu and Debian servers, such as VPS instances. Run with sudo, it inspects SSH settings (root login, password authentication, port), firewall status across UFW, firewalld, iptables and nftables, Fail2ban or CrowdSec configuration, failed login attempts, pending updates, running services, open ports, sudo logging, password policy and SUID files.

Alongside security checks it reports disk, memory and CPU usage and active internet connections. Each check is labelled PASS, WARN or FAIL in the console, and the script also saves a timestamped text report with recommendations for failed checks.

Thresholds for WARN and FAIL, report location and the paths of the configuration files it reads are set in a Configuration section at the top of the script. The script needs only common tools such as grep, awk and ss, so it can be copied onto a server and run without installing anything.

Key features

  • 01Checks SSH root login, password authentication and port settings.
  • 02Detects firewall status across UFW, firewalld, iptables and nftables.
  • 03Verifies Fail2ban SSH jail configuration and CrowdSec setup.
  • 04Reports disk, memory and CPU usage with configurable thresholds.
  • 05Writes a timestamped text report with recommendations for failed checks.

Use cases

  • Running a periodic security check on a freshly provisioned Ubuntu or Debian VPS.
  • Reviewing the configuration of a server you inherited before making changes.
  • Adding a lightweight audit step to a server maintenance routine.

Quick start

  1. 1

    Download the script

    wget https://raw.githubusercontent.com/Nuver-Labs/vps-audit/main/vps-audit.sh
  2. 2

    Make the script executable

    chmod +x vps-audit.sh
  3. 3

    Run the audit with sudo

    sudo ./vps-audit.sh

Things to know

  • Designed for Debian/Ubuntu-based systems only.
  • Requires root or sudo access.

In collections

Topics

FAQ

What is vps-audit?
A dependency-free Bash script that audits a Linux VPS for security settings, performance, and resource usage, then writes a PASS/WARN/FAIL report. vps-audit is a shell script for checking the security posture and resource health of Ubuntu and Debian servers, such as VPS instances. Run with sudo, it inspects SSH settings (root login, password authentication, port), firewall status across UFW, firewalld, iptables and nftables, Fail2ban or CrowdSec configuration, failed login attempts, pending updates, running services, open ports, sudo logging, password policy and SUID files.
Is vps-audit free to use? What license does it have?
vps-audit is open source under the MIT license. Check the license terms before using it in commercial products.
Is vps-audit still maintained?
Updated within 6 months. The last commit to vps-audit was on Aug 10, 2026.
What can I use vps-audit for?
Running a periodic security check on a freshly provisioned Ubuntu or Debian VPS. Reviewing the configuration of a server you inherited before making changes. Adding a lightweight audit step to a server maintenance routine.
How do I install vps-audit?
Download the script: wget https://raw.githubusercontent.com/Nuver-Labs/vps-audit/main/vps-audit.sh Make the script executable: chmod +x vps-audit.sh Run the audit with sudo: sudo ./vps-audit.sh
Where can I get vps-audit?
The source code and installation instructions are on GitHub: https://github.com/nuver-labs/vps-audit

Summary generated by AI from the project's README. GitHub stats refresh daily.

Related projects