Mise en place d'authentification sur Haproxy
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 ?
Activer l'actualisation automatique des commentaires