Initial commit: PrivX HA Architecture & Setup Guides
This commit is contained in:
59
README.md
Normal file
59
README.md
Normal file
@@ -0,0 +1,59 @@
|
||||
# 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.*
|
||||
Reference in New Issue
Block a user