mirror of
https://github.com/Alkatrazz24/Funk-lab.git
synced 2026-07-08 07:44:42 +02:00
feat(guacamole): SSO direct — redirection immédiate vers Authentik (#79)
EXTENSION_PRIORITY "openid, *" : plus de formulaire local, l'arrivée sur portail.lab.local redirige directement vers Authentik. L'admin passe par un compte SSO avec « Administer system » (guacadmin devient inaccessible ; retour arrière = remettre "*, openid"). Doc : pièges slug d'application (≠ guacamole → JWKS 404) et anti-bruteforce (IP Traefik bloquée pour tous après 5 échecs) découverts pendant la mise en route. Co-authored-by: Claude Fable 5 <noreply@anthropic.com>
This commit is contained in:
parent
8137830e53
commit
fbec998c21
2 changed files with 21 additions and 7 deletions
|
|
@ -93,11 +93,22 @@ kubectl -n auth create secret generic guacamole-secret \
|
||||||
serveur→serveur de Guacamole ne dépend pas de la résolution `lab.local` des pods.
|
serveur→serveur de Guacamole ne dépend pas de la résolution `lab.local` des pods.
|
||||||
L'issuer, lui, reste `http://auth.lab.local/...` (doit matcher le claim `iss` des
|
L'issuer, lui, reste `http://auth.lab.local/...` (doit matcher le claim `iss` des
|
||||||
tokens émis via le navigateur).
|
tokens émis via le navigateur).
|
||||||
3. **`EXTENSION_PRIORITY="*, openid"`** : garde le formulaire local (guacadmin) accessible
|
3. **`EXTENSION_PRIORITY="openid, *"`** : arrivée sur le portail = **redirection
|
||||||
en plus du SSO — sans ça, redirection OIDC forcée et plus d'accès admin local.
|
immédiate vers Authentik** (pas de formulaire local). Conséquence : `guacadmin` est
|
||||||
4. **User `console` sans sudo** (volontaire) : le portail sert à observer/opérer léger.
|
inaccessible — l'admin Guacamole passe par un compte SSO auquel on a coché
|
||||||
|
**« Administer system »** (fait pour `Alkatrazz`). Prérequis absolu avant d'activer :
|
||||||
|
avoir donné ce droit, sinon plus d'admin. Dépannage si Authentik est HS : remettre
|
||||||
|
`"*, openid"` dans `k8s/apps/guacamole/deployment.yaml` (le formulaire local revient).
|
||||||
|
4. **Le slug de l'application Authentik doit être exactement `guacamole`** : Authentik
|
||||||
|
le génère depuis le nom (« Portail consoles » → `portail-consoles`) et l'issuer/JWKS
|
||||||
|
deviennent faux → log Guacamole `Non 200 status code (404) ... /o/guacamole/jwks/`
|
||||||
|
et token rejeté. Corriger : Applications → Edit → Slug.
|
||||||
|
5. **Anti-bruteforce intégré** (extension `ban`) : 5 échecs → IP bloquée ~5 min. Derrière
|
||||||
|
Traefik, l'IP vue est celle du proxy → **le blocage touche tout le monde**. Patienter
|
||||||
|
ou redémarrer le pod guacamole pour purger.
|
||||||
|
6. **User `console` sans sudo** (volontaire) : le portail sert à observer/opérer léger.
|
||||||
L'administration passe par les comptes admin habituels, pas par Guacamole.
|
L'administration passe par les comptes admin habituels, pas par Guacamole.
|
||||||
5. **Enregistrement des sessions** : possible (guacd + volume partagé) mais non configuré
|
7. **Enregistrement des sessions** : possible (guacd + volume partagé) mais non configuré
|
||||||
— gap connu, à ajouter si le portail s'ouvre à d'autres utilisateurs.
|
— gap connu, à ajouter si le portail s'ouvre à d'autres utilisateurs.
|
||||||
6. La config Authentik (provider, app, utilisateurs) et les connexions Guacamole vivent
|
8. La config Authentik (provider, app, utilisateurs) et les connexions Guacamole vivent
|
||||||
**en base, pas en IaC** — comme le Server Manager Satisfactory. Backup PG = gap connu.
|
**en base, pas en IaC** — comme le Server Manager Satisfactory. Backup PG = gap connu.
|
||||||
|
|
|
||||||
|
|
@ -59,9 +59,12 @@ spec:
|
||||||
value: "preferred_username"
|
value: "preferred_username"
|
||||||
- name: OPENID_SCOPE
|
- name: OPENID_SCOPE
|
||||||
value: "openid profile email"
|
value: "openid profile email"
|
||||||
# L'extension base (autorisation/connexions) passe avant l'OIDC (authentification)
|
# OIDC prioritaire : arrivée sur le portail = redirection immédiate vers
|
||||||
|
# Authentik (pas de formulaire local). Conséquence : guacadmin devient
|
||||||
|
# inaccessible — l'admin passe par un compte SSO avec « Administer system ».
|
||||||
|
# Dépannage sans Authentik : remettre "*, openid" ici et re-sync.
|
||||||
- name: EXTENSION_PRIORITY
|
- name: EXTENSION_PRIORITY
|
||||||
value: "*, openid"
|
value: "openid, *"
|
||||||
- name: TZ
|
- name: TZ
|
||||||
value: "Europe/Paris"
|
value: "Europe/Paris"
|
||||||
resources:
|
resources:
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue