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)
Audit Oracle Solaris (liste des tâches)
Configuration des fichiers d'audit (liste des tâches)
Configuration des fichiers d'audit (tâches)
Modification du fichier audit_control
Configuration des journaux d'audit syslog
Modification des caractéristiques d'audit d'un utilisateur
Modification de l'appartenance à une classe d'un événement d'audit
Configuration et activation du service d'audit (liste des tâches)
Configuration et activation du service d'audit (tâches)
Création des partitions pour les fichiers d'audit
Configuration de l'alias de messagerie audit_warn
Configuration de la stratégie d'audit
Configuration du service d'audit dans les zones (tâches)
Configuration identique de toutes les zones pour l'audit
Configuration de l'audit par zone
Gestion des enregistrements d'audit (liste des tâches)
Gestion des enregistrements d'audit
Affichage des formats d'enregistrement d'audit
Fusion des fichiers d'audit de la piste d'audit
Sélection des événements d'audit de la piste d'audit
Affichage du contenu des fichiers d'audit binaires
Nettoyage d'un fichier d'audit not_terminated
Contrôle du dépassement de la piste d'audit
Dépannage de l'audit Oracle Solaris (tâches)
Dépannage de l'audit Oracle Solaris (liste des tâches)
Vérification de l'exécution de l'audit Oracle Solaris
Atténuation du volume des enregistrements d'audit produits
Audit de toutes les commandes par les utilisateurs
Recherche des enregistrements d'audit concernant des modifications de fichiers spécifiques
Modification d'un masque de présélection utilisateur
Suppression de certains événements de la liste d'audit
Limitation de la taille des fichiers d'audit binaires
Audit des connexions à partir d'autres systèmes d'exploitation
Audit des transferts de fichiers FTP et SFTP
Une fois que les fichiers de configuration ont été configurés pour votre site, vous devez définir une partie de l'espace disque pour vos fichiers d'audit. Vous avez également besoin de configurer d'autres attributs du service d'audit, puis d'activer le service. Cette section contient également des procédures d'actualisation du service d'audit lorsque vous modifiez les paramètres de configuration.
Lorsqu'une zone non globale est installée, vous pouvez choisir d'auditer cette zone exactement comme la zone globale qui est en cours d'audit. Si vous décidez d'auditer la zone non globale séparément, vous pouvez également modifier les fichiers de configuration d'audit dans la zone non globale. Pour personnaliser les fichiers de configuration d'audit, reportez-vous à la section Configuration des fichiers d'audit (liste des tâches) .
La procédure suivante décrit la création de partitions pour les fichiers d'audit, ainsi que les systèmes de fichiers et répertoires correspondants. Passez les étapes qui vous semblent inutiles si vous avez déjà une partition vide ou si vous avez déjà monté un fichier de fichiers vide.
Le rôle d'administrateur principal inclut le profil d'administrateur principal. Pour plus d'informations sur la création d'un rôle et son assignation à un utilisateur, reportez-vous au Chapitre 2, Utilisation de la console de gestion Solaris (tâches) du Guide d’administration système : administration de base.
Attribuez au moins 200 Mo d'espace disque par hôte. Toutefois, le type d'audit dont vous avez besoin dicte l'espace disque requis. Par conséquent, elles peuvent être beaucoup plus élevées que cette figure. N'oubliez pas d'inclure une partition locale pour un répertoire de dernier recours.
Cette étape est plus facile à réaliser au cours de l'installation du serveur. Vous pouvez également créer les partitions sur les disques qui n'ont pas encore été montés sur le serveur. Pour obtenir des instructions complètes sur la façon de créer les partitions, reportez-vous au Chapitre 11, Administering Disks (Tasks) du System Administration Guide: Devices and File Systems.
# newfs /dev/rdsk/cwtxdysz
où /dev/rdsk/cwt xdys z est le nom du périphérique brut pour la partition.
Si l'hôte local est audité, créez également un répertoire d'audit de dernier recours pour cet hôte.
# mkdir /var/audit/server-name.n
où server-name.n est le nom de serveur, plus un nombre qui identifie chaque partition. Le nombre est facultatif, mais il s'avère utile lorsqu'il y a plusieurs répertoires d'audit.
Ajoutez une ligne au fichier /etc/vfstab comme suit :
/dev/dsk/cwtxdysz /dev/rdsk/cwtxdysz /var/audit/server-name.n ufs 2 yes
Si vous utilisez la configuration par défaut, un avertissement est généré lorsque le répertoire est plein à 80 %. Cet avertissement supprime la raison de réserver de l'espace disponible sur la partition.
# tunefs -m 0 /var/audit/server-name.n
# mount /var/audit/server-name.n
# mkdir /var/audit/server-name.n/files
# chmod -R 750 /var/audit/server-name.n/files
Souvent, des parcs de disques sont installés pour stocker les enregistrements d'audit. Si un répertoire d'audit doit être utilisé par plusieurs systèmes, alors le répertoire doit être partagé par l'intermédiaire du service NFS. Pour chaque répertoire, ajoutez une entrée semblable à ce qui suit dans le fichier /etc/dfs/dfstab :
share -F nfs /var/audit/server-name.n/files
Si cette commande est la première commande share ou le premier ensemble de commandes share que vous lancez, les démons NFS peuvent ne pas être en cours d'exécution.
% svcs \*nfs\* disabled Nov_02 svc:/network/nfs/rquota:default offline Nov_02 svc:/network/nfs/server:default # svcadm enable network/nfs/server
% svcs \*nfs\* online Nov_02 svc:/network/nfs/client:default online Nov_02 svc:/network/nfs/server:default # svcadm restart network/nfs/server
Pour plus d'informations sur le service NFS, reportez-vous à la section Configuration des services NFS du Guide d’administration système : Services réseau. Pour plus d'informations sur la gestion des services persistants, reportez-vous au Chapitre 18, Gestion des services (présentation) du Guide d’administration système : administration de base et à la page de manuel smf(5).
Exemple 30-13 Création d'un répertoire d'audit de dernier recours
Tous les systèmes qui exécutent le service d'audit doivent avoir un système de fichiers local qui peut être utilisé si aucun autre système de fichiers n'est disponible. Dans cet exemple, un système de fichiers est ajouté à un système appelé egret. Étant donné que ce système de fichiers est uniquement utilisé en local, les étapes liées au serveur de fichiers ne sont pas nécessaires.
# newfs /dev/rdsk/c0t2d0 # mkdir /var/audit/egret # grep egret /etc/vfstab /dev/dsk/c0t2d0s1 /dev/rdsk/c0t2d0s1 /var/audit/egret ufs 2 yes - # tunefs -m 0 /var/audit/egret # mount /var/audit/egret # mkdir /var/audit/egret/files # chmod -R 750 /var/audit/egret/files
Exemple 30-14 Création de partitions d'audit
Dans cet exemple, un nouveau système de fichiers est créé sur deux nouveaux disques qui doivent être utilisés par d'autres systèmes du réseau.
# newfs /dev/rdsk/c0t2d0 # newfs /dev/rdsk/c0t2d1 # mkdir /var/audit/egret.1 # mkdir /var/audit/egret.2 # grep egret /etc/vfstab /dev/dsk/c0t2d0s1 /dev/rdsk/c0t2d0s1 /var/audit/egret.1 ufs 2 yes - /dev/dsk/c0t2d1s1 /dev/rdsk/c0t2d1s1 /var/audit/egret.2 ufs 2 yes - # tunefs -m 0 /var/audit/egret.1 # tunefs -m 0 /var/audit/egret.2 # mount /var/audit/egret.1 # mount /var/audit/egret.2 # mkdir /var/audit/egret.1/files # mkdir /var/audit/egret.2/files # chmod -R 750 /var/audit/egret.1/files /var/audit/egret.2/files # grep egret /etc/dfs/dfstab share -F nfs /var/audit/egret.1/files share -F nfs /var/audit/egret.2/files # svcadm enable network/nfs/server
Exemple 30-15 Création de partitions d'audit ZFS
Dans cet exemple, l'administrateur exécute la commande script après la création des partitions d'audit ZFS. Le tableau ci-dessous présente la sortie de la commande :
# zpool create auditf mirror c0t4d0 c0t5d0 # zfs create -o mountpoint=/audit auditf/audit # zfs create auditf/audit/noddy # zfs create auditf/audit/noddy/files # zfs create auditf/audit/blinken # zfs create auditf/audit/blinken/files # zfs set devices=off auditf/audit # zfs set exec=off auditf/audit # zfs set setuid=off auditf/audit # zfs set sharenfs=on auditf/audit # share - /audit/blinken/files rw "" - /audit/noddy rw "" - /audit/blinken rw "" - /audit/noddy/files rw "" - /audit rw "" # ^D script done on Fri Apr 10 10:10:20 2009
L'administrateur affiche ensuite les montages à partir d'un système distant, remotesys.
# dfshares remotesys RESOURCE SERVER ACCESS TRANSPORT remotesys:/audit/blinken/files remotesys - - remotesys:/audit/noddy remotesys - - remotesys:/audit/blinken remotesys - - remotesys:/audit/noddy/files remotesys - - remotesys:/audit remotesys - -
Enfin, l'administrateur monte le système de fichiers /audit sur /var/audit.
# mount remotesys:/audit /var/audit # ls /var/audit blinken noddy
Le script audit_warn génère un e-mail à un alias de messagerie appelé audit_warn. Pour envoyer ce message à une adresse e-mail valide, vous pouvez suivre l'une des options décrites dans l'Étape 2:
Le rôle d'administrateur principal inclut le profil d'administrateur principal. Pour plus d'informations sur la création d'un rôle et son assignation à un utilisateur, reportez-vous au Chapitre 2, Utilisation de la console de gestion Solaris (tâches) du Guide d’administration système : administration de base.
Procédez de l'une des manières suivantes :
OPTION 1 : remplacez l'alias de messagerie audit_warn par un autre compte de messagerie dans le script audit_warn.
Modifiez l'alias de messagerie dans la ligne suivante du script :
ADDRESS=audit_warn # standard alias for audit alerts
OPTION 2 : redirigez l'e-mail audit_warn vers un autre compte de messagerie.
Dans ce cas, vous devez ajouter l'alias de messagerie audit_warn au fichier d'alias de messagerie approprié. Vous pouvez ajouter l'alias au fichier local /etc/mail/aliases ou à la base de données mail_aliases de l'espace de noms. La nouvelle entrée doit ressembler à ce qui suit si le compte de messagerie root a été défini comme membre de l'alias de messagerie audit_warn :
audit_warn: root
La stratégie d'audit détermine les caractéristiques des enregistrements d'audit pour l'hôte local. Lorsque l'audit est activé, le contenu du fichier /etc/security/audit_startup détermine la stratégie d'audit.
Vous pouvez vérifier et modifier les options de la stratégie d'audit en cours avec la commande auditconfig. Vous pouvez également modifier les options de stratégie de la commande auditconfig dans le script audit_startup pour que les modifications apportées à la stratégie d'audit deviennent permanentes.
Pour créer un rôle incluant le profil Audit Control et l'affecter à un utilisateur, reportez-vous à la section Configuration de RBAC (liste des tâches).
Avant l'activation de l'audit, le contenu du fichier audit_startup détermine la stratégie d'audit :
#! /bin/sh ... /usr/bin/echo "Starting BSM services." /usr/sbin/auditconfig -setpolicy +cnt Counts rather than drops records /usr/sbin/auditconfig -conf Configures event-class mappings /usr/sbin/auditconfig -aconf Configures nonattributable events
$ auditconfig -lspolicy
Remarque - Les options de stratégie et ahlt peuvent être définies uniquement dans la zone globale.
# auditconfig -setpolicy prefixpolicy
Si prefix possède la valeur +, l'option de stratégie est activée. Si prefix possède la valeur -, l'option de stratégie est désactivée.
Sélectionne la stratégie à activer ou désactiver.
La stratégie est en vigueur jusqu'à la prochaine initialisation ou jusqu'à ce que la stratégie soit modifiée par la commande auditconfig -setpolicy.
Pour obtenir une description de chaque option de stratégie, reportez-vous à la section Détermination de la stratégie d'audit.
Exemple 30-16 Définition des options de stratégie d'audit cnt et ahlt
Dans cet exemple, la stratégie cnt est désactivée et la stratégie ahlt est activée. À l'aide de ces paramètres, l'utilisation du système est interrompue lorsque les partitions d'audit sont complètes et qu'un événement asynchrone se produit. Lorsqu'un événement synchrone se produit, le processus qui a créé le thread se bloque. Ces paramètres sont appropriés lorsque la sécurité est plus importante que la disponibilité.
Les entrées audit_startup suivantes désactivent l'option de stratégie cnt et activent l'option de stratégie ahlt d'un redémarrage à l'autre :
# cat /etc/security/audit_startup #!/bin/sh /usr/bin/echo "Starting BSM services." /usr/sbin/deallocate -Is /usr/sbin/auditconfig -conf /usr/sbin/auditconfig -aconf /usr/sbin/auditconfig -setpolicy -cnt /usr/sbin/auditconfig -setpolicy +ahlt
Exemple 30-17 Définition temporaire de la stratégie d'audit seq
Dans cet exemple, le démon auditd est en cours d'exécution et la stratégie d'audit ahlt a été définie. La stratégie d'audit seq est ajoutée à la stratégie actuelle. La stratégie d'audit seq ajoute un jeton sequence à chaque enregistrement d'audit. Cette option est utile pour le débogage du service d'audit lorsque les enregistrements d'audit sont corrompus, ou lorsque les enregistrements sont ignorés.
Le préfixe + ajoute l'option seq à la stratégie d'audit, plutôt que de remplacer la stratégie d'audit en cours par seq. La commande auditconfig rend la stratégie effective jusqu'au prochain appel de la commande, ou jusqu'à la prochaine initialisation.
$ auditconfig -setpolicy +seq $ auditconfig -getpolicy audit policies = ahlt,seq
Exemple 30-18 Définition de la stratégie d'audit perzone
Dans cet exemple, la stratégie d'audit perzone est définie dans le script audit_startup de la zone globale. Lors de l'initialisation d'une zone, la zone non globale recueille les enregistrements d'audit en fonction de la configuration de l'audit définie dans sa zone.
$ cat /etc/security/audit_startup #!/bin/sh /usr/bin/echo "Starting BSM services." /usr/sbin/deallocate -Is /usr/sbin/auditconfig -conf /usr/sbin/auditconfig -aconf /usr/sbin/auditconfig -setpolicy +perzone /usr/sbin/auditconfig -setpolicy +cnt
Exemple 30-19 Modification d'une stratégie d'audit
Dans cet exemple, le démon d'audit est en cours d'exécution et la stratégie d'audit a été définie. La commande auditconfig modifie les stratégies ahlt et cnt pour la durée de la session. À l'aide de ces paramètres, les enregistrements d'audit sont supprimés, mais comptabilisés, lorsque le système de fichiers d'audit est plein. Pour connaître les restrictions qui s'appliquent à la définition de la stratégie ahlt, reportez-vous à l'Étape 3.
$ auditconfig -setpolicy +cnt $ auditconfig -setpolicy -ahlt $ auditconfig -getpolicy audit policies = cnt,seq
Une fois les modifications insérées dans le fichier audit_startup, les stratégies entrent définitivement en vigueur :
$ cat /etc/security/audit_startup #!/bin/sh /usr/bin/echo "Starting BSM services." /usr/sbin/deallocate -Is /usr/sbin/auditconfig -conf /usr/sbin/auditconfig -aconf /usr/sbin/auditconfig -setpolicy +cnt
L'option -ahlt n'a pas à être spécifiée dans le fichier, car l'option de stratégie ahlt est désactivée par défaut. Ce paramètre est approprié lorsque la disponibilité est plus importante que la sécurité fournie par les enregistrements d'audit.
Cette procédure permet d'activer le service d'audit pour toutes les zones. Pour démarrer le démon d'audit dans une zone non globale, reportez-vous à l'Exemple 30-20.
Lorsque l'audit est configuré de manière sécurisée, le système est en mode monoutilisateur jusqu'à ce que l'audit soit activé. Vous pouvez également activer l'audit en mode multiutilisateur.
Avant de commencer
Vous devez effectuer cette procédure en tant que superutilisateur après avoir terminé les tâches suivantes :
Planification : Planification de l'audit Oracle Solaris (liste des tâches)
Personnalisation des fichiers d'audit : Configuration des fichiers d'audit (liste des tâches)
Configuration des partitions d'audit : Création des partitions pour les fichiers d'audit
Configuration des messages d'avertissement d'audit : Configuration de l'alias de messagerie audit_warn
Définition de la stratégie d'audit : Configuration de la stratégie d'audit
Remarque - Pour que l'audit fonctionne, le nom d'hôte doit être correctement traduit. La base de données hosts dans les services de nommage doit être correctement configurée et en état de fonctionner.
Pour connaître la procédure de configuration de la base de données hosts, reportez-vous aux pages de manuel nsswitch.conf(4) et netconfig(4). Pour plus d'informations, 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+) .
Accédez au répertoire /etc/security et exécutez le script bsmconv.
# cd /etc/security # ./bsmconv This script is used to enable the Basic Security Module (BSM). Shall we continue with the conversion now? [y/n] y bsmconv: INFO: checking startup file. bsmconv: INFO: turning on audit module. bsmconv: INFO: initializing device allocation. The Basic Security Module is ready. If there were any errors, please fix them now. Configure BSM by editing files located in /etc/security. Reboot this system now to come up with BSM enabled.
Pour connaître les effets de ce script, reportez-vous à la page de manuel bsmconv(1M).
# reboot
Le fichier de démarrage /etc/security/audit_startup entraîne l'exécution automatique du démon auditd lorsque le système entre en mode multiutilisateur.
Un autre effet de ce script est d'activer l'allocation de périphériques. Pour configurer l'allocation de périphériques, reportez-vous à la section Gestion de l'allocation des périphériques (liste des tâches) .
Exemple 30-20 Activation de l'audit dans une zone non globale
Dans l'exemple ci-après, l'administrateur de la zone globale activé dans la stratégie perzone une fois l'audit terminé l'a également été dans la zone globale et après le démarrage de la zone non globale. L'administrateur de zone de la zone non globale a configuré les fichiers d'audit de la zone, puis démarré le démon d'audit dans la zone.
zone1# svcadm enable svc:/system/auditd
Si le service d'audit n'est plus nécessaire à un moment donné, cette procédure renvoie le système à l'état du système avant l'activation de l'audit. Si les zones non globales sont en cours d'audit, leur service d'audit est également désactivé.
![]() | Attention - Cette commande désactive également l'allocation de périphériques. N'exécutez pas cette commande si vous souhaitez pouvoir allouer des périphériques. Pour désactiver l'audit et conserver l'allocation de périphériques, reportez-vous à l'Exemple 30-21. |
% su Password: <Type root password> # init S
Pour plus d'informations, reportez-vous à la page de manuel init(1M).
Accédez au répertoire /etc/security et exécutez le script bsmunconv.
# cd /etc/security # ./bsmunconv
Un autre effet de ce script est de désactiver l'allocation de périphériques.
Pour plus d'informations sur l'effet du script bsmunconv, reportez-vous à la page de manuel bsmconv(1M).
# init 6
Exemple 30-21 Désactivation de l'audit et maintien de l'allocation de périphériques
Dans cet exemple, le service d'audit ne cesse de collecter les enregistrements, mais l'allocation de périphériques continue à fonctionner. Toutes les valeurs des entrées flags, naflags et plugin dans le fichier audit_control sont supprimées, tout comme les entrées d'utilisateur dans le fichier audit_user.
## audit_control file flags: naflags: ## audit_user file
Le démon auditd s'exécute, mais aucun enregistrement d'audit n'est conservé.
Exemple 30-22 Désactivation de l'audit zone par zone
Dans cet exemple, le service d'audit arrête son exécution dans zone1 où le service d'audit est désactivé. L'allocation de périphériques continue à fonctionner. Si cette commande est exécutée dans la zone globale, et si la stratégie d'audit perzone n'est pas définie, l'audit est désactivé pour toutes les zones, pas seulement dans la zone globale.
zone1 # audit -t
Cette procédure redémarre le démon auditd si, après son exécution, vous avez apporté des modifications aux fichiers de configuration d'audit.
Pour créer un rôle incluant le profil de droits Audit Control et l'affecter à un utilisateur, reportez-vous à la section Configuration de RBAC (liste des tâches).
$ /usr/sbin/auditconfig -aconf
Vous pouvez également réinitialiser.
Le démon d'audit stocke des informations à partir du fichier audit_control en interne. Pour utiliser les nouvelles informations, redémarrez le système ou demandez au démon d'audit de lire le fichier modifié.
$ /usr/sbin/audit -s
Remarque - Les enregistrements d'audit sont générés en fonction du masque de présélection d'audit associé à chaque processus. L'exécution de la commande audit -s ne modifie pas les masques dans les processus existants. Pour changer le masque de présélection pour un processus existant, vous devez redémarrer le processus. Vous pouvez également réinitialiser.
Avec la commande audit -s, le démon d'audit relit le répertoire et les valeurs minfree du fichier audit_control. La commande modifie la génération du masque de présélection pour les processus générés par les connexions suivantes.
Lisez les mappages événements-classes modifiés dans le système et assurez-vous que chaque utilisateur qui utilise l'ordinateur est correctement audité.
$ auditconfig -conf $ auditconfig -setumask auid classes
ID utilisateur.
Classes d'audit présélectionnées.
Pour obtenir un exemple, reportez-vous à la section Modification d'un masque de présélection utilisateur.
Exemple 30-23 Redémarrage du démon d'audit
Dans cet exemple, le système est arrêté en mode monoutilisateur, puis sauvegardé en mode multiutilisateur. Lorsque le système est en mode multiutilisateur, les fichiers de configuration d'audit modifiés sont lus dans le système.
# init S # init 6