JavaScript is required to for searching.
Ignorer les liens de navigation
Quitter l'aperu
Administration d'Oracle Solaris : services de sécurité     Oracle Solaris 11 Information Library (Français)
search filter icon
search icon

Informations document

Préface

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)

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)

15.  Utilisation de PAM

16.  Utilisation de SASL

17.  Utilisation de Secure Shell (tâches)

18.  Secure Shell (référence)

Partie VI Service Kerberos

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

26.  Audit (présentation)

27.  Planification de l'audit

28.  Gestion de l'audit (tâches)

Gestion de l'audit (liste des tâches)

Configuration du service d'audit (tâches)

Configuration du service d'audit (liste des tâches)

Procédure d'affichage des paramètres par défaut du service d'audit

Procédure de présélection des classes d'audit

Procédure de configuration des caractéristiques d'audit d'un utilisateur

Procédure de modification de la stratégie d'audit

Procédure de modification des contrôles de file d'attente d'audit

Procédure de configuration de l'alias de messagerie audit_warn

Procédure d'ajout d'une classe d'audit

Procédure de modification de l'appartenance à une classe d'un événement d'audit

Configuration des journaux d'audit (tâches)

Configuration des journaux d'audit (liste des tâches)

Procédure de création de systèmes de fichiers ZFS pour les fichiers d'audit

Procédure d'affectation de l'espace d'audit pour la piste d'audit

Procédure d'envoi des fichiers d'audit à un référentiel distant

Procédure de configuration des journaux d'audit syslog

Configuration du service d'audit dans les zones (tâches)

Procédure de configuration identique de toutes les zones pour l'audit

Procédure de configuration de l'audit par zone

Activation et désactivation du service d'audit (tâches)

Procédure d'actualisation du service d'audit

Procédure de désactivation du service d'audit

Procédure d'activation du service d'audit

Gestion des enregistrements d'audit sur les systèmes locaux (tâches)

Gestion des enregistrements d'audit sur les systèmes locaux (liste des tâches)

Procédure d'affichage des définitions d'enregistrement d'audit

Procédure de fusion des fichiers d'audit de la piste d'audit

Procédure de sélection des événements d'audit de la piste d'audit

Procédure d'affichage du contenu des fichiers d'audit binaires

Procédure de nettoyage d'un fichier d'audit not_terminated

Procédure de contrôle du dépassement de la piste d'audit

Dépannage du service d'audit (tâches)

Dépannage du service d'audit (liste des tâches)

Procédure de vérification de l'exécution de l'audit

Procédure d'atténuation du volume des enregistrements d'audit produits

Procédure d'audit de toutes les commandes par les utilisateurs

Procédure de recherche des enregistrements d'audit concernant des modifications de fichiers spécifiques

Procédure de mise à jour du masque de présélection des utilisateurs connectés

Procédure de suppression de l'audit d'événements spécifiques

Procédure de limitation de la taille des fichiers d'audit binaires

Procédure de compression des fichiers d'audit sur un système de fichiers dédié

Procédure d'audit des connexions à partir d'autres systèmes d'exploitation

Procédure d'audit des transferts de fichiers FTP et SFTP

29.  Audit (référence)

Glossaire

Index

Dépannage du service d'audit (tâches)

Cette section couvre différents messages d'erreur et préférences de l'audit et décrit l'audit proposé par d'autres outils. Ces procédures peuvent vous aider à enregistrer les événements d'audit requis et à résoudre les problèmes d'audit.

Dépannage du service d'audit (liste des tâches)

La liste des tâches suivante présente les procédures de dépannage de l'audit.

Problème
Solution
Voir
Pourquoi les enregistrements d'audit ne se sont-ils pas consignés alors que j'ai configuré l'audit ?
Dépannez le service d'audit.
Comment puis-je réduire la quantité d'informations d'audit collectées ?
Auditez uniquement les événements que vous voulez contrôler.
Comment puis-je auditer tout ce qu'un utilisateur fait sur le système ?
Auditez un ou plusieurs utilisateurs pour chaque commande.
Comment faire pour affecter aux sessions existantes les modifications que j'apporte actuellement aux événements d'audit en cours d'enregistrement ?
Mettez à jour un masque de présélection utilisateur.
Comment accéder aux modifications apportées à un fichier particulier ?
Auditez les modifications du fichier, puis utilisez la commande auditreduce pour rechercher un fichier donné.
Comment puis-je réduire la taille de mes fichiers d'audit ?
Limitez la taille du fichier d'audit binaire.
Comment puis-je utiliser moins d'espace du système de fichiers pour les fichiers d'audit ?
Utilisez la compression et les quotas ZFS.
Comment puis-je supprimer les événements d'audit du fichier audit_event ?
Mettez correctement à jour le fichier audit_event.
Comment puis-je auditer tous les noms d'utilisateur d'un système Oracle Solaris ?
Auditez les connexions à partir de n'importe quel système.
Pourquoi les enregistrements d'audit ne sont-ils pas conservés pour mes transferts FTP ?
Utilisez l'outil d'audit qui permet aux utilitaires de gérer leurs propres journaux.

Procédure de vérification de l'exécution de l'audit

L'audit est activé par défaut. Si vous croyez que l'audit n'a pas été désactivé, alors qu'aucun enregistrement d'audit n'est envoyé au plug-in actif, effectuez la procédure suivante pour isoler le problème.

Avant de commencer

Pour modifier un fichier système, vous devez posséder le rôle root. Pour configurer l'audit, le profil de droits Audit Configuration (configuration d'audit) doit vous avoir été attribué.

  1. Vérifiez que l'audit est en cours d'exécution.

    Choisissez l'une des méthodes suivantes :

    • Vérifiez la condition d'audit en cours.

      La liste suivante indique que l'audit n'est pas en cours d'exécution :

      # auditconfig -getcond
      audit condition = noaudit

      La liste suivante indique que l'audit est en cours d'exécution :

      # auditconfig -getcond
      audit condition = auditing
    • Assurez-vous que le service d'audit est en cours d'exécution.

      La liste suivante indique que l'audit n'est pas en cours d'exécution :

      # svcs -x auditd
      svc:/system/auditd:default (Solaris audit daemon)
       State: disabled since Sun Oct 10 10:10:10 2010
      Reason: Disabled by an administrator.
         See: http://sun.com/msg/SMF-8000-05
         See: auditd(1M)
         See: audit(1M)
         See: auditconfig(1M)
         See: audit_flags(5)
         See: audit_binfile(5)
         See: audit_syslog(5)
         See: audit_remote(5)
         See: /var/svc/log/system-auditd:default.log
      Impact: This service is not running.

      La liste suivante indique que le service d'audit est en cours d'exécution :

      # svcs auditd
      STATE          STIME    FMRI
      online         10:10:10 svc:/system/auditd:default

    Si le service d'audit n'est pas activé, activez-le. Pour connaître la procédure, reportez-vous à la section Procédure d'activation du service d'audit.

  2. Vérifiez qu'au moins un plug-in est actif.
    # audit -v

    Si aucun plug-in n'est actif, activez-en un.

    # auditconfig -setplugin audit_binfile active
  3. Si vous avez créé une classe d'audit personnalisée, vérifiez que vous avez affecté des événements à cette classe.

    Par exemple, la liste d'indicateurs suivante contient la classe pf, que le logiciel Oracle Solaris n'a pas fourni :

    # auditconfig -getflags
    active user default audit flags = pf,lo(0x0100000000000000,00x0100000000001000)
    configured user default audit flags = pf,lo(0x0100000000000000,00x0100000000001000)

    Pour obtenir une description de la création de la classe pf, reportez-vous à la section Procédure d'ajout d'une classe d'audit.

    1. Vérifiez que la classe est définie dans le fichier audit_class.

      La classe d'audit doit être définie et son masque doit être unique.

      # grep pf /etc/security/audit_classVerify class exists
      0x0100000000000000:pf:profile
      # grep 0x08000000 /etc/security/audit_classEnsure mask is unique
      0x0100000000000000:pf:profile

      Remplacez un masque qui n'est pas unique. Si la classe n'est pas définie, définissez-la. Sinon, exécutez la commande auditconfig -setflags avec les valeurs valides pour réinitialiser les indicateurs actuels.

    2. Vérifiez que les événements ont été affectés à la classe.

      Utilisez l'une des méthodes suivantes :

      # auditconfig -lsevent | egrep " pf|,pf|pf,"
      AUE_PFEXEC      116 pf execve(2) with pfexec enabled
      # auditrecord -c pf
      List of audit events assigned to pf class

      Si des événements ne sont pas affectés à la classe, affectez-y les événements appropriés.

  4. Si aucun problème n'a été indiqué au cours des étapes précédentes, reportez-vous à votre messagerie et aux fichiers journaux.
    1. Lisez l'e-mail envoyé à l'alias audit_warn.

      Le script audit_warn envoie des messages d'alerte à l'alias de messagerie audit_warn. En l'absence d'un alias configuré correctement, les messages sont envoyés au compte root.

    2. Examinez les fichiers journaux pour le service d'audit.

      La sortie de la commande svcs -s auditd indique le chemin d'accès complet aux journaux d'audit que le service d'audit produit. Pour obtenir un exemple, reportez-vous à la liste de l'Étape 1.

    3. Passez en revue les fichiers journaux du système.

      Le script audit_warn écrit les messages daemon.alert dans le fichier /var/log/syslog.

      Le fichier /var/adm/messages peut contenir des informations.

  5. Après avoir localisé et résolu les problèmes, activez ou redémarrez le service d'audit.
    # audit -s

Procédure d'atténuation du volume des enregistrements d'audit produits

Une fois que vous avez déterminé les événements à auditer sur votre site, utilisez les suggestions suivantes pour créer des fichiers d'audit faciles à gérer.

Avant de commencer

Pour présélectionner les classes d'audit et définir la stratégie d'audit, le profil de droits Audit Configuration (configuration d'audit) doit vous avoir été affecté. Pour modifier les fichiers système et affecter les indicateurs d'audit aux utilisateurs, rôles et profils de droits, vous devez posséder le rôle root .

  1. Utilisez la stratégie d'audit par défaut.

    Evitez en particulier d'ajouter des événements et des jetons d'audit à la piste d'audit. Les stratégies suivantes augmentent la taille de la piste d'audit.

    • Stratégie arge : ajoute des variables d'environnement aux événements d'audit execv.

    • Stratégie argv : ajoute des paramètres de commande aux événements d'audit execv.

    • Stratégie public : si des événements de fichier sont en cours d'audit, ajoute un événement à la piste d'audit chaque fois qu'un événement auditable se produit dans un objet public. Les classes de fichier comprennent fa, fc, fd, fm, fr, fw et cl. Pour la définition d'un fichier public, reportez-vous à la section Terminologie et concepts de l'audit.

    • Stratégie path : ajoute un jeton path aux événements d'audit qui comprennent un jeton path facultatif.

    • Stratégie group : ajoute un jeton group aux événements d'audit qui comprennent un jeton newgroups facultatif.

    • Stratégie seq : ajoute un jeton sequence à chaque événement d'audit.

    • Stratégie trail : ajoute un jeton trailer à chaque événement d'audit.

    • Stratégie windata_down : sur un système configuré avec Trusted Extensions, ajoute les événements lorsque les informations dans une fenêtre étiquetée sont réduites.

    • Stratégie windata_up : sur un système configuré avec Trusted Extensions, ajoute les événements lorsque les informations dans une fenêtre étiquetée sont détaillées.

    • Stratégie zonename : ajoute le nom de zone à chaque événement d'audit. Si la zone globale est la seule zone configurée, ajoute la chaîne zone, global à chaque événement d'audit.

    L'enregistrement d'audit suivant montre l'utilisation de l'instruction de la commande ls. La classe ex est auditée et la stratégie par défaut est en cours d'utilisation :

    header,129,2,AUE_EXECVE,,mach1,2010-10-14 11:39:22.480 -07:00
    path,/usr/bin/ls
    attribute,100555,root,bin,21,320271,18446744073709551615
    subject,jdoe,root,root,root,root,2404,50036632,82 0 mach1
    return,success,0

    Ci-dessous, le même enregistrement lorsque toutes les stratégies sont activées :

    header,1578,2,AUE_EXECVE,,mach1,2010-10-14 11:45:46.658 -07:00
    path,/usr/bin/ls
    attribute,100555,root,bin,21,320271,18446744073709551615
    exec_args,2,ls,/etc/security
    exec_env,49,MANPATH=/usr/share/man,USER=jdoe,GDM_KEYBOARD_LAYOUT=us,EDITOR=gedit,
      LANG=en_US.UTF-8,GDM_LANG=en_US.UTF-8,PS1=#,GDMSESSION=gnome,SESSIONTYPE=1,SHLVL=2,
      HOME=/home/jdoe,LOGNAME=jdoe,G_FILENAME_ENCODING=@locale,UTF-8, PRINTER=example-dbl,
    ...
    path,/lib/ld.so.1
    attribute,100755,root,bin,21,393073,18446744073709551615
    subject,jdoe,root,root,root,root,2424,50036632,82 0 mach1
    group,root,other,bin,sys,adm,uucp,mail,tty,lp,nuucp,daemon
    return,success,0
    zone,global
    sequence,197
    trailer,1578
  2. Utilisez le plug-in audit_syslog pour envoyer des événements d'audit à syslog.

    Et n'envoyez pas ces événements d'audit au plug-in audit_binfile ou audit_remote. Cette stratégie fonctionne uniquement si vous n'êtes pas obligé de conserver des enregistrements binaires des événements d'audit que vous envoyez aux journaux syslog.

  3. Définissez moins d'indicateurs d'audit système et d'utilisateurs individuels d'audit.

    Diminuez l'audit pour l'ensemble des utilisateurs en réduisant le nombre de classes d'audit qui font l'objet d'un audit à l'échelle du système.

    Utilisez le mot-clé audit_flags à la commande roleadd, rolemod, useradd et usermod afin d'auditer les événements pour des utilisateurs et des rôles spécifiques. Pour obtenir des exemples, reportez-vous à l'Exemple 28-18 et à la page de manuel usermod(1M).

    Utilisez les propriétés always_audit et never_audit de la commande profiles afin d'auditer les événements pour des profils de droits spécifiques. Pour plus d'informations, reportez-vous à la page de manuel profiles(1).


    Remarque - A l'instar d'autres attributs de sécurité, les indicateurs d'audit sont affectés par ordre de recherche. Pour plus d'informations, reportez-vous à la section Ordre de recherche pour les attributs de sécurité affectés.


  4. Créez votre propre classe d'audit.

    Vous pouvez créer des classes d'audit sur votre site. Dans ces classes, placez uniquement les événements d'audit qu'il vous faut surveiller. Pour connaître cette procédure, reportez-vous à la section Procédure d'ajout d'une classe d'audit.


    Attention

    Attention - Si vous modifiez des affectations de classes d'audit existantes, vos modifications seront peut-être conservées lors de la mise à niveau vers une version plus récente du SE Oracle Solaris. Toutefois, la version plus récente du fichier d'Oracle Solaris peut inclure des modifications que vous devrez incorporer manuellement dans l'installation. Consultez attentivement les journaux d'installation. Pour plus d'informations, reportez-vous à la description de preserve=renamenew dans la page de manuel pkg(5).


Procédure d'audit de toutes les commandes par les utilisateurs

Dans le cadre de leur stratégie de sécurité, certains sites nécessitent des enregistrements d'audit de toutes les commandes exécutées par les rôles d'administration et le compte root. Certains sites peuvent nécessiter des enregistrements d'audit pour toutes les commandes exécutées par tous les utilisateurs. En outre, les sites peuvent nécessiter que les arguments de commande et l'environnement soient enregistrés.

Avant de commencer

Pour présélectionner les classes d'audit et définir la stratégie d'audit, le profil de droits Audit Configuration (configuration d'audit) doit vous avoir été affecté. Pour affecter les indicateurs d'audit aux utilisateurs, rôles et profils de droits, vous devez posséder le rôle root .

  1. Endossez le rôle d'administrateur et dotez-vous des attributs de sécurité nécessaires.

    Pour plus d'informations, reportez-vous à la section Procédure d'obtention des droits d'administration.

  2. Auditez les classes lo et ex.

    La classe ex audite tous les appels des fonctions exec() et execve().

    La classe lo audite les connexions, déconnexions et blocages d'écran. La sortie suivante répertorie tous les événements des classes ex et lo.

    % auditconfig -lsevent | grep " lo "
    AUE_login                       6152 lo login - local
    AUE_logout                      6153 lo logout
    AUE_telnet                      6154 lo login - telnet
    AUE_rlogin                      6155 lo login - rlogin
    AUE_rshd                        6158 lo rsh access
    AUE_su                          6159 lo su
    AUE_rexecd                      6162 lo rexecd
    AUE_passwd                      6163 lo passwd
    AUE_rexd                        6164 lo rexd
    AUE_ftpd                        6165 lo ftp access
    AUE_ftpd_logout                 6171 lo ftp logout
    AUE_ssh                         6172 lo login - ssh
    AUE_role_login                  6173 lo role login
    AUE_newgrp_login                6212 lo newgrp login
    AUE_admin_authenticate          6213 lo admin login
    AUE_screenlock                  6221 lo screenlock - lock
    AUE_screenunlock                6222 lo screenlock - unlock
    AUE_zlogin                      6227 lo login - zlogin
    AUE_su_logout                   6228 lo su logout
    AUE_role_logout                 6229 lo role logout
    AUE_smbd_session                6244 lo smbd(1m) session setup
    AUE_smbd_logoff                 6245 lo smbd(1m) session logoff
    AUE_ClientConnect               9101 lo client connection to x server
    AUE_ClientDisconnect            9102 lo client disconn. from x server
    % auditconfig -lsevent | egrep " ex |,ex |ex,"
    AUE_EXECVE                        23 ex,ps execve(2)
    • Pour auditer ces classes pour les rôles d'administration, modifiez les attributs de sécurité des rôles.

      Dans l'exemple suivant, root est un rôle. Le site a créé trois rôles, sysadm, auditadm et netadm. Tous les rôles sont soumis à un audit pour la réussite et l'échec d'événements dans les classes ex et lo.

      # rolemod -K audit_flags=lo,ex:no root
      # rolemod -K audit_flags=lo,ex:no sysadm
      # rolemod -K audit_flags=lo,ex:no auditadm
      # rolemod -K audit_flags=lo,ex:no netadm
    • Pour auditer ces classes pour tous les utilisateurs, définissez les indicateurs à l'échelle du système.
      # auditconfig -setflags lo,ex

      La sortie se présente de la manière suivante :

      header,129,2,AUE_EXECVE,,mach1,2010-10-14 12:17:12.616 -07:00
      path,/usr/bin/ls
      attribute,100555,root,bin,21,320271,18446744073709551615
      subject,jdoe,root,root,root,root,2486,50036632,82 0 mach1
      return,success,0
  3. Pour enregistrer les arguments de commande, ajoutez la stratégie argv.
    # auditconfig -setpolicy +argv

    Le jeton exec_args enregistre les arguments de commande :

    header,151,2,AUE_EXECVE,,mach1,2010-10-14 12:26:17.373 -07:00
    path,/usr/bin/ls
    attribute,100555,root,bin,21,320271,18446744073709551615
    exec_args,2,ls,/etc/security
    subject,jdoe,root,root,root,root,2494,50036632,82 0 mach1
    return,success,0
  4. Pour enregistrer l'environnement dans lequel la commande est exécutée, ajoutez la stratégie arge.
    # auditconfig -setpolicy +arge

    Le jeton exec_env enregistre l'environnement de commande :

    header,1460,2,AUE_EXECVE,,mach1,2010-10-14 12:29:39.679 -07:00
    path,/usr/bin/ls
    attribute,100555,root,bin,21,320271,18446744073709551615
    exec_args,2,ls,/etc/security
    exec_env,49,MANPATH=/usr/share/man,USER=jdoe,GDM_KEYBOARD_LAYOUT=us,EDITOR=gedit,
    LANG=en_US.UTF-8,GDM_LANG=en_US.UTF-8,PS1=#,GDMSESSION=gnome,SESSIONTYPE=1,SHLVL=2,
    HOME=/home/jdoe,LOGNAME=jdoe,G_FILENAME_ENCODING=@locale,UTF-8,
    PRINTER=example-dbl,...,_=/usr/bin/ls
    subject,jdoe,root,root,root,root,2502,50036632,82 0 mach1
    return,success,0

Procédure de recherche des enregistrements d'audit concernant des modifications de fichiers spécifiques

Si vous avez l'intention de consigner les écritures d'un nombre limité de fichiers, par exemple, /etc/passwd et les fichiers du répertoire /etc/default, utilisez la commande auditreduce pour localiser les fichiers.

Avant de commencer

Le profil de droits Audit Configuration (configuration d'audit) doit vous avoir été attribué pour utiliser la commande auditconfig Le profil de droits Audit Review (vérification de l'audit) doit vous avoir été attribué pour utiliser la commande auditreduce Pour affecter les indicateurs d'audit aux utilisateurs et rôles, vous devez posséder le rôle root .

  1. Endossez le rôle d'administrateur et dotez-vous des attributs de sécurité nécessaires.

    Pour plus d'informations, reportez-vous à la section Procédure d'obtention des droits d'administration.

  2. Effectuez un audit de la classe fw.

    L'ajout de la classe aux indicateurs d'audit d'un utilisateur ou d'un rôle génère moins d'enregistrements que si vous ajoutez la classe au masque de présélection d'audit à l'échelle du système. Effectuez l'une des étapes suivantes :

    • Ajoutez la classe fw à des rôles spécifiques.
      # rolemod -K audit_flags=fw:no root
      # rolemod -K audit_flags=fw:no sysadm
      # rolemod -K audit_flags=fw:no auditadm
      # rolemod -K audit_flags=fw:no netadm
    • Ajoutez la classe fw aux indicateurs à l'échelle du système.
      # auditconfig -getflags
      active user default audit flags = lo(0x1000,0x1000)
      configured user default audit flags = lo(0x1000,0x1000)
      # auditconfig -setflags lo,fw
      user default audit flags = lo,fw(0x1002,0x1002)
  3. Ou, auditez les écritures sur fichiers réussies.

    L'audit des réussites génère un nombre inférieur d'enregistrements que l'audit des échecs et des réussites. Effectuez l'une des étapes suivantes :

    • Ajoutez l'indicateur +fw à des rôles spécifiques.
      # rolemod -K audit_flags=+fw:no root
      # rolemod -K audit_flags=+fw:no sysadm
      # rolemod -K audit_flags=+fw:no auditadm
      # rolemod -K audit_flags=+fw:no netadm
    • Ajoutez l'indicateur +fw aux indicateurs à l'échelle du système.
      # auditconfig -getflags
      active user default audit flags = lo(0x1000,0x1000)
      configured user default audit flags = lo(0x1000,0x1000)
      # auditconfig -setflags lo,+fw
      user default audit flags = lo,+fw(0x1002,0x1000)
    • Si les indicateurs à l'échelle du système effectuent l'audit pour la réussite ou l'échec, définissez des exceptions pour des utilisateurs et des rôles spécifiques.
      # auditconfig -getflags
      active user default audit flags = lo,fw(0x1002,0x1002)
      configured user default audit flags = lo,fw(0x1002,0x1002)
      # rolemod -K audit_flags=^-fw:no root
      # rolemod -K audit_flags=^-fw:no sysadm
      # rolemod -K audit_flags=^-fw:no auditadm
      # rolemod -K audit_flags=^-fw:no netadm

      Les indicateurs à l'échelle du système ne sont toujours pas modifiés, mais le masque de présélection pour ces quatre rôles est modifié.

      # auditconfig -getflags
      active user default audit flags = lo,fw(0x1002,0x1000)
      configured user default audit flags = lo,fw(0x1002,0x1000)
  4. Pour trouver les enregistrements d'audit pour des fichiers spécifiques, utilisez la commande auditreduce.
    # auditreduce -o file=/etc/passwd,/etc/default -O filechg

    La commande auditreduce effectue la recherche dans la piste d'audit pour toutes les instances de l'argument file. Cette commande crée un fichier binaire avec le suffixe filechg qui contient tous les enregistrements incluant le chemin d'accès aux fichiers concernés. Reportez-vous à la page de manuel auditreduce(1M) pour plus d'informations sur la syntaxe de l'option -o file=chemin.

  5. Pour lire le fichier filechg, utilisez la commande praudit.
    # praudit *filechg

Procédure de mise à jour du masque de présélection des utilisateurs connectés

Vous voulez que les utilisateurs qui sont déjà connectés fassent l'objet d'un audit pour les modifications apportées au masque de présélection d'audit à l'échelle du système.

Avant de commencer

Le profil de droits Audit Configuration (configuration d'audit) doit vous avoir été attribué. Pour fermer les sessions utilisateur, vous devez posséder le profil de droits Process Management (gestion de processus).

  1. Endossez le rôle d'administrateur et dotez-vous des attributs de sécurité nécessaires.

    Pour plus d'informations, reportez-vous à la section Procédure d'obtention des droits d'administration.

  2. Mettez à jour le masque de présélection des utilisateurs déjà connectés.

    Deux options s'offrent à vous : Vous pouvez fermer les sessions existantes ou utiliser la commande auditconfig pour mettre à jour les masques de présélection.

    • Fermez les sessions existantes de ces utilisateurs.

      Les utilisateurs peuvent se déconnecter, puis se reconnecter. Ou bien, dans un rôle auquel est attribué le profil de droits Process Management (gestion de processus), vous pouvez mettre fin manuellement aux sessions actives. La nouvelle session va hériter du nouveau masque présélection. Toutefois, l'arrêt des sessions utilisateurs n'est pas très pratique.

    • Modifiez dynamiquement le masque de présélection de chaque utilisateur connecté.

      Dans un rôle incluant le profil de droits Audit Configuration (configuration d'audit), supposons que vous avez modifié le masque de présélection d'audit à l'échelle du système de lo à lo,ex.

      # auditconfig -setflags lo,ex
      1. Répertoriez les utilisateurs réguliers qui sont connectés et leur ID de processus.
        # who -a
        jdoe  - vt/2         Jan 25 07:56  4:10   1597   (:0)
        jdoe  + pts/1        Jan 25 10:10   .     1706   (:0.0)
        ...
        jdoe  + pts/2        Jan 25 11:36  3:41   1706   (:0.0)
      2. A des fins de comparaison ultérieure, affichez le masque de présélection de chaque utilisateur.
        # auditconfig -getpinfo 1706
        audit id = jdoe(1234)
        process preselection mask = lo(0x1000,0x1000)
        terminal id (maj,min,host) = 9426,65559,mach1(192.168.123.234)
        audit session id = 103203403
      3. Modifiez le masque de présélection de l'utilisateur.
        # auditconfig -setumask jdoe lo,ex /* for this user */
        # auditconfig -setsmask 103203403 lo,ex /* for this session */
        # auditconfig -setpmask 1706 lo,ex /* for this process */
      4. Vérifiez que le masque de présélection de l'utilisateur a changé.

        Par exemple, vérifiez un processus qui existait avant la modification du masque.

        # auditconfig -getpinfo 1706
        audit id = jdoe(1234)
        process preselection mask = ex,lo(0x40001000,0x40001000) 
        terminal id (maj,min,host) = 9426,65559,mach1(192.168.123.234)
        audit session id = 103203403

Procédure de suppression de l'audit d'événements spécifiques

Pour des raisons de maintenance, il arrive parfois qu'un site veuille empêcher les événements d'être soumis à un audit.

Avant de commencer

Vous devez être dans le rôle root.

  1. Changez la classe de l'événement pour la classe no.

    Par exemple, les événements 26 et 27 appartiennent à la classe pm.

    ## audit_event file
    ...
    25:AUE_VFORK:vfork(2):ps
    26:AUE_SETGROUPS:setgroups(2):pm
    27:AUE_SETPGRP:setpgrp(2):pm
    28:AUE_SWAPON:swapon(2):no
    ...

    Modifiez ces événements pour la classe no.

    ## audit_event file
    ...
    25:AUE_VFORK:vfork(2):ps
    26:AUE_SETGROUPS:setgroups(2):no
    27:AUE_SETPGRP:setpgrp(2):no
    28:AUE_SWAPON:swapon(2):no
    ...

    Si la classe pm est actuellement en cours d'audit, les sessions existantes sont toujours les événements d'audit 26 et 27. Pour que ces événements ne soient plus soumis à un audit, vous devez mettre à jour les masques de présélection des utilisateurs en suivant les instructions décrites dans la section Procédure de mise à jour du masque de présélection des utilisateurs connectés.


    Attention

    Attention - Ne commentez jamais les événements dans le fichier audit_event. Ce fichier est utilisé par la commande praudit binaire pour lire les fichiers d'audit binaires. Les fichiers d'audit archivés peuvent contenir des événements répertoriés dans le fichier.


  2. Actualisez les événements du noyau.
    # auditconfig -conf
    Configured 283 kernel events.

Procédure de limitation de la taille des fichiers d'audit binaires

Les fichiers d'audit binaires augmentent sans limite. Pour faciliter la tâche de l'archivage et de la recherche, vous pouvez être amené à limiter la taille. Vous pouvez également créer de plus petits fichiers binaires à partir du fichier d'origine.

Avant de commencer

Le profil de droits Audit Configuration (configuration d'audit) doit vous avoir été attribué pour définir l'attribut p_fsize. Le profil de droits Audit Review (vérification de l'audit) doit vous avoir été attribué pour utiliser la commande auditreduce

  1. Endossez le rôle d'administrateur et dotez-vous des attributs de sécurité nécessaires.

    Pour plus d'informations, reportez-vous à la section Procédure d'obtention des droits d'administration.

  2. Utilisez l'attribut p_fsize pour limiter la taille de chaque fichier d'audit binaire.

    Pour obtenir une description de l'attribut p_fsize , reportez-vous à la section OBJECT ATTRIBUTES de la page de manuel audit_binfile(5).

    Reportez-vous à l'Exemple 28-14.

  3. Utilisez la commande auditreduce pour sélectionner des enregistrements et les écrire dans un fichier plus petit pour une analyse plus approfondie.

    Les options auditreduce -minuscules recherchent des enregistrements spécifiques.

    Les options auditreduce -majuscules écrivent vos sélections vers un fichier. Pour plus d'informations, reportez-vous à la page de manuel auditreduce(1M).

Procédure de compression des fichiers d'audit sur un système de fichiers dédié

Les fichiers d'audit peuvent devenir très volumineux. Vous pouvez définir une limite supérieure à la taille d'un fichier, comme illustré dans l'Exemple 28-14. Dans cette procédure, vous réduisez la taille par compression.

Avant de commencer

Les profils de droits ZFS System Management (gestion de système ZFS) et ZFS Storage Management (gestion de stockage ZFS) doivent vous être attribués. Le dernier profil vous permet de créer des pools de stockage.

  1. Endossez le rôle d'administrateur et dotez-vous des attributs de sécurité nécessaires.

    Pour plus d'informations, reportez-vous à la section Procédure d'obtention des droits d'administration.

  2. Dédiez un système de fichiers ZFS aux fichiers d'audit.

    Pour obtenir la procédure, reportez-vous à la section Procédure de création de systèmes de fichiers ZFS pour les fichiers d'audit.

  3. Compressez le pool de stockage ZFS à l'aide de l'une des options suivantes.

    Avec ces deux options, le système de fichiers d'audit est compressé. Une fois le service d'audit actualisé, le taux de compression s'affiche.

    Pour définir la compression, utilisez la commande zfs set compression=on dataset . Dans les exemples suivants, le pool ZFS auditp/auditf est le jeu de données.

    • Utilisez l'algorithme de compression par défaut.
      # zfs set compression=on auditp/auditf
      # audit -s
      # zfs get compressratio auditp/auditf
      NAME           PROPERTY       VALUE  SOURCE
      auditp/auditf  compressratio  4.54x  -
    • Utilisez un algorithme de compression plus élevé.
      # zfs set compression=gzip-9 auditp/auditf
      # zfs get compression auditp/auditf
      NAME           PROPERTY     VALUE     SOURCE
      auditp/auditf  compression  gzip-9    local
      # audit -s
      # zfs get compressratio auditp/auditf
      NAME           PROPERTY       VALUE  SOURCE
      auditp/auditf  compressratio  16.89x  -

      L'algorithme de compression gzip-9 génère des fichiers qui occupent un tiers d'espace de moins qu'avec l'algorithme de compression par défaut lzjb. Pour plus d'informations, reportez-vous au Chapitre 6, Gestion des systèmes de fichiers Oracle Solaris ZFS du manuel Administration d’Oracle Solaris : Systèmes de fichiers ZFS.

Procédure d'audit des connexions à partir d'autres systèmes d'exploitation

Le SE Oracle Solaris peut auditer les connexions, quelle que soit la source.

Avant de commencer

Le profil de droits Audit Configuration (configuration d'audit) doit vous avoir été attribué.

  1. Endossez le rôle d'administrateur et dotez-vous des attributs de sécurité nécessaires.

    Pour plus d'informations, reportez-vous à la section Procédure d'obtention des droits d'administration.

  2. Auditez la classe lo pour les événements attribuables et non attribuables.

    Cette classe audite les connexions, déconnexions, et blocages d'écran. Ces classes sont soumises à un audit par défaut.

    # auditconfig -getflags
    active user default audit flags = lo(0x1000,0x1000)
    configured user default audit flags = lo(0x1000,0x1000)
    # auditconfig -getnaflags
    active non-attributable audit flags = lo(0x1000,0x1000)
    configured non-attributable audit flags = lo(0x1000,0x1000)
  3. Si les valeurs ont été modifiées, ajoutez l'indicateur lo.
    # auditconfig -getflags
    active user default audit flags = as,st(0x20800,0x20800)
    configured user default audit flags = as,st(0x20800,0x20800)
    # auditconfig -setflags lo,as,st
    user default audit flags = as,lo,st(0x21800,0x21800)
    # auditconfig -getnaflags
    active non-attributable audit flags = na(0x400,0x400)
    configured non-attributable audit flags = na(0x400,0x400)
    # auditconfig -setnaflags lo,na
    non-attributable audit flags = lo,na(0x1400,0x1400)

    Remarque - Pour effectuer l'audit des connexions ssh, votre système doit exécuter le démon ssh à partir d'Oracle Solaris. Ce démon est modifié pour le service d'audit sur un système Oracle Solaris. Pour plus d'informations, reportez-vous à la section Secure Shell et le projet OpenSSH.


Procédure d'audit des transferts de fichiers FTP et SFTP

Le service FTP crée des journaux pour les transferts de fichiers. Le service SFTP, qui s'exécute sous le protocole ssh, peut être audité par présélection de la classe d'audit ft. Les connexions aux deux services peuvent faire l'objet d'un audit.

Avant de commencer

Le profil de droits Audit Configuration (configuration d'audit) doit vous avoir été attribué.

  1. Endossez le rôle d'administrateur et dotez-vous des attributs de sécurité nécessaires.

    Pour plus d'informations, reportez-vous à la section Procédure d'obtention des droits d'administration.

  2. Pour consigner des commandes et transferts de fichiers du service FTP, reportez-vous à la page de manuel proftpd.

    Pour connaître les options de journalisation disponibles, reportez-vous à la section concernant les fonctions de journalisation. Les options log commands et log transfers peuvent notamment fournir des journaux utiles.

  3. Pour consigner les transferts de fichier et l'accès sftp, auditez la classe ft.

    La classe ft comprend les transactions SFTP suivantes :

    % auditrecord -c ft
    file transfer: chmod ...
    file transfer: chown ...
    file transfer: download ...
    file transfer: mkdir ...
    file transfer: upload ...
    file transfer: remove ...
    file transfer: rename ...
    file transfer: rmdir ...
    file transfer: session start ...
    file transfer: session end ...
    file transfer: symlink ...
    file transfer: utimes
  4. Pour enregistrer l'accès au serveur FTP, auditez la classe lo.

    Comme indiqué dans la sortie suivante, la connexion et la déconnexion du démon ftpd génèrent des enregistrements d'audit.

    % auditrecord -c lo | more
    ...
    in.ftpd
      program     /usr/sbin/in.ftpd    See ftp access
      event ID    6165                 AUE_ftpd
      class       lo                   (0x0000000000001000)
          subject
          [text]                       error message
          return
    
    in.ftpd
      program     /usr/sbin/in.ftpd    See ftp logout
      event ID    6171                 AUE_ftpd_logout
      class       lo                   (0x0000000000001000)
          subject
          return
    ...