Utilisateurs IBM i et droits
La gestion de la sécurité s'appuie sur la notion de
profil utilisateur (objet *USRPRF dans QSYS)
La notion d'environnement s'appuie elle sur la notion de JOBD (objet *JOBD dans la bibliothèque de votre choix)
n utilisateurs utilisant la même JOBD.
• Pour créer une JOBD : CRTJOBD

Remarquez les paramètres :
- JOBQ, pour les soumissions à venir
- PRTDEV / OUTQ, pour les impressions
Rappel :
Si vous n'indiquez rien ici, on ira voir :
1/ Sur le terminal

2/ la valeur système QPRTDEV
|
CRTJOBD, suite ...

Ici :
- La liste de bibliothèque (*LIBL) par défaut
- Le niveau d'historique
- 4 : niveau d'historique élevé
- 00 : filtre de gravité (ici aucun)
- *NOLIST : ne produire une historique papier (QPJOBLOG) qu'en cas de fin anormale
- *MSG : produire une historique papier simple systématiquement
- *SECLVL : produire une historique papier détaillée systématiquement
• Pour gérer la liste des utilisateurs : WRKUSRPRF *ALL

l'option 1 permet de créer un nouvel utilisateur :

remarquons les paramètres :
- Mot de passe
- *USRPRF mot de passe = profil
- *NONE profil sans mot de passe (propriétaire ou profil de groupe)
NB : il n'est possible de retrouver un mot de passe, mais on peut retrouver sa signature (Hash)
par QSYRUPWD
- État :
- *ENABLED (actif)
- *DISABLED (désactivé, après
n mauvais mot de passe)
- Bibliothèque en cours -> Bibliothèque de création par défaut
- Pgm et Menu initial
- Classe d'utilisateur
- *USER : sans droits particuliers
- *SYSOPR : de type opérateur (droit de sauvegarde et de gestion
des travaux)
- *PGMR : développeur
- *SECADM : droits de création des utilisateurs
- *SECOFR : tous les droits, pour cet utilisateurs les droits sur les
objets ne sont pas vérifiés
- Droits spéciaux, la classe d'utilisateur ne représentant qu'un
assemblage par défaut
- *ALLOBJ : droits sur TOUS les objets (type QSECOFR)
- *AUDIT : droit de paramétrer l'audit système
- *IOSYSCFG : droit de gérer la configuration (lignes, paramétrage
IP, etc...)
- *JOBCTL : droit de contrôler les travaux des autres et les OUTQ
avec OPRCTL(*YES)
- *SAVSYS : droit de sauvegarde global
- *SECADM : droit de gérer les utilisateurs
- *SPLCTL : droit absolu de gestion des spools
- *SERVICE : droit d'accès aux commandes de la maintenance
Ne pas confondre profil utilisateur IBM i (même QSRV)
et les profils DST (en dessous l'OS).
DST est
un environnement lié à la maintenance, accessible
lors de l'IPL, avec l'option 21(mode manuel) ou partiellement
avec la commande STRSST.
il faut alors indiquer un profil DST (par défaut QSECOFR
mot de passe QSECOFR) n'ayant aucun rapport (et donc PAS le même
mot de passe) avec le QSECOFR de IBM i. |

sur cet écran nous pouvons attribuer à l'utilisateur :
- des droits spéciaux, normalement ce sont ceux hérités de la classe, voir plus haut
- une JOBD, (Description de travail) voir plus haut
- un profil
de groupe afin de gérer les droits sur quelques groupes
cohérents d'utilisateurs.
quelques remarques :
- depuis la V3.10 on peut associer à un profil 16 profils
de groupe, les droits sont alors cumulatifs
- le paramètre OWNER permet d'indiquer qui est
propriétaire des objets créés
- *USRPRF le profil reste propriétaire
- *GRPPRF il y a transfert de propriété au groupe
à chaque création
- n'utilisez pas QPGMR comme profil propriétaire des
applications (trop d'objets possédés)
- Notion de groupe principal (ou PGP Primary Group Profile) :
un profil de groupe principal peut être défini pour chaque objet
Le nom de ce groupe principal et les droits qui lui sont accordés pour cet objet, sont stockés avec l'objet lui-même, pour améliorer les performances.
Il faut que cela soit un profil de groupe
ce ne peut pas être le propriétaire
il doit représenter le groupe utilisant le plus fréquemment cette application.
Les
commandes permettant d'utiliser le groupe principal :
- CHGOBJPGP (Change Object Primary Groupe)
- WRKOBJPGP (Work with Objects by Primary Groupe)
- DSPUSRPRF avec le type *OBJPGP
Version 6.1
De nouvelles informations sont affichées par DSPUSRPRF
Profil utilisateur - Informations générales
Profil utilisateur . . . . . . . . . . . . : CM
Dernière ouverture de session . . . . . . : 02/09/08 18:21:15
Vérifications du mot de passe infructueuses: 0
Etat . . . . . . . . . . . . . . . . . . . : *ENABLED
Date dernière modif du mot de passe . . . : 24/06/08 08:47:08
> Le mot de passe est *NONE . . . . . . . . : *NO
Durée de validité du mot de passe . . . . : *SYSVAL
> Mot de passe arrivé à expiration par la
commande . . . . . . . . . . . . . . . . : *NO (par CHGUSRPRF)
> Bloquer la modification du mot de passe . : *SYSVAL (cf QPWDCHGBLK)
Gestion locale du mot de passe . . . . . . : *YES
Classe d'utilisateur . . . . . . . . . . . : *PGMR
> Date/Heure de création . . . . . . . . . . : 24/08/99 18:12:40
> Date/Heure de modification . . . . . . . . : 02/09/08 18:07:44
> Date de la dernière utilisation . . . . . : 03/09/08
> Date/Heure de restauration . . . . . . . . : 18/06/08 17:47:43
|
Version 7.1
- Nouveau paramètre USREXPDATE permettant d'anticiper la désactivation d'un utilisateur.
- *NONE pas de date d'expiration prévue
- *USREXPITV voir le paramètre USREXPITV
- JJ/MM/AA indiquez une date d'expiration.
- USREXPITV : nbr de jours avant expiration du profil
la nouvelle commande DSPEXPSCD permet de voir le planning d'expiration
Planning de péremption de profils utilisateur
Option
Profil Date objet Nouveau
utilisat péremption Action possédé propriét
FORMATION2 15/09/10 *DISABLE
FORMATION4 30/10/10 *DISABLE
----------------------------------------------------------------------------
la commande CHGEXPSCDE permet de modifier une de ces lignes
Modifier planning péremption (CHGEXPSCDE)
Indiquez vos choix, puis appuyez sur ENTREE.
Profil utilisateur . . . . . . . USRPRF
+ si autres valeurs
Date de péremption . . . . . . . EXPDATE date ou *NONE
Action . . . . . . . . . . . . . ACTION *DISABLE/*DELETE
|
SI vous modifiez ensuite l'utilisateur par CHGUSRPRF STATUS(*ENABLED) cela ne suffira pas,
vous recevrez CPF2251 indiquant que la date d'expiration n'est pas valide.
Pour réactiver le profil utilisateur, vous devez aussi indiquer :
- une nouvelle date d'expiration utilisateur (USREXPDATE)
- un intervalle d'expiration utilisateur (USREXPITV)
- indiquer que le profil utilisateur n'expirera pas (USREXPDATE(*NONE)).
La gestion des utilisateurs pouvant aussi être
réalisée depuis NAVIGATOR for i :

La gestion des droits est la base de la sécurité sur
IBM i.
Tout objet possède des droits privés (nomminatifs) et des droits publics
(indiquant les droits par défaut pour un utilisateur non sité , matérialisés par *PUBLIC)
Les droits sont révisables par EDTOBJAUT (WRKOBJ/opt 2) et WRKAUT pour les fichiers IFS.

- *EXCLUDE marque une absence totale de droit
- *USE donne un droit de consultation
- *CHANGE le droit de modification du contenu (table DB2,
particulièrement)
- *ALL donne tous les droits (destruction incluse)
F11 permet de voir le détail, soit :
- Droits sur l'objet
- *OBJOPR (Opér) : droit d'opération (consultation des propriétés)
- *OBJMGT (Gest) : droit de gestion (déplacement, changement de nom, ...)
- *OBJEXIST (Exist): droit d'existence et de propriété
- *OBJALTER (Modif): droit de modification des attributs
- *OBJREF (Ref) : droit d'intégrité référentielle
- Droits sur les données
- *READ (Lect) : droit de lecture
- *ADD (Ajout) : droit d'ajout
- *UPD (Màj) : droit de mise à jour
- *DLT (Suppr) : droit de suppression
- *EXECUTE (Exécut) : droit d'exécution
Là encore, vous pouvez utiliser Navigator for i


- Pour la base de données :
- Bibliothèques (Schéma)

Remarquez le paramètre CRTAUT (Nouveaux Objets= Droits à attribuer aux objets créés)
- Droits sur les tables


Cette fois nous pouvons même descendre au niveau colonne (mais est-ce bien raisonnable ?)

- Fichiers de l'IFS


Quelques conseils :
Utilisez au maximum la notion de groupe
1/ groupe d'utilisateur d'une part (profil de groupe)
2/ groupe d'objets d'autre part.
et c'est la partie la plus délicate, en effet la notion de groupe
d'objets est représentée sur IBM i, par les bibliothèques, or les
droits que vous indiquez sur la bibliothèque ne permettent pas de
préciser ce qu'il est possible de faire AVEC LES OBJETS de celle-ci.
==> une bibliothèque est un bon moyen d'INTERDIRE.
mais pour les utilisateurs ayant le droit d'utiliser la bibliothèque
il faudra être plus précis.
La meilleure solution semble être les listes d'autorisations
le principe est de pouvoir définir un "modèle" de droits (une règle)
et d'appliquer ensuite cette règle à x objets.
Le système identifie la liste d'autorisation comme un type
d'objet *AUTL attaché à la bibliothèque QSYS.
|
Ordre de recherche des autorisations sur un objet
---------------------------------------------------
1/ avec le profil de référence
+ le profil est il de type QSECOFR ?------OUI ----------->!
NON !
! !
+ le profil a-t-il des droits sur l'objet OUI ----------->!
NON !
! !
+ le profil est-il indiqué dans la liste OUI ----------->!
d'autorisation (s'il y a une liste) !
NON !
! !
2/ avec le profil de groupe (n fois) ! !
(s'il n'y a pas de profil de groupe --> 3/ ) !
! !
+ le groupe est il SPCAUT(*ALLOBJ) ? ! OUI ----------->!
NON !
! !
+ le groupe a-t-il des droits sur l'objet OUI ----------->!
NON !
! ! ! !
+ le groupe est-il indiqué dans la liste OUI ----------->!
d'autorisation (s'il y a une liste) !
NON !
! !
3/ avec *PUBLIC ! !
! !
+ *PUBLIC est-il indiqué sur l'objet ! OUI ----------->!
NON !
! !
+ *PUBLIC EST indiqué dans la liste --------------------->!
! !
####################### !
# les droits trouvés # <-----------------------------!
# sont appliqués #
#######################
|
Quelques remarques
- le système privilégie toujours les exceptions sur le cas général
.
- un individu peut avoir des droits différents du groupe auquel
il appartient
- un objet peut avoir des droits différents de ceux de la liste
d'autorisation qui le protège
- Sur ce modèle un profil peut appartenir à un groupe ayant
*ALLOBJ et avoir lui même des interdictions (*exclude)
- Listes d'autorisation
- l'OS fait du cache sur les 16 dernières utilisées
- la gestion de n objets protégés par une liste
d'autorisation est beaucoup plus simple, puisque qu'une
manipulation va impacter n objets.
- assigner une liste d'autorisation peut se faire
- en masse, par la commande GRTOBJAUT, penser alors au paramètre
REPLACE(*YES)
- pour les objets à venir, par CHGLIB xxx CRTAUT(nom-de-la-liste)
- CHGAUT pour IFS, le paramètre SUBTREE permet de répercuter
en cascade
- Quelques listes d'autorisation particulières :
- QPWFSERVER : permet de limiter l'accès à QSYS.LIB via l'IFS
- QOPTSEC : permet de limiter l'accès au système optique (QOPT)
- QPMCDATA , QPMCCFCN : liste des utilisateurs autorisés à utiliser PDI (Navigator for i)
- QINAVMNTR : liste des utilisateurs autorisés à utiliser les moniteurs de Navigator for i
- QSYLMTJAVA : utilisateurs autorisés à utiliser Java
- QLWISVR : utilisateurs autorisés à utiliser le serveur d'application intégré
Exemple de mise en place

WRKOBJ COMPTA

Révision des droits
Pour les bibliothèques CPTAGEN / CPTAANA et le répertoire /home/COMPTA, la règle est désormais :
- QSECOFR a tous les droits (de toutes façons...)
- GRPCOMPTA a le droit de faire des modifications
- GRPDRH n'a que le droit de lecture
- tous les autres (*PUBLIC) n'ont aucun droit
|
L'option Sécurité de Navigator
for i, permet de définir les principales options de
sécurité

Quelques valeurs système liées à
la sécurité :
- QSECURITY
40 est la bonne valeur
indiquent le nombre de tentatives d'ouverture de session
infructueuses admises et l'action à entreprendre :
- désactiver l'unité (peu intéressant avec
TELNET)
- désactiver le profil
- les deux
affiche des informations sur la dernière ouverture de session
et le nombre de tentatives infructueuses :
- particulièrement intéressant pour QSECOFR
.
indique si un profil de type *SECOFR(*ALLOBJ ou *SERVICE) peut se signer sur
n'importe quel écran :
- oui (valeur 0) : n'importe qui peut être QSECOFR (s'il trouve le
mot de passe)
- non (valeur 1) il faut des droits (*CHANGE) sur l'unité pour pouvoir
se signer QSECOFR ce qui ajoute à la sécurité logique
(mot de passe) une sécurité physique (il faut pouvoir entrer
dans la salle machine ...)
.
indique un temps d'inactivité maxi (sans E/S écran), ce paramètre
est reconnu par TELNET.
- si vous indiqué un temps maxi (l'assistant IBM recommande 15 mn),
indiquez alors la valeur *DSCJOB pour la val.système QINACTMSGQ et
pensez à paramétrer le temps maxi ou un job peut-être
déconnecté à 60 Mn par exemple.
.
- QPWDEXPITV indique une durée de validité, en jours, d'un mot de passe.
- QPWDCHGBLK indique une durée de vie mini, en jours, avant de pouvoir changer de mot de passe
- Une bonne politique de mot de passe est reconnue par tous les responsables
sécurité comme la méthode encore la plus sure.
Sachant
qu'une bonne politique de sécurité n'est bonne que si elle
est acceptée, donc acceptable.
- Un délai de 60 ou 90 jours semble raisonnable
(moins c'est difficile, au delà ATTENTION aux "prêts" de
mot de passe)
- on peut raisonnablement imposer 8 c.
- on doit imposer le mot de passe différent des 4 ou 6 précédents
(suivant le délai)
- on peut interdire certains caractères, imposer des chiffres,
empêcher des caractères identiques à la même
place lors du changement, ....

- QPWDLVL, nouveauté de la version 5.10 permet les mots de passe
longs (128 c.) et complexes:
- 0 : mot de passe à 10 c., les mots de passes
pour Netserver compatible Windows 95/98/Me sont stockés
- 1 : mot de passe à 10 c. les mots de passe
compatibles 95/98 ne sont plus stockés (clients NT4 ou 2000/XP)
- 2.: mot de passe complexes, à 128 c. et sensibles
à la casse. les mots de passe 95/98 sont stockés
- 3 : mot de passe longs et complexes, les mots de
passe 95/98 ne sont plus stockés
ATTENTION :
Une modification de cette valeur système
ne prend effet qu'à l'IPL et doit être précédée
d'une sauvegarde système.
Il est ensuite, d'autre part, assez difficile de
revenir en arrière et impossible de se connecter à
un AS/400 en V4. |
Depuis la V5 : quand vous changez votre mot de passe ou quand vous ouvrez une session, un mot de passe valide pour les valeurs 2/3 est créé.
(une version toute en majuscules ex QPGMR, une version toute en minuscules ex qpgmr )
la commande DSPAUTUSR (avec F11) vous montre les mots de passe mémorisés
un profil sans mot de passe = PASSWORD(*NONE), a les trois colonnes à *NO
...........................................................................
: Utilisateurs autorisés :
: DSPAUTUSR, F11 :
: Mot Mot Mot :
: Dernière passe passe passe :
: Profil Profil modif mot pour niv pour niv pour :
: utilisat groupe de passe 0 ou 1 2 ou 3 NetServer :
: AF400 QPGMR 27/02/97 *YES *YES *YES :
: CJ QPGMR 21/08/00 *YES *NO *YES :
: CM QPGMR 24/08/99 *YES *YES *YES :
: FORMATION 24/06/98 *NO *NO *NO :
: FORMATION1 QPGMR 16/09/97 *YES *YES *YES :
: FORMATION2 QPGMR 13/08/99 *YES *YES *YES :
: FORMA ###################################################### :
: FORMA # ici, CJ n'a jamais ouvert de session depuis la V5, # :
: FORMA # FORMATION est un profil de groupe sans mot # :
: FORMA # de passe (ce qui est conseillé). # :
: FORMA ###################################################### :
: FORMATION8 QPGMR 03/03/98 *YES *YES *YES :
:.........................................................................:
voir aussi PRTUSRPRF TYPE(*PWDINFO)
SI tous le monde à un mot de passe compatible 2 ou 3, vous pouvez basculer (rappel, il faut un IPL pour activer) |
- QPWDRULES
-
QPWDRULES règles pour les mots de passe
*PWDSYSVAL on utilise les valeurs système anciennes QPWDLMTAJC, QPWDLMTCHR, QPWDLMTREP, QPWDMAXLEN, QPWDMINLEN, QPWDPOSDIF QPWDRQDDGT)
*CHRLMTAJC deux caractères identiques adjacents sont interdits
*CHRLMTREP deux caractères identiques sont interdits
*DGTLMTAJC deux chiffres adjacents sont interdits
*DGTLMTFST le premier caractère ne peut pas être un chiffre
*DGTLMTLST le dernier caractère ne peut pas être un chiffre
*DGTMAXn le mot de passe ne peut pas contenir plus de n chiffres
(par exemple *DGTMAX3 : 3 chiffres maxi)
*DGTMINn le mot de passe doit contenir au moins n chiffres
*LMTSAMPOS caractère(s) identique(s) à la même position que
l'ancien mot de passe, interdit (comme QPWDPOSDIF)
*LMTPRFNAM le mot de passe ne peut pas contenir le profil
*LTRLMTAJC deux lettres identiques adjacentes sont interdites
*LTRLMTFST le premier caractère ne peut pas être une lettre
*LTRLMTLST le dernier caractère ne peut pas être une lettre
*LTRMAXn le mot de passe ne peut pas contenir plus de n lettres
*LTRMINn le mot de passe doit contenir au moins n lettres
*MAXLENnnn lg maxi (nnn) du mot de passe, comme QPWDMAXLEN avant.
*MINLENnnn lg mini (nnn) du mot de passe, comme QPWDMINLEN avant.
*MIXCASEn le mot de passe doit contenir au moins n minuscules
et n majuscules (valide avec QPWDLVL à 2 ou 3)
*REQANY3 le mot de passe doit contenir au moins trois des ces
quatre types : - une minuscule
- une majuscule
- un chiffre
- un caractère spécial
*SPCCHRLMTAJC le mot de passe ne peut pas contenir 2 caractères
spéciaux adjacents
*SPCCHRLMTFST le premier caractère ne peut pas être un caractère spécial
*SPCCHRLMTLST le dernier caractère ne peut pas être un caractère spécial
*SPCCHRMAXn le mot de passe ne peut pas contenir plus de n car.spéciaux
*SPCCHRMINn le mot de passe doit contenir au moins n car.spéciaux
|
indique si des objets sensibles peuvent être restaurés
- *ALWSYSSTS : Des objets à l'état système peuvent
être restaurés
- *ALWPGMADP : des pgms adoptants les droits du propriétaires peuvent
être restaurés
- *ALWPTF : des PTFs peuvent être restaurées
- *ALL toutes les options précédents sont admises (val. par
défaut)
- *NONE aucune option n'est admise (val. conseillée, il faut cependant
penser à modifier cette valeur système avant tout changement
de version et installation de cumulative)
indique la liste des personnes habilitées à gérer des programmes
adoptant
- *NONE : toute personne peut compiler des programmes avec le paramètre
USEADPAUT(*YES)
- un-nom-de-liste d'autorisation : seuls les profils ayant au moins les
droits *USE dans cette liste peuvent gérer de tels programmes.
Qu'est-ce qu'un programme adoptant les droits du propriétaire
ou "en *OWNER " :
Il s'agit d'un attribut lié à un programme compilé
indiquant que pendant l'exécution de ce programme, toute
personne qui va en demander l'exécution (si elle possède
le droit d'exécution) aura, pendant cette exécution
uniquement, les droits du propriétaire du programme
ajoutés à ces propres droits.
Cela permet de placer dans un programme, CL par exemple, une commande
qui serait autrement interdite.
Deux paramètres sont à considérer :
USRPRF(*OWNER) indiqué lors d'une compilation
ou par CHGPGM
USEADPTAUT(*YES) indiqué sur CHGPGM qui
indique que si ce programme est appelé par un programme en
OWNER, cet attribut se répercute en cascade
(*NO
par défaut) |
les fichiers IFS
difficiles à gérer,
- ne respectent pas la notion de programme adoptant (en *Owner)
- utilisez au maximum
la notion d'héritage à la création
*INDIR sur la commande MKDIR pour les répertoires
Pour les droits sur objets pour un fichier stream, le propriétaire du fichier (le créateur) aura les mêmes droit que le propriétaire du répertoire.
le groupe principal aura les même droit que le groupe principal du répertoire
*PUBLIC aura les mêmes droits que *PUBLIC sur le répertoire.
Imaginons un répertoire DIR1 ayant :
Objet . . . . . . . . . . . . : /DIR1 Type . . . . . . . . . . . . . : DIR Propriétaire . . . . . . . . . : QPGMR Droits sur ---Droits sur objet---- Opt Utilisat données Exist Gest Modif Réf *PUBLIC *R X QPGMR *RW X
|
la création d'un fichier par FORMATION1 donnera les droits :
Imaginons un répertorie DIR1 ayant
Objet . . . . . . . . . . . . : /DIR1/fichier.txt Type . . . . . . . . . . . . . : DIR Propriétaire . . . . . . . . . : FORMATION1 Droits sur ---Droits sur objet---- Opt Utilisat données Exist Gest Modif Réf *PUBLIC *R X FORMATION1 *RW X
|
Les droits sur les données sont attribués par la commande de création, voyez
http://www-912.ibm.com/s_dir/SLKBase.nsf/0/e3dc97d7f1aeaf348625685f005c6263?OpenDocument
les fichiers spools.
la règle est la suivante :
par défaut, tout le monde peut accéder
et manipuler ses propres spools
avec une OUTQ DSPDTA(*YES),
toute personne ayant les droits de lecture sur l'outq peut consulter les
spools des autres (ce n'est pas la valeur par défaut)
- le profil utilisateur possède
un attribut droits spéciaux pouvant être *JOBCTL
et/ou *SPLCTL
- l'OUTQ en possède
un paramètre OPRCTL
• avec OPRCTL(*YES), toute personne ayant
les droits *JOBCTL peut gérer tous les spools de cette OUTQ.
• avec OPRCTL(*NO),
les droits de l'OUTQ sont alors considérés pour déterminer
qui peut manipuler les spools de l'OUTQ :
> AUTCHK(*OWNER) il
faut être le propriétaire de l'OUTQ
> AUTCHK(*DTAAUT)
il faut avoir les droits *CHANGE sur l'outq
• ATTENTION le droit spécial *SPLCTL
donne le droit de gérer les spools d'une OUTQ quelque soit le paramétrage
de cette dernière (c'est un peu comme *ALLOBJ , mais sur les spools),
sauf à interdire explicitement la bibliothèque de l'OUTQ (enlever
le droit *Execute) .
- Avec Client Access express, puis ACS & Navigator for I, vous pouvez utiliser l'administration d'application
:

Choisir "Gestion locale"

la première fois, cliquez sur "Applications" en bas à gauche.
Ajoutez les applications manquantes 
Vous pouvez rafraîchir pendant l'enregistrement des applications
->
Enfin, vous aurez accès aux même dialogue qu'avec System I navigator, dont les deux nouvelles options pour la base de données


- Personnalisation par personne ou par groupe

Ces restrictions sont bien respectées par ACS
- Pour la fonction spool

Personnalisation


Résultat

Le nom de la fonction qui vous est rappelé, est celui montré par le mode commande WRKFCNUSG
- Accès à l'IFS

- Accès à l'émulateur et au transfert de fichiers
- Accès aux scripts SQL et à performance Center

Investigations
- Commande ANZDFTPWD
Analyse les profils ayant mot de passe=profil
- *NONE
Génère le fichier
QUSRSYS/QASECPWD
- *DISABLE
Désactive le profil
- *PWDEXP
Force l'expiration du mot de passe
- profils avec *ALLOBJ
passez la commande DSPUSRPRF dans un OUTFILE, par curiosité
faites une jointure avec QUSRSYS/QASECPWD
- ou mieux, utilisez "SQL as a service"
- QSYS2.USER_INFO (liste des utilisateurs)
- QSYS2.GROUP_PROFILE_ENTRIES (liste des membres d'un Groupe)
- QSYS2.ACTIVE_JOB_INFO (liste des travaux actifs)
- QSYS2.SCHEDULED_JOB_INFO (liste des travaux planifiés)
IBM propose des exemples dans le gestionnaire de scripts SQL d'ACS (Edition/Insertion à partir d'exemple)
Liste des utilisateurs ayant *ALLOBJ ou appartenant à un groupe ayant *ALLOBJ (Exemple IBM)

Vous pouvez bien évidement les personnaliser
•Nouveautés de la version 7.3
- STRAUTCOL
- Pour voir les détails, vous pouvez aussi lire
- QSYS2.AUTHORITY_COLLECTION
- USER_NAME contient le nom du profil
- SYSTEM_OBJECT_SCHEMA contient la bibliothèque
- SYSTEM_OBJECT_NAME contient le nom de la table, du fichier
- Divers
- Pour voir les utilisateurs ayant une collecte active :
SELECT AUTHORIZATION_NAME, TEXT_DESCRIPTION
FROM USER_INFO
WHERE AUTHORITY_COLLECTION = 'YES'
- D'ailleurs vous retrouverez cette info sur DSPUSRPRF

- Si vous restaurez le profil sur une version 7.3, ce paramètre est restauré.
- Pour arrêter
• ET ENFIN, , à défaut d'empêcher peut-être
souhaitez-vous savoir qui a fait quoi :
Audit sécurité

Le système propose depuis la V2 une fonction d'audit (via un journal)
permettant de garder trace de certaines actions utilisateur.
Depuis la V2R30 il est possible de paramétrer cette fonction
...
. par objet
définir les actions entreprises sur cet objet à tracer
*NONE aucune trace
*CHANGE les modifications
*ALL toute utilisation
*USRPRF suivant le profil utilisant cet objet <---------
. par profil !
!
définir le niveau de trace pour les objets ayant *USRPRF <------ Fin
définir les actions système à tracer *NONE = suivant QAUDLVL
*xxxx = action à tracer |
valeur système QAUDCTL ( *NONE = aucune action de trace)
et/ou
trace/objet ! trace/actions du profil
*OBJAUD ! *AUDLVL
! ! !
! ! ------------------------------
! ! ! ! ...
CHGOBJAUD OBJ() ! ! !
! ! !
OBJAUD(*NONE) =rien ! ! !
(*CHANGE)=modifs! CHGUSRAUD USRPRF() ! QAUDLVL
(*ALL) =tout ! ! (sysval)
(*USRPRF)= <----!--> OBJAUD(*NONE) !
! (*CHANGE) ! actions à tracer
! (*ALL) ! pour tous les
*USRPRF = suivant indications ! ! profils du système
liées au profil. ! !--AUDLVL(*xxxx) !
! ! ! ^ Fin
! -> actions à tracer ! !
! (en plus de QAUDLVL)-!-----!
! pour ce profil ! |
Mise en place 1/ création d'un récepteur de journal (CRTJRNRCV)
2/ création d'un journal QAUDJRN dans QSYS (CRTJRN)
3/ renseignement des valeurs système QAUDCTL et QAUDLVL voir les valeurs ci_desssous
4/ CHGOBJAUD pour un audit par objet
5/ CHGUSRAUD pour un audit par profil
Pour les objets :
La valeur par défaut est *NONE
Vous pouvez forcer une valeur pour les objets sensibles
(certaines commandes système par exemple)
ou bien indiquer que cela est fonction du profil
DANS CE CAS UNIQUEMENT on tiendra compte du paramètre OBJAUD
de la commande CHGUSRAUD.
Pour les actions utilisateur :
La valeur système prime avant toutes choses. (dft = *NONE)
Les actions à auditer indiquées au niveau de l'utilisateur sont
considérées en plus.
SI QAUDLVL = *CREATE et profil P1 = *DELETE, le système audit toutes
les créations ET pour P1 les créations et les suppressions. |
..............................................................................
: Audit des actions utilisateur (AUDLVL) - Aide :
: :
: :
: *NONE :
: Aucun niveau d'audit n'est indiqué. Le niveau d'audit pour cet :
: utilisateur provient de la valeur système QAUDLVL. :
: :
: *CMD :
: Les chaînes de commande CL, les commandes de contrôle opérateur et :
: les procédures de l'environnement 36 sont consignées pour cet :
: utilisateur. :
: :
: *CREATE :
: Des postes d'audit sont envoyés lorsque des objets sont créés par :
: cet utilisateur. :
: :
: *DELETE :
: Des postes d'audit sont envoyés lorsque des objets sont supprimés :
: par cet utilisateur. :
: ...........................................................................: |
:
: *JOBDTA :
: Audit de toutes les données de démarrage et d'arrêt de travail pour :
: cet utilisateur. :
: :
: *OBJMGT :
: Audit des modifications de gestion des objets effectuées par cet :
: utilisateur (un déplacement ou un changement de nom par exemple). :
: : :
: *PGMADP :
: Audit des droits pour cet utilisateur obtenus via une adoption de :
: programme. :
: :
: *SAVRST :
: Audit des actions de sauvegarde et de restauration effectuées par :
: cet utilisateur. : :
: :
: *SECURITY :
: Audit des modifications de sécurité effectuées par cet utilisateur. :
: :
: *SERVICE :
: Audit de l'utilisation des outils de maintenance du système (SST) :
: par cet utilisateur. :
: :
: *SPLFDTA :
: Audit des opérations sur les fichiers spoule effectuées par cet :
: utilisateur. :
: :
: *SYSMGT :
: Audit de l'utilisation des fonctions de gestion du système par cet :
: utilisateur. :
.............................................................................. : |
puis DSPJRN pour analyse ....
Pour lire le contenu du journal, vous devez utiliser la commande DSPJRN,
le type de poste, indique l'événement :
- AF violation de sécurité
- CA modification des droits
- CD Chaînes de commande.
- CO Créations d'objet.
- CP Modifications de profil utilisateur.
- DO Suppressions d'objets.
- JS Actions sur les travaux.
- ND Violations des filtres de recherche de
répertoire.
- NE Violations des filtres
d'extrémité.
- OR Restauration d'objets.
- OW Modifications de propriété
d'objet.
- PG Modification du groupe principal d'un objet.
- PO Sorties imprimées.
- PW Mots de passe incorrects.
- SF Actions sur les fichiers spoule.
- SV Modifications de valeurs système.
- VO Actions de la liste de validation.
- YR Lecture d'objets de la bibliothèque
de documents.
- YC Modifications d'objets de la
bibliothèque de documents.
- ZR Lecture d'objets.
- ZC Modifications d'objets.
Pour une analyse plus complète, placez le résultat de DSPJRN
dans un fichier base de données ou utilisez DSPAUDJRNE
Copyright © 1995,2018 VOLUBIS