Plusieurs modules d'authentification sont disponibles, permettant d'adapter la gestion des accès selon l'infrastructure : authentification locale, LDAP/Active Directory, etc. Le module à utiliser se configure au niveau de la WebUI, et plusieurs modules peuvent être combinés.
Voici les différents modules présents dans Shinken :
Le paramètre module_display_name ou {prefix}___module_display_name ( exemple : webui__module_authentication__ldap__module_display_name ) est un paramètre commun à tous les modules, il permet de configurer le nom d'affichage d'un module qui sera ensuite affiché sur les interfaces d'authentification.
Dans le cas des modules qui sont placés en "failover", le nom du module affiché est le nom du premier module qui était disponible lors de la demande d'affichage, ce n'est pas forcément celui qui sera utilisé pour essayer de ce connecter. |
|
La séquence d'authentification est définie par le paramètre "broker__module_webui__authentication_modules_order", configuré dans le fichier de configuration de la WebUI ( voir la page : Configuration du module WebUI ). Ce paramètre détermine l'ordre de sollicitation des modules d'authentification pour se connecter à l'interface de la WebUI, ainsi que les modules à utiliser en relais lorsque l'authentification échoue ou que le module précédent est indisponible.
|
Il existe actuellement deux types de modules d'authentification sur Shinken :
La séquence d'authentification est composée d'un enchaînement d'un ou plusieurs modules du même type ou non, séparés par des flèches ( => ).
Chaque étape contient le nom d'un module à utiliser pour l'authentification, éventuellement suivi d'autres modules du même type séparés par le mot-clé <FAILOVER> : ces modules suivants sont utilisés si l'authentification échoue sur le module précédent.
Il n'y a pas de limite au nombre d'étapes d'authentification dans une séquence d'authentification, ni au nombre de <FAILOVER> au sein d'une étape d'authentification. |
Séquence invalide :
|
Le Cfg_password et le webui--module-authentication--by-mail étant de type différent, la séquence d'authentification sera rejetée comme invalide au redémarrage de l'Arbiter.
Dans cet exemple, l'utilisateur doit :
Chaque étape devant être validée pour passer à la suivante.
|
Dans cet exemple, l'utilisateur doit :
|
Dans cet exemple, l'utilisateur doit :
|
Pour cet exemple, la séquence suivante sera utilisée afin de voir la corrélation entre la séquence dans le fichier de configuration et le rendu sur l'interface.
|
|
|
|
|
|
|
Pour les API, la séquence d'authentification a un fonctionnement différent.
Les API concernées sont celles utilisant l'authentification par utilisateur ( username/password ) :
La séquence d'authentification est modifiée pour garder seulement les modules de type "BY_USER_PASSWORD" et tous les séparateurs seront remplacés par des <FAILOVER>. |
Il est possible de désactiver les API inutilisées afin de limiter la surface d'attaque ( voir les pages : Configuration du module webui--module-report-handler et Configuration du module webui-module-service-weather ). |
La séquence d'authentification suivante :
webui-module-authentication-LDAP => Cfg_password => webui--module-authentication--by-mail |
Passera en :
webui-module-authentication-LDAP <FAILOVER> Cfg_password |