VPSSHIELD banner
vpsshield v0.1 — public, MIT. Repo: github.com/mymyanmarland/vpsshield. Fresh-VPS real-harden test is still open — see Safety.

What is vpsshield?

vpsshield is an open-source, Python standard-library tool for VPS security. One tool, three steps: check your VPS, harden it safely, undo if needed. No daemon, no account, no telemetry.

VPSSHIELD flow

Example

A fresh VPS, run check, see “SSH password ON, 10 ports open, fail2ban OFF” in one report — then run harden once, and re-run check to see the list turn green.

VPSSHIELD terminal demo

Install

Requirements: Ubuntu 22.04 / 24.04 or Debian 12, Python 3.10+, root (sudo) for harden and undo. check works without root, with some checks limited.

git clone https://github.com/mymyanmarland/vpsshield.git
cd vpsshield
python3 vpsshield.py check
python3 vpsshield.py harden --dry-run --yes

Do not use blind curl | bash to install a security tool. Clone the repo, read the code, then run it. A verified one-line installer may be added later only with a published checksum.

Commands

CommandWhat it does
check [--json] [--output report.md]Read-only security check. Never changes anything.
harden [--dry-run] [--allow-port 22,80,443] [--yes]Guarded hardening: backup first, lockout guard, sshd validation, then re-check.
reportPrint the last saved check report.
undo [--backup DATE]Restore sshd config from the latest backup.

Running harden twice gives the same end state. --dry-run prints every planned change and changes nothing.

14 checks

GroupChecks
SSHPassword login, root login, key available, key file permissions
FirewallUFW active, default deny incoming, open ports review
fail2banService active, sshd jail enabled
UpdatesPending updates (cached lists), reboot required, unattended updates
UsersEmpty-password users (root only, names only), sudo users listed
Services / filesListening services, /etc/shadow permissions

Each check returns PASS / WARN / FAIL with a fix hint. The score is a guide, never a security guarantee. Listening on a port does not mean internet-reachable — UFW is the deciding layer, reported separately.

Safety — what vpsshield never does

Limitations (honest)

License: MIT. Version: v0.1 (public repo, see Install).