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)
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)
31. Audit Oracle Solaris (référence)
Fichiers utilisés par le service d'audit
Profils de droits d'accès pour l'administration de l'audit
Caractéristiques de l'audit des processus
Conventions relatives aux noms de fichiers d'audit binaires
Noms de fichiers d'audit binaires
Horodatages des fichiers d'audit binaires
Structure d'enregistrement d'audit
Cette section fournit des informations sur les commandes suivantes :
La liste suivante récapitule les tâches du démon auditd :
Ouvre et ferme les fichiers d'audit dans les répertoires qui sont spécifiés dans le fichier audit_control. Ces fichiers sont ouverts dans leur ordre d'apparition.
Charge un ou plusieurs plug-ins. Sun fournit deux plug-ins. Le plug-in audit_binfile.so écrit des données d'audit binaire dans un fichier. Le plug-in audit_syslog.so fournit des extraits de texte sélectionné dans les enregistrements d'audit du journal syslog.
Lit les données d'audit à partir du noyau et insère les données en utilisant un plug-in auditd.
Exécute le script audit_warn pour avertir de diverses conditions. Le plug-in audit_binfile.so exécute le script audit_warn. Le script, par défaut, envoie des avertissements à l'alias de messagerie audit_warn et à la console. Le plug-in syslog.so n'exécute pas le script audit_warn.
Par défaut, lorsque tous les répertoires d'audit sont pleins, les processus qui génèrent les enregistrements d'audit sont interrompus. En outre, le démon auditd écrit un message sur la console et dans l'alias de messagerie audit_warn. A ce stade, seul l'administrateur système peut résoudre le service d'audit. L'administrateur peut se connecter pour écrire les fichiers d'audit sur un support hors ligne, supprimer les fichiers d'audit du système et effectuer d'autres tâches de nettoyage.
La stratégie d'audit peut être reconfigurée avec la commande auditconfig.
Le démon auditd peut être démarré automatiquement lorsque le système est initialisé en mode multiutilisateur. Vous pouvez également démarrer le démon à partir de la ligne de commande. Lorsque le démon auditd est démarré, il calcule la quantité d'espace disponible nécessaire pour les fichiers d'audit.
Le démon auditd utilise la liste des répertoires d'audit dans le fichier audit_control pour définir les emplacements possibles pour la création de fichiers d'audit. Le démon gère un pointeur dans cette liste de répertoires, en commençant par le premier répertoire. Chaque fois que le démon auditd a besoin de créer un fichier d'audit, il place le fichier dans le premier répertoire disponible dans la liste. La liste commence au pointeur du démon auditd actuel. Vous pouvez rétablir le curseur au début de la liste en exécutant la commande audit - s. La commande audit -n demande au démon de passer à un nouveau fichier d'audit. Le nouveau fichier est créé dans le même répertoire que le fichier en cours.
La commande audit contrôle les actions du démon auditd. La commande audit permet d'effectuer les tâches suivantes :
Activer et désactiver l'audit
Réinitialiser le démon auditd
Ajuster le masque de présélection de l'audit sur le système local
Écrire les enregistrements d'audit dans un autre fichier d'audit
Pour connaître les différentes options disponibles, reportez-vous à la page de manuel audit(1M).
La commande bsmrecord affiche le format des événements d'audit définis dans le /etc/security/audit_event. La sortie inclut l'ID d'audit, la classe d'audit et l'indicateur d'audit de l'événement, ainsi que les jetons d'audit de l'enregistrement dans l'ordre. Sans aucune option, la sortie de la commande bsmrecord s'affiche dans une fenêtre de terminal. Avec l'option -h, la sortie de la commande peut s'afficher dans un navigateur. Pour consulter des exemples d'utilisation de la commande bsmrecord, reportez-vous à la section Affichage des formats d'enregistrement d'audit . Reportez-vous également à la page de manuel bsmrecord(1M).
La commande auditreduce récapitule les enregistrements d'audit stockés au format binaire. Cette commande peut fusionner des enregistrements d'audit à partir d'un ou plusieurs fichiers d'audit d'entrée. Elle peut également servir à la post-sélection d'enregistrements d'audit. Les enregistrements sont conservés dans un format binaire. Pour fusionner la piste d'audit entière, exécutez cette commande sur le serveur d'audit. Le serveur d'audit est le système qui monte tous les systèmes de fichiers d'audit pour l'installation. Pour plus d'informations, reportez-vous à la page de manuel auditreduce(1M).
La commande auditreduce vous permet d'auditer les actions effectuées sur plusieurs systèmes à partir d'un seul emplacement. La commande peut lire la combinaison logique de tous les fichiers d'audit comme s'il s'agissait d'une seule piste d'audit. Vous devez configurer tous les systèmes de manière identique sur un site destiné à l'audit et créer des serveurs et des répertoires locaux pour les fichiers d'audit. La commande auditreduce ignore comment les enregistrements ont été générés ou l'endroit où ceux-ci sont stockés. Sans aucune option, la commande auditreduce fusionne les enregistrements d'audit à partir de tous les fichiers d'audit, dans tous les sous-répertoires du répertoire root d'audit. En règle générale, /etc/security/audit correspond au répertoire root d'audit. La commande auditreduce envoie les résultats fusionnés dans la sortie standard. Vous pouvez également placer les résultats dans un seul fichier de sortie, trié par ordre chronologique. Le fichier contient des données binaires.
La commande auditreduce peut également sélectionner certains types d'enregistrements pour l'analyse. Les fonctions de fusion et de sélection de la commande auditreduce sont logiquement indépendantes. La commande auditreduce capture les données à partir du fichier d'entrée pendant la lecture des enregistrements, avant que les fichiers soient fusionnés puis écrits sur le disque.
Si vous spécifiez des options pour la commande auditreduce, les actions suivantes sont possibles :
Demander les enregistrements d'audit qui ont été générés par les classes d'audit
Demander les enregistrements d'audit qui ont été générés par un utilisateur particulier
Demander les enregistrements d'audit qui ont été générés à des dates spécifiques
Sans argument, la commande auditreduce vérifie les sous-répertoires du répertoire /etc/security/audit, défini par défaut en tant que répertoire root d'audit. La commande recherche un répertoire files dans lequel résident les fichiers start-time.end-time.hostname. La commande auditreduce est très utile lorsque les données d'audit se trouvent dans des répertoires différents. La Figure 31-1 illustre des données d'audit stockées dans des répertoires différents pour différents hôtes. La Figure 31-2 illustre des données d'audit stockées dans des répertoires différents pour différents serveurs d'audit.
Figure 31-1 Stockage des pistes d'audit par hôte
Figure 31-2 Stockage des pistes d'audit par serveur
Si la partition du répertoire /etc/security/audit est très petite, il vaut mieux de ne pas stocker les données d'audit dans le répertoire par défaut. Vous pouvez exécuter la commande auditreduce sur un autre répertoire en utilisant l'option -R :
# auditreduce -R /var/audit-alt
Vous pouvez également spécifier un sous-répertoire particulier en utilisant l'option -S :
# auditreduce -S /var/audit-alt/host1
Pour d'autres options et plus d'exemples, reportez vous à la page de manuel auditreduce(1M).
La commande praudit rend lisible la sortie binaire de la commande auditreduce. La commande praudit lit les enregistrements d'audit dans un format binaire à partir de l'entrée standard et affiche les enregistrements dans un format présentable. L'entrée peut être acheminée à partir de la commande auditreduce ou à partir d'un seul fichier d'audit. L'entrée peut aussi être produite avec la commande cat pour concaténer plusieurs fichiers, ou la commande tail pour un fichier d'audit actuel.
La commande praudit peut générer quatre formats de sortie. Une cinquième option, - l (long), imprime un enregistrement d'audit par ligne de sortie. L'option par défaut est de placer un jeton d'audit par ligne de sortie. L'option -d modifie le séparateur utilisé entre les champs de jeton et entre les jetons. Le séparateur par défaut est une virgule.
Par défaut : La commande praudit sans aucune option affiche un jeton d'audit par ligne. La commande affiche l'événement d'audit en fonction de sa description, par exemple l'appel système ioctl(2). N'importe quelle valeur qui peut être affichée sous forme de texte s'affiche sous forme de texte. Par exemple, c'est le nom de l'utilisateur qui s'affiche, et non son ID utilisateur.
Option –r : Cette option de format brut affiche toute valeur qui peut être numérique sous la forme d'un chiffre. Par exemple, c'est l'ID de l'utilisateur qui s'affiche, les adresses Internet sont au format hexadécimal et les modes au format octal. L'événement d'audit s'affiche sous son numéro d'événement, par exemple 158.
Option –s : Cette option de format court affiche l'événement d'audit sous son nom de table, par exemple AUE_IOCTL. Elle affiche les autres jetons comme ils sont affichés par l'option par défaut.
Option –x : Cette option XML affiche l'enregistrement d'audit au format XML. Elle est utile en tant qu'entrée pour les navigateurs, ou en tant qu'entrée pour les scripts qui manipulent le langage XML.
Le fichier XML est décrit par une DTD fournie par le service d'audit. Le logiciel Oracle Solaris fournit également une feuille de style. La DTD et de la feuille de style se trouvent dans le répertoire /usr/share/lib/xml.
Dans le format de sortie par défaut de la commande praudit, chaque enregistrement est facilement identifié en tant que séquence de jetons d'audit. Chaque jeton s'affiche sur une ligne distincte. Chaque enregistrement commence par un jeton header (d'en-tête). Vous pourriez, par exemple, traiter la sortie plus en profondeur avec la commande awk.
Voici un exemple de sortie de la commande praudit - l pour un jeton header :
header,173,2,settppriv(2),,example1,2010-10-10 10:10:02.020 -07:00
Voici un exemple de sortie de la commande praudit - r pour le même jeton header :
121,173,2,289,0x0000,192.168.86.166,1066077962,174352445
Exemple 31-1 Traitement de la sortie praudit à l'aide d'un script
Si vous le souhaitez, vous pouvez traiter la sortie de la commande praudit en tant que lignes de texte. Cela peut être utile pour sélectionner des enregistrements que la commande auditreduce ne peut pas sélectionner. Un simple script shell suffit pour traiter la sortie de la commande praudit. L'exemple de script suivant place un enregistrement d'audit sur une seule ligne, recherche une chaîne de caractères spécifiée par l'utilisateur, puis renvoie le fichier d'audit dans sa forme d'origine.
#!/bin/sh # ## This script takes an argument of a user-specified string. # The sed command prefixes the header tokens with Control-A # The first tr command puts the audit tokens for one record # onto one line while preserving the line breaks as Control-A # praudit | sed -e '1,2d' -e '$s/^file.*$//' -e 's/^header/^aheader/' \\ | tr '\\012\\001' '\\002\\012' \\ | grep "$1" \\ Finds the user-specified string | tr '\\002' '\\012' Restores the original newline breaks
Notez que les caractères ^a dans le script signifie Ctrl+A, et non les deux caractères ^ et a. Le préfixe distingue le jeton header de la chaîne header qui pourrait s'afficher sous forme de texte.
La commande auditconfig fournit une interface de ligne de commande pour récupérer et définir les paramètres de configuration d'audit. La commande auditconfig permet d'effectuer les tâches suivantes :
Afficher, vérifier et configurer la stratégie d'audit
Déterminer si l'audit est activé ou désactivé
Gérer le répertoire d'audit et le fichier d'audit
Gérer la file d'attente d'audit
Obtenir et définir des masques de présélection
Obtenir et définir des événements d'audit sur des mappages de classes d'audit
Obtenir et définir des informations de configuration, telles que l'ID de session et l'ID d'audit
Configurer les caractéristiques de l'audit d'un processus, d'un shell et d'une session
Rétablir les statistiques d'audit
Pour connaître les différentes options de cette commande, reportez-vous à la page de manuel auditconfig(1M).