60 lines
2.8 KiB
Markdown
60 lines
2.8 KiB
Markdown
# 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.*
|