Ignorer les liens de navigation | |
Quitter l'aperu | |
![]() |
Guide d'administration système : Services de sécurité |
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)
Améliorations apportées à la sécurité de la machine dans la version Solaris10
Contrôle de l'accès à un système informatique
Maintenance de la sécurité physique
Gestion du contrôle de connexion
Contrôle de l'accès aux périphériques
Stratégie de périphériques (présentation)
Allocation des périphériques (présentation)
Contrôle de l'accès aux ressources de la machine
Limitation et surveillance du superutilisateur
Configuration du contrôle d'accès basé sur les rôles pour remplacer le superutilisateur
Prévention des mauvaises utilisations involontaires des ressources de la machine
Définition de la variable PATH
Affectation d'un shell restreint à des utilisateurs
Restriction de l'accès aux données dans les fichiers
Restriction des fichiers exécutables setuid
Utilisation d'Automated Security Enhancement Tool
Utilisation de la Oracle Solaris Security Toolkit
Utilisation de la configuration Secure by Default
Utilisation des fonctions de gestion des ressources
Utilisation des zones Oracle Solaris
Surveillance de l'utilisation des ressources de la machine
Surveillance de l'intégrité des fichiers
Contrôle de l'accès aux fichiers
Protection des fichiers par chiffrement
Utilisation des listes de contrôle d'accès
Partage de fichiers entre des machines
Restriction de l'accès root aux fichiers partagés
Authentification et autorisation pour l'accès à distance
Chiffrement et systèmes pare-feu
Génération de rapports sur les problèmes de sécurité
3. Contrôle de l'accès aux systèmes (tâches)
4. Contrôle de l'accès aux périphériques (tâches)
5. Utilisation de l'outil de génération de rapports d'audit de base (tâches)
6. Contrôle de l'accès aux fichiers (tâches)
7. Utilisation d'Automated Security Enhancement Tool (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. Contrôle d'accès basé sur les rôles (référence)
Partie IV Services cryptographiques
13. Structure cryptographique Oracle Solaris (présentation)
14. Structure cryptographique Oracle Solaris (tâches)
15. Structure de gestion des clés Oracle Solaris
Partie V Services d'authentification et communication sécurisée
16. Utilisation des services d'authentification (tâches)
19. Utilisation d'Oracle Solaris Secure Shell (tâches)
20. Oracle Solaris Secure Shell (référence)
21. Introduction au service Kerberos
22. Planification du service Kerberos
23. Configuration du service Kerberos (tâches)
24. Messages d'erreur et dépannage de Kerberos
25. Administration des principaux et des stratégies Kerberos (tâches)
26. Utilisation des applications Kerberos (tâches)
27. Service Kerberos (référence)
Partie VII Audit Oracle Solaris
28. Audit Oracle Solaris (présentation)
29. Planification de l'audit Oracle Solaris
30. Gestion de l'audit Oracle Solaris (tâches)
Dans le lieu de travail, tous les ordinateurs connectés à un serveur peuvent être considérés comme un grand système multiforme. Vous êtes responsable de la sécurité de ce vaste système. Vous avez besoin de défendre le réseau contre les tentatives d'accès par des intrus. Vous devez également garantir l'intégrité des données sur les ordinateurs à l'intérieur du réseau.
Au niveau des fichiers, Oracle Solaris fournit des fonctionnalités de sécurité standard que vous pouvez utiliser pour protéger les fichiers, répertoires et périphériques. Au niveau du système et du réseau, les problèmes de sécurité sont pratiquement identiques. La première ligne de défense est le contrôle de l'accès à votre système.
Vous pouvez contrôler et surveiller l'accès au système en effectuant les opérations suivantes :
Pour contrôler l'accès à votre système, vous devez maintenir la sécurité physique de votre environnement informatique. Par exemple, un système qui est connecté et laissé sans surveillance est vulnérable aux accès non autorisés. Un intrus peut accéder au système d'exploitation et au réseau. La zone alentour de l'ordinateur et le matériel de l'ordinateur doivent être physiquement protégés contre tout accès non autorisé.
Vous pouvez protéger un système SPARC contre tout accès non autorisé aux paramètres du matériel. Utilisez la commande eeprom pour exiger un mot de passe pour accéder à la PROM. Pour plus d'informations, reportez-vous à la section Mot de passe obligatoire pour l'accès au matériel.
Vous devez également empêcher toute connexion non autorisée à un système ou au réseau, par le biais de l'affectation d'un mot de passe ou du contrôle de connexion. Tous les comptes sur un système doivent disposer d'un mot de passe. Un mot de passe est un mécanisme d'authentification simple. Un compte sans mot de passe rend l'ensemble du réseau accessible à un intrus ayant deviné un nom d'utilisateur. Un algorithme de mot de passe fort protège contre les attaques en force.
Lorsqu'un utilisateur se connecte à un système, la commande login vérifie le service de nommage approprié ou la base de données du service d'annuaire en fonction d'informations répertoriées dans le fichier /etc/nsswitch.conf. Ce fichier peut inclure les entrées suivantes :
files : désigne les fichiers /etc sur le système local
ldap : désigne le service d'annuaire LDAP sur le serveur LDAP
nis : désigne la base de données NIS sur le serveur maître NIS
nisplus : désigne la base de données NIS+ sur le serveur root NIS+
Pour une description du fichier nsswitch.conf, reportez-vous à la page de manuel nsswitch.conf(4). Pour plus d'informations sur les services de nommage et les services d'annuaire, reportez-vous au Guide d’administration système : Services d’annuaire et de nommage (DNS, NIS et LDAP) ou au System Administration Guide: Naming and Directory Services (NIS+) .
La commande login vérifie le nom d'utilisateur et le mot de passe indiqués par l'utilisateur. Si le nom d'utilisateur ne figure pas dans le fichier de mots de passe, la commande login refuse l'accès au système. Si le mot de passe ne correspond pas au nom d'utilisateur spécifié, la commande login refuse l'accès au système. Lorsque l'utilisateur fournit un nom d'utilisateur valide et son mot de passe correspondant, le système accorde à l'utilisateur l'accès au système.
Des modules PAM peuvent simplifier la connexion aux applications après une connexion réussie au système. Pour plus d'informations, reportez-vous au Chapitre 17Utilisation de PAM.
Des mécanismes d'authentification et d'autorisation sophistiqués sont disponibles sur les systèmes Oracle Solaris. Pour une description des mécanismes d'authentification et d'autorisation au niveau du réseau, reportez-vous à la section Authentification et autorisation pour l'accès à distance .
Lorsque des utilisateurs se connectent à un système, ils doivent fournir un nom d'utilisateur et un mot de passe. . Bien que les informations de connexion soient publiquement connues, les mots de passe doivent être gardés secrets. Les mots de passe ne doivent être connus que des utilisateurs. Vous devez demander à vos utilisateurs de choisir leurs mots de passe avec soin. Les utilisateurs doivent modifier leurs mots de passe souvent.
Les mots de passe sont initialement créés lorsque vous configurez un compte utilisateur. Pour assurer la sécurité des comptes utilisateur, vous pouvez configurer le vieillissement du mot de passe afin d'obliger les utilisateurs à en changer régulièrement. Vous pouvez également désactiver un compte utilisateur en verrouillant le mot de passe. Pour des informations plus détaillées sur la gestion des mots de passe, reportez-vous au Chapitre 4, Gestion des comptes utilisateur et des groupes (présentation) du Guide d’administration système : administration de base et à la page de manuel passwd(1).
Si votre réseau utilise des fichiers locaux pour authentifier des utilisateurs, les informations du mot de passe sont conservées dans les fichiers /etc/passwd et /etc/shadow du système. Le nom de l'utilisateur et d'autres informations sont conservées dans le fichier /etc/passwd. Le mot de passe chiffré lui-même est conservé dans un autre fichier shadow appelé /etc/shadow. Cette mesure de sécurité empêche les utilisateurs d'accéder aux mots de passe chiffrés. Alors que le fichier /etc/passwd est accessible à toute personne pouvant se connecter à un système, seul le superutilisateur ou un rôle équivalent peut lire le fichier /etc/shadow. Vous pouvez utiliser la commande passwd pour modifier un mot de passe utilisateur sur un système local.
Si votre réseau utilise NIS pour authentifier des utilisateurs, les informations de mots de passe sont conservées dans la carte des mots de passe NIS. NIS ne prend pas en charge le vieillissement des mots de passe. Vous pouvez utiliser la commande passwd -r nis pour modifier le mot de passe d'un utilisateur qui est stocké dans une carte de mots de passe NIS.
Si votre réseau utilise NIS+ pour authentifier les utilisateurs, les informations de mot de passe sont conservées dans la base de données NIS+. Les informations dans la base de données NIS+ peuvent être protégées en limitant l'accès aux utilisateurs autorisés uniquement. Vous pouvez utiliser la commande passwd -r nisplus pour modifier le mot de passe d'un utilisateur qui est stocké dans une base de données NIS+.
Le service de nommage LDAP d'Oracle Solaris stocke des informations de mot de passe et des informations en double dans le conteneur ou=people de la structure de répertoire LDAP. Sur le client du service de nommage LDAP d'Oracle Solaris, vous pouvez utiliser la commande passwd -r ldap pour changer le mot de passe d'un utilisateur. Le service de nommage LDAP stocke le mot de passe dans le référentiel LDAP.
La stratégie de mot de passe est appliquée sur le Sun Java System Directory Server. Plus précisément, le module pam_ldap du client suit les contrôles de stratégie de mot de passe mis en œuvre sur le Sun Java System Directory Server. Pour plus d'informations, reportez-vous à la section Modèle de sécurité des services de nommage LDAP du Guide d’administration système : Services d’annuaire et de nommage (DNS, NIS et LDAP).
Le chiffrement du mot de passe fort constitue une première barrière contre les attaques. Le logiciel Oracle Solaris fournit six algorithmes de chiffrement de mot de passe. Les algorithmes Blowfish, MD5 et SHA assurent un chiffrement de mot de passe plus robuste que l'algorithme UNIX.
Vous spécifiez la configuration des algorithmes pour votre site dans le fichier /etc/security/policy.conf. Dans le fichier policy.conf , les algorithmes sont nommés par leur identificateur, comme indiqué dans le tableau ci-après. Pour la mise en correspondance des identificateurs et des algorithmes, reportez-vous au fichier /etc/security/crypt.conf.
Tableau 2-1 Algorithmes de chiffrement de mot de passe
|
L'exemple suivant montre la configuration d'algorithmes par défaut dans le fichier policy.conf :
# … # crypt(3c) Algorithms Configuration # # CRYPT_ALGORITHMS_ALLOW specifies the algorithms that are allowed to # be used for new passwords. This is enforced only in crypt_gensalt(3c). # CRYPT_ALGORITHMS_ALLOW=1,2a,md5,5,6 # To deprecate use of the traditional unix algorithm, uncomment below # and change CRYPT_DEFAULT= to another algorithm. For example, # CRYPT_DEFAULT=1 for BSD/Linux MD5. # #CRYPT_ALGORITHMS_DEPRECATE=__unix__ # The Solaris default is the traditional UNIX algorithm. This is not # listed in crypt.conf(4) since it is internal to libc. The reserved # name __unix__ is used to refer to it. # CRYPT_DEFAULT=__unix__ …
Lorsque vous modifiez la valeur de CRYPT_DEFAULT, les mots de passe des nouveaux utilisateurs sont chiffrés avec l'algorithme associé à la nouvelle valeur.
Lorsque des utilisateurs existants modifient leurs mots de passe, le chiffrement de leur ancien mot de passe a une incidence sur l'algorithme utilisé pour chiffrer le nouveau mot de passe. Par exemple, supposons que CRYPT_ALGORITHMS_ALLOW=1,2a,md5,5,6 et CRYPT_DEFAULT=1 . Le tableau ci-dessous montre quel algorithme sera utilisé pour générer le mot de passe chiffré.
|
Pour plus d'informations sur la configuration des sélections d'algorithme, reportez-vous à la page de manuel policy.conf(4). Pour spécifier le mot de passe, les algorithmes de chiffrement des mots de passe, consultez Modification de l'algorithme de mot de passe (liste des tâches) .
Le compte root est l'un des nombreux comptes système. Parmi ces comptes, seul le compte root est associé à un mot de passe et peut se connecter. Le compte nuucp peut se connecter pour les transferts de fichiers. Les autres comptes système protègent les fichiers ou exécutent des processus administratifs sans recourir aux pleins pouvoirs de root.
![]() | Attention - Ne modifiez jamais la définition du mot de passe d'un compte système. Un compte qui est livré avec NP ou *LK*sys dans le deuxième champ du fichier shadow indique un compte système. |
Le tableau suivant répertorie des comptes système et leurs utilisations. Les comptes système exécutent des fonctions spéciales. Chaque compte possède un ID utilisateur inférieur à 100.
Tableau 2-2 Comptes de connexion système et leurs utilisations
|
Les connexions distantes constituent une cible tentante pour les intrus. Oracle Solaris fournit plusieurs commandes pour surveiller, limiter et désactiver les connexions distantes. Pour plus d'informations sur les procédures, reportez-vous à la section Sécurisation des connexions et des mots de passe (liste des tâches).
Par défaut, les connexions distantes ne peuvent pas contrôler ni lire certains périphériques système, tels que la souris, le clavier, la mémoire graphique ou le périphérique audio. Pour plus d'informations, reportez-vous à la page de manuel logindevperm(4).
Lorsqu'un ordinateur est accessible par le biais d'un modem ou d'un port d'accès à distance, vous pouvez ajouter une couche supplémentaire de sécurité. Vous pouvez exiger un mot de passe d'accès à distance pour les utilisateurs qui accèdent à un système par le biais d'un modem ou d'un port d'accès à distance. Un utilisateur doit fournir ce mot de passe supplémentaire avant d'être autorisé à accéder au système.
Seul le superutilisateur peut créer ou modifier un mot de passe d'accès à distance. Pour garantir l'intégrité du système, le mot de passe doit être modifié environ une fois par mois. Le moyen le plus efficace d'utiliser cette fonction est d'exiger un mot de passe d'accès à distance pour accéder à un système de passerelle. Pour définir des mots de passe d'accès à distance, reportez-vous à la section Création d'un mot de passe d'accès à distance.
Deux fichiers sont impliqués dans la création d'un mot de passe d'accès à distance : /etc/dialups et /etc/d_passwd. Le fichier dialups contient une liste des ports nécessitant un mot de passe d'accès à distance. Le fichier d_passwd contient une liste des programmes shell nécessitant un mot de passe chiffré comme mot de passe d'accès à distance complémentaire. Les informations contenues dans ces deux fichiers sont traitées de la manière suivante :
Si le shell de connexion d'utilisateur dans /etc/passwd correspond à une entrée dans /etc/d_passwd, l'utilisateur doit fournir un mot de passe d'accès à distance.
Si le shell de connexion d'utilisateur dans /etc/passwd n'est pas dans /etc/d_passwd, l'utilisateur doit fournir le mot de passe par défaut. Le mot de passe par défaut est l'entrée pour /usr/bin/sh.
Si le champ du shell de connexion dans /etc/passwd est vide, l'utilisateur doit fournir le mot de passe par défaut. Le mot de passe par défaut est l'entrée pour /usr/bin/sh.
Si /etc/d_passwd ne contient pas d'entrée pour /usr/bin/sh, les utilisateurs dont le champ du shell de connexion dans /etc/passwd est vide ou ne correspond pas aucune entrée dans /etc/d_passwd ne sont pas invités à indiquer de mot de passe d'accès à distance.
Les connexions commutées sont désactivées sir / /etc/d_passwd comporte uniquement une entrée /usr/bin//sh:*: