Ignorer les liens de navigation | |
Quitter l'aperu | |
Administration d'Oracle Solaris 11.1 : Services de sécurité Oracle Solaris 11.1 Information Library (Français) |
Partie I Présentation de la sécurité
1. Services de sécurité (présentation)
Partie II Sécurité du système, des fichiers et des périphériques
2. Gestion de la sécurité de la machine (présentation)
3. Contrôle de l'accès aux systèmes (tâches)
4. Service d'analyse antivirus (tâches)
5. Contrôle de l'accès aux périphériques (tâches)
6. Vérification de l'intégrité des fichiers à l'aide de BART (tâches)
7. Contrôle de l'accès aux fichiers (tâches)
Partie III Rôles, profils de droits et privilèges
8. Utilisation des rôles et des privilèges (présentation)
9. Utilisation du contrôle d'accès basé sur les rôles (tâches)
10. Attributs de sécurité dans Oracle Solaris (référence)
Partie IV Services cryptographiques
11. Structure cryptographique (présentation)
12. Structure cryptographique (tâches)
13. Structure de gestion des clés
Partie V Services d'authentification et communication sécurisée
14. Utilisation de modules d'authentification enfichables
Avantages de l'utilisation de PAM
Présentation de la structure PAM
Modifications apportées à la structure des modules PAM pour cette version
Planification de la mise en oeuvre PAM
Interdiction de l'accès rhost à partir de systèmes distants avec PAM
Journalisation de rapports d'erreur PAM
Affectation d'une stratégie PAM personnalisée à un utilisateur
Assignation d'une nouvelle stratégie des droits à tous les utilisateurs
Ordre de recherche de la configuration PAM
Syntaxe du fichier de configuration PAM
Stratégie d'authentification par utilisateur
15. Utilisation de Secure Shell
17. Utilisation de l'authentification simple et de la couche de sécurité
18. Authentification des services réseau (tâches)
19. Introduction au service Kerberos
20. Planification du service Kerberos
21. Configuration du service Kerberos (tâches)
22. Messages d'erreur et dépannage de Kerberos
23. Administration des principaux et des stratégies Kerberos (tâches)
24. Utilisation des applications Kerberos (tâches)
25. Service Kerberos (référence)
Partie VII Audit dans Oracle Solaris
Les applications système telles que ssh qui utilisent un service PAM sont configurées dans les fichiers de configuration PAM. Pour plus d'informations, reportez-vous à la page de manuel pam.conf(4). Ces fichiers de configuration incluent le fichier /etc/pam.conf ainsi que des fichiers spécifiques au service qui se trouvent dans /etc/pam.d. Les modifications apportées à ces fichiers concernent tous les utilisateurs sur le système. Les fichiers de configuration PAM spécifiques au service sont recommandés pour la configuration PAM, car leur granularité signifie qu'une erreur dans un fichier n'a d'incidence que sur ce service. En outre, il est plus simple d'ajouter de nouveaux services PAM que de copier un fichier unique. Les fichiers spécifiques au service facilitent l'interaction avec d'autres applications PAM multiplates-formes, car /etc/pam.d est la configuration par défaut dans la plupart des mises en oeuvre PAM.
En outre, les fichiers de stratégie PAM permettent de créer des stratégies d'authentification pour les différents services et d'affecter ces stratégies à une personne, un groupe de personnes ou tous les utilisateurs, en fonction des besoins. Les fichiers de stratégie PAM par défaut se trouvent dans /etc/security/pam_policy. Les fichiers de stratégie PAM offrent la possibilité de définir ou modifier la stratégie d'authentification pour un ou plusieurs utilisateurs de manière sûre et fiable.
L'administrateur gère les fichiers de configuration PAM. Un ordre d'entrée incorrect dans ces fichiers peut entraîner des effets secondaires imprévus. Par exemple, un fichier mal configuré peut verrouiller les utilisateurs, de sorte que le mode monoutilisateur s'impose pour effectuer des réparations. La section Fonctionnement de la superposition PAM décrit comment définir l'ordre.
Les informations de configuration PAM dans les fichiers de configuration PAM sont collectées par la bibliothèque PAM dans l'ordre suivant :
Le nom de service est recherché dans /etc/pam.conf.
/etc/pam.d/service est vérifié.
Le nom de service other est vérifié dans /etc/pam.conf.
Le fichier /etc/pam.d/other est vérifié.
Cet ordre permet d'utiliser un fichier /etc/pam.conf existant avec les fichiers de configuration PAM par service situés dans /etc/pam.d .
Le fichier /etc/pam.conf et les fichiers de stratégie PAM utilisent une syntaxe différente des fichiers spécifiques au service. La syntaxe de chacun de ces fichiers est décrite ci-dessous.
Les entrées de /etc/pam.conf ou des fichiers de stratégie PAM possèdent l'un des formats suivants :
service-name module-type control-flag module-path module-options
service-name module-type include path-to-included-PAM-configuration
Nom du service sans prise en compte de la casse, par exemple login ou passwd. Une application peut utiliser différents noms pour les services offerts par l'application. Le démon shell sécurisé Oracle Solaris utilise par exemple les noms de services suivants : sshd-none, sshd-password, sshd-kbdint, sshd-pubkey et sshd-hostbased.
Le nom de service other est un nom prédéfini utilisé comme nom de service générique. Si aucun nom de service spécifique n'est trouvé dans le fichier de configuration, la configuration pour other est utilisée.
Type du service, c'est-à-dire auth, account, session ou password.
Rôle du module dans la détermination de la valeur intégrée de réussite ou d'échec pour le service. Les indicateurs de contrôle valides sont binding, definitive, include, optional, required, requisite et sufficient. Pour plus d'informations sur l'utilisation de ces indicateurs, reportez-vous à la section Fonctionnement de la superposition PAM.
Chemin d'accès à l'objet de bibliothèque qui met en oeuvre le service. S'il n'est pas absolu, on suppose qu'il est relatif à /usr/lib/security/$ISA/. Utilisez la macro dépendante de l'architecture $ISA pour que libpam recherche l'architecture spécifique de l'application dans le répertoire.
Options transmises aux modules de service. Une page de manuel du module décrit les options acceptées par ce module. nowarn et debug sont deux options de module typiques.
Fournit le chemin complet d'un autre fichier de configuration PAM ou un nom de chemin associé au répertoire /usr/lib/security.
Les fichiers de configuration par service situés dans /etc/pam.d utilisent la même syntaxe que pam.conf, mais n'incluent pas le nom du service. Lors de l'utilisation des fichiers de configuration par service, le nom du fichier est le nom de service. Par exemple, /etc/pam.d/cron inclut la configuration PAM pour la commande cron.
Le module PAM pam_user_policy permet aux administrateurs système de spécifier les configurations PAM pour chaque utilisateur. La clé pam_policy pour l'utilisateur doit indiquer le chemin d'accès à un fichier de configuration PAM spécifique à l'utilisateur. Pour plus d'informations, reportez-vous à la page de manuel pam_user_policy(5).
Voici plusieurs méthodes permettant de définir une stratégie d'authentification par utilisateur :
Créez un fichier de stratégie PAM pour un utilisateur, puis utilisez la commande usermod pour affecter la stratégie à l'utilisateur. Cette procédure est décrite dans la section Affectation d'une stratégie PAM personnalisée à un utilisateur.
Utilisez la commande usermod pour affecter une stratégie prédéfinie à un utilisateur.
Affectez un profil de droits incluant une clé pam_policy à un utilisateur à l'aide de l'option -p de la commande usermod.
Affectez un profil de droits incluant une clé pam_policy à tous les utilisateurs en l'ajoutant à la clé PROFS_GRANTED dans /etc/security/policy.conf. Cette procédure est décrite dans la section Assignation d'une nouvelle stratégie des droits à tous les utilisateurs.
Lorsqu'une application appelle l'une des fonctions suivantes, libpam lit les fichiers de configuration PAM pour identifier les modules qui participent à l'opération pour ce service :
Si les fichiers de configuration ne contiennent qu'un seul module pour une opération pour ce service (authentification ou gestion de compte, par exemple), le résultat de ce module détermine celui de l'opération. Par exemple, l'opération d'authentification par défaut pour l'application passwd contient un module, pam_passwd_auth.so.1 :
passwd auth required pam_passwd_auth.so.1
D'autre part, si plusieurs modules sont définis pour l'opération du service, on parle de modules empilés et d'une pile PAM pour ce service. Par exemple, prenons le cas où /etc/pam.d/login contient les entrées suivantes :
auth definitive pam_user_policy.so.1 auth requisite pam_authtok_get.so.1 auth required pam_unix_auth.so.1 auth required pam_dhkeys.so.1 auth required pam_unix_cred.so.1 auth required pam_dial_auth.so.1
Ces entrées représentent un exemple de pile auth pour le service login. Pour déterminer le résultat de cette pile, les codes de résultat de chaque module requièrent un processus d'intégration. Dans le processus d'intégration, les modules sont exécutés dans l'ordre indiqué par le fichier. Chaque code de réussite ou d'échec est intégré dans le résultat global en fonction de l'indicateur de contrôle du module. L'indicateur de contrôle peut entraîner la fin anticipée de la pile. Par exemple, un module requisite ou definitive peut échouer, ou un module sufficient, definitive ou binding peut réussir. Une fois la pile traitée, tous les résultats sont regroupés en un résultat global unique, qui est transmis à l'application.
L'indicateur de contrôle précise le rôle joué par le module PAM pour la détermination de l'accès au service. Les indicateurs de contrôle ont les effets suivants :
Binding : lorsque les exigences d'un module binding (obligatoire) sont satisfaites, la réussite est immédiatement renvoyée à l'application si aucun module required précédent n'a échoué. Si ces conditions sont vérifiées, aucun autre module n'est exécuté. En cas d'échec, un échec required est enregistré et le traitement des modules se poursuit.
Definitive : lorsque les exigences d'un module definitive (définitif) sont satisfaites, la réussite est immédiatement renvoyée à l'application si aucun module required précédent n'a échoué. Si un module required précédent a échoué, l'échec est immédiatement renvoyé à l'application et aucun autre module n'est exécuté. Un échec entraîne le renvoi immédiat d'une erreur et l'arrêt de l'exécution des modules.
Include : ajoute des lignes d'un autre fichier de configuration PAM à utiliser à ce stade de la pile PAM. Cet indicateur ne contrôle pas les comportements de réussite ni d'échec. Lorsqu'un nouveau fichier est lu, la pile include (inclure) PAM est incrémentée. Au terme de la vérification de la pile dans le nouveau fichier, la valeur de la pile include est décrémentée. Une fois la fin du fichier atteinte et la valeur de la pile include PAM définie sur 0, le traitement de la pile prend fin. La valeur maximale pour la pile include PAM est 32.
Optional : il n'est pas nécessaire que les exigences d'un module optional (facultatif) soient satisfaites pour que le service puisse être utilisé. En cas d'échec, un échec optional est enregistré.
Required : les exigences d'un module required (requis) doivent être satisfaites pour que le service puisse être utilisé. Un échec entraîne le renvoi d'une erreur après l'exécution des modules restants pour ce service. La réussite finale du service n'est renvoyée que si aucun module binding ou required n'a signalé d'échec.
Requisite : les exigences d'un module requisite (indispensable) doivent être satisfaites pour que le service puisse être utilisé. Un échec entraîne le renvoi immédiat d'une erreur et l'arrêt de l'exécution des modules. Tous les modules requisite pour un service doivent renvoyer un résultat positif pour que la fonction puisse renvoyer une réussite à l'application.
Sufficient : si aucun échec required précédent ne s'est produit, la réussite dans un module sufficient (suffisant) renvoie immédiatement un résultat positif à l'application et aucun autre module n'est exécuté. En cas d'échec, un échec optional est enregistré.
Les deux diagrammes suivants indiquent comment l'accès est déterminé lors du processus d'intégration. Le premier diagramme indique comment la réussite ou l'échec sont enregistrés pour chaque type d'indicateur de contrôle. Le second diagramme indique comment la valeur intégrée est déterminée.
Figure 14-2 Superposition PAM : effet des indicateurs de contrôle
Figure 14-3 Superposition PAM : détermination de la valeur intégrée
Cet exemple indique les définitions par défaut de la gestion des authentifications dans le fichier /etc/pam.d/other. Ces définitions sont utilisées si aucune définition spécifique au service n'a été configurée.
# # Default definitions for Authentication management # Used when service name is not explicitly mentioned for authentication # auth definitive pam_user_policy.so.1 auth requisite pam_authtok_get.so.1 auth required pam_dhkeys.so.1 auth required pam_unix_auth.so.1 auth required pam_unix_cred.so.1
Tout d'abord, la stratégie de sécurité de l'utilisateur est vérifiée à l'aide du module pam_user_policy. L'indicateur de contrôle definitive indique que si l'évaluation de la stratégie de sécurité réussit, le service renvoie une réussite à l'application, car aucun autre module n'a été vérifié à ce stade. Si la demande échoue, un message d'échec est envoyé à l'application et aucune autre vérification n'est effectuée. Si aucune stratégie n'est définie pour l'utilisateur, le module suivant est exécuté.
Si la stratégie PAM par utilisateur n'est pas spécifiée pour cet utilisateur, le module pam_authtok_get est exécuté. L'indicateur de contrôle de ce module est défini sur requisite. Si pam_authtok_get échoue, le processus d'authentification se termine et l'échec est renvoyé au service.
Si pam_authtok_get n'échoue pas, les trois modules suivants sont exécutés. Ces modules sont configurés avec l'indicateur de contrôle required, de sorte que le processus se poursuit même si un échec individuel est renvoyé. Après l'exécution de pam_unix_cred, il ne reste plus aucun module. A ce stade, si tous les modules ont réussi, l'utilisateur se voit accorder l'autorisation d'accès. Si pam_dhkeys, pam_unix_auth ou pam_unix_cred a renvoyé un échec, l'utilisateur se voit refuser l'accès.