Cette procédure indique comment ajouter, protéger et tester un nouveau module PAM. Pour de nouveaux modules il peut s'avérer nécessaire ou des stratégies de sécurité propres au site pour prendre en charge des applications tierces. Pour créer un module PAM, reportez-vous à la section Chapitre 3, Writing PAM Applications and Services du manuel Developer’s Guide to Oracle Solaris 11 Security .
Avant de commencer
Terminer Planification d'une configuration PAM propre à votre site.
Vous devez prendre le rôle root. Pour plus d'informations, reportez-vous à la section A l’aide de vos droits administratifs attribués du manuel Sécurisation des utilisateurs et des processus dans Oracle Solaris 11.2 .
Assurez-vous que la propriété et les autorisations protègent les fichiers de module avec l'appartenance root et les autorisations 444.
# cd /opt/pam_modules # ls -lR .: total 4 -r--r--r-- 1 root root 4570 Nov 27 12:34 pam_app1.so.1 drwxrwxrwx 2 root root 3 Nov 27 12:38 sparcv9 ./64: total 1 -r--r--r-- 1 root root 4862 Nov 27 12:38 pam_app1.so.1
Le module 32 bits se trouve dans le répertoire /opt/pam_modules et le module 64 bits se trouve dans le sous-répertoire 64.
Dans l'exemple suivant, le module est valable pour une nouvelle application app1. Son nom de service est identique au nom de l'application. Créez un fiche de nom de service app1 dans le répertoire /etc/pam.d. La première entrée du fichier permet au service app1 d'être affecter à des utilisateurs individuels.
# cd /etc/pam.d # pfedit app1 ... # PAM configuration # # app1 service # auth definitive pam_user_policy.so.1 auth required /opt/pam_modules/$ISA/pam.app1.so.1 debug
Le jeton $ISA du chemin d'accès au module dirige la structure PAM vers la version appropriée 32 bits ou 64 bits de l'architecture du module de service pour l'application appelante. Pour les applications 32 bits, /a/b/$ISA/Module.so devient donc /a/b/module.so. Et pour les applications 64 bits, il devient /a/b/64/Module.so. Dans cet exemple, vous avez installé le module de service 32 bits pam.app1.so.1 dans le répertoire /opt/pam_modules et le module 64 bits dans le répertoire /opt/pam_modules/64.
Pour plus d'informations, reportez-vous aux pages de manuel pfedit(1M) et pam.conf(4).
Pour limiter la stratégie PAM app1 aux utilisateurs sélectionnés, reportez-vous à Example 1–2.
Connectez-vous directement à l'aide de login ou ssh. Ensuite, exécutez les commandes qui sont affectées par le nouveau module. Les utilisateurs autorisés de test et la personne à l'utilisation de affectées ne le sont pas n'ont pas l'autorisation des commandes. Pour obtenir une assistance de dépannage, reportez-vous à la section Dépannage des erreurs de configuration PAM.
Reportez-vous à la section Assignation d'une stratégie PAM modifiée.
Dans cet exemple, le service app1 n'est pas utilisé par tous les utilisateurs, de sorte que l'administrateur ajoute le service en tant que stratégie par utilisateur.
# cd /etc/pam.d # cp app1 /opt/local_pam/app1-conf # pfedit /opt/local_pam/app1-conf ## app1 service ## app1 auth definitive pam_user_policy.so.1 app1 auth required /opt/pam_modules/$ISA/pam_app1.so.1 debug
L'administrateur supprime le fichier app1 à partir du répertoire pam.d.
# rm /etc/pam.d/app1
L'administrateur ajoute ensuite la stratégie app1-conf à la stratégie PAM de l'administrateur système.
# rolemod -K pam_policy=/opt/local_pam/app1-conf sysadminExemple 1-3 Définition d'une stratégie PAM par utilisateur à l'aide d'un profil de droits
Cet exemple utilise l'attribut de sécurité pam_policy pour permettre aux utilisateurs d'être authentifiés à partir de différents services de noms. Le fichier de stratégie PAM any est fourni dans le répertoire /etc/security/pam_policy. Les commentaires qu'il contient décrivent cette stratégie.
Ne modifiez pas des fichiers dans ce répertoire.
# profiles -p "PAM Per-User Policy of Any" \ 'set desc="Profile which sets pam_policy=any"; set pam_policy=any; exit;'
Pour affecter ce profil de droits, reportez-vous à la section Assignation d'une stratégie PAM modifiée.