# Security
## SSH Access
### Clés configurées (`~/.ssh/config`)
| Alias | Key File | User | Notes |
|-------|----------|------|-------|
| `o2switch` / `o2switch-key2` | `~/.ssh/o2switch_fataplus` | roxi8838 | o2switch FATAPLUS |
| `mochogo` / `mochogo-ubuntu` | `~/.ssh/mochogo_deploy` | root/ubuntu | Mochogo Coolify |
| `vps-tailscale` | default key | root | Tailscale vers VPS |
| `madacup` | `~/.ssh/id_ed25519` | root | ForwardAgent yes |
| `egs` / `gallois` | `~/.ssh/id_ed25519` | root | ForwardAgent yes |
| `jpm-o2switch` | `~/.ssh/o2switch_jpm` | gixu6696 | JPM website |
### Règles SSH
- Port 22 public (protégé par Fail2Ban + CrowdSec)
- Tailscale SSH sur IP 100.112.45.36 (chiffré mesh)
## WAF / IPS
### CrowdSec
- **Service** : `crowdsec.service` + `crowdsec-firewall-bouncer.service`
- **Dashboard** : http://127.0.0.1:6060 (local only)
- **API** : http://127.0.0.1:8080
- **Rôle** : Détection + bannissement automatique des attaques
### Fail2Ban
- **Service** : `fail2ban.service`
- **Rôle** : Ban brute-force SSH (et autres jails configurés)
## Secrets Management
### Infisical (Self-hosted)
- **Stack Docker** : Infisical + PostgreSQL 16 + Redis 7
- **UI** : http://127.0.0.1:8089 â proxy nginx â `env.nexio.work`
- **Auth** : Basic auth nginx (`/etc/nginx/.htpasswd_infisical`)
- **Usage** : Centraliser les secrets de tous les projets
### Fichiers secrets locaux
| Fichier | Contenu |
|---------|---------|
| `/root/.secrets/cf-api-token.txt` | Cloudflare API Token (DNS Edit) |
| `/root/.secrets/cf-api-token-full.txt` | Cloudflare Full Token |
| `/root/.secrets/cf-api-token-madacup.txt` | Cloudflare Token Madacup |
| `/root/.secrets/coolify-egs-api-token` | Coolify EGS API token |
| `/root/.secrets/coolify-egs-ssh-key` | Coolify EGS SSH key |
## Règles Inter-Profils Hermes
â ï¸ **Règle critique** â Ne PAS modifier un autre profil Hermes sans demande explicite.
| Profil | Usage | Données accessibles |
|--------|-------|---------------------|
| `default` | FATAPLUS pro/devops | Tout le workspace, clients, infra |
| `maison` | Mi+famille (bot:8365078062) | Family dashboard, données perso uniquement |
| `nexio` (=ifpb) | Client Nexio/IFPB fiscal MG | Données Nexio uniquement |
**Interdictions :**
- â Pas de transfert de données Nexio-work sans demande du gérant Lexington
- â Pas de merge des profils â chacun son contexte isolé
- â Pas de données hardcodées/fakes/inventées sur AUCUN projet (règle FER 10/06)
# Citations
[1] `cat ~/.ssh/config`, `systemctl status crowdsec fail2ban`, `docker ps`, `ls /root/.secrets/` (2026-06-14).
Sécurité — Accès, Clés, Policies
Configuration sécurité du VPS principal : SSH, CrowdSec, Fail2Ban, Infisical, règles inter-profils.