Gestion de l'audit dans Oracle® Solaris 11.2

Quitter la vue de l'impression

Mis à jour : Juillet 2014
 
 

Configuration d'un référentiel distant pour les fichiers d'audit

Dans cette procédure, vous devez configurer un système distant, le serveur d'audit à distance (ARS), pour recevoir et stocker des enregistrements d'audit à partir d'un ou de plusieurs systèmes audités. Vous devez ensuite activer le démon d'audit sur le serveur distant.

La configuration se fait en deux temps. Tout d'abord, vous configurez les mécanismes de sécurité sous-jacents pour transporter les données d'audit en toute sécurité, et ce en configurant le KDC. Vous configurez ensuite le service d'audit sur le système d'audit et le serveur ARS. Cette procédure illustre un scénario avec un client audité et un serveur ARS, où ce dernier et le KDC se trouvent sur le même serveur. Des scénarios plus complexes peuvent être configurés de la même manière. Les quatre premières étapes décrivent la configuration du KDC, alors que la dernière étape décrit la configuration du service d'audit.

Avant de commencer

Assurez-vous d'avoir effectué les opérations suivantes. Vous devez prendre le rôle root.

  1. Si votre site n'a pas encore configuré de KDC, faites-le.

    Vous avez besoin d'un KDC sur un système que le système audité et le serveur ARS peuvent utiliser, d'un hôte principal pour chaque système et d'un principal de service audit. L'exemple ci-dessous illustre une stratégie de configuration de KDC :

    arstore # kdcmgr -a audr/admin -r EXAMPLE.COM create master
    

    Cette commande utilise le principal d'administration audr/admin pour créer un KDC maître dans le domaine EXAMPLE.COM, active le KDC maître et démarre le service Kerberos.

  2. Vérifiez que le KDC est disponible.

    Pour plus d'informations, reportez-vous à la page de manuel kdcmgr(1M).

    # kdcmgr status
    
    KDC Status Information
    --------------------------------------------
    svc:/network/security/krb5kdc:default (Kerberos key distribution center)
    State: online since Wed Feb 29 01:59:27 2012
    See: man -M /usr/share/man -s 1M krb5kdc
    See: /var/svc/log/network-security-krb5kdc:default.log
    Impact: None.
    
    KDC Master Status Information
    --------------------------------------------
    svc:/network/security/kadmin:default (Kerberos administration daemon)
    State: online since Wed Feb 29 01:59:28 2012
    See: man -M /usr/share/man -s 1M kadmind
    See: /var/svc/log/network-security-kadmin:default.log
    Impact: None.
    
    Transaction Log Information
    --------------------------------------------
    
    Kerberos update log (/var/krb5/principal.ulog)
    Update log dump :
    Log version # : 1
    Log state : Stable
    Entry block size : 2048
    Number of entries : 13
    First serial # : 1
    Last serial # : 13
    First time stamp : Wed Feb 29 01:59:27 2012
    Last time stamp : Mon Mar 5 19:29:28 2012
    
    
    Kerberos Related File Information
    --------------------------------------------
    (Displays any missing files)
  3. Ajoutez le principal de service audit au fichier keytab du KDC.

    Vous pouvez ajouter le principal en tapant la commande kadmin.local sur le système KDC. Vous pouvez également ajouter le principal à distance en tapant la commande kadmin et en fournissant un mot de passe. Dans cet exemple, le système arstore exécute le KDC.

    # kadmin -p audr/admin
    
    kadmin: addprinc -randkey audit/arstore.example.com@EXAMPLE.COM
    
    kadmin: ktadd audit/arstore.example.com@EXAMPLE.COM
    
  4. Sur chaque système audité, ajoutez des clés.

    Le récepteur et l'expéditeur doivent disposer de clés.

    enigma # kclient
    
    .. Enter the Kerberos realm: 
    EXAMPLE.COM
    
    .. KDC hostname for the above realm: 
    arstore.example.com
    
    .. Will this client need service keys ? [y/n]: 
    y
    
  5. Configurez le service d'audit sur le serveur ARS.
    • Pour créer un groupe qui accepte les enregistrements d'audit de n'importe quel système audité dans le domaine Kerberos, nommez un groupe de connexion.
      # auditconfig -setremote group create Bank_A
      

      Bank_A est un groupe de connexion. Dans la mesure où l'attribut hosts n'est pas défini, ce groupe accepte toutes les connexions, ce qui signifie qu'il s'agit d'un groupe de caractères génériques. Dans le domaine Kerberos, tous les systèmes audités peuvent atteindre ce serveur ARS à condition que leur plug-in audit_remote soit correctement configuré.

    • Pour limiter les connexions à ce groupe, indiquez les systèmes audités pouvant utiliser ce référentiel.
      # auditconfig -setremote group Bank_A "hosts=enigma.example.com"
      

      Le groupe de connexion Bank_A accepte désormais uniquement les connexions à partir du système enigma. Une connexion depuis tout autre hôte est refusée.

    • Pour limiter la taille d'un fichier d'audit de ce groupe, définissez une taille maximale.
      # auditconfig -setremote group Bank_A "binfile_fsize=4GB"
      
      # auditconfig -getremote
      Audit Remote Server
      Attributes: listen_address=;login_grace_time=30;max_startups=10;listen_port=0;
      Connection group: Bank_A (inactive)
      Attributes: binfile_dir=/var/audit;binfile_fsize=4GB;binfile_minfree=1;
      hosts=enigma.example.com;
  6. Configurez le service d'audit sur le système audité.

    Pour spécifier le serveur ARS, utilisez l'attribut p_hosts.

    enigma # auditconfig -setplugin audit_remote \
         active p_hosts=arstore.example.com
    
    enigma # auditconfig -getplugin audit_remote
    Plugin: audit_remote
    Attributes: p_retries=3;p_timeout=5;p_hosts=arstore.example.com;
  7. Actualisez le service d'audit.

    Le service d'audit lit la modification du plug-in d'audit lors de l'actualisation.

    # audit -s

    Le KDC gère désormais la connexion entre le système audité enigma et le serveur ARS.

Exemple 4-9  Transmission des enregistrements d'audit vers des emplacements de fichiers différents sur le même serveur ARS

Cet exemple complète l'exemple présenté dans la procédure. L'administrateur sépare les enregistrements d'audit par hôte sur le serveur ARS en créant deux groupes de connexion.

Les fichiers d'audit de audsys1 sont transmis au groupe de connexion Bank_A sur ce serveur ARS.

arstore # auditconfig -setremote group create Bank_A

arstore # auditconfig -setremote group active Bank_A "hosts=audsys1" \
   "hosts=audsys1;binfile_dir=/var/audit/audsys1;binfile_fsize=4M;"

Les fichiers d'audit de audsys2 sont transmis au groupe de connexion Bank_B.

arstore # auditconfig -setremote group create Bank_B

arstore # auditconfig -setremote group active Bank_B \
"hosts=audsys2;binfile_dir=/var/audit/audsys2;binfile_fsize=4M;"

Pour simplifier la maintenance, l'administrateur définit les autres valeurs d'attribut de manière identique.

arstore # auditconfig -getremote
Audit Remote Server
Attributes: listen_address=;login_grace_time=30;max_startups=10;listen_port=0;

Connection group: Bank_A
Attributes: binfile_dir=/var/audit/audsys1;binfile_fsize=4M;binfile_minfree=1;
hosts=audsys1

Connection group: Bank_B
Attributes: binfile_dir=/var/audit/audsys2;binfile_fsize=4M;binfile_minfree=1;
hosts=audsys2
Exemple 4-10  Placement du serveur ARS sur un système autre que le KDC

Dans cet exemple, l'administrateur place le serveur ARS sur un système autre que le KDC. Tout d'abord, l'administrateur crée et configure le KDC maître.

kserv # kdcmgr -a audr/admin -r EXAMPLE.COM create master

kserv # kadmin.local -p audr/admin

kadmin: addprinc -randkey \
audit/arstore.example.com@EXAMPLE.COM

kadmin: ktadd -t /tmp/krb5.keytab.audit \
     audit/arstore.example.com@EXAMPLE.COM

Après avoir transmis le fichier /tmp/krb5.keytab.audit au serveur ARS de manière sécurisée, arstore, l'administrateur déplace le fichier vers l'emplacement approprié.

arstore # chown root:root krb5.keytab.audit

arstore # chmod 600 krb5.keytab.audit

arstore # mv krb5.keytab.audit /etc/krb5/krb5.keytab

Au lieu de réécrire le fichier, l'administrateur a également la possibilité d'utiliser la commande ktutil sur le serveur ARS pour fusionner le fichier krb5.keytab.audit du KDC avec les clés existantes du fichier /etc/krb5/krb5.keytab de arstore.

Enfin, l'administrateur génère les clés sur le système audité.

enigma # kclient

.. Enter the Kerberos realm: EXAMPLE.COM

.. KDC hostname for the above realm: kserv.example.com

.. Will this client need service keys ? [y/n]: y