đSSO Authelia
Authelia est un serveur dâauthentification et dâautorisation open source fournissant une authentification Ă deux facteurs et une authentification unique (SSO) pour vos applications via un portail Web.
SSO Authelia
Site web officiel : https://www.authelia.com/
- Open source
- SSO
- Authentification 2F avec Yubikey
- OTP basé sur le temps avec Google Authenticator
- Prend en charge LDAP
- Prend en charge Active Directory
- Fonctionne avec les proxys inverses
- Notifications push avec duo
- Bloquer les attaques de force brute
- VĂ©rification dâidentitĂ©
- Une meilleure gestion des mots de passe
- Flux de travail flexible
- UI intuitif
Prérequis et liens
Un serveur debian + nginx
Installation deb ou binaire
Installation par fichier deb
1
2
3
4
5
6
7
8
# Téléchargement fichier deb
wget https://github.com/authelia/authelia/releases/download/v4.39.13/authelia_4.39.13-1_amd64.deb
# droits Ă l'utilisateur _apt pour l'installation
sudo chown _apt: authelia_4.39.13-1_amd64.deb
# installation authelia et ses dépendances
sudo apt install ./authelia_4.39.13-1_amd64.deb
# redis est utilisé
sudo apt install redis
Installation binaire
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
# Téléchargement
wget https://github.com/authelia/authelia/releases/download/v4.39.19/authelia-v4.39.19-linux-amd64.tar.gz
tar xzvf authelia-v4.39.19-linux-amd64.tar.gz
# Mise Ă jour binaire
# si timer
sudo systemctl stop authelia.timer
sudo systemctl stop authelia.service
sudo cp authelia /usr/bin/authelia
# si timer
sudo systemctl start authelia.timer
sudo systemctl start authelia.service
# Effacer
rm authelia*
# version
authelia -v # authelia version v4.39.19
Générateur id et secret client
Authelia fournit un moyen simple dâeffectuer de telles actions.
ID client
Les utilisateurs peuvent facilement gĂ©nĂ©rer un identifiant/identifiant client en suivant le guide GĂ©nĂ©ration dâune chaĂźne alphanumĂ©rique alĂ©atoire
Par exemple, les utilisateurs peuvent exécuter la commande
1
authelia crypto rand --length 72 --charset rfc3986
pour générer un identifiant/identifiant client de 72 caractÚres qui est imprimé.
Cette commande aléatoire évite également les problÚmes avec une application client/partie de confiance codant correctement les caractÚres car elle utilise les caractÚres non réservés RFC3986 .
Si un jeu de caractĂšres diffĂ©rent est utilisĂ© et que la valeur est diffĂ©rente lors du codage de lâURL, il imprimera Ă©galement cette valeur sĂ©parĂ©ment.
secret client
Les utilisateurs peuvent facilement gĂ©nĂ©rer un secret client en suivant le guide GĂ©nĂ©ration dâun hachage de mot de passe alĂ©atoire
Par exemple, les utilisateurs peuvent exécuter la commande
1
authelia crypto hash generate pbkdf2 --variant sha512 --random --random.length 72 --random.charset rfc3986
â ïž Veuillez noter le mot de passe en clair ainsi que le hachage $pbkdf2 du mot de passe pour une utilisation ultĂ©rieure.
pour Ă la fois gĂ©nĂ©rer un secret client de 72 caractĂšres qui est imprimĂ© et doit ĂȘtre utilisĂ© avec la partie utilisatrice et le hacher Ă lâaide de PBKDF2 qui peut ĂȘtre stockĂ© dans la configuration Authelia. Cette commande alĂ©atoire Ă©vite Ă©galement les problĂšmes avec une application client/partie de confiance codant correctement les caractĂšres car elle utilise les caractĂšres non rĂ©servĂ©s RFC3986 .
Si un jeu de caractĂšres diffĂ©rent est utilisĂ© et que la valeur est diffĂ©rente lors du codage de lâURL, il imprimera Ă©galement cette valeur sĂ©parĂ©ment.
Réglage des facteurs de travail
Lors du hachage des secrets du client, Authelia effectue lâopĂ©ration de hachage pour authentifier le client lors de la rĂ©ception des demandes. Cette opĂ©ration de hachage prend du temps, de par sa conception (la partie travail du facteur travail) pour empĂȘcher un attaquant de tenter dâobtenir le secret client. Le temps nĂ©cessaire dĂ©pend de votre matĂ©riel et du facteur de travail.
Si les opĂ©rations de votre client expirent, vous devrez peut-ĂȘtre rĂ©duire le facteur de travail Ă un niveau appropriĂ© pour votre client et les capacitĂ©s de votre matĂ©riel.
Pour tester la durée de différents facteurs de travail, vous pouvez la mesurer ainsi :
1
time authelia crypto hash generate pbkdf2 --variant sha512 --iterations 310000 --password insecure_password
Générer une chaßne alphanumérique aléatoire
Certaines sections de la configuration recommandent de gĂ©nĂ©rer une chaĂźne alĂ©atoire. Il y a plusieurs façons dâaccomplir cela et la Les mĂ©thodes suivantes ne sont que des suggestions.
Authelia. Le conteneur de docker Authelia ou binaire CLI peut ĂȘtre utilisĂ© pour gĂ©nĂ©rer une chaĂźne alphanumĂ©rique alĂ©atoire.
Utilisez le authelia crypto rand --helpcommander ou voir le guide de rĂ©fĂ©rence authelia crypto rand pour plus dâinformations sur toutes les options disponibles.
1
authelia crypto rand --length 64 --charset alphanumeric
OpenSSL. La commande openssl sur Linux peut ĂȘtre utilisĂ©e pour gĂ©nĂ©rer une chaĂźne alphanumĂ©rique alĂ©atoire:
1
openssl rand -hex 64
Linux de base. Les commandes Linux de base peuvent ĂȘtre utilisĂ©es pour gĂ©nĂ©rer une chaĂźne alphanumĂ©rique alĂ©atoire:
1
2
LENGTH=64
tr -cd '[:alnum:]' < /dev/urandom | fold -w "${LENGTH}" | head -n 1 | tr -d '\n' ; echo
Configuration
Configuration authelia sur serveur cwwk rnmkcy.eu 192.168.0.205
- Serveur: 127.0.0.1:9091
- Gestion utilisateurs: LLDAP
- Authentification: TOTP + Webauthnn
- Stockage: Base mysql
- Notification: SMTP
| Clé de configuration | Signification | Exemple |
|---|---|---|
| jwt_secret | Une chaĂźne alĂ©atoire qui ne peut pas ĂȘtre devinĂ©e par un attaquant | GĂ©nĂ©rez-en une en tapant head /dev/random | tr -dc A-Za-z0-9 | head -c64 > jwt_secret.txt et collez-la ici entre guillemets. |
| default_redirection_url | Si lâutilisateur navigue directement vers auth.myhome.com, Authelia ne peut pas dĂ©duire oĂč le rediriger. Il sâagira donc probablement dâune page lister-toutes-les-applications-disponibles | https://www.myhome.com |
| default_2fa_method | 2FA est lâabrĂ©viation de 2 factor authentication (authentification Ă deux facteurs). Il sâagit du processus ennuyeux qui vous demande dâentrer le code que vous avez reçu par SMS ou par lâintermĂ©diaire dâune application dâauthentification. | âtotpâ, au moins câest gratuit |
| server/host | Attention! Le serveur dâauthentification est un serveur qui ne peut pas ĂȘtre utilisĂ© par les utilisateurs de lâInternet. Si vous laissez la valeur par dĂ©faut 0.0.0.0 alors Authelia Ă©coutera sur lâinterface rĂ©seau de votre serveur. Mais ce nâest pas ce que vous voulez une fois que le serveur est en production, puisque nous allons le faire fonctionner derriĂšre un reverse proxy pour HTTPS. | Lors de la configuration, laissez 0.0.0.0 mais changez pour 127.0.0.1 une fois que tout est configurĂ©. |
| log/level | Changez pour info une fois que tout est en cours dâexĂ©cution | info |
| authentication_backend | Activez les sous-clĂ©s file et file/path pour faciliter lâutilisation dans un premier temps. Ci-dessous, vous trouverez ce quâil faut stocker dans ce chemin dâaccĂšs | Changez path en /etc/authelia/users_db.yml |
| access_control | Cette partie est un peu complexe, donc regardez ci-dessous pour une explication | Voir ci-dessous |
| access_control/rule/âŠ/policy | Nâimporte lequel de deny (rejette la requĂȘte), bypass (relai transparent de la connexion), one_factor (demande de login & mots de passe), two_factor (demande de login & mot de passe + preuve de possession dâun appareil) | Voir ci-dessous pour un exemple |
| session/domain | Typiquement, définir le domaine de base | myhost.com |
| session/secret | Une autre chaĂźne alĂ©atoire qui ne peut pas ĂȘtre devinĂ©e par un attaquant | GĂ©nĂ©rez-en une en tapant head /dev/random | tr -dc A-Za-z0-9 | head -c64 > session_secret.txt et collez-la ici entre guillemets. |
| storage | Activez cette option, car elle est nécessaire pour stocker les données de session. |  |
| storage/encryption_key | Une autre chaĂźne alĂ©atoire qui ne peut pas ĂȘtre devinĂ©e par un attaquant | GĂ©nĂ©rez-en une en tapant head /dev/random | tr -dc A-Za-z0-9 | head -c64 > session_secret.txt et collez-la ici entre guillemets |
| notifier | Vous devez définir au moins un notificateur pour que Authelia puisse communiquer avec vous et ses utilisateurs |  |
LLDAP
LLDAP est utilisé pour la gestion utilisateur
Stockage géré par une base mariadb (mysl)
Créer une base mariadb
Host : 127.0.0.1
Base : authelia
Utilisateur : authelia
Mot de passe : Mot_de_passe_base_authelia
En ligne de commande
1
sudo mariadb -e "create database authelia; grant all privileges on authelia.* to authelia@'localhost' identified by 'Mot_de_passe_base_authelia'; flush privileges;"
WebAuthn
ParamĂštre user_verification :
- discouraged : Le client sera dĂ©couragĂ© de demander une vĂ©rification Ă lâutilisateur.
- preferred : Le client, sâil est conforme, demandera Ă lâutilisateur une vĂ©rification si lâappareil la prend en charge.
- required : Le client demandera Ă lâutilisateur une vĂ©rification ou Ă©chouera si lâappareil ne prend pas en charge la vĂ©rification.
attestation_conveyance_preference:
- none : Le client recevra lâinstruction de ne pas effectuer de transfert de propriĂ©tĂ©.
- indirect : Le client reçoit lâinstruction dâeffectuer le transfert de propriĂ©tĂ©, mais il peut choisir la maniĂšre de le faire, y compris en utilisant une AC dâanonymisation tierce.
- direct : Le client recevra lâinstruction dâeffectuer le transfert avec une dĂ©claration dâattestation directement signĂ©e par le dispositif.
Activation service authelia
Lancer, activer et vérifier
1
2
sudo systemctl enable authelia --now
sudo journalctl -u authelia
1
oct. 30 18:56:33 alder systemd[1]: Started authelia.service - Authelia authentication and authorization server.
auth.rnmkcy.eu
Comme Authelia affiche une page de connexion/authentification, il doit ĂȘtre exĂ©cutĂ© sur un canal de transport cryptĂ© pour Ă©viter les attaques de lâhomme du milieu (MITM).
Il ne dĂ©marrera pas tant que ce canal nâaura pas Ă©tĂ© correctement configurĂ©.
Comme dâhabitude avec HTTPS, pour dĂ©marrer une connexion TLS, vous avez besoin dâun certificat. La solution la plus simple est dâutiliser Letâs Encrypt ou ZeroSSL avec son outil certbot pour automatiser la rĂ©cupĂ©ration et le renouvellement des certificats. Il ne sâagit pas dâun tutoriel sur la mise en place du HTTPS, donc je liste les Ă©tapes Ă rĂ©aliser avec un reverse proxy NGINX, nâhĂ©sitez pas Ă personnaliser si vous utilisez un autre reverse proxy pour le HTTPS.
Proxy nginx
Le fichier /etc/nginx/conf.d/auth.rnmkcy.eu.conf
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
server {
listen 80;
server_name auth.rnmkcy.eu;
return 301 https://$server_name$request_uri;
}
server {
listen 443 ssl;
listen [::]:443 ssl;
http2 on;
server_name auth.rnmkcy.eu;
include /etc/nginx/conf.d/ssl-modern.inc;
ssl_session_cache shared:SSL:2m;
location / {
set $upstream_authelia http://127.0.0.1:9091;
proxy_pass $upstream_authelia;
client_body_buffer_size 128k;
#Timeout if the real server is dead
proxy_next_upstream error timeout invalid_header http_500 http_502 http_503;
# Advanced Proxy Config
send_timeout 5m;
proxy_read_timeout 360;
proxy_send_timeout 360;
proxy_connect_timeout 360;
# Basic Proxy Config
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
proxy_set_header X-Forwarded-Host $http_host;
proxy_set_header X-Forwarded-Uri $request_uri;
proxy_set_header X-Forwarded-Ssl on;
proxy_redirect http:// $scheme://;
proxy_http_version 1.1;
proxy_set_header Connection "";
proxy_cache_bypass $cookie_session;
proxy_no_cache $cookie_session;
proxy_buffers 64 256k;
# If behind reverse proxy, forwards the correct IP
# set_real_ip_from 10.0.0.0/8;
# set_real_ip_from 192.168.10.0/16;
# set_real_ip_from 192.168.0.0/16;
# set_real_ip_from fc00::/7;
# real_ip_header X-Forwarded-For;
# real_ip_recursive on;
}
}
Recharger nginx
1
sudo systemctl reload nginx
Dirigez votre navigateur vers https://auth.rnmkcy.eu et vous devriez voir apparaĂźtre la page de connexion de Authelia.
Modifier votre application pour le SSO
Authelia affiche une page de connexion/authentification, il doit ĂȘtre exĂ©cutĂ© sur un canal de transport https
Lâapplication doit ĂȘtre adaptĂ©e pour traiter avec un serveur dâauthentification externe.
Lorsque Authelia a validĂ© lâutilisateur, il redirige vers votre application.
Cette redirection contient des en-tĂȘtes spĂ©cifiques que votre application doit traiter pour procĂ©der Ă sa crĂ©ation de session habituelle (typiquement, votre application Ă©mettra son Set-Cookie ou une requĂȘte de stockage local ou un jeton JWT ou âŠ).
Il sâagit simplement de contourner la page de connexion.
Nginx snippets
Création dossier snippets
1
sudo mkdir -p /etc/nginx/snippets
Les fichiers de configuration nginx
Le premier extrait est une route interne
/autheliaqui nâest pas accessible depuis lâinternet, qui est utilisĂ©e dans vos applications pour affirmer que la session Authelia est valide.
Snippet authelia.conf
1
sudo nano /etc/nginx/snippets/authelia.conf
Contenu
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
# Point de terminaison virtuel créé par nginx
# pour transfĂ©rer les demandes dâauthentification.
# Internal Authelia verify endpoint
location = /authelia {
# accessible uniquement en interne (subrequests) â requĂȘtes externes â 404
internal;
# n'envoie pas le corps de la requĂȘte au backend (gain d'efficacitĂ©)
proxy_pass_request_body off;
# neutralise Content-Length (évite d'envoyer une taille quand pas de body)
proxy_set_header Content-Length "";
# transmet l'hĂŽte original ($host) au backend
proxy_set_header Host $host;
# URL complÚte d'origine (schéma://host + request_uri)
proxy_set_header X-Original-URL $scheme://$http_host$request_uri;
# indique le protocole d'origine (http ou https)
proxy_set_header X-Forwarded-Proto $scheme;
# transmet l'hÎte d'origine (inclut le port si présent)
proxy_set_header X-Forwarded-Host $http_host;
# transmet l'URI d'origine (chemin + query string)
proxy_set_header X-Forwarded-Uri $request_uri;
# ajoute l'IP cliente à X-Forwarded-For (conserve proxys intermédiaires)
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
# envoie l'IP source de la connexion nginx (IP client directe)
proxy_set_header X-Real-IP $remote_addr;
# redirige la sous-requĂȘte vers l'API interne Authelia /api/verify sur localhost:9091
proxy_pass http://127.0.0.1:9091/api/verify;
# délai maximum pour lire la réponse du backend = 10 secondes
proxy_read_timeout 10s;
}
Vous aurez aussi besoin dâun snippet pour lâauthentification (interne) elle-mĂȘme, donc sauvegardez ce snippet sous
/etc/nginx/snippets/auth.conf:
Typiquement, ce snippets fait en sorte que NGINX gĂ©nĂšre une requĂȘte vers lâemplacement interne/autheliaĂ chaque fois quâune requĂȘte dâutilisateur est faite vers votre application. Il vĂ©rifie le code de rĂ©sultat HTTP de la requĂȘte interne. Si câest 200, la requĂȘte de lâutilisateur est acceptĂ©e, sinon il est redirigĂ© vers la page de login Authelia.
Snippet auth.conf
1
sudo nano /etc/nginx/snippets/auth.conf
Contenu
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
# Protect with Authelia
# effectue une sous-requĂȘte interne vers /authelia pour vĂ©rifier l'accĂšs
auth_request /authelia;
# stocke l'URL complÚte demandée (schéma://host+URI) dans la variable $target_url
auth_request_set $target_url $scheme://$http_host$request_uri;
# récupÚre le header Remote-User renvoyé par Authelia (nom d'utilisateur authentifié)
auth_request_set $user $upstream_http_remote_user;
# récupÚre le header Remote-Groups renvoyé par Authelia (groupes / rÎles)
auth_request_set $groups $upstream_http_remote_groups;
# transmet l'utilisateur authentifié au backend en tant que header Remote-User
proxy_set_header Remote-User $user;
# transmet les groupes de l'utilisateur au backend en tant que header Remote-Groups
proxy_set_header Remote-Groups $groups;
# en cas de 401 (non autorisé) renvoie une redirection 302 vers le portail d'authentification,
# avec ?rd=<URL d'origine> pour que l'IDP puisse rediriger l'utilisateur vers la ressource demandée aprÚs login
error_page 401 =302 https://auth.rnmkcy.eu/?rd=$target_url;
Exemple de protection
Enfin, dans la description de votre site dâapplication, vous devrez inclure ces extraits. Le fichier
authelia.confva dans le bloc serveur et le fichierauth.confva dans nâimporte quel endroit que vous voulez protĂ©ger.
Vous Ă©viterez typiquement de protĂ©ger les actifs statiques et les redirections, puisquâil nây a pas dâintĂ©rĂȘt Ă vĂ©rifier lâauthentification pour ceux-ci.
Authentification Totp Yubikeys Passkeys
Totp
On va ajouter une authentification TOTP
Se connecter sur authelia et cliquer sur authelia

Mot de passe usage unique

Saisir le code ID

Suivre la procédure

Si vous nâavez pas google authenticator
Prendre une photo avec lâappareil android pour dĂ©coder

Cliquer sur le lien pour copier le code
Copier le contenu de secret dans le totp de cockpit keepassxc

Cliquer sur suivant et décocher qrcode

Vérification fonctionnement avec un code généré par cockpi keepassxc

Si tout est OK

et un message de confirmation

Yubikeys WebAuthn
Configuration authelia prérequise
1
2
3
4
5
6
7
8
9
10
11
12
13
14
## WebAuthn Actif
##
webauthn:
## Désactiver Webauthn avec true.
disable: false
# l'application web utilisant la double authentification
access_control:
default_policy: deny
rules:
- domain:
- "site.rnmkcy.eu"
policy: two_factor
Clé yubikey insérée dans un port USB
Se connecter sur le lien https://auth.rnmkcy.eu avec Firefox
Saisir utilisateur âyannâ et son mot de passe
Saisir le code ID

Une nouvelle fenĂȘtre sâouvre


La clé est enregistrée

et un message de confirmation

Se connecter de nouveau Ă cockpit
Page de connexion auhelia

Validation par clé

Page authentification cockpit

Ajouter une autre clé yubikey
La seconde clé est enregistrée

et un message de confirmation

Passkeys KeepassXC
Si lâapplication KeepassXC et son extension firefox sont actifs il est possible de crĂ©er une passkey
OIDC certificat fournisseur et client
La configuration Authelia est dĂ©finie dans le fichier configuration.yml. Ce fichier permet de dĂ©finir les paramĂštres de configuration OIDC nĂ©cessaires, tels quâun fournisseur et un client.
En consultant la documentation publique OIDC dâAuthelia , nous pouvons obtenir un exemple de configuration. Cet exemple de configuration contient plusieurs paramĂštres nĂ©cessitant soit une valeur secrĂšte, soit un certificat.
Ces Ă©lĂ©ments doivent ĂȘtre gĂ©nĂ©rĂ©s de maniĂšre sĂ©curisĂ©e avant dâajuster la configuration. Par consĂ©quent, gĂ©nĂ©rons-les !
CrĂ©ation dâun certificat RSA
Authelia vous oblige à définir un certificat (clé privée) via la directive key et une chaßne de certificats (clé publique) via la directive certificate_chain.
Vous pouvez générer les deux via la commande suivante :
1
authelia crypto certificate rsa generate --common-name auth.rnmkcy.eu && cat public.crt && cat private.pem
â ïž Veuillez ajuster le nom commun du certificat Ă votre FQDN dâAuthelia
Création fournisseur OIDC
Une fois le certificat RSA et le secret client créés de maniĂšre sĂ©curisĂ©e, nous pouvons commencer Ă ajuster le fichier de configuration dâAuthelia. Nous ajouterons un fournisseur dâidentitĂ© en insĂ©rant nos secrets et informations de certificat auto-gĂ©nĂ©rĂ©s.
Mettez ce qui suit Ă la fin de votre configuration Authelia :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
identity_providers:
oidc:
hmac_secret: 'my-secure-hmac-secret-key-to-change'
jwks:
- key_id: 'authelia'
algorithm: 'RS256'
use: 'sig'
certificate_chain: |
-----BEGIN CERTIFICATE-----
<PASTE-HERE-YOUR-PUBLIC-KEY-DATA> sur une ligne
-----END CERTIFICATE-----
key: |
-----BEGIN PRIVATE KEY-----
<PASTE-HERE-YOUR-PRIVATE-KEY-DATA> sur une ligne
-----END PRIVATE KEY-----
cors:
endpoints:
- authorization
- token
- revocation
- introspection
- userinfo
allowed_origins:
- https://auth.rnmkcy.eu #Enter Domain Name
allowed_origins_from_client_redirect_uris: false
Vérifier la configuration en mode su
1
sudo authelia validate-config --config /etc/authelia/configuration.yml
Vous devez obtenir le message suivant, si tout est correct
Configuration parsed and loaded successfully without errors.
Maintenance
Erreur au démarrage
Dans le cas dâun redĂ©marrage de la machine, une erreur se produit et le service authelia nâest pas lancĂ©
1
systemctl status authelia
Une erreur sâest produite au dĂ©marrage
1
2
3
4
5
6
7
8
9
10
Ă authelia.service - Authelia authentication and authorization server
Loaded: loaded (/usr/lib/systemd/system/authelia.service; enabled; preset: enabled)
Active: failed (Result: exit-code) since Wed 2026-01-14 21:34:38 CET; 10h ago
Duration: 7.091s
Invocation: c58e773f19df4fa4a895fb0b630b3cb7
Docs: https://www.authelia.com
Process: 1678 ExecStart=/usr/bin/authelia --config /etc/authelia/configuration.yml (code=exited, status=1/FAILURE)
Main PID: 1678 (code=exited, status=1/FAILURE)
Mem peak: 67.8M
CPU: 104ms
Si on relance le service, tout est correct. Il faut lancer le service authelia aprÚs un délai
CrĂ©er un dĂ©clencheur de minuterie pour lancer le service 1 minute aprĂšs le dĂ©marrage du systĂšme (le minuteur utilise le mĂȘme nom de service)
1
2
3
4
5
6
7
8
9
10
cat <<EOF | sudo tee /usr/lib/systemd/system/authelia.timer
[Unit]
Description=Timer service authelia
[Timer]
OnBootSec=1min
[Install]
WantedBy=timers.target
EOF
Recharger la configuration
1
sudo systemctl daemon-reload
Désactiver le service au démarrage.
1
sudo systemctl disable authelia
Activer la minuterie
1
sudo systemctl enable authelia.timer --now
Redémarrez le conteneur.
1
uptime
07:55:26 up 10:21, 1 user, load average: 101,02, 96,73, 84,61
Le service sera désactivé par défaut.
1
systemctl status authelia
1
2
3
4
5
6
7
8
9
10
11
12
13
â authelia.service - Authelia authentication and authorization server
Loaded: loaded (/usr/lib/systemd/system/authelia.service; disabled; preset: enabled)
Active: active (running) since Thu 2026-01-15 07:35:46 CET; 21min ago
Invocation: 7998c201f1294f5ab189879b6fa39c1d
Docs: https://www.authelia.com
Main PID: 6356 (authelia)
Tasks: 10 (limit: 38031)
Memory: 39.1M (peak: 41.5M)
CPU: 332ms
CGroup: /system.slice/authelia.service
ââ6356 /usr/bin/authelia --config /etc/authelia/configuration.yml
janv. 15 07:35:46 alder systemd[1]: Started authelia.service - Authelia authentication and authorization server.
Timer le déclenchera automatiquement.
1
sudo systemctl list-timers
Liste des timers
1
2
NEXT LEFT LAST PASSED UNIT ACTIVATES
- - Thu 2026-01-15 08:07:44 CET 42s ago authelia.timer authelia.service
Authelia secrets
Utilisez une approche sĂ©curisĂ©e basĂ©e sur des fichiers et Ă©vitez dâincorporer des secrets directement dans les modĂšles dĂ©diĂ©s au contrĂŽle de version.
CrĂ©er un dossier secrets avec les droits utilisateur âautheliaâ
1
2
3
4
5
6
7
8
9
10
sudo -u authelia mkdir -p /etc/authelia/secrets
# Créer les fichiers contenant les différents mot de passe
echo "xxxxxxxxxxxxxxxx" | sudo -u authelia tee /etc/authelia/secrets/reset_password_jwt_secret
echo "xxxxxxxxxxxxxxxx" | sudo -u authelia tee /etc/authelia/secrets/ldap_password
echo "xxxxxxxxxxxxxxxx" | sudo -u authelia tee /etc/authelia/secrets/session_secret
echo "xxxxxxxxxxxxxxxx" | sudo -u authelia tee /etc/authelia/secrets/storage_encryption_key
echo "xxxxxxxxxxxxxxxx" | sudo -u authelia tee /etc/authelia/secrets/mysql_password
echo "xxxxxxxxxxxxxxxx" | sudo -u authelia tee /etc/authelia/secrets/notifier_smtp_password
echo "xxxxxxxxxxxxxxxx" | sudo -u authelia tee /etc/authelia/secrets/gitea_client_secret
echo "xxxxxxxxxxxxxxxx" | sudo -u authelia tee /etc/authelia/secrets/stalwart_client_secret
modifier les droits
1
sudo chmod 600 /etc/authelia/secrets/*
Modifier le fichier de configuration /etc/authelia/configuration.yml
Vérifier la configuration et redémarrer le service authelia si aucune erreur
1
2
sudo authelia validate-config --config /etc/authelia/configuration.yml
sudo systemctl restart authelia









