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)
Considérations de sécurité BART
Utilisation de BART (liste des tâches)
Création d'un manifeste de contrôle
Personnalisation d'un manifeste
Comparaison des manifestes pour le même système dans le temps
Comparaison de manifestes de différents systèmes
Personnalisation d'un rapport BART en spécifiant des attributs de fichiers
Personnalisation d'un rapport BART en utilisant un fichier de règles
Manifestes BART, fichiers de règles et rapports (référence)
Format de fichier manifeste BART
Format de fichier de règles BART
Attributs du fichier de règles
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
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
La commande bart permet de créer et comparer des manifestes. Tous les utilisateurs peuvent exécuter cette commande. Toutefois, les utilisateurs peuvent uniquement répertorier et contrôler les fichiers pour lesquels ils disposent de droits d'accès. Par conséquent, les utilisateurs et la plupart des rôles peuvent répertorier utilement les fichiers dans leur répertoire d'accueil, mais le compte root permet de répertorier tous les fichiers, y compris les fichiers système.
Les manifestes et rapports BART sont lisibles par n'importe quel utilisateur. Si la sortie BART contient des informations confidentielles, protégez-la en effectuant les actions nécessaires. Par exemple, utilisez les options générant des fichiers de sortie avec des autorisations restreintes ou placez les fichiers de sortie dans un répertoire protégé.
|
La procédure suivante décrit la création d'un manifeste de base pour votre système. Utilisez ce type de manifeste lorsque vous installez de nombreux systèmes à partir d'une image centrale. Vous pouvez également utiliser ce type de manifeste pour effectuer des comparaisons lorsque vous souhaitez vérifier que les installations sont identiques. Pour plus d'informations sur les manifestes de base, reportez-vous à la section Manifeste BART. Pour connaître les conventions de format, reportez-vous à la section Exemple 6-1.
Remarque - Ne tentez pas de répertorier les systèmes de fichiers en réseau. L'utilisation de BART dans le cadre de la surveillance des systèmes de fichiers en réseau consomme d'importantes ressources pour générer des manifestes de faible valeur.
Avant de commencer
Pour créer un manifeste de contrôle du système, vous devez prendre le rôle root.
# bart create options > control-manifest
Spécifie le répertoire root pour le manifeste. Tous les chemins d'accès spécifiés par les règles sont interprétés par rapport à ce répertoire. Tous les chemins d'accès signalés dans le manifeste sont relatifs à ce répertoire.
Accepte une liste de fichiers individuels à classifier, soit sur la ligne de commande soit à lire dans l'entrée standard.
Nom du fichier de règles pour ce manifeste. Un argument - lit le fichier de règles de l'entrée standard.
Désactive les signatures de contenu de tous les fichiers standard dans la liste de fichiers. Cette option peut être utilisée pour améliorer les performances. Ou bien vous pouvez l'utiliser s'il est prévu que le contenu de la liste de fichiers change, comme dans le cas des fichiers journaux du système.
Pour obtenir une explication sur le format, reportez-vous à l'Exemple 6-1.
Pour protéger les manifestes système, une méthode consiste à les placer dans un répertoire auquel seul le compte root peut accéder.
# mkdir /var/adm/log/bartlogs # chmod 700 /var/adm/log/bartlogs # mv control-manifest /var/adm/log/bartlogs
Choisissez un nom explicite pour le manifeste. Par exemple, utilisez le nom du système et la date de création du manifeste comme dans mach1-120312.
Exemple 6-1 Explication du format de manifeste BART
Dans cet exemple, l'échantillon de sortie est suivi d'une explication du format de manifeste.
# bart create ! Version 1.1 ! HASH SHA256 ! Friday, September 07, 2012 (22:22:27) # Format: #fname D size mode acl dirmtime uid gid #fname P size mode acl mtime uid gid #fname S size mode acl mtime uid gid #fname F size mode acl mtime uid gid contents #fname L size mode acl lnmtime uid gid dest #fname B size mode acl mtime uid gid devnode #fname C size mode acl mtime uid gid devnode / D 1024 40755 user::rwx,group::r-x,mask:r-x,other:r-x 3ebc418eb5be3729ffe7e54053be2d33ee884205502c81ae9689cd8cca5b0090 0 0 . . . /zone D 512 40755 user::rwx group::r-x,mask:r-x,other:r-x 3f81e892 154de3e7bdfd0d57a074c9fae0896a9e2e04bebfe5e872d273b063319e57f334 0 0 . . .
Chaque manifeste se compose d'un en-tête et d'entrées de fichier. Chaque entrée de fichier constitue une seule ligne, selon le type de fichier. Par exemple, pour chaque entrée de fichier dans la sortie ci-dessus, le type F indique un fichier et le type D un répertoire. Sont également répertoriées des informations sur la taille, le contenu, l'ID utilisateur, l'ID de groupe et les autorisations. Les entrées de fichier dans la sortie sont triées par versions codées des noms de fichier de sorte à traiter correctement les caractères spéciaux. Toutes les entrées sont stockées dans l'ordre croissant par nom de fichier. Pour tous les noms de fichiers non standard, tels que ceux contenant des caractères de retour à la ligne ou de tabulation, les caractères non standard sont mis entre guillemets avant que le tri ne soit effectué.
Les lignes commençant par ! fournissent des métadonnées sur le manifeste. La ligne de version du manifeste indique la version de spécification du manifeste. La ligne de hachage indique le mécanisme de hachage qui a été utilisé. Pour plus d'informations sur le hachage SHA256 utilisé en tant que somme de contrôle, reportez-vous à la page de manuel sha2(3EXT).
La ligne de date indique la date de création du manifeste. Reportez-vous à la page de manuel date(1). Certaines lignes sont ignorées par l'outil de comparaison de manifestes. Les lignes ignorées incluent des métadonnées, des lignes vides, des lignes composées uniquement d'espaces blancs et des commentaires commençant par #.
Vous pouvez personnaliser un manifeste de l'une des façons suivantes :
En spécifiant une sous-arborescence
Spécifier une sous-arborescence est un moyen efficace de surveiller les modifications apportées aux fichiers importants sélectionnés, tels que tous les fichiers du répertoire /etc.
En spécifiant un nom de fichier
Spécifier un nom de fichier est un moyen efficace pour surveiller les fichiers particulièrement sensibles, tels que les fichiers de configuration et d'exécution d'une application de base de données.
En utilisant un fichier de règles
L'utilisation d'un fichier de règles pour créer et comparer des manifestes vous donne la possibilité de spécifier des attributs multiples pour plusieurs fichiers ou sous-arborescences. Sur la ligne de commande, vous pouvez spécifier une définition d'attribut générale s'appliquant à tous les fichiers inclus dans un manifeste ou un rapport. A partir d'un fichier de règles, vous pouvez indiquer les attributs qui ne s'appliquent pas au niveau global.
Avant de commencer
Vous devez prendre le rôle root. Pour plus d'informations, reportez-vous à la section Utilisation de vos droits d'administration.
En spécifiant une sous-arborescence :
# bart create -R subtree
En spécifiant un ou des noms de fichiers :
# bart create -I filename...
Par exemple :
# bart create -I /etc/system /etc/passwd /etc/shadow
En utilisant un fichier de règles :
# bart create -r rules-file
Pour obtenir un exemple, reportez-vous à l'Étape 3 in Création d'un manifeste de contrôle.
Astuce - Si vous avez utilisé un fichier de règles, enregistrez-le avec le manifeste. Pour que la comparaison soit utile, vous devez l'exécuter avec le fichier de règles.
En comparant les manifestes au fil du temps, vous pouvez localiser les fichiers endommagés ou inhabituels, détecter les violations de sécurité et résoudre les problèmes de performances sur un système.
Avant de commencer
Pour créer et comparer des manifestes qui incluent des fichiers système, vous devez prendre le rôle root.
# bart create -R /etc > control-manifest
Pour obtenir un exemple, reportez-vous à l'Étape 3 in Création d'un manifeste de contrôle.
# bart create -R /etc > test-manifest
# mv test-manifest /var/adm/log/bartlogs
Utilisez les mêmes options de ligne de commande et le même fichier de règles pour comparer les manifestes qui vous avez utilisés pour les créer.
# bart compare options control-manifest test-manifest > bart-report
Exemple 6-2 Suivi des modifications de fichier pour le même système au fil du temps
Cet exemple illustre le suivi des modifications dans le répertoire /etc au fil du temps. Ce type de comparaison vous permet de localiser sur le système les fichiers importants qui ont été compromis.
Créez un manifeste de contrôle.
# cd /var/adm/logs/manifests # bart create -R /etc > system1.control.090712 ! Version 1.1 ! HASH SHA256 ! Friday, September 07, 2012 (11:11:17) # Format: #fname D size mode acl dirmtime uid gid #fname P size mode acl mtime uid gid #fname S size mode acl mtime uid gid #fname F size mode acl mtime uid gid contents #fname L size mode acl lnmtime uid gid dest #fname B size mode acl mtime uid gid devnode #fname C size mode acl mtime uid gid devnode /.cpr_config F 2236 100644 owner@:read_data/write_data/append_data/read_xattr/wr ite_xattr/read_attributes/write_attributes/read_acl/write_acl/write_owner/synchr onize:allow,group@:read_data/read_xattr/read_attributes/read_acl/synchronize:all ow,everyone@:read_data/read_xattr/read_attributes/read_acl/synchronize:allow 4e271c59 0 0 3ebc418eb5be3729ffe7e54053be2d33ee884205502c81ae9689cd8cca5b0090 /.login F 1429 100644 owner@:read_data/write_data/append_data/read_xattr/write_x attr/read_attributes/write_attributes/read_acl/write_acl/write_owner/synchronize :allow,group@:read_data/read_xattr/read_attributes/read_acl/synchronize:allow,ev eryone@:read_data/read_xattr/read_attributes/read_acl/synchronize:allow 4bf9d6d7 0 3 ff6251a473a53de68ce8b4036d0f569838cff107caf1dd9fd04701c48f09242e . . .
Plus tard, créez un manifeste test en utilisant les mêmes options de ligne de commande.
# bart create -R /etc > system1.test.101012 Version 1.1 ! HASH SHA256 ! Wednesday, October 10, 2012 (10:10:17) # Format: #fname D size mode acl dirmtime uid gid #fname P size mode acl mtime uid gid #fname S size mode acl mtime uid gid #fname F size mode acl mtime uid gid contents #fname L size mode acl lnmtime uid gid dest #fname B size mode acl mtime uid gid devnode #fname C size mode acl mtime uid gid devnode /.cpr_config F 2236 100644 owner@:read_data/write_data/append_data/read_xattr/wr ite_xattr/read_attributes/write_attributes/read_acl/write_acl/write_owner/synchr onize:allow,group@:read_data/read_xattr/read_attributes/read_acl/synchronize:all ow,everyone@:read_data/read_xattr/read_attributes/read_acl/synchronize:allow 4e271c59 0 0 3ebc418eb5be3729ffe7e54053be2d33ee884205502c81ae9689cd8cca5b0090 . . .
Comparez les manifestes.
# bart compare system1.control.090712 system1.test.101012 /security/audit_class mtime 4f272f59
La sortie indique que le temps de modification sur le fichier audit_class a changé depuis que le manifeste de contrôle a été créé. Si cette modification est inattendue, vous pouvez effectuer une analyse plus approfondie.
En comparant des manifestes de différents systèmes, vous pouvez déterminer si les systèmes sont installés de façon identique ou s'ils ont été mis à niveau de façon synchronisée. Par exemple, si vous avez personnalisé vos systèmes en fonction d'un objectif de sécurité spécifique, cette comparaison recherche tous les écarts entre le manifeste qui représente cet objectif et les manifestes des autres systèmes.
Avant de commencer
Pour comparer les manifestes système, vous devez prendre le rôle root.
# bart create options > control-manifest
Pour connaître les options, reportez-vous à la page de manuel bart(1M).
Pour obtenir un exemple, reportez-vous à l'Étape 3 in Création d'un manifeste de contrôle.
# bart create options > test1-manifest
Par exemple :
# cp control-manifest /net/ test-server/var/adm/logs/bartlogs
Si le système test n'est pas un système monté via NFS, utilisez sftp ou un autre moyen fiable pour copier les manifestes à un emplacement central.
# bart compare control-manifest test1-manifest > test1.report
Exemple 6-3 Identification d'un fichier suspect dans le répertoire /usr/bin
Cet exemple compare le contenu du répertoire /usr/bin sur les deux systèmes.
Créez un manifeste de contrôle.
# bart create -R /usr/bin > control-manifest.090711 ! Version 1.1 ! HASH SHA256 ! Wednesday, September 07, 2011 (11:11:17) # Format: #fname D size mode acl dirmtime uid gid #fname P size mode acl mtime uid gid #fname S size mode acl mtime uid gid #fname F size mode acl mtime uid gid contents #fname L size mode acl lnmtime uid gid dest #fname B size mode acl mtime uid gid devnode #fname C size mode acl mtime uid gid devnode /2to3 F 105 100555 owner@:read_data/read_xattr/write_xattr/execute/read_attribut es/write_attributes/read_acl/write_acl/write_owner/synchronize:allow,group@:read _data/read_xattr/execute/read_attributes/read_acl/synchronize:allow,everyone@:re ad_data/read_xattr/execute/read_attributes/read_acl/synchronize:allow 4bf9d261 0 2 154de3e7bdfd0d57a074c9fae0896a9e2e04bebfe5e872d273b063319e57f334 /7z F 509220 100555 owner@:read_data/read_xattr/write_xattr/execute/read_attribu tes/write_attributes/read_acl/write_acl/write_owner/synchronize:allow,group@:rea d_data/read_xattr/execute/read_attributes/read_acl/synchronize:allow,everyone@:r ead_data/read_xattr/execute/read_attributes/read_acl/synchronize:allow 4dadc48a 0 2 3ecd418eb5be3729ffe7e54053be2d33ee884205502c81ae9689cd8cca5b0090 ...
Créez un manifeste identique pour chaque système que vous souhaitez comparer avec le système de contrôle.
# bart create -R /usr/bin > system2-manifest.101011 ! Version 1.1 ! HASH SHA256 ! Monday, October 10, 2011 (10:10:22) # Format: #fname D size mode acl dirmtime uid gid #fname P size mode acl mtime uid gid #fname S size mode acl mtime uid gid #fname F size mode acl mtime uid gid contents #fname L size mode acl lnmtime uid gid dest #fname B size mode acl mtime uid gid devnode #fname C size mode acl mtime uid gid devnode /2to3 F 105 100555 owner@:read_data/read_xattr/write_xattr/execute/read_attribut es/write_attributes/read_acl/write_acl/write_owner/synchronize:allow,group@:read _data/read_xattr/execute/read_attributes/read_acl/synchronize:allow,everyone@:re ad_data/read_xattr/execute/read_attributes/read_acl/synchronize:allow 4bf9d261 0 2 154de3e7bdfd0d57a074c9fae0896a9e2e04bebfe5e872d273b063319e57f334 ...
Copiez les manifestes dans le même emplacement.
# cp control-manifest.090711 /net/system2.central/bart/manifests
Comparez les manifestes.
# bart compare control-manifest.090711 system2.test.101011 > system2.report /su: gid control:3 test:1 /ypcat: mtime control:3fd72511 test:3fd9eb23
La sortie indique que l'ID de groupe du fichier su dans le répertoire /usr/bin est différent de celui du système de contrôle. Ces informations peuvent indiquer qu'une version différente du logiciel a été installée sur le système test. L'ID de groupe est différent car quelqu'un a probablement modifié le fichier.
Cette procédure est utile pour filtrer la sortie des manifestes existants afin de vérifier des attributs de fichier spécifiques.
Avant de commencer
Vous devez prendre le rôle root. Pour plus d'informations, reportez-vous à la section Utilisation de vos droits d'administration.
Par exemple :
# bart compare -i lnmtime,mtime control-manifest.121511 \ test-manifest.010512 > bart.report.010512
Utilisez une virgule dans la syntaxe de ligne de commande pour séparer chaque attribut de fichier.
A l'aide d'un fichier de règles, vous pouvez personnaliser un manifeste BART pour des fichiers spécifiques et des attributs de fichier importants. En utilisant différents fichiers de règles sur des manifestes BART par défaut, vous pouvez exécuter différentes comparaisons pour les mêmes manifestes.
Avant de commencer
Vous devez prendre le rôle root. Pour plus d'informations, reportez-vous à la section Utilisation de vos droits d'administration.
# bart create -r myrules1-file > control-manifest
Pour obtenir un exemple, reportez-vous à l'Étape 3 in Création d'un manifeste de contrôle.
# bart create -r myrules1-file > test-manifest
# bart compare -r myrules1-file control-manifest test-manifest > bart.report
Exemple 6-4 Utilisation d'un fichier de règles pour personnaliser les manifestes BART et le rapport de comparaison
Le fichier de règles suivant redirige la commande bart create pour répertorier tous les attributs des fichiers du répertoire /usr/bin. En outre, le fichier de règles indique à la commande bart compare de signaler uniquement les modifications de taille et de contenu dans le même répertoire.
# Check size and content changes in the /usr/bin directory. # This rules file only checks size and content changes. # See rules file example. IGNORE all CHECK size contents /usr/bin
Créez un manifeste de contrôle avec le fichier de règles que vous avez créé.
# bart create -r usrbinrules.txt > usr_bin.control-manifest.121011
Préparez un manifeste identique chaque fois que vous voulez surveiller les modifications apportées au répertoire /usr/bin.
# bart create -r usrbinrules.txt > usr_bin.test-manifest.121111
Comparez les manifestes en utilisant le même fichier de règles.
# bart compare -r usrbinrules.txt usr_bin.control-manifest.121011 \ usr_bin.test-manifest.121111
Examinez la sortie de la commande bart compare.
/usr/bin/gunzip: add /usr/bin/ypcat: delete
La sortie ci-dessus indique que le fichier /usr/bin/ypcat a été supprimé et le fichier /usr/bin/gunzip ajouté.