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)
Utilisation des autorisations UNIX pour protéger les fichiers
Commandes d'affichage et de sécurisation des fichiers
Propriété des fichiers et des répertoires
Autorisations des fichiers UNIX
Autorisations de fichiers spéciales (setuid, setgid et sticky bit)
Utilisation des ACL pour protéger les fichiers UFS
Protection contre les problèmes de sécurité causés par les fichiers exécutables
Protection des fichiers (tâches)
Protection des fichiers avec des autorisations UNIX (liste des tâches)
Affichage des informations de fichier
Modification du propriétaire d'un fichier
Modification de la propriété de groupe d'un fichier
Modification des autorisations de fichier en mode symbolique
Modification des autorisations de fichier en mode absolu
Modification des autorisations de fichier spéciales en mode absolu
Protection contre les programmes présentant des risques de sécurité (liste des tâches)
Recherche de fichiers avec des autorisations de fichier spéciales
Désactivation de l'utilisation de piles exécutables par les programmes
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
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 fichiers peuvent être sécurisés à l'aide des autorisations de fichiers UNIX et par l'intermédiaire des ACL. Les fichiers avec sticky bit et les fichiers exécutables nécessitent des mesures de sécurité spéciales.
Ce tableau décrit les commandes pour la surveillance et la sécurisation des fichiers et répertoires.
Tableau 7-1 Commandes de sécurisation des fichiers et répertoires
|
Les autorisations de fichiers UNIX classiques peuvent attribuer la propriété à trois catégories d'utilisateurs :
user : le propriétaire du fichier ou du répertoire, qui est généralement l'utilisateur qui a créé le fichier. Le propriétaire d'un fichier peut décider qui a le droit de lire le fichier, d'écrire dans le fichier (pour y effectuer des modifications) ou, si le fichier est une commande, d'exécuter le fichier.
group : les membres d'un groupe d'utilisateurs.
others : tous les autres utilisateurs qui ne sont ni le propriétaire du fichier, ni membres du groupe.
Le propriétaire du fichier peut généralement affecter ou modifier les autorisations de fichier. En outre, le compte root peut modifier la propriété d'un fichier. Pour remplacer la stratégie du système, reportez-vous à l'Exemple 7-2.
Il existe sept types de fichier. Chaque type est indiqué par un symbole :
Fichier spécial en mode bloc
Fichier spécial en mode caractère
Répertoire
Lien symbolique
Socket
Porte
Tube nommé (FIFO)
Le tableau ci-dessous répertorie et décrit les autorisations que vous pouvez attribuer à chaque classe d'utilisateur pour un fichier ou un répertoire.
Tableau 7-2 Autorisations des fichiers et répertoires
|
Les autorisations des fichiers s'appliquent aux fichiers classiques et aux fichiers spéciaux tels que les périphériques, les sockets et les tubes nommés (FIFO).
Pour un lien symbolique, les autorisations qui s'appliquent sont celles du fichier vers lesquels pointe le lien.
Vous pouvez protéger les fichiers dans un répertoire et ses sous-répertoires en définissant des autorisations de fichiers restrictives sur ce répertoire. Notez, cependant, que le rôle root a accès à tous les fichiers et répertoires sur le système.
Il existe trois types d'autorisations pour les fichiers exécutables et les répertoires publics : setuid, setgid et sticky bit. Lorsqu'elles sont définies, n'importe quel utilisateur qui exécute ce fichier exécutable prend l'ID du propriétaire (ou du groupe) du fichier exécutable.
Vous devez être très prudent lorsque vous définissez des autorisations spéciales, car elles constituent un risque de sécurité. Par exemple, un utilisateur peut obtenir des capacités root en exécutant un programme qui définit l'ID utilisateur (UID) sur 0, qui est l'UID de root. En outre, tous les utilisateurs peuvent définir des autorisations spéciales pour les fichiers qu'ils détiennent, ce qui constitue un autre problème de sécurité.
Il est recommandé de surveiller votre système pour toute utilisation non autorisée des autorisations setuid et setgid pour obtenir les capacités root. Une autorisation suspecte accorde la propriété d'un programme d'administration à un utilisateur plutôt qu'à root ou bin. Pour rechercher et afficher la liste de tous les fichiers qui utilisent ces autorisations spéciales, reportez-vous à la section Recherche de fichiers avec des autorisations de fichier spéciales.
Quand l'autorisation setuid est définie sur un fichier exécutable, un processus qui exécute ce fichier se voit accorder l'accès sur la base du propriétaire du fichier. L'accès n'est pas basé sur l'utilisateur qui exécute le fichier exécutable. Ces autorisations spéciales permettent à un utilisateur d'accéder aux fichiers et répertoires qui sont normalement disponibles uniquement pour le propriétaire.
Par exemple, les autorisations setuid sur la commande passwd permettent aux utilisateurs de modifier les mots de passe. Une commande passwd avec une autorisation setuid doit ressembler à ceci :
-r-sr-sr-x 3 root sys 28144 Jun 17 12:02 /usr/bin/passwd
Ces autorisations spéciales présentent un risque de sécurité. Certains utilisateurs déterminés peuvent trouver un moyen de conserver les autorisations qui sont leur sont accordées par le processus setuid même lorsque le processus a terminé de s'exécuter.
Remarque - L'utilisation des autorisations setuid avec des UID réservés (de 0 à 100) à partir d'un programme risque d'entraîner une définition incorrecte de l'UID réel. Utilisez d'un script shell ou évitez d'utiliser les UID réservés avec les autorisations setuid.
Les autorisations setgid sont similaires aux autorisations setuid. L'ID de groupe (GID) effectif du processus est remplacé par le groupe qui est propriétaire du fichier, et un utilisateur se voit accorder les autorisations qui sont accordées au groupe. La commande /usr/bin/mail dispose des autorisations setgid :
-r-x--s--x 1 root mail 67504 Jun 17 12:01 /usr/bin/mail
Lorsque les autorisations setgid sont appliquées à un répertoire, les fichiers qui ont été créés dans ce répertoire appartiennent au groupe auquel appartient le répertoire. Les fichiers n'appartiennent pas au groupe auquel le processus de création appartient. Tout utilisateur qui dispose d'autorisations d'écriture et d'exécution dans le répertoire peut y créer un fichier. Toutefois, le fichier appartient au groupe qui est propriétaire du répertoire, et non au groupe auquel appartient l'utilisateur.
Vous devez surveiller votre système pour toute utilisation non autorisée des autorisations setgid pour obtenir des capacités root. Des autorisations suspectes accordent l'accès de groupe à un tel programme à un groupe inhabituel plutôt qu'à root ou bin. Pour rechercher et afficher la liste de tous les fichiers qui utilisent ces autorisations, reportez-vous à la section Recherche de fichiers avec des autorisations de fichier spéciales.
Le sticky bit est un bit d'autorisation qui protège les fichiers d'un répertoire. Si le sticky bit est défini pour le répertoire, un fichier peut être supprimé uniquement par le propriétaire du fichier, le propriétaire du répertoire ou par un utilisateur privilégié. L'utilisateur root est un exemple d'utilisateur privilégié. Le sticky bit empêche un utilisateur de supprimer les fichiers d'autres utilisateurs dans des répertoires publics tels que /tmp :
drwxrwxrwt 7 root sys 400 Sep 3 13:37 tmp
Veillez à définir le sticky bit manuellement lorsque vous définissez un répertoire public directory dans un système de fichiers TMPFS. Pour plus d'instructions, reportez-vous à l'Exemple 7-5.
Lorsque vous créez un fichier ou un répertoire, vous devez le créer avec un jeu d'autorisations par défaut. Les valeurs par défaut du système sont ouvertes. Un fichier texte dispose de 666 autorisations, et accorde des autorisations de lecture et d'écriture à tout le monde. Un répertoire et un fichier exécutable disposent de 777 autorisations, et accordent des autorisations de lecture, d'écriture et d'exécution à tout le monde. En règle générale, les utilisateurs remplacent les valeurs par défaut du système dans leurs fichiers d'initialisation du shell, tels que .bashrc et .kshrc.user. L'administrateur peut également définir des valeurs par défaut dans le fichier /etc/profile.
La valeur affectée par la commande umask est soustraite de la valeur par défaut. Ce processus a pour effet de refuser les autorisations de la même manière que la commande chmod les accorde. Par exemple, la commande chmod 022 permet d'accorder l'autorisation d'écriture au groupe et aux autres. La commande umask 022 refuse l'accès en écriture au groupe et aux autres.
Le tableau suivant présente quelques exemples typiques de valeurs umask et leur effet sur un fichier exécutable.
Tableau 7-3 Paramètres umask pour différents niveaux de sécurité
|
Pour plus d'informations sur la définition de la valeur umask, reportez-vous à la page de manuel umask(1).
La commande chmod vous permet de modifier les autorisations d'un fichier. Vous devez être connecté en tant qu'utilisateur root ou le propriétaire d'un fichier ou d'un répertoire pour modifier ses autorisations.
Vous pouvez utiliser la commande chmod pour définir les autorisations dans l'un des deux modes suivants :
Mode absolu : utilise les numéros pour représenter les autorisations de fichier. Lorsque vous modifiez les autorisations l'aide du mode absolu, vous représentez les autorisations pour chaque triplet par un numéro de mode octal. Le mode absolu est la méthode la plus couramment utilisée pour définir les autorisations.
Mode symbolique : utilise des combinaisons de lettres et de symboles pour ajouter ou supprimer des autorisations.
Le tableau suivant répertorie les valeurs octales pour la définition des autorisations en mode absolu. Ces numéros s'utilisent en ensembles de trois pour définir les autorisations pour le propriétaire, le groupe et les autres, dans cet ordre. Par exemple, la valeur 644 définit les autorisations de lecture et d'écriture pour le propriétaire, et les autorisations de lecture seule pour le groupe et les autres.
Tableau 7-4 Définition des autorisations de fichiers en mode absolu
|
Le tableau suivant répertorie les symboles pour la définition des autorisations de fichier en mode symbolique. Les symboles peuvent spécifier pour qui les autorisations doivent être définies ou modifiées, l'opération à effectuer et les autorisations à affecter ou modifier.
Tableau 7-5 Définition des autorisations de fichiers en mode symbolique
|
Les désignations des who operator permissions dans la colonne des fonctions spécifient les symboles qui modifient les autorisations du fichier ou du répertoire.
Spécifie pour qui les autorisations doivent être modifiées.
Indique l'opération à effectuer.
Spécifie les autorisations à modifier.
Vous pouvez définir des autorisations spéciales pour un fichier en mode absolu ou en mode symbolique. Cependant, vous devez utiliser le mode symbolique pour définir ou supprimer les autorisations setuid sur un répertoire. En mode absolu, vous définissez les autorisations spéciales en ajoutant une nouvelle valeur octale à la gauche du triplé d'autorisation. Le tableau suivant répertorie les valeurs octales pour la définition des autorisations spéciales d'un fichier.
Tableau 7-6 Définition des autorisations de fichiers spéciales en mode absolu
|