Ignorer les liens de navigation | |
Quitter l'aperu | |
Administration d'Oracle Solaris : services de sécurité Oracle Solaris 11 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. Utilisation de l'outil de génération de rapports d'audit de base (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)
Modes d'autorisation de fichier
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)
Procédure d'affichage des informations de fichier
Procédure de modification du propriétaire d'un fichier
Procédure de modification de la propriété de groupe d'un fichier
Procédure de modification des autorisations de fichier en mode symbolique
Procédure de modification des autorisations de fichier en mode absolu
Procédure de 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)
Procédure de recherche de fichiers avec des autorisations de fichier spéciales
Procédure de 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. Authentification des services réseau (tâches)
17. Utilisation de Secure Shell (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 procédures d'installation suivantes permettent de protéger les fichiers avec des autorisations UNIX, localiser des fichiers présentant des risques liés à la sécurité et de protéger le système contre toute compromission par ces fichiers.
La liste des tâches suivante présente les procédures permettant de répertorier les autorisations de fichiers, des les modifier et de protéger les fichiers avec les autorisations de fichiers spéciales.
|
Affichez les informations sur tous les fichiers d'un répertoire en utilisant la commande ls.
% ls -la
Affiche le format long qui inclut la propriété d'utilisateur, la propriété de groupe et les autorisations du fichier.
Affiche tous les fichiers, y compris les fichiers cachés qui commencent par un point (.).
Exemple 7-1 Affichage des informations de fichier
Dans l'exemple suivant, une liste partielle des fichiers placés dans le répertoire /sbin s'affiche.
% cd /sbin % ls -la total 4960 drwxr-xr-x 2 root sys 64 Dec 8 11:57 ./ drwxr-xr-x 39 root root 41 Dec 8 15:20 ../ -r-xr-xr-x 1 root bin 21492 Dec 1 20:55 autopush* -r-xr-xr-x 1 root bin 33680 Oct 1 11:36 beadm* -r-xr-xr-x 1 root bin 184360 Dec 1 20:55 bootadm* lrwxrwxrwx 1 root root 21 Jun 7 2010 bpgetfile -> ... -r-xr-xr-x 1 root bin 86048 Dec 1 20:55 cryptoadm* -r-xr-xr-x 1 root bin 12828 Dec 1 20:55 devprop* -r-xr-xr-x 1 root bin 130132 Dec 1 20:55 dhcpagent* -r-xr-xr-x 1 root bin 13076 Dec 1 20:55 dhcpinfo* . . .
Chaque ligne affiche des informations sur un fichier dans l'ordre suivant :
Type de fichier : par exemple, d. Pour obtenir la liste des types de fichiers, reportez-vous à la section Propriété des fichiers et des répertoires.
Autorisations : par exemple, r-xr-xr-x. Pour obtenir une description, reportez-vous à la section Propriété des fichiers et des répertoires.
Nombre de liens fixes : par exemple, 2.
Propriétaire du fichier : par exemple, root.
Groupe du fichier : par exemple, bin.
Taille du fichier, en octets : par exemple, 21308.
Date à laquelle le fichier a été créé ou modifié pour la dernière fois : par exemple, Dec 9 15:55.
Nom du fichier : par exemple, dhcpinfo.
Avant de commencer
Si vous n'êtes pas le propriétaire du fichier ou du répertoire, le profil de droits Object Access Management (gestion de l'accès aux objets) doit vous être affecté. Pour modifier un fichier qui est un objet public, vous devez être connecté en tant que superutilisateur.
% ls -l example-file -rw-r--r-- 1 janedoe staff 112640 May 24 10:49 example-file
Pour plus d'informations, reportez-vous à la section Procédure d'obtention des droits d'administration.
# chown stacey example-file
# ls -l example-file -rw-r--r-- 1 stacey staff 112640 May 26 08:50 example-file
Les systèmes de fichiers montés sur NFS ont des restrictions supplémentaires en ce qui concerne la modification de la propriété et des groupes. Pour plus d'informations, reportez-vous à la section Chapitre 6, Accès aux systèmes de fichiers réseau (référence) du manuel Administration d’Oracle Solaris : Services réseau.
Exemple 7-2 Modification par les utilisateurs de la propriété de leurs propres fichiers
Considération de sécurité : vous devez avoir une bonne raison de modifier la valeur de la variable rstchown à zéro. Le paramètre par défaut empêche les utilisateurs de répertorier leurs fichiers comme appartenant à d'autres utilisateurs afin de contourner les quotas d'espace.
Dans cet exemple, la valeur de la variable rstchown est définie sur zéro dans le fichier /etc/system. Ce paramètre permet au propriétaire d'un fichier d'utiliser la commande chown pour modifier la propriété du fichier à un autre utilisateur. Ce paramètre permet également au propriétaire d'utiliser la commande chgrp pour définir le groupe propriétaire d'un fichier sur un groupe auquel dont le propriétaire n'appartient pas. Le changement entre en vigueur lors du redémarrage du système.
set rstchown = 0
Pour plus d'informations, reportez-vous aux pages de manuel chown(1) et chgrp(1).
Avant de commencer
Si vous n'êtes pas le propriétaire du fichier ou du répertoire, le profil de droits Object Access Management (gestion de l'accès aux objets) doit vous être affecté. Pour modifier un fichier qui est un objet public, vous devez être connecté en tant que superutilisateur.
Pour plus d'informations, reportez-vous à la section Procédure d'obtention des droits d'administration.
$ chgrp scifi example-file
Pour plus d'informations sur la définition des groupes, reportez-vous au Chapitre 2, Gestion des comptes utilisateur et des groupes (présentation) du manuel Administration d’Oracle Solaris : Tâches courantes .
$ ls -l example-file -rw-r--r-- 1 stacey scifi 112640 June 20 08:55 example-file
Reportez-vous également à l'Exemple 7-2.
Dans la procédure ci-dessous, un utilisateur modifie les autorisations d'un fichier qui lui appartient.
% chmod who operator permissions filename
Spécifie pour qui les autorisations doivent être modifiées.
Indique l'opération à effectuer.
Spécifie les autorisations à modifier. Pour obtenir la liste des symboles valides, reportez-vous au Tableau 7-5.
Spécifie le fichier ou répertoire.
% ls -l filename
Remarque - Si vous n'êtes pas le propriétaire du fichier ou du répertoire, le profil de droits Object Access Management (gestion de l'accès aux objets) doit vous être affecté. Pour modifier un fichier qui est un objet public, vous devez être connecté en tant que superutilisateur.
Exemple 7-3 Modification des autorisations en mode symbolique
Dans l'exemple ci-dessous, l'autorisation de lecture est retirée aux autres.
% chmod o-r example-file1
Dans l'exemple suivant, les autorisations de lecture et d'exécution sont ajoutées à un fichier local pour l'utilisateur, le groupe et les autres.
$ chmod a+rx example-file2
Dans l'exemple suivant, les autorisations de lecture, d'écriture et d'exécution pour le groupe sont affectés à un fichier local.
$ chmod g=rwx example-file3
Dans la procédure ci-dessous, un utilisateur modifie les autorisations d'un fichier qui lui appartient.
% chmod nnn filename
Spécifie les valeurs octales qui représentent les autorisations du propriétaire du fichier, du groupe de fichiers et autres, dans cet ordre. Pour obtenir la liste des valeurs octales, reportez-vous au Tableau 7-4.
Spécifie le fichier ou répertoire.
Remarque - Lorsque vous utilisez la commande chmod pour modifier les autorisations de groupe sur un fichier avec des entrées d'ACL, les autorisations de groupe de fichiers et le masque d'ACL sont modifiés et reflètent les nouvelles autorisations. N'oubliez pas que les nouvelles autorisations du masque d'ACL peuvent modifier les autorisations d'autres utilisateurs et de groupes qui disposent d'entrées d'ACL sur le fichier. Utilisez la commande getfacl pour vous assurer que les autorisations appropriées sont définies pour toutes les entrées d'ACL. Pour plus d'informations, reportez-vous à la page de manuel getfacl(1).
% ls -l filename
Remarque - Si vous n'êtes pas le propriétaire du fichier ou du répertoire, le profil de droits Object Access Management (gestion de l'accès aux objets) doit vous être affecté. Pour modifier un fichier qui est un objet public, vous devez être connecté en tant que superutilisateur.
Exemple 7-4 Modification des autorisations en mode absolu
Dans l'exemple ci-dessous, les autorisations d'un répertoire ouvert au public sont modifiées de 744 (lecture, écriture, exécution ; lecture seule ; et lecture seule) en 755 (lecture, écriture, exécution ; lecture et exécution ; et lecture et exécution).
# ls -ld public_dir drwxr--r-- 1 jdoe staff 6023 Aug 5 12:06 public_dir # chmod 755 public_dir # ls -ld public_dir drwxr-xr-x 1 jdoe staff 6023 Aug 5 12:06 public_dir
Dans l'exemple suivant, les autorisations d'un script de shell exécutable sont modifiées de lecture et écriture en lecture, écriture et exécution.
% ls -l my_script -rw------- 1 jdoe staff 6023 Aug 5 12:06 my_script % chmod 700 my_script % ls -l my_script -rwx------ 1 jdoe staff 6023 Aug 5 12:06 my_script
Avant de commencer
Si vous n'êtes pas le propriétaire du fichier ou du répertoire, le profil de droits Object Access Management (gestion de l'accès aux objets) doit vous être affecté. Pour modifier un fichier qui est un objet public, vous devez être connecté en tant que superutilisateur.
Pour plus d'informations, reportez-vous à la section Procédure d'obtention des droits d'administration.
% chmod nnnn filename
Spécifie les valeurs octales qui modifient les autorisations du fichier ou du répertoire. La valeur octale le plus à gauche définit les autorisations spéciales du fichier. Pour obtenir la liste de valeurs octales valides pour les autorisations spéciales, reportez-vous au Tableau 7-6.
Spécifie le fichier ou répertoire.
Remarque - Lorsque vous utilisez la commande chmod pour modifier les autorisations de groupe sur un fichier avec des entrées d'ACL, les autorisations de groupe de fichiers et le masque d'ACL sont modifiés et reflètent les nouvelles autorisations. N'oubliez pas que les nouvelles autorisations du masque d'ACL peuvent modifier les autorisations d'autres utilisateurs et de groupes qui disposent d'entrées d'ACL sur le fichier. Utilisez la commande getfacl pour vous assurer que les autorisations appropriées sont définies pour toutes les entrées d'ACL. Pour plus d'informations, reportez-vous à la page de manuel getfacl(1).
% ls -l filename
Exemple 7-5 Définition des autorisations de fichiers spéciales en mode absolu
Dans l'exemple suivant, l'autorisation setuid est définie sur le fichier dbprog.
# chmod 4555 dbprog # ls -l dbprog -r-sr-xr-x 1 db staff 12095 May 6 09:29 dbprog
Dans l'exemple suivant, l'autorisation setgid est définie sur le fichier dbprog2.
# chmod 2551 dbprog2 # ls -l dbprog2 -r-xr-s--x 1 db staff 24576 May 6 09:30 dbprog2
Dans l'exemple suivant, l'autorisation Sticky bit est définie dans le répertoire public_dir.
# chmod 1777 public_dir # ls -ld public_dir drwxrwxrwt 2 jdoe staff 512 May 15 15:27 public_dir
La liste des tâches suivante présente les procédures permettant trouver les exécutables à risque dans le système, et qui empêchent les programmes d'exploiter une pile exécutable.
|
Cette procédure permet de repérer toute utilisation potentiellement interdite des autorisations setuid et setgid sur les programmes. Un fichier exécutable suspect accorde la propriété à un utilisateur plutôt qu'à root ou bin.
Avant de commencer
Vous devez être dans le rôle root.
# find directory -user root -perm -4000 -exec ls -ldb {} \; >/tmp/filename
Vérifie tous les chemins montés en commençant par le répertoire spécifié, qui peut être root (/), sys, bin, ou mail.
Affiche les fichiers appartenant uniquement à root.
Affiche les fichiers uniquement avec les autorisations définies sur 4000.
Affiche le résultat de la commande find au format ls -ldb.
Il s'agit du fichier qui contient les résultats de la commande find.
# more /tmp/filename
Pour plus d'informations d'ordre général sur les autorisations setuid, reportez-vous à la section Autorisation setuid.
Exemple 7-6 Recherche de fichiers avec des autorisations setuid
La sortie de l'exemple suivant indique qu'un utilisateur d'un groupe appelé rar a effectué une copie personnelle de /usr/bin/sh et a défini les autorisations setuid sur root. Par conséquent, le programme /usr/rar/bin/sh s'exécute avec les autorisations root.
Ce résultat a été enregistré pour référence ultérieure en déplaçant le répertoire /var/tmp/chkprm dans une archive.
# find / -user root -perm -4000 -exec ls -ldb {} \; > /var/tmp/ckprm # cat /var/tmp/ckprm -r-sr-xr-x 1 root bin 38836 Aug 10 16:16 /usr/bin/at -r-sr-xr-x 1 root bin 19812 Aug 10 16:16 /usr/bin/crontab ---s--x--x 1 root sys 46040 Aug 10 15:18 /usr/bin/ct -r-sr-xr-x 1 root sys 12092 Aug 11 01:29 /usr/lib/mv_dir -r-sr-sr-x 1 root bin 33208 Aug 10 15:55 /usr/lib/lpadmin -r-sr-sr-x 1 root bin 38696 Aug 10 15:55 /usr/lib/lpsched ---s--x--- 1 root rar 45376 Aug 18 15:11 /usr/rar/bin/sh -r-sr-xr-x 1 root bin 12524 Aug 11 01:27 /usr/bin/df -rwsr-xr-x 1 root sys 21780 Aug 11 01:27 /usr/bin/newgrp -r-sr-sr-x 1 root sys 23000 Aug 11 01:27 /usr/bin/passwd -r-sr-xr-x 1 root sys 23824 Aug 11 01:27 /usr/bin/su # mv /var/tmp/ckprm /export/sysreports/ckprm
Pour obtenir une description des risques de sécurité liés aux piles exécutables 32 bits, reportez-vous à la section Protection contre les problèmes de sécurité causés par les fichiers exécutables.
Avant de commencer
Vous devez être dans le rôle root.
set noexec_user_stack=1
# reboot
Exemple 7-7 Désactivation de la journalisation des messages de pile exécutable
Dans cet exemple, la journalisation des messages de pile exécutable est désactivée et le système est ensuite redémarré.
# cat /etc/system set noexec_user_stack=1 set noexec_user_stack_log=0 # reboot
Voir aussi
Pour plus d'informations, reportez-vous aux références suivantes :