> Tech > Permuter les profils

Permuter les profils

Tech - Par Renaud ROSSET - Publié le 24 juin 2010
email

Plutôt que de changer les programmes afin d’adopter l’autorité, on peut utiliser les API de permutation de profils. Supposons que l’utilisatrice Carol se connecte au traitement et choisisse une option du menu qui exécute un programme chargé de créer un fichier texte dans l’IFS. Mais Carol n’a pas d’autorité sur

le répertoire IFS dans lequel le fichier est écrit. Comme l’autorité adoptée ne peut pas servir à lui donner l’autorité nécessaire, le programme utilise l’API Get Profile Handle (QSYGETPH) pour obtenir un handle d’un profil ayant l’autorité suffisante pour écrire dans le répertoire. Le programme appelle ensuite l’API Set Profile Handle (QWTSETP) et transmet le handle du profil comme un paramètre, que i5/OS permute ensuite avec le profil utilisateur du thread. Autrement dit, l’utilisatrice Carol et ses trois profils de groupes sont enlevés du thread, et le profil d’où le handle a été généré (DIR_PROF) est introduit par permutation. À présent, le thread s’exécute en tant qu’utilisateur DIR_PROF au lieu de Carol, et toutes les vérifications d’autorité sont effectuées pour les profils de groupes DIR_PROF et DIR_PROF (DIRGRP1 et DIRGRP2), comme on peut le voir dans l’exemple suivant.

Thread profile: CAROL
Thread group list: GRP_ACCT GRP_MGR GRP_PAY

Après avoir obtenu le handle et avoir permuté les profils :

Thread profile: DIR_PROF
Thread group list: DIR_GRP1 DIR_GRP2

La technique de la permutation de profils présente une difficulté : il est parfois difficile de savoir qui a réellement effectué l’action quand on analyse les entrées du journal d’audit. Le profil DIR_PROF a écrit le fichier dans le répertoire, mais quiconque peut choisir cette option du menu passe au profil DIR_PROF. L’important est de savoir quel profil a émis la requête originale. Pour le savoir, il vous faudra probablement examiner un champ utilisateur différent dans l’entrée du journal d’audit que celui que vous avez l’habitude de consulter.

Pour des raisons de sécurité, vous ne pouvez obtenir un handle de profil et passer à un autre profil que sous l’une des deux conditions suivantes : connaître le mot de passe du profil ou posséder l’autorité suffisante sur le profil luimême. Il se peut très bien que vous deviez utiliser un programme qui adopte un profil avec l’autorité spéciale *ALLOBJ pour pouvoir générer le handle pour le DIR_PROF avant que la permutation ne puisse avoir lieu. Si tel est le cas, vous devez contrôler strictement l’accès à ce programme. Je recommande également que ce programme n’effectue que deux fonctions : obtenir le handle du profil courant afin que le thread puisse être repermuté vers le requérant original et obtenir le handle et permuter vers le profil DIR_PROF. Ne faites pas de cela un programme générique de traitement de requêtes capable de générer un handle pour n’importe quel profil.

Téléchargez cette ressource

Préparer l’entreprise aux technologies interconnectées

Préparer l’entreprise aux technologies interconnectées

Avec la « quatrième révolution industrielle », les environnements hyperconnectés entraînent de nouveaux risques en matière de sécurité. Découvrez, dans ce guide Kaspersky, comment faire face à cette nouvelle ère de vulnérabilité.

Tech - Par Renaud ROSSET - Publié le 24 juin 2010