Valeur système IBM i (AS/400) · Sécurité
QPWDLVL
Niveau de mot de passe
Détermine la longueur maximale, le jeu de caractères et le mode de stockage des mots de passe (0 à 4) : un des réglages les plus structurants de la sécurité des profils.
À quoi elle sert
Le niveau de mot de passe décide de ce qu'un mot de passe peut être. Aux niveaux 0 et 1, il compte 1 à 10 caractères d'un jeu limité (lettres A-Z, chiffres, $, @, #, _). Aux niveaux 2, 3 et 4, il compte 1 à 128 caractères, avec n'importe quel caractère du clavier, et la casse compte.
Le niveau 4, introduit avec IBM i 7.5, utilise en plus un stockage par PBKDF2 avec HMAC SHA-512. Le sujet concerne l'exploitant, le responsable sécurité et tous les développeurs dont les applications ou les clients (NetServer, ODBC, FTP) transmettent des mots de passe. Il faut les droits spéciaux *ALLOBJ et *SECADM.
Les valeurs possibles
| Valeur | Signification |
|---|---|
0 | Mots de passe de 1 à 10 caractères, jeu limité (valeur livrée) ; nécessaire pour dialoguer avec des systèmes anciens. |
1 | Équivalent au niveau 0 selon la documentation IBM. |
2 | 1 à 128 caractères, sensible à la casse ; retour vers 0/1 possible si les mots de passe respectent leurs contraintes ; incompatible avec les systèmes réseau anciens. |
3 | Comme le niveau 2 mais sans compatibilité descendante : les mots de passe de niveau 0/1 sont supprimés à l'activation ; pour revenir en arrière il faut passer par le niveau 2. |
4 | 1 à 128 caractères, sensible à la casse ; supprime les mots de passe chiffrés des niveaux 0 à 3 à l'activation ; retour vers 0/1 via le niveau 2. Depuis 0/1, il faut d'abord passer par 2 ou 3. |
Prise en compte : Au prochain redémarrage du système (IPL).
La valeur recommandée
Visez le niveau 3, voire 4 sur IBM i 7.5, quand tous les clients et systèmes connectés le supportent : mots de passe longs, sensibles à la casse, stockage plus robuste. Le niveau 0 par défaut est trop faible pour une exposition réseau.
Préparez le changement : inventoriez les profils et les connexions qui dépendent de mots de passe de 10 caractères majuscules.
La changer
CHGSYSVAL SYSVAL(QPWDLVL) VALUE('3')
Pour lire la valeur actuelle et celle de la livraison, en SQL :
SELECT SYSTEM_VALUE_NAME, SYSTEM_VALUE, SHIPPED_DEFAULT_VALUE
FROM QSYS2.SYSTEM_VALUE_INFO
WHERE SYSTEM_VALUE_NAME = 'QPWDLVL'
Le piège
Le changement ne prend effet qu'à l'IPL et il n'est pas anodin : avant de redescendre, les mots de passe doivent respecter les règles du niveau cible, sinon les utilisateurs ne peuvent plus s'authentifier. Les niveaux 3 et 4 effacent des mots de passe chiffrés (niveaux 0/1 pour le 3, niveaux 0 à 3 pour le 4), ce qui impose de les réinitialiser en cas de retour en arrière ; depuis le niveau 0 ou 1, on ne peut pas aller directement au niveau 4. Pour voir le niveau courant et le niveau en attente, utilisez DSPSECA.