Client basic-direct
¶
Description¶
Ce client gère l'authentification de type "basic" fournie via le header
Authorization
. Il supporte l'authentification forte par TOTP
(Time based One Time Password).
Ce client présente beaucoup de similitudes avec le client
form
.
Paramètres¶
repository
- Repository sur lequel s'appuyer pour l'identification des utilisateurs.
hashAlgo
- Méthode de hashage des mots de passe utilisés par le repository.
realm
- Nom du realm sur lequel l'utilisateur s'authentifie.
lockOut
-
Paramètres de lock out. Ce mécanisme apporte une sécurité dans le sens qu'il bloque les comptes utilisateurs effectuant un trop grand nombre de tentatives d'authentification en échec. Il reprend le principe de lock out de la classe
org.apache.catalina.realm.LockOutRealm
de Tomcat.L'élément
<lockOut>
ne prend pas de valeur, le seul fait de spécifier l'élément active le mécanisme de lock out. Il est cependant possible de définir des paramètres supplémentaires au moyen des attributs suivants:failureCount
- Nombre de tentatives de connexion après qu'un compte utilisateur ne soit bloqué. Par défaut la valeur est 5.
lockOutTime
- Durée (en secondes) de blocage des comptes ayant effectué un trop grand nombre de tentatives en échec. Par défaut la valeur est 300 (5 minutes).
cacheSize
- Taille du cache utilisé pour conserver les comptes bloqués. Le cache fonctionne sur un principe LRU (Least Recently Used), à savoir qu'une fois la limite du cache atteinte, les plus anciennes entrées sont supprimées en premier. Par défaut la valeur est 1000.
warningTime
-
Durée minimale (en secondes) pendant laquelle une entrée d'utilisateur ayant échoué à s'authentifier doit rester dans le cache avant d'être supprimée. Si une telle entrée est retirée du cache parce que sa taille maximale est atteinte (voir
cacheSize
) et que cette entrée n'a pas atteint la durée spécifiée danswarningTime
, alors un message d'avertissement est envoyé dans le log de l'application. Par défaut la valeur est 3600 (1 heure).L'idée de cette valeur est de pouvoir déceler dans le log des activités suspectes comme des attaques brut force. Dans ce cas, le cache va rapidement être saturé et les plus vieilles entrées devront en être retirées pour faire place aux nouvelles. Si ces retraits interviennent fréquemment plus vite que la durée fixée dans
warningTime
, cela signifie soit que le cache est trop petit, soit que le nombre de tentatives en échec est anormalement trop grand.
Clients supportant le lock out
Le mécanisme de lock out n'est disponible que pour les clients de type
basic
etform
. Pour les autres types de clients, veuillez vous référer à la documentation du fournisseur de l'IAM correspondant.
Exemple¶
Le bloc ci-dessous déclare un client effectuant une authentification "basic"
et s'appuyant sur le repository tomcat-file-repo
. La vérification du mot
de passe doit tenir compte du fait que ces derniers sont chiffrés avec
l'algorithme SHA.
1 2 3 4 5 6 7 8 |
|