Recette SQL IBM i (AS/400) · Sécurité
Vérifier les valeurs système de sécurité et de mot de passe
Les valeurs système de sécurité et de mot de passe en une requête : QSECURITY, QPWDLVL, QPWDMINLEN, QMAXSIGN, QINACTITV, QAUDCTL…
Le besoin
Premier réflexe d'un audit : le niveau de sécurité, les règles de mot de passe, le nombre d'essais avant désactivation, la déconnexion des sessions inactives. Avec WRKSYSVAL, il faut les ouvrir une par une.
La requête
SELECT SYSTEM_VALUE_NAME, CURRENT_NUMERIC_VALUE, CURRENT_CHARACTER_VALUE
FROM QSYS2.SYSTEM_VALUE_INFO
WHERE SYSTEM_VALUE_NAME IN ('QSECURITY', 'QPWDLVL', 'QPWDMINLEN', 'QPWDEXPITV', 'QMAXSIGN',
'QMAXSGNACN', 'QINACTITV', 'QAUDCTL', 'QRETSVRSEC', 'QDSPSGNINF')
ORDER BY SYSTEM_VALUE_NAME
QSYS2.SYSTEM_VALUE_INFO donne une ligne par valeur système, avec sa valeur numérique ou caractère selon le type. La liste IN (…) choisit celles qui comptent pour la sécurité.
Le résultat sur un IBM i 7.5
Ce que l'IBM i a renvoyé le 01/10/2026 (5 lignes au plus) :
| SYSTEM_VALUE_NAME Nom de la valeur système | CURRENT_NUMERIC_VALUE Valeur numérique courante | CURRENT_CHARACTER_VALUE Valeur caractère courante |
|---|---|---|
| QAUDCTL | NULL | *AUDLVL |
| QDSPSGNINF | NULL | 0 |
| QINACTITV | NULL | 0000000120 |
| QMAXSGNACN | NULL | 3 |
| QMAXSIGN | NULL | 000003 |
Sur notre IBM i : audit actif (QAUDCTL = *AUDLVL) et déconnexion des sessions inactives après 120 minutes (QINACTITV).
Données anonymisées : les noms de système, de profils, de bibliothèques, de postes et les adresses IP ont été remplacés.
L'adapter à votre système
Pour toutes les règles de mot de passe, filtrez SYSTEM_VALUE_NAME LIKE 'QPWD%'. Pour une vue d'ensemble prête à l'emploi, voyez QSYS2.SECURITY_INFO.