Aller au contenu

Valeur système IBM i (AS/400) · Sécurité

QSECURITY

Niveau de sécurité du système

Fixe le niveau de sécurité global (20, 30, 40 ou 50) : mots de passe, contrôle des droits sur les objets et protection des interfaces non documentées.

À quoi elle sert

C'est la valeur centrale de la sécurité IBM i. Le niveau 30 exige un mot de passe et vérifie les droits sur les ressources. Le niveau 40 y ajoute la protection contre les interfaces non documentées : un programme qui tente d'y accéder échoue.

Le niveau 50 va plus loin : il fait aussi échouer les paramètres non pris en charge passés à des interfaces supportées. Les niveaux 10 et 20 (accès universel aux ressources) ne sont plus sélectionnables en 7.5 : ils ne subsistent que sur un système qui tourne déjà à ce niveau. Il faut les droits spéciaux *ALLOBJ et *SECADM.

Les valeurs possibles

ValeurSignification
10Pas de mot de passe, accès universel : disponible seulement si le système tourne déjà à ce niveau.
20Mots de passe exigés, mais accès universel aux ressources ; non sélectionnable en 7.5 sauf si le système tourne déjà à 20.
30Mots de passe exigés et accès fondé sur les droits.
40Niveau 30 plus protection contre les interfaces non supportées (valeur livrée).
50Niveau 40 plus contrôle des valeurs de paramètres sur les interfaces supportées.

Prise en compte : Au prochain IPL.

La valeur recommandée

IBM indique que 40 est le minimum à utiliser (les niveaux 30 et inférieurs n'offrent pas la protection d'intégrité nécessaire), et 50 convient aux environnements soumis à des exigences fortes.

La changer

CHGSYSVAL  SYSVAL(QSECURITY) VALUE('40')

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 = 'QSECURITY'

Le piège

La modification ne s'applique qu'à l'IPL. Une fois passé du niveau 10 ou 20 à 30, 40 ou 50, on ne peut plus revenir au niveau 10 ou 20. Avant de passer à 40 ou 50, évaluez aussi QALWUSRDMN : passer à 50 peut faire échouer des applications anciennes qui utilisent des interfaces tolérées jusque-là.