Catégories
Docker Tut's Linux

Traefik – Créer une authentification basique

Certaines applications n’ont pas de mécanisme d’authentification. Traefik permet d’ajouter une authentification simple par couple identifiant/mot de passe.

Pour se faire, j’utiliserai les fichiers de configuration dynamique pour Traefik (rappel sur les configurations à cette adresse (CZS)).


Procédure d’ajout de l’authentification

Le chiffrement des mots de passe d’authentification pour Traefik se fait via MD5, SHA1 ou BCrypt. Ici ce sera du BCrypt, en utilisant le site web « bcrypt.fr » pour générer les hash. L’utilisation du paquet htpasswd est aussi envisageable.

Dans votre fichier docker-compose.yml, ajoutez un label « middleware » pour les services que vous souhaitez protéger :

traefik.http.routers.NOMSERVICE.middlewares: [email protected]

Maintenant, effectuons la configuration du middleware, éditez votre fichier traefik_dynamic.toml :

[http.middlewares]
  [http.middlewares.authentification.basicAuth]
    users = [ "admin:$2y$10$byzmasKak2LLmvY86KcnGO0pX8UaaNDxQZMJW.wMmaoHRhjNXqOwG" ]

Si vous utilisez un fichier traefik_dynamic.yml, voici la configuration :

http:
  middlewares:
    authentification:
      basicAuth:
        users:
        - admin:$2y$10$byzmasKak2LLmvY86KcnGO0pX8UaaNDxQZMJW.wMmaoHRhjNXqOwG

L’utilisateur créé (admin) a pour mot de passe « admin ». Dès à présent, refaite un docker-compose up -d pour recréer vos services et ainsi bénéficier d’une authentification « basique » !

La création de ce middleware est utilisable pour toutes les ressources derrière Traefik. Vous pouvez aussi bien l’utiliser pour protéger une page sans authentification qu’une page ayant déjà un système d’authentification.

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *