DEV Community

MASUD SUHANDI
MASUD SUHANDI

Posted on

Production VPS Security Architecture for Node.js & Web3 Backends (WireGuard + auditd + Grafana Alerts)

I recently documented my hardened VPS security architecture used for deploying production Node.js and Web3 backend services as a solo operator.

The goal of this setup was simple:

reduce attack surface

isolate administrative access

improve monitoring visibility

and keep infrastructure manageable without Kubernetes complexity

Repository:

https://github.com/messut35/secure-nodejs-vps-architecture

Architecture Overview

This VPS setup uses a layered security model:

Internet

Cloudflare (WAF + TLS + origin protection)

Nginx reverse proxy

Node.js services (PM2)

Administrative access is separated using a private WireGuard access plane:

Operator device

WireGuard tunnel (10.77.0.0/24)

Grafana / dashboards / internal services

Monitoring Pipeline

Security visibility is implemented using:

auditd
→ promtail
→ Loki
→ Grafana
→ Telegram alerts

This allows detecting:

unexpected binary execution

privilege escalation attempts

configuration tampering

service access anomalies

Database Exposure Strategy

Databases are not exposed publicly.

PostgreSQL and Redis are bound to:

localhost only

This prevents lateral movement from external network surfaces.

Reverse Proxy Security Role

Nginx acts as a segmentation layer between:

public APIs
and
private infrastructure services

Cloudflare origin protection ensures the VPS IP is not directly exposed.

Threat Model Considerations

This architecture mitigates common VPS risks:

SSH brute force attacks

exposed admin dashboards

database exposure risks

reverse proxy misconfiguration

silent privilege escalation attempts

Why this setup?

This architecture is designed for:

solo operators

self-hosted SaaS builders

Node.js backend developers

Web3 payment infrastructure deployments

who want production-level security without introducing orchestration complexity.

If you're running Node.js services directly on a VPS, I'd be curious how others structure their monitoring and admin-plane isolation strategies.

Top comments (0)