Mise en place d'authentification sur Haproxy

De Ikoula Wiki
Jump to navigation Jump to search
The printable version is no longer supported and may have rendering errors. Please update your browser bookmarks and please use the default browser print function instead.

Introduction

Nous allons voir comment mettre en place une authentification par login/password sur Haproxy.

Déroulé

Dans la configuration d'Haproxy, nous allons créer une nouvelle section userlist nommée Nos_Utilisateurs et y ajouter notre utilisateur toto avec pour mot de passe en clair monmotdepasse :

userlist Nos_Utilisateurs
  user toto insecure-password monmotdepasse

Bien sur il est possible de ne pas afficher un mot de passe en clair mais encrypté en SHA-256, pour cela nous allons le générer :

$ mkpasswd -m sha-256 monmotdepasse
$5$kUqTNdovJz4EO/r$GtRGZFw.3J8DqLI9lDtSVc0itXxfk4wTjzWOe7P3U20

Si la commande mkpasswd n'est pas présente sur votre système, installez le paquet whois.

Dans ce cas la configuration au niveau d'Haproxy deviendra :

userlist Nos_Utilisateurs
  user toto password $5$hEn6CpqoP$oYPML9qyuOuaYG/u3R8Bz75gUvBoTN1/t1CDBI1qyRA

Reste ensuite à mettre la restriction dans la section que vous souhaitez, par exemple dans un frontend ou backend, il vous suffit d'ajouter la configuration ci-dessous :

http-request auth unless { http_auth(Nos_Utilisateurs) }



Vous pouvez ajouter plusieurs utilisateurs par liste, plusieurs listes et aussi créer des groupes, exemple :

userlist Nos_Utilisateurs
  group admin  users toto
  group compta users titi,tata
  
  user toto password $5$hEn6CpqoP$oYPML9qyuOuaYG/u3R8Bz75gUvBoTN1/t1CDBI1qyRA
  user titi insecure-password monmotdepasse
  user tata insecure-password monmotdepasse2

Comme vous avez pu le voir, vous pouvez aussi mixer entre des mots de passe en clair et encryptés.

Au niveau de la restriction, vous pouvez déclarer d'autoriser que le groupe admin ;

http-request auth unless { http_auth_group(Nos_Utilisateurs) admin }

Ou plusieurs groupes :

http-request auth unless { http_auth_group(Nos_Utilisateurs) admin compta }



Cet article vous a semblé utile ?

0



Vous n'êtes pas autorisé à publier de commentaire.