Update Authelia protection matrix, remove hoarder references
This commit is contained in:
@@ -18,7 +18,6 @@
|
|||||||
|
|
||||||
| Port | Service(s) | Notes |
|
| Port | Service(s) | Notes |
|
||||||
|------|------------|-------|
|
|------|------------|-------|
|
||||||
| 3000 | Gitea, Grafana, Linkwarden, Hoarder, Outline | Plusieurs services partagent ce port |
|
|
||||||
| 3001 | Uptime Kuma | |
|
| 3001 | Uptime Kuma | |
|
||||||
| 3100 | Loki | Agrégation logs |
|
| 3100 | Loki | Agrégation logs |
|
||||||
| 3456 | Vikunja | |
|
| 3456 | Vikunja | |
|
||||||
@@ -47,7 +46,6 @@
|
|||||||
| Docs | https://docs.talloires.local | Authelia |
|
| Docs | https://docs.talloires.local | Authelia |
|
||||||
| Vikunja | https://vikunja.talloires.local | Authelia |
|
| Vikunja | https://vikunja.talloires.local | Authelia |
|
||||||
| Outline | https://outline.talloires.local | OIDC Authelia |
|
| Outline | https://outline.talloires.local | OIDC Authelia |
|
||||||
| Hoarder | https://hoarder.talloires.local | Authelia |
|
|
||||||
| Linkwarden | https://linkwarden.talloires.local | Authelia |
|
| Linkwarden | https://linkwarden.talloires.local | Authelia |
|
||||||
| LanguageTool | https://languagetool.talloires.local | Authelia |
|
| LanguageTool | https://languagetool.talloires.local | Authelia |
|
||||||
| Transmission | https://transmission.talloires.local | Authelia |
|
| Transmission | https://transmission.talloires.local | Authelia |
|
||||||
@@ -64,7 +62,6 @@ Ces URLs sont accessibles depuis l'extérieur via le réseau ZeroTier, sans pass
|
|||||||
|---------|-----|-------------|
|
|---------|-----|-------------|
|
||||||
| Vikunja | https://vikunja.talloires.1871.zt | Vikunja login |
|
| Vikunja | https://vikunja.talloires.1871.zt | Vikunja login |
|
||||||
| Outline | https://outline.talloires.1871.zt | OIDC Authelia |
|
| Outline | https://outline.talloires.1871.zt | OIDC Authelia |
|
||||||
| Hoarder | https://hoarder.talloires.1871.zt | Hoarder login |
|
|
||||||
| Linkwarden | https://linkwarden.1871.zt | Linkwarden login |
|
| Linkwarden | https://linkwarden.1871.zt | Linkwarden login |
|
||||||
| LanguageTool | https://languagetool.talloires.1871.zt | Aucune (API) |
|
| LanguageTool | https://languagetool.talloires.1871.zt | Aucune (API) |
|
||||||
|
|
||||||
|
|||||||
@@ -1,61 +1,64 @@
|
|||||||
# Authelia - SSO
|
# Authelia - SSO
|
||||||
|
|
||||||
Authelia fournit l'authentification unique (SSO) pour tous les services Talloires.
|
Authelia fournit l authentification unique (SSO) pour tous les services Talloires.
|
||||||
|
|
||||||
## Accès
|
## Acces
|
||||||
|
|
||||||
| Paramètre | Valeur |
|
| Parametre | Valeur |
|
||||||
|-----------|--------|
|
|-----------|--------|
|
||||||
| URL | [auth.talloires.local](https://auth.talloires.local) |
|
| URL | [auth.talloires.local](https://auth.talloires.local) |
|
||||||
| Utilisateur | lionel |
|
| Utilisateur | lionel |
|
||||||
| Email | dflected@dflected.org |
|
| Email | dflected@dflected.org |
|
||||||
| 2FA | TOTP activé |
|
| 2FA | TOTP active |
|
||||||
|
|
||||||
## Services protégés (forward_auth)
|
## Matrice de protection des services
|
||||||
|
|
||||||
Ces services requièrent une authentification via Authelia avant d'accéder au backend :
|
| Service | Authelia | Raison |
|
||||||
|
|---------|----------|--------|
|
||||||
|
| **docs** | ✅ | Documentation interne |
|
||||||
|
| **portainer** | ✅ | Admin Docker |
|
||||||
|
| **dockge** | ✅ | Admin Docker Compose |
|
||||||
|
| **transmission** | ✅ | Client torrent |
|
||||||
|
| **netdata** | ✅ | Monitoring systeme |
|
||||||
|
| **grafana** | ✅ | Dashboards / Logs |
|
||||||
|
| **uptime** | ✅ | Monitoring disponibilite |
|
||||||
|
| **cockpit** | ✅ | Admin systeme |
|
||||||
|
| **languagetool** | ✅ | API grammaire |
|
||||||
|
| **auth** | ❌ | C est Authelia lui-meme |
|
||||||
|
| **git** | ❌ | Auth OIDC propre |
|
||||||
|
| **jellyfin** | ❌ | Auth propre |
|
||||||
|
| **homeassistant** | ❌ | Auth propre |
|
||||||
|
| **linkwarden** | ❌ | Auth propre |
|
||||||
|
| **vikunja** | ❌ | Auth propre |
|
||||||
|
| **outline** | ❌ | Auth OIDC propre |
|
||||||
|
|
||||||
| Service | URL |
|
> **Note** : Cette protection s applique aux domaines `.local` ET `.1871.zt`
|
||||||
|---------|-----|
|
|
||||||
| docs | docs.talloires.local |
|
|
||||||
| portainer | portainer.talloires.local |
|
|
||||||
| dockge | dockge.talloires.local |
|
|
||||||
| transmission | transmission.talloires.local |
|
|
||||||
| netdata | netdata.talloires.local |
|
|
||||||
| homeassistant | homeassistant.talloires.local |
|
|
||||||
| uptime | uptime.talloires.local |
|
|
||||||
| cockpit | cockpit.talloires.local |
|
|
||||||
| vikunja | vikunja.talloires.local |
|
|
||||||
| hoarder | hoarder.talloires.local |
|
|
||||||
| linkwarden | linkwarden.talloires.local |
|
|
||||||
| languagetool | languagetool.talloires.local |
|
|
||||||
| jellyfin | jellyfin.talloires.local |
|
|
||||||
|
|
||||||
## Services avec OAuth/OIDC
|
## Services avec OAuth/OIDC
|
||||||
|
|
||||||
Ces services utilisent Authelia comme provider OpenID Connect :
|
Ces services utilisent Authelia comme provider OpenID Connect :
|
||||||
|
|
||||||
### Gitea
|
### Gitea
|
||||||
| Paramètre | Valeur |
|
| Parametre | Valeur |
|
||||||
|-----------|--------|
|
|-----------|--------|
|
||||||
| Client ID | gitea |
|
| Client ID | gitea |
|
||||||
| Redirect URI | https://git.talloires.local/user/oauth2/Authelia/callback |
|
| Redirect URI | https://git.talloires.local/user/oauth2/Authelia/callback |
|
||||||
| Scopes | openid, email, profile |
|
| Scopes | openid, email, profile |
|
||||||
|
|
||||||
### Outline
|
### Outline
|
||||||
| Paramètre | Valeur |
|
| Parametre | Valeur |
|
||||||
|-----------|--------|
|
|-----------|--------|
|
||||||
| Client ID | outline |
|
| Client ID | outline |
|
||||||
| Redirect URI | https://outline.talloires.local/auth/oidc.callback |
|
| Redirect URI | https://outline.talloires.local/auth/oidc.callback |
|
||||||
| Scopes | openid, offline_access, profile, email |
|
| Scopes | openid, offline_access, profile, email |
|
||||||
|
|
||||||
### Grafana (Header Auth)
|
### Grafana (Header Auth)
|
||||||
Grafana utilise l'authentification par header via Authelia (pas OIDC) :
|
Grafana utilise l authentification par header via Authelia (pas OIDC) :
|
||||||
|
|
||||||
| Header | Valeur |
|
| Header | Valeur |
|
||||||
|--------|--------|
|
|--------|--------|
|
||||||
| Remote-User | Utilisateur authentifié |
|
| Remote-User | Utilisateur authentifie |
|
||||||
| Remote-Email | Email de l'utilisateur |
|
| Remote-Email | Email de l utilisateur |
|
||||||
|
|
||||||
## Configuration
|
## Configuration
|
||||||
|
|
||||||
@@ -64,27 +67,16 @@ Grafana utilise l'authentification par header via Authelia (pas OIDC) :
|
|||||||
|---------|-------|
|
|---------|-------|
|
||||||
| ~/docker/authelia/config/configuration.yml | Config principale |
|
| ~/docker/authelia/config/configuration.yml | Config principale |
|
||||||
| ~/docker/authelia/config/users_database.yml | Base utilisateurs |
|
| ~/docker/authelia/config/users_database.yml | Base utilisateurs |
|
||||||
| ~/docker/authelia/config/oidc.key | Clé privée OIDC |
|
| ~/docker/authelia/config/oidc.key | Cle privee OIDC |
|
||||||
|
|
||||||
### SMTP (Proton Mail)
|
### SMTP (Proton Mail)
|
||||||
| Paramètre | Valeur |
|
| Parametre | Valeur |
|
||||||
|-----------|--------|
|
|-----------|--------|
|
||||||
| Serveur | smtp.protonmail.ch:465 |
|
| Serveur | smtp.protonmail.ch:465 |
|
||||||
| Protocol | TLS implicite (submissions://) |
|
| Protocol | TLS implicite |
|
||||||
| From | Talloires <dflected@dflected.org> |
|
| From | Talloires <dflected@dflected.org> |
|
||||||
|
|
||||||
### Buffers HTTP
|
## Integration Caddy
|
||||||
|
|
||||||
Pour éviter l'erreur 431 (Request Header Fields Too Large), la config inclut :
|
|
||||||
|
|
||||||
```yaml
|
|
||||||
server:
|
|
||||||
buffers:
|
|
||||||
read: 8192
|
|
||||||
write: 8192
|
|
||||||
```
|
|
||||||
|
|
||||||
## Intégration Caddy
|
|
||||||
|
|
||||||
### Snippet forward_auth
|
### Snippet forward_auth
|
||||||
```
|
```
|
||||||
@@ -98,30 +90,21 @@ server:
|
|||||||
|
|
||||||
### Usage dans Caddyfile
|
### Usage dans Caddyfile
|
||||||
```
|
```
|
||||||
monservice.talloires.local {
|
monservice.talloires.local, monservice.talloires.1871.zt {
|
||||||
import authelia
|
import authelia
|
||||||
reverse_proxy backend:port
|
reverse_proxy backend:port
|
||||||
tls internal
|
tls internal
|
||||||
}
|
}
|
||||||
```
|
```
|
||||||
|
|
||||||
### Bypass Authelia (accès ZeroTier)
|
|
||||||
```
|
|
||||||
monservice.talloires.1871.zt {
|
|
||||||
# Pas de forward_auth = pas d'Authelia
|
|
||||||
reverse_proxy backend:port
|
|
||||||
tls internal
|
|
||||||
}
|
|
||||||
```
|
|
||||||
|
|
||||||
## Ajouter un client OIDC
|
## Ajouter un client OIDC
|
||||||
|
|
||||||
1. Générer le hash du secret :
|
1. Generer le hash du secret :
|
||||||
```bash
|
```bash
|
||||||
docker exec authelia authelia crypto hash generate pbkdf2 --password "mon-secret"
|
docker exec authelia authelia crypto hash generate pbkdf2 --password "mon-secret"
|
||||||
```
|
```
|
||||||
|
|
||||||
2. Ajouter dans configuration.yml (section identity_providers.oidc.clients) :
|
2. Ajouter dans configuration.yml :
|
||||||
```yaml
|
```yaml
|
||||||
- client_id: nouveau_client
|
- client_id: nouveau_client
|
||||||
client_name: Mon Service
|
client_name: Mon Service
|
||||||
@@ -134,10 +117,9 @@ docker exec authelia authelia crypto hash generate pbkdf2 --password "mon-secret
|
|||||||
- openid
|
- openid
|
||||||
- email
|
- email
|
||||||
- profile
|
- profile
|
||||||
token_endpoint_auth_method: client_secret_post
|
|
||||||
```
|
```
|
||||||
|
|
||||||
3. Redémarrer Authelia :
|
3. Redemarrer Authelia :
|
||||||
```bash
|
```bash
|
||||||
docker restart authelia
|
docker restart authelia
|
||||||
```
|
```
|
||||||
@@ -148,35 +130,12 @@ docker restart authelia
|
|||||||
# Logs
|
# Logs
|
||||||
docker logs authelia -f
|
docker logs authelia -f
|
||||||
|
|
||||||
# Générer un hash de mot de passe utilisateur
|
# Hash mot de passe utilisateur
|
||||||
docker exec authelia authelia crypto hash generate argon2 --password "motdepasse"
|
docker exec authelia authelia crypto hash generate argon2 --password "motdepasse"
|
||||||
|
|
||||||
# Générer un hash pour OIDC client secret
|
# Hash OIDC client secret
|
||||||
docker exec authelia authelia crypto hash generate pbkdf2 --password "secret"
|
docker exec authelia authelia crypto hash generate pbkdf2 --password "secret"
|
||||||
|
|
||||||
# Valider la configuration
|
# Valider la configuration
|
||||||
docker exec authelia authelia validate-config
|
docker exec authelia authelia validate-config
|
||||||
```
|
```
|
||||||
|
|
||||||
## Dépannage
|
|
||||||
|
|
||||||
### Erreur 431 (Header Fields Too Large)
|
|
||||||
Augmenter les buffers dans configuration.yml :
|
|
||||||
```yaml
|
|
||||||
server:
|
|
||||||
buffers:
|
|
||||||
read: 8192
|
|
||||||
write: 8192
|
|
||||||
```
|
|
||||||
|
|
||||||
### OIDC "invalid_client"
|
|
||||||
Vérifier que le client_secret est hashé avec pbkdf2 (pas argon2).
|
|
||||||
|
|
||||||
### Cookies non persistants
|
|
||||||
Vérifier que le domain est correct dans session :
|
|
||||||
```yaml
|
|
||||||
session:
|
|
||||||
cookies:
|
|
||||||
- domain: talloires.local
|
|
||||||
authelia_url: https://auth.talloires.local
|
|
||||||
```
|
|
||||||
|
|||||||
@@ -32,7 +32,6 @@ Services Docker
|
|||||||
|---------|-----------|------|-------------|
|
|---------|-----------|------|-------------|
|
||||||
| Vikunja | vikunja | 3456 | Gestion de tâches style Todoist/Trello avec CalDAV |
|
| Vikunja | vikunja | 3456 | Gestion de tâches style Todoist/Trello avec CalDAV |
|
||||||
| Outline | outline + outline-db + outline-redis | 3000 | Wiki collaboratif avec OIDC (PostgreSQL + Redis) |
|
| Outline | outline + outline-db + outline-redis | 3000 | Wiki collaboratif avec OIDC (PostgreSQL + Redis) |
|
||||||
| Hoarder | hoarder | 3000 | Bookmarks intelligents avec tagging AI (Anthropic) |
|
|
||||||
| Linkwarden | linkwarden + linkwarden-db | 3000 | Gestionnaire de bookmarks avancé avec archivage |
|
| Linkwarden | linkwarden + linkwarden-db | 3000 | Gestionnaire de bookmarks avancé avec archivage |
|
||||||
| LanguageTool | languagetool | 8010 | Serveur de correction grammaticale (FR/EN/DE) |
|
| LanguageTool | languagetool | 8010 | Serveur de correction grammaticale (FR/EN/DE) |
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user