66 lines
4.0 KiB
Markdown
66 lines
4.0 KiB
Markdown
# Cartographie du SI & Cloisonnement (Guide ANSSI)
|
|
|
|
## 1. Principes Général & Doctrine d'Isolation
|
|
|
|
Conformément aux recommandations de l'ANSSI, le Système d'Information (SI) du projet est cloisonné en deux périmètres strictement étanches pour limiter la surface d'attaque et contenir tout risque de propagation.
|
|
|
|
* **SI IT & Outillage (DevSecOps / Administration)** : Héberge la forge, la CI/CD, les secrets et la documentation cadre.
|
|
* **SI Général / Production (Applicatif Peakload)** : Héberge l'application client, l'API et la base de données physiologiques.
|
|
|
|
---
|
|
|
|
## 2. Matrice de Cloisonnement des deux SI
|
|
|
|
```text
|
|
[ Internet / Public ]
|
|
│
|
|
▼
|
|
[ Reverse Proxy Nginx (TLS 1.3 / WAF) ]
|
|
│
|
|
├──────────────────────────────────────┐
|
|
▼ ▼
|
|
┌──────────────────────────────┐ ┌──────────────────────────────┐
|
|
│ SI GENERAL / PRODUCTION │ │ SI IT / OUTILLAGE │
|
|
│ Zone Applicative Peakload │ │ Zone DevSecOps & Governance │
|
|
├──────────────────────────────┤ ├──────────────────────────────┤
|
|
│ • App Web (React/Vite) │ │ • Forge (`git.gorym.net`) │
|
|
│ • API Engine (FastAPI/Node) │ │ • Runner CI/CD (`act_runner`)│
|
|
│ • BDD (PostgreSQL Rootless) │ │ • Secrets (`send/passbolt`) │
|
|
└──────────────────────────────┘ └──────────────────────────────┘
|
|
```
|
|
---
|
|
|
|
## 3. Matrice des Flux & Cartographie Réseau
|
|
|
|
| Zone | Composant | Port Interne | Exposition Publique | Protocole / Usage
|
|
| :--- | :--- | :--- | :--- | :--- |
|
|
| **Edge** | Reverse Proxy (Nginx) | 80, 443 | Oui (gorym.net) | HTTPS (TLS 1.3 Strict) |
|
|
| **SI IT** | Forge Gitea | 3000 | Via Proxy (git.gorym.net) | HTTP/SSH Chiffré |
|
|
| **SI IT** | Secrets (Passbolt/Send)| 8080 | Via Proxy (send.gorym.net) |HTTPS Zero-Knowledge |
|
|
| **SI Prod** | Frontend Peakload | 5000 | Via Proxy (app.gorym.net) | HTTPS |
|
|
| **SI Prod** | API Core | 8000 | Interne Podman uniquement | REST / JSON |
|
|
| **SI Prod** | Base PostgreSQL |5432 | **NON (Isolé Podman)** |SQL interne chiffré |
|
|
|
|
## 4. Mesures de SecOps & Isolation ANSSI
|
|
|
|
* *Réseaux Podman distincts :* Le SI IT et le SI Prod tournent sur deux réseaux virtuels Podman internes totalement séparés.
|
|
* *Privilèges :* Exécution à 100 % sous mode Rootless (aucun conteneur n'est exécuté sous l'utilisateur root du VPS).
|
|
* *Base de données isolée :* PostgreSQL n'a aucun port exposé sur l'extérieur. Seule l'API interne du pod Prod peut communiquer avec lui.
|
|
|
|
---
|
|
|
|
## 5. Trajectoire d'Orchestration Haute Disponibilité (k3s Cluster)
|
|
|
|
Afin de garantir la scalabilité, la résilience et la haute disponibilité (HA) du SI Général/Production sans aucune dépendance aux orchestrateurs Cloud propriétaires :
|
|
|
|
* **Runtime de proximité / Dev** : Les services sont conteneurisés sous **Podman** (mode Rootless, respect strict des normes OCI).
|
|
* **Orchestration de Production (k3s)** : Le déploiement s'appuie sur un cluster **k3s** (distribué, léger, certifié CNCF) auto-hébergé sur des instances VPS souveraines européennes.
|
|
* **Isolation par Namespaces Kubernetes** :
|
|
* `namespace: rym-core` (API, Moteur ML, Traitement VRC/Santé)
|
|
* `namespace: rym-db` (PostgreSQL / Redis isolés avec NetworkPolicies strictes)
|
|
* `namespace: rym-ingress` (Ingress Controller Nginx / TLS 1.3)
|
|
* **Sécurité des Pods (PSS)** : Application des règles *Restricted Pod Security Standards* de Kubernetes (interdiction des privilèges root, contraintes de capabilités Linux).
|
|
|
|
---
|
|
|