pause-café
rendez-vous technique
Pause-Café est une réunion technique
destinée aux informaticiens sur plateforme IBM i.
destinée aux informaticiens sur plateforme IBM i.
Elle a lieu 3 fois par an : en général en Bretagne et sur Paris.
Pause-café #81
Avril 2019
le 10 à Guipry (la Minoterie.) , le 11 à Paris (Mas)
Sécurité
Introduction
Rappel des risques
un utilisateur avec des droits très élevés peut détruire tout ou partie de vos données
- sur un profil, avec le droit spécial *ALLOBJ, c'est un utilisateur auquel on ne peut rien interdire !
- sur un objet , les droits *ALL, inclus le droit de destruction
- la VRAIE question : êtes vous sûr que cela est impossible chez vous ?
- détruire un répertoire ou une biblothèque partagé(e)
- détruire un répertoire IBM par FTP
- détruire une table par MSQUERY, depuis Excel
Une fois connecté
remarquez le bouton "Supprimer"
- altérer le contenu d'une table avec Squirel
puis
Outils d'analyse
- EN mode GRAPHIQUE
- un assistant vous permet de revoir toutes les principales options de sécurité
- Simplement, à la fin, ne validez pas les changements
- Dans Navigator for I, les utilisateurs sont là
- Les droits sur les tables, ici
- En mode commande
- ANZDFTPWD
fait la liste des utilisateurs ayant mot de passe égal profil, dans QUSRSYS/QASECPWD
- DSPUSRPRF dans un fichier de sortie
(faites la jointure avec QASECPWD) puis regardez
- UPPWCD : date de dernière modification du mot de passe
- UPPWON : profil sans mot de passe (bonne idée pour les groupes, les propriétaires)
- UPPSOD : dernier Signon
- UPSPAU : droits spéciaux, faire un like pour chercher %ALLOBJ%
(bien que *SPLCTL ne soit pas mal non plus)- UPGRPI : flag(*YES/*NO) indiquant un profil de groupe
- UPLTCP : capacités restreintes
Vous pouvez autoriser des commandes particulières par
CHGCMD ALWLMTUSR(*YES), rendant cette commande disponible aux profils ayant LTMCPB(*YES)- DSPAUTUSR donne aussi (à l'affichage) les profils sans mot de passe
ansi que des informations sur votre capacité à passer QPWDLVL à 2 ou 3
- A noter, deux API
- QSYRUPWD, retrouve le mot de passe, crypté, d'un utilisateur
- QSYSUPWD, modifie le mot de passe à partir de la version cryptée
- voyez notre utilitaire SAVRSTPWD
- Services SQL
- 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)
- Exemple : liste des travaux actifs sous un profil *ALLOBJ, non IBM
- Liste des utilisateurs avec ouverture de session infructueuse
- Liste des utilisateurs bientôt *DISABLED
si vous êtes en version 7.3
- STRAUTCOL
- log (trace) tous les accès pour un profil donné (USRPRF)
- LIBINF choix de la bibliothèque
- OBJ *ALL / OBJTYPE *ALL
- DLTCOL annule et remplace les collectes précédente
Visualisable ensuite par System i Navigator
Notez les deux colonnes
- Current authority (droits actuels)
- Required Authority (ce qui était nécessaire et suffisant)
- Pour voir les détails, vous pouvez aussi lire (par pgm, par exemple)
- QSYS2.AUTHORITY_COLLECTION
- Pour arrêter
- ENDAUTCOL
- Exemples de script SQL
- Enfin, à défaut d'empécher, avez vous une trace ? -> QAUDLVL
- On peut tracer les actions de tout le monde (*AUDLVL)
- on peut tracer au niveau objet (*OBJAUD)
- on peut tracer par un profil particulier :
- en plus de *AUDLVL (jamais en moins)
- pour certains objets, quand ca dépend de la personne
valeur système QAUDCTL (*NONE = aucune action)
et/ou
trace/objet | trace/actions du profil
*OBJAUD | *AUDLVL
! | !
! | ------------------------------
! | ! !
CHGOBJAUD OBJ() | ! !
| ! !
OBJAUD(*NONE) |
(*CHANGE) | CHGUSRAUD USRPRF() QAUDLVL
(*ALL) | > (*xxxx) Actions à tracer
(*USRPRF) <----|--> OBJAUD(*NONE) / pour tous les
ca depend de la | (*CHANGE) / profils du système
personne | (*ALL) /
| /
| !--AUDLVL(*xxxx) /
| ! /
| !-> actions à tracer /
| pour ce profil /
| (en plus de QAUDLVL)
Quelques valeurs pour QAUDLVL (tout le monde) ou AUDLVL de CHGUSRAUD (pour certains)
- *CMD
- *CREATE
- *DELETE
- *JOBDTA
- *SAVRST
- *SECURITY
- ...
- Ensuite la commande DSPAUDJRNE peut vous aider
- AF Violation de sécurité
- CA Modification de droits
- CD Chaînes de commande
- CP Modification de profil utilisateur
- DO Suppression d'objets
- JS Action sur les travaux
- OM Déplacement ou changement de nom d'objets
- OR Restauration d'objets
- OW Modification de propriété d'objet
- PS Permutation de profils (voir SU)
- PW Mots de passe incorrects
- SV Modification de valeurs système
- ZC Modification d'objets
- .../...
- ou ce script SQL, proposé en tant qu'exemple par le gestionnaire de scripts d'ACS.