# PrivX Home Lab - Enterprise High Availability Setup Questo repository contiene la documentazione, le configurazioni e gli script per implementare un ambiente **SSH PrivX v42** in configurazione **High Availability (HA)**, replicando l'architettura Enterprise del **Polo Strategico Nazionale (PSN)**. ## 🏛️ Architettura Target L'obiettivo è simulare un'infrastruttura critica resilient, distribuita su più nodi per garantire continuità operativa e scalabilità. ### Componenti * **Load Balancer (LB):** Entry point unico (VIP). Gestisce il traffico HTTPS verso i Core e i Web Proxy. Richiede *Sticky Sessions*. * **PrivX Core (2 Nodi):** Il cuore della gestione accessi, policy e audit. In configurazione Active/Active. * **PrivX Carrier + Web Proxy (2 Nodi):** Gestiscono le sessioni web isolate (browser-in-browser). Scalano orizzontalmente. * **Database (PostgreSQL):** Backend centrale per configurazioni, log e sessioni. * **Storage (NFS/S3):** Per la registrazione delle sessioni (audit trail). ### Diagramma Logico ```mermaid graph TD User((User)) -->|HTTPS/443| LB[Load Balancer HAProxy/Nginx] subgraph "PrivX Core Cluster" LB -->|Sticky| Core1[PrivX Core 01] LB -->|Sticky| Core2[PrivX Core 02] end subgraph "PrivX Web Access Cluster" LB -->|WSS/443| Web1[Carrier + Web Proxy 01] LB -->|WSS/443| Web2[Carrier + Web Proxy 02] end Core1 & Core2 -->|Persistenza| DB[(PostgreSQL 15)] Web1 & Web2 -->|Config| Core1 & Core2 Core1 & Core2 -->|Audit Logs| NAS[NFS Storage] ``` ## 🛠️ Risorse Richieste (Proxmox) | Ruolo | Hostname | vCPU | RAM | Disk | OS | Note | |-------|----------|------|-----|------|----|------| | **Load Balancer** | `privx-lb` | 2 | 4GB | 20GB | Rocky 9 / Debian | Entry point SSL | | **Core Node 1** | `privx-core-01` | 4 | 8GB | 50GB | Rocky Linux 9 | Master 1 | | **Core Node 2** | `privx-core-02` | 4 | 8GB | 50GB | Rocky Linux 9 | Master 2 | | **Web/Carrier 1** | `privx-web-01` | 4 | 16GB | 80GB | Rocky Linux 9 | Docker nested | | **Web/Carrier 2** | `privx-web-02` | 4 | 16GB | 80GB | Rocky Linux 9 | Docker nested | | **Database** | `privx-db` | 4 | 8GB | 100GB | Rocky Linux 9 | PostgreSQL 15 | **Totale Stimato:** ~22 vCPU, ~56GB RAM (Rientra nel budget del lab: 16 core fisici / 64GB RAM). ## 🚀 Roadmap Implementazione 1. **[Database]**: Setup PostgreSQL 15 con SSL e ottimizzazioni per audit log (`pg_trigram`). 2. **[Core]**: Installazione dei due nodi Core e configurazione Cluster via DB condiviso. 3. **[Load Balancer]**: Configurazione HAProxy/Nginx per sticky sessions e SSL termination. 4. **[Web/Carrier]**: Deployment dei container Docker per il browser isolation e link ai Core. 5. **[Hardening]**: Chiusura porte, firewalling interno (simil-PSN). --- *Progetto basato su PrivX v42 Architecture & PSN Low Level Design.*