Politique de sécurité et AS/400
Commencons par un peu de théorie :
La gestion de la sécurité s'appuie sur la notion de profil utilisateur (objet *USRPRF dans QSYS)
pour gérer la liste des utilisateurs : WRKUSRPRF *ALL

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

remarquons les paramètres :
| Ne pas confondre profil utilisateur OS/400 (même QSRV) et les profils DST (en dessous l'OS/400). DST est un environnement lié à la maintenance, accessible lors de l'IPL, avec l'option 21(mode manuel) ou partiellement avec la commande STRSST.(voire même maintenant avec Op. navigator) 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 l'OS/400. |
Attention, avec le niveau de sécurité 20, tous les profils sont *ALLOBJ, ilest impossible d'interdir le moindre objet à un profil
(tout le monde peut tout détruire) et tout ce qui suit en gestion des droits sur les objets ne s'applique pas !

sur cet écran nous pouvons attribuer à l'utilisateur un profil de groupe afin de gérer les droits sur quelques groupes cohérents d'utilisateurs.
quelques remarques :
la gestion des utilisateurs pouvant être réalisée depuis OPERATION NAVIGATOR :

La gestion des droits est la base de la sécurité sur un AS/400, tout objet possède des droits publics
(indiquant les droits par défaut pour un utilisateur "lambda" indiqué par *PUBLIC) et des droits nominatifs ou privés.
les droits sont révisables par EDTOBJAUT en indiquant le type d'objet (WRKAUT pour les fichiers IFS)

F11 permet de voir le détail.
|
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 ==> une bibliothèque est un bon moyen d'INTERDIR. mais pour les utilisateurs ayant le droit d'utiliser la bibliothèque La meilleure solution semble être les listes d'autorisations le principe est de pouvoir définir un "modèle" de droits (une règle) Le système identifie la liste d'autorisation comme un type d'objet |
Ordre de recherche des autorisations sur un objet |
Quelques remarques
PGP en V3R10
Notion de groupe principal (ou PGP Primary Group Profile) : A partir de la V3R10, un profil de groupe principal peut être défini pour Le nom de ce groupe principal et les droits qui lui sont accordés pour cet Seuls les droits publics (*PUBLIC) étaient stockés avec l'objet. Les droits privés (accordés nominativement à un profil particulier) sont - ce qui explique qu'il faille utiliser une commande particulière - ce qui rend la fonction recherche des autorisations assez longue, |
Les performances de la fonction contrôle des droits seront améliorées, si - Mais : il faut que cela soit un profil de groupe il doit représenter le groupe utilisant le plus fréquemment vous devez éviter les droits privés pour en tirer profit. Il est probable que le gain de performances ne justifiant pas
Le groupe principal est indiqué sur les écrans de gestion des objets |
L'option sécurité d'operation navigator permet de définir les principales options de sécurité

Quelques valeurs système liées à la sécurité :

QMAXSIGN, QMAXSIGNACN
indiquent le nombre de tentatives d'ouverture de session infructueuses admises et l'action à entreprendre :
QDSPSGNINF
affiche des informations sur la dernière ouverture de session et le nombre de tentatives infructueuses :
ATTENTION : |
SECTOOLS Outils de sécurité |
indique si l'on accepte un IPL à distance (un simple appel téléphonique suffit)
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)
Toujours sous Operation Navigator, un clic droit sur Sécurité propose "Configuration".
Avec Configuration, vous appelez un assistant (un mini audit sécurité)

etc...

On vous affiche ici les modifications qu'il serait souhaitable de faire :

Puis vous pouvez sauvegarder ces recommandations ansi que les explication associées

et enfin LES APPLIQUER
ATTENTION, la valeur par défaut "application immédiate", modifie immédiatement vos valeurs système. Prenez plutôt l'option "sauvegarde des modifications"
Vous trouverez un équivalent sur le web à http://www-1.ibm.com/servers/security/planner/ (mais multi-plateformes)
En V5R20, L'option 7 du menu STRSST, permet de fixer certaines options de sécurité :
...........................................................................
: Work with System Security :
: System: AS400:
: Type choices, press Enter. :
: :
: Allow system value security changes . . . . . 1 1=Yes, 2=No :
: Allow new digital certificates . . . . . . . 1 1=Yes, 2=No :
: Allow a service tools user ID with a :
: default and expired password to change :
: its own password . . . . . . . . . . . . . . 2 1=Yes, 2=No :
:.........................................................................:
La première option permet d'empêcher la modification de certaines valeurs
système (on dit alors qu'elles sont verrouillées)
voici la liste des valeurs système devenant non modifiables si vous
indiquez 2 (jusqu'à ce que vous indiquez 1)
QALWOBJRST QDSCJOBITV QPWDPOSDIF
QALWUSRDMN QINACTMSGQ QPWDRQDDGT
QAUDCTL QLMTDEVSSN QPWDRQDDIF
QAUDENACN QLMTSECOFR QPWDVLDPGM
QAUDFRCLVL QMAXSGNACN QRETSVRSEC
QAUDLVL QMAXSIGN QRMTSIGN
QAUTOCFG QPWDEXPITV QRMTSRVATR
QAUTORMT QPWDLMTAJC QSECURITY
QAUTOVRT QPWDLMTCHR QSHRMEMCTL
QCRTAUT QPWDLMTREP QUSEADPAUT
QCRTOBJAUD QPWDLVL QVFYOBJRST
QDEVRCYACN QPWDMAXLEN QPWDMINLEN
QDSPSGNINF
lors de l'utilisation de la commande CHGSYSVAL, vous recevez CPF18C0
La valeur système &1 ne peut pas être modifiée
· dans l'environnement 5250
ligne de commandes sur les menus [suivant le paramètre LMTCPB( ) sur le profil]
écrans restant "ouverts" [suivant val. systèmes QINACTITV et QINACTMSGQ ]
accès aux applications sensibles (menus non personnalisés)
QUERY/400 :
accès aux données confidentielles (fichiers ET spools)
écrasement de fichiers (Query avec sortie dans un fichier, puis opération inverse)
Rexec et autres commandes entrantes FTP mêmes problèmes qu'avec QUERY
FTP toujours, passer des commandes avec "rcmd..."
FTP tiens compte du paramètre LMTCPB, Rmtcmd de Client Access NON !
clients FTP graphiques (DEL possible)
![]()
Accès aux données avec HTTP (mauvaise configuration d'Apache),Attention aux options : +ExecCGI , +Indexes
Authentification HTTP
- liste de validation (notion d'"utilisateur internet")
- CRTVLDL
- Passer par l'administration HTTP (sur le port 2001) pour gérer les entrées
- authentification applicative (par N° d'adhérent, de client, etc...)
- mettre en place HTTPS (config Apache uniquement, sans incidence sur la codification java/php)
avec l'authentification, sinon les mots de passe circulent en clair
- on peut aussi configurer FTPS, pour ceux qui veulent monter un Serveur FTP
voyez alors les points d'exit pour :
- configurer une entrée "anonymous"
- limiter l'utilisation de commandes CL, etc...
- voyez si vous ne devez pas préférer HTTP et les fonctions upload (transfert de fichier depuis le client)
- différencier les profils pour différencier les applications java/php si elles se multiplient.
vérifier alors :
- que ce profil ne peux pas ouvrir de session 5250, ni passer de commandes
- voyez l'Audit (*DELETE par exemple) pour ce profil particulièrement.
Coding Http :
- Injection SQL et XSS
- Injection SQL
- - un formulaire demande un N° de client
- - la requête associée est DELETE FROM CLIENTS WHERE NOCLI = $nocli
- - un malveillant saisi "1 or 0=0"
- ==> il n'y a plus rien dans le fichier client !
- XSS
- On arrive à insérer du Javascript dans la base, qui s'affiche tel que et agit sur les navigateurs qui consultent (par exemple)
- Parade : vérifier les données recues !
vérification de la longueur et du type des variables
-numérique
-date
-email, etc...
désactiver tout ce qui peut ressemble à du html ou du code
- crypter les données sensibles (clé, mot de passe, etc..) avec ENCRYPT_RC2 et ENCRYPT_TDES
- "Préparer" les requêtes, quand c'est possible (db2_connect sous PHP, par exemple)
les requêtes préparées s'exécutent en deux fois :
- Préparation
le moteur SQL calcul un plan d'accès, optimise et attend des paramètres
Ex (php): $stmt = db2_prepare($db, "select * from clients where nocli = ? or depcli < ?") ;
- Exécution
lancement de la requête avec attribution de valeurs pour les paramètres attendus
Ex (php): $rc = db2_execute($stmt, array(2222, 44) ) ;
si les paramètres envoyés ne sont corrects, cela sera refusé par SQL qui attendait 2 informations numériques du fait du PREPARE
- Faire les mises à jour par procédures cataloguées
- Procédures cataloguées
- une procédures cataloguées peut être écrite en SQL ou externe.
- Dans le cas d'une procédure externe, il ne s'agit que "d'enregistrer" en tant que procédure un exécutable existant (description destinée à SQL et enregistrée dans SYSPROCS et SYSPARMS de QSYS2)
- * dans le cas d'un pgm ILE (RPG4 ou CLLE), cette information est aussi stockée dans l'exécutable, se faisant une simple restauration re-enregistre cet exécutable en tant que procédure.
* dans le cas d'un pgm GAP3 ou CL simple(CLP), il faut redéclarer la procédure par CREATE PROCEDURE
(script SQL lancé par iSeries Navigator ou par RUNSQLSTM)
cas particulier de PHP et php.ini
- Ne pas afficher les erreurs, mais un message générique ("logger" quand même)
- display_error dans php.ini à Off
- consulter le fichier error_log,généré par apache, régulièrement
- les procédures cataloguées ne doivent jamais "planter" (gestion d'erreur rigoureuse, voir Monitor/On-error en RPG4)
- Autres paramètres :
- register_global à Off
- création automatique des variables de formulaire, c'est vraiment dangereux
- error_reporting = E_ALL, en dev. uniquement
- indique les variables utilisées, non déclarées
- masquer php (ne pas montrer que c'est du php en masquant l'extension) ?
- si oui, c'est de la configuration Apache (redéfinition des types mime, par exemple)
- Voyez http://www.php.net/manual/fr/security.php
le cache mot de passe sous windows 95/98 et client access V3R2M0
Operation navigator installé sur un poste utilisateur( sauf utilisation d'Administration d'application)
Netserver (partages trop ouverts, en lecture/écriture, utilisation d'un profil par défaut)
–› ODBC , MSQUERY (livré avec EXCEL) et autre produits du genre (Access ....)
il est simple de créer une nouvelle source de données
il est toujours simple d'être en mise à jour sur le fichier
l'ordre SQL est modifiable
![]()
ici, nous pouvons supprimer une table (un fichier physique)
· Ce qu'il ne faut surtout pas faire
Laisser les mots de passe QSRV etc... au défaut (penser à DST)
Objets Base de Données : droits à *ALL
Netserver : partager QSYS.LIB en lecture/écriture
Serveur WEB : autoriser /* (pass ou bloc <directory> sous Apache)
profil banalisé connu de tous pour connexion automatique ("PCS / PCS" par exemple)
· Quelques suggestions
la politique du tout sécuritaire.
utiliser CRTAUT sur les bibliothèques (droit des objets à venir)
CHGCMDDFT sur les commandes de compilation
-Limiter les actions possibles du réseau avec l'administration d'applications (iseries navigator)
-Limiter l'accès QSECOFR aux unités autorisées (DSP01 + qq postes privilégiés)
-Changer le mot de passe DST
-Enlever les mots de passe QSRV etc.. ainsi qu'aux profils de groupe
.
une politique plus modérée
utiliser CRTAUT sur les bibliothèques , probablement par listes d'autorisation.permettant une restitution des données aux utilisateurs
(Query / odbc et autres produits de restitution)
-droits *USE sur les objets (*exclude sur certaines bibliothèques sensibles [paie, ...] )
-compiler les pgm normalement
-gérer les profils par groupe utilisateurs et donner à certains groupes le droit *change en fonction des besoins applicatifs.
-compiler en *OWNER les pgm CL utilisant certaines commandes (DLTF, CLRPFM, RMVM)
pour la mise en place : (voyez un exemple de CL)faire un GRTOBJAUT en REPLACE(*YES)
faire une analyse des sources par FNDSTRPDM
(ou PRTCMDUSG, mais non disponible avec le type CLLE, uniquement CLP)
Limiter les actions possibles du réseau avec l'administration d'applications (iseries navigator)
Changer le mot de passe DST (sous DST)Enlever les mots de passe QSRV, QSRVBAS et aux profils de groupe
· Cas particuliers
les fichiers IFS
difficiles à gérer, utilisez au maximum la notion d'héritage à la création
(*INDIR sur la commande MKDIR)
pour revenir sur les droits existants, voyez les outils IFS écrits par IBM
(comme CHGOWNALL et CHGAUTALL)
ne respectent pas la notion de programme adoptant (en *Owner)
les fichiers spools.
la règle est la suivante :
par défaut, tout le monde peut accèder et manipuler ses propres spoolsavec 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 à interdir explicitement la bibliothèque de l'OUTQ (enlever le droit *Execute) .
« binder » quand c'est possible (mettre le serveur à l'écoute sur la bonne adresse IP et non sur toutes)
ici SMTP, pour Apache, voyez la directive listen
La première chose à faire avec Client Access est de définir les droits des différents utilisateurs, option par option :
Pour cela, choisissez (avec un clic droit sur le nom du système) : "Administration d'application"
à la première utilisation ou lors d'un changement de version, vous risquez de voir :

il s'agit de nouvelles options d'op.nav, non enregistrées sur l'AS/400 (elles sont enregistrée en tant que point d'exit [WRKREGINF].)
choisir OK, vous montre les applications non encore enregistrées :

que vous devez ajouter, afin qu'elles apparaissent sur la fenêtre de droite.

Voilà !
Vous définissez, ensuite, fonction de client access (Operation navigator compris) par fonction , qui a le droit de les utiliser.
et cela à deux niveaux,
Premièrement, les droits par défaut :

vous indiquez :
1/ pour operation navigator

2/ pour les applications client access, les droits par défaut
3/ Il existe aussi une option équivalente pour "Gestion centralisée"
(clic droit sur Gestion centralisée à la place d'un nom de système)

pour indiquer des droits individuels, prenez l'option "utilisateurs et groupe", pour l'utilisateur concerné, choisissez "propriété".
puis fonctions
Indiquez alors quelles sont les fonctions pour lesquelles, cet utilisateur ne respecte pas la règle générale.

Nouveautés V5R20 : administration d'application centralisée.
Vous pouvez maintenant définir sur un as/400 ce que chaque utilisateur peut faire avec les fonctions de Client Access et pour l'ensemble des AS/400 du réseau. Il faut d'abord définir un système en tant que système d'administration (clic droit/propriétés)

Définition d'un système d'administration dans l'image d'installation, paramètre ce système comme système d'administration dans une image que vous auriez créé (il faudra indiquer son emplacement sur l'AS/400).
RAPPEL : Vous pouvez préparer une image de Iseries Access, contenant une version partielle du produit, à installer par vos utilisateurs, avec : cwbinimg.exe (dans \QIBM\ProdData\Access\Windows\Install\Image) Vous pouvez préparer une installation silencieuse(sans action utilisateur), par : setup -r -f1c:\rep\fichier.iss (fichier.iss contient tous vos choix) et exécuter cette installation par setup -s -f1c:\rep\fichier.iss -f2c:\rep\fichier.log (trace)
|
Un client (PC) a trois manières de découvrir quel est son système d'administration :

Ensuite vous pourrez définir des règles d'utilisations, générales ou par profil.
(ce que l'on pouvait faire avec les stratégies Microsoft, mais de manière plus simple ici)

Regardons :

la première fois, il faut enregistrer les applications sur le système

vous pouvez maintenant voir ce qui peut être administré :

l'utilisateur a-t-il le doit de lancer une session 5250, d'en configurer une nouvelle ?
etc...

cela peut aller jusqu'à l'utilisation de certaines commandes ou contrôles ACTIVE X..

l'option Paramètres avancés permet de forcer certains paramètres de configuration d'un utilisateur (utilisez Ajout)




• voyez les points d'exit
Registration Facility
Nouvelle fonction de l'OS permettant d'associer à une fonction logiciel un pgm de contrôle entreprise chargé de valider une action.
DEUX NOTIONS :
- Exit POINT : association d'un point d'appel de programme à une action logiciel.
ce point d'appel est nommé sur 20 caractères.
Exemple : QIBM_QPWSF_File_Serveur la fonction serveur de fichier de Client/Access est reconnue, il est possible de lui associer un pgm de validation.
- Exit program : programme associé à un point d'exit. (l'écriture est à votre charge)
il reçoit deux paramètres
1/ 1 alpha renvoyé par le programme : '0' = refus, '1' = validation 2/ données reçues (description suivant le format)
- Commandes : WRKREGINF (ADDEXITPGM / RMVEXITPGM)
Attributs du réseau ######################################################################## F3=Exit F12=Annuler |
Work with Registration Info (WRKREGINF) Indiquez vos choix, puis appuyez sur ENTREE. Exit point . . . . . . . . . . . EXITPNT *REGISTERED
#########################################################################
Fin |
Work with Registration Information Type options, press Enter. Exit
|
Work with Exit Programs Exit point: QIBM_QPWFS_FILE_SERV Format: PWFS0100 Type options, press Enter. Exit (No exit programs found.) Fin
|
Quelques précisions : un point d'exit peut avoir plusieurs "formats". il s'agit de la définition de plusieurs actions pouvant être réalisées exemple du point d'exit QIBM_QZDA_NDB1 serveur de données (ODBC) format ZDAD0100 : gestion de la base (CREATE, DROP, etc...) chaque format définit la structure des données envoyées au pgm. pour connaitre le détail d'un format voir la documentation SC41-374 : "OS/400 server concept and administration "
Ci-dessous, un exemple : |
PGM PARM(&APPLI &WUSER &USERLG + DCL VAR(&APPLI) TYPE(*CHAR) LEN(4) /*********************************************************************/ IF (&USER = 'QUSER') (DO) |
• Répliquez les mots de passe entre Iseries et Windows 2000/NT
GM PARM(&DATA &RETOUR) /* DECOUPAGE DU PARAMETRE RECU */ /* RUNRMTCMD GENERE UN SPOOL (QSYSPRT), PLACÉ DANS QPRINT */ /* ACCEPTATION DU MOT DE PASSE */ |
1/ Paramétrage IP
permettant de définir (adresse IP par adresse IP) qui a le droit d'utiliser certains services IP (le test se fait sur le n° de port)
ATTENTION
TOUT CE QUI n'est pas EXPLICITEMENT autorisé est INTERDIT (automatiquement)
Le filtrage IP lit vos règles dans L'ORDRE DE SAISIE.
(si vous êtes trompé, passez à la console RMVTCPTBL *IPFTR qui enlève tous les filtres)
VOUS DEVEZ prévoir les services autorisés en entrée/sortie.
+ prenons le WEB, naturellement tout le monde pense à autoriser en sortie, les ports source > 1023 (client) vers 80 (serveur www).
mais il faut aussi prévoir en entrée (les réponses) de 80 vers > à 1023.
pour cela on peut tester sur TCP, s'il s'agit de la première trame (demande de connexion), ou d'une autre trame (dialogue déja établit)
Si vous êtes connectés directement sur le NET, il est conseillé, de COMMENCER vos filtres par : direction ! port-src ! port-cible ! protocole ! accord/refus ! ATTENTION, client access utilise les ports 6000 pour ses serveurs en IP. direction ! port-src ! port-cible ! protocole ! accord/refus ! et ainsi de suite pour tous les services que vous souhaitez autoriser (SMTP, TELNET, DNS, ICMP (Ping et tracert), HTTPS, ...) |
FTP est un cas plus complexe à gérer. 1/ il utilise deux ports 21 pour le mode commande le client se connecte (port > 1023) sur le port 21 on peut gérer par : direction ! port-src ! port-cible ! protocole ! accord/refus ! mais le client s'alloue un deuxième n° de port aléatoire (> 1023) et cas typique d'une connexion en entrée sur un port > 1023. |
la seule solution acceptable est d'utiliser un FTP en mode passif - le début de connexion est le même (sur le port 21) - mais le client utilise la commande FTP PASV (et non port) demandant au - c'est alors le client qui initialisera cette deuxieme connexion.
L'AS/400 essai le mode passif, s'il recoit une erreur, il envoi alors la DNS : + port d'écoute 53, port client > 1023 en fait la règle est la suivante : source >1023, cible = 53 ==> client vers serveur (et inversement) |
Nous avons implémenté les règles suivantes : direction ! port-src ! port-cible ! protocole ! accord/refus ! * = colonne non testée. |
pour implémenter ces règles : a/ (optionnel) attribuez des noms symboliques aux services + indiquez un protocole b/ définissez des règles, avec les élements suivants - un nom symbolique à la règle c/ attribuez à une interface des filtres en indiquant, dans le bon ordre , les noms des règles vues en b/.
|
Par exemple, pour un serveur web, autorisez ports 80 et 443
# ----------------------------------------------------------------------
# Instructions permettant le service HTTP entrant HTTP(80) et HTTPS(443)
# ----------------------------------------------------------------------
INCLUDE FILE = /QIBM/UserData/OS400/TCPIP/PacketRules/Services.i3p
FILTER SET HTTP_INBOUND ACTION = PERMIT DIRECTION = OUTBOUND SRCADDR = 1.2.3.4 DSTADDR = * SERVICE = HTTP_80_FS JRN = OFF
FILTER SET HTTP_INBOUND ACTION = PERMIT DIRECTION = INBOUND SRCADDR = * DSTADDR = 1.2.3.4 SERVICE = HTTP_80_FC JRN = OFF
FILTER SET HTTP_INBOUND ACTION = PERMIT DIRECTION = OUTBOUND SRCADDR = 1.2.3.4 DSTADDR = * SERVICE = HTTP_443_FS JRN = OFF
FILTER SET HTTP_INBOUND ACTION = PERMIT DIRECTION = INBOUND SRCADDR = * DSTADDR = 1.2.3.4 SERVICE = HTTP_443_FC JRN = OFF
FILTER_INTERFACE LINE = ETHERNET SET = HTTP_INBOUND
# ---------------------------------------------------------------------
Puis activez, sur la bonne interface
Retrait : en cas de problème, utiliser la commande RMVTCPTBL
Journaliser les rejets ? Ajouter :
FILTER SET journal ACTION = DENY DIRECTION = INBOUND SRCADDR = * DSTADDR = 1.2.3.4 PROTOCOL = TCP DSTPORT = * SRCPORT = * JRN = FULL
FILTER_INTERFACE LINE = ETHERNET SET = HTTP_INBOUND, journal
• ET ENFIN, , à défaut d'empêcher peut-être souhaitez vous savoir qui a fait quoi ?
Le système propose depuis la V2 une fonction d'audit (via un journal) *NONE aucune trace |
valeur système QAUDCTL ( *NONE = aucune action de trace) |
Pour les objets : La valeur par défaut est *NONE Vous pouvez forcer une valeur pour les objets sensibles ou bien indiquer que cela est fonction du profil DANS CE CAS UNIQUEMENT on tiendra compte du paramètre OBJAUD 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 SI QAUDLVL = *CREATE et profil P1 = *DELETE, le système audit toutes |
.............................................................................. |
: : |
: : Mise en place 1/ création d'un récepteur de journal |
Créer un récepteur de journal (CRTJRNRCV) Indiquez vos choix, puis appuyez sur ENTREE. Récepteur de journal . . . . . . AUDITRCV Nom
Fin |
Créer un journal (CRTJRN) Indiquez vos choix, puis appuyez sur ENTREE. Journal . . . . . . . . . . . . QAUDJRN Nom
Fin |
Gestion des valeurs système Indiquez vos options, puis appuyez sur ENTREE. Valeur |
Valeur système Valeur système . . . . : QAUDCTL
Contrôle
Fin F3=Exit F12=Annuler |
Gestion des valeurs système Indiquez vos options, puis appuyez sur ENTREE. Valeur |
Valeur système Valeur système . . . . : QAUDLVL
Options Options |
Gestion des valeurs système Indiquez vos options, puis appuyez sur ENTREE. Valeur |
Valeur système Valeur système . . . . : QCRTOBJAUD
Option d'audit . . . . . . . : *NONE *NONE
Appuyez sur ENTREE pour continuer. F3=Exit F12=Annuler |
Modifier l'audit d'objet (CHGOBJAUD) Indiquez vos choix, puis appuyez sur ENTREE. Objet . . . . . . . . . . . . . *all Nom, générique*, *ALL
Fin |
Modifier audit d'utilisateur (CHGUSRAUD) Indiquez vos choix, puis appuyez sur ENTREE. Profil utilisateur . . . . . . . TOTO Nom
Fin |
Pour lire le contenu du journal, vous devez utiliser la commande DSPJRN, le type de poste, indique l'événement :
Pour une analyse plus complète, placez le résultat de DSPJRN dans un fichier base de données ou utilisez DSPAUDJRNE

Ce tutoriel provient du site VOLUBIS
Faire un portrait robot - Pour avoir des animaux sur son bureau - Pour tester votre QI - Pour créer son super héros -
Pour voir votre visage vieillir plus tard - Créer votre assistant virtuelTélécharger GRATUITEMENT des polices
Trouvez-tout.fr - Depuis 2009 - Tous droits réservés Mon CV - Me contacter - Plan du site - Autre liens