Skip to content
Back to skills

Architettura Fortezza

ASecurity

Progetta e installa un'infrastruttura di sicurezza a 4 livelli dove il cuore (dati e chiavi) è offline, lo scudo è invisibile agli scanner e il server reale è nascosto. Trigger - "fortezza", "scatola chiusa", "invisibile", "nascosto", "reverse proxy", "air gap", "cassaforte", "WireGuard". EN - Designs and installs a 4-layer security infrastructure where the core (data and keys) is offline and detached, the shield is invisible to scanners and the real server is hidden. Use for a self-hosted Cl...

  • 4 stars
  • 0 votes
  • 0 copies
  • 3 views
  • Added September 7, 2026
ai-agentsgodockersecurity

Security analysis

A100/100

Pro scans all 14 files and shows the line behind each finding

Scanned September 7, 2026

npx -y skills add ayalaphiscan/web-security-guard --skill architettura-fortezza --agent claude-code

Installs into .claude/skills of the current project.

Are you the author of Architettura Fortezza?

Add the live security badge to your README. It updates with every re-scan.

Security grade badge for Architettura Fortezza
[![Security: A — Skills Directory](https://www.skillsdirectory.com/api/skills/ayalaphiscan-architettura-fortezza/badge)](https://www.skillsdirectory.com/skills/ayalaphiscan-architettura-fortezza)

More formats (shields.io, HTML) on the badges page. Keep it an A: scan every change in CI with Pro.

Download with Pro
SKILL.md
---
name: architettura-fortezza
description: Progetta e installa un'infrastruttura di sicurezza a 4 livelli dove il cuore (dati e chiavi) è offline, lo scudo è invisibile agli scanner e il server reale è nascosto. Trigger - "fortezza", "scatola chiusa", "invisibile", "nascosto", "reverse proxy", "air gap", "cassaforte", "WireGuard". EN - Designs and installs a 4-layer security infrastructure where the core (data and keys) is offline and detached, the shield is invisible to scanners and the real server is hidden. Use for a self-hosted Cloudflare alternative, invisible reverse proxy, hidden server, WireGuard VPN, or unreachable offline backups. Triggers - "fortress", "hidden server", "invisible proxy", "air gap", "offline vault", "WireGuard".
---

# Architettura Fortezza (4 livelli) · Fortress Architecture

> 🇮🇹 Versione italiana qui sotto · 🇬🇧 [English version below](#fortress-architecture-4-layers-english)

Quando l'utente vuole un sistema "blindato" dove il cuore è staccato e lo scudo è
invisibile, proporre e installare questa architettura. I file template completi
(proxy guardian, Caddy, docker-compose, firewall, WireGuard, backup cifrati) sono
in `references/fortezza/` dentro questa skill; questa skill spiega come adattarli.

## Premessa onesta da dare SEMPRE all'utente
La porta web pubblica non può essere invisibile: se i visitatori la raggiungono,
la raggiunge anche chi attacca. Invisibili possono diventare invece SSH,
l'amministrazione, il server reale e la cassaforte. E i DDoS volumetrici enormi
restano gestibili solo con un CDN/WAF esterno (es. Cloudflare free) davanti allo
scudo. Non promettere "non attaccabile": promettere "superficie ridotta al minimo,
cuore irraggiungibile, dati sempre recuperabili".

## I quattro livelli

1. **Scudo invisibile** — unica macchina pubblica. Caddy (HTTPS + rimozione
   impronte) → proxy `guardian` (WAF, rate limit, blocklist silenziosa, lockdown,
   honeypot). Firewall stealth: solo 80/443 visibili, resto in DROP, niente ping.
2. **Server origine nascosto** — sito + DB, nessuna porta pubblica, accetta solo
   lo scudo via VPN. L'app ascolta sull'IP VPN, mai esposta dal provider.
3. **WireGuard** — rete privata cifrata tra scudo, origine e admin. Non risponde
   senza chiave valida → invisibile agli scanner. Solo gli `AllowedIPs` passano.
4. **Cassaforte offline** — air-gapped, custodisce la chiave privata. Backup
   cifrati con chiave pubblica (il server cifra ma non può decifrare). La
   cassaforte va a prendere i backup (sola andata); il server non la conosce.

## Principi di progettazione da rispettare
- **Minima superficie**: ogni livello espone solo ciò che serve al livello accanto.
- **Conoscenza parziale**: ogni macchina conosce solo il vicino, mai l'intera catena.
- **One-way verso il cuore**: nessun percorso che parta dal server e arrivi alla cassaforte.
- **Cifratura asimmetrica**: chi può essere compromesso (il server) ha solo la chiave pubblica.
- **Silenzio**: agli attaccanti non si risponde (stealth), per non dare impronte né feedback.
- **Difesa in profondità**: questa architettura si SOMMA alle altre skill del plugin
  (hardening-siti, difesa-attacchi, privacy-pagamenti, autenticazione-sicura), non le sostituisce.

## Installazione (ordine)
1. Cassaforte: generare le chiavi offline (`genera-chiavi.sh`).
2. WireGuard su scudo, origine, admin.
3. Origine: avviare app su IP VPN, poi `firewall-origine.sh`.
4. Scudo: configurare `ORIGIN_URL` e dominio, `docker compose up -d --build`, `firewall-stealth.sh`.
5. Backup: cron notturno di `backup-cifrato.sh` sull'origine; pull periodico dalla cassaforte.

## Verifica
Da macchina esterna `nmap -Pn IP_SCUDO`: solo 80/443. SSH/WireGuard invisibili.
Il server origine non deve rispondere. Provare un ripristino di backup sulla
cassaforte per confermare che la catena funziona.

---

# Fortress Architecture (4 layers) (English)

When the user wants an "armored" system where the core is detached and the shield
is invisible, propose and install this architecture. Complete template files
(guardian proxy, Caddy, docker-compose, firewall, WireGuard, encrypted backups)
are in `references/fortezza/` inside this skill; this skill explains how to adapt them.

## Honest disclaimer to ALWAYS give the user
The public web port cannot be invisible: if visitors can reach it, so can
attackers. What can become invisible are SSH, administration, the real server
and the vault. Massive volumetric DDoS can only be handled by an external
CDN/WAF (e.g. Cloudflare free) in front of the shield. Don't promise
"unhackable": promise "minimal attack surface, unreachable core, always
recoverable data".

## The four layers

1. **Invisible shield** — the only public machine. Caddy (HTTPS + fingerprint
   removal) → `guardian` proxy (WAF, rate limiting, silent blocklist, lockdown,
   honeypot). Stealth firewall: only 80/443 visible, everything else DROP, no ping.
2. **Hidden origin server** — site + DB, no public ports, accepts only the
   shield via VPN. The app listens on the VPN IP, never exposed by the provider.
3. **WireGuard** — encrypted private network between shield, origin and admin.
   Doesn't respond without a valid key → invisible to scanners. Only `AllowedIPs` pass.
4. **Offline vault** — air-gapped, holds the private key. Backups encrypted with
   the public key (the server encrypts but cannot decrypt). The vault pulls the
   backups (one-way); the server doesn't know it exists.

## Design principles to respect
- **Minimal surface**: each layer exposes only what the adjacent layer needs.
- **Partial knowledge**: each machine knows only its neighbor, never the whole chain.
- **One-way toward the core**: no path starting at the server can reach the vault.
- **Asymmetric encryption**: whatever can be compromised (the server) holds only the public key.
- **Silence**: attackers get no responses (stealth) — no fingerprints, no feedback.
- **Defense in depth**: this architecture ADDS to the other skills of the plugin
  (hardening-siti, difesa-attacchi, privacy-pagamenti, autenticazione-sicura), it does not replace them.

## Installation (order)
1. Vault: generate keys offline (`genera-chiavi.sh`).
2. WireGuard on shield, origin, admin.
3. Origin: start the app on the VPN IP, then `firewall-origine.sh`.
4. Shield: configure `ORIGIN_URL` and domain, `docker compose up -d --build`, `firewall-stealth.sh`.
5. Backups: nightly cron of `backup-cifrato.sh` on the origin; periodic pull from the vault.

## Verification
From an external machine `nmap -Pn SHIELD_IP`: only 80/443. SSH/WireGuard invisible.
The origin server must not respond. Test a backup restore on the vault to confirm
the chain works.

Files in this skill

  • SKILL.md6.6 KB
  • references/fortezza/README.md3.6 KB
  • references/fortezza/cassaforte/backup-cifrato.sh1.6 KB
  • references/fortezza/cassaforte/genera-chiavi.sh1018 B
  • references/fortezza/cassaforte/pull-su-cassaforte.sh1.4 KB
  • references/fortezza/origine/firewall-origine.sh1.3 KB
  • references/fortezza/scudo/Caddyfile1.1 KB
  • references/fortezza/scudo/docker-compose.yml1 KB
  • references/fortezza/scudo/firewall-stealth.sh1.4 KB
  • references/fortezza/scudo/guardian-proxy/Dockerfile292 B
  • references/fortezza/scudo/guardian-proxy/guardian.js5.7 KB
  • references/fortezza/scudo/guardian-proxy/package.json309 B
  • references/fortezza/scudo/guardian-proxy/server.js2.4 KB
  • references/fortezza/vpn-wireguard/README-wireguard.md1.8 KB

Attribution

Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.

View all in ai-agents →

Comments

Loading comments…

Newsletter

Get the weekly list of safe new skills, and the ones we pulled.