Écrire des événements d’audit SQL Server dans le journal de sécurité

S’applique à : SQL Server - Windows uniquement

Dans un environnement extrêmement sécurisé, le journal de sécurité Windows est l'emplacement approprié pour consigner des événements d'accès aux objets. D'autres emplacements d'audit sont pris en charge mais ils sont plus exposés au risque de falsification.

L’écriture des audits du serveur SQL Server dans le journal de sécurité Windows est soumise à trois conditions clés :

  • Le paramètre Auditer l'accès aux objets doit être configuré pour capturer les événements. L’outil de stratégie d’audit (auditpol.exe) expose divers paramètres de sous-stratégies dans la catégorie Auditer l’accès aux objets. Pour permettre à SQL Server d'auditer l'accès aux objets, configurez le paramètre généré par une application.

  • Le compte sous lequel le service SQL Server est exécuté doit posséder l’autorisation Générer des audits de sécurité pour écrire dans le journal de sécurité Windows. Par défaut, les comptes Service local et Service réseau disposent de cette autorisation. Cette étape n'est pas requise si SQL Server s'exécute sous l'un de ces comptes.

  • Accordez une autorisation totale au compte de service SQL Server sur la ruche du registre HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\EventLog\Security.

    Important

    Une modification incorrecte du Registre peut sérieusement endommager votre système. Avant d'apporter des modifications au Registre, nous vous recommandons de sauvegarder les données importantes qui se trouvent sur l'ordinateur.

Limitations et restrictions

  • Les paramètres locaux du journal de sécurité peuvent être remplacés par une stratégie de domaine. Dans ce cas, la stratégie de domaine peut remplacer le paramètre de sous-catégorie (auditpol /get /subcategory:"application generated"). SQL Server n’a aucun moyen de détecter que les événements qu’il essaie d’auditer ne seront pas enregistrés.

  • Les événements peuvent être perdus si la stratégie d’audit est configurée de manière incorrecte. La stratégie d’audit Windows peut affecter l’audit SQL Server s’il est configuré pour écrire dans le journal Sécurité Windows. En général, le journal de sécurité Windows est configuré pour remplacer les événements les plus anciens. Les événements les plus récents sont ainsi préservés. Toutefois, si le journal de sécurité Windows n'est pas configuré pour remplacer les événements les plus anciens, et si le journal de sécurité est plein, le système publie alors l'événement Windows 1104 (le journal est plein). À ce stade :

    • Plus aucun événement de sécurité supplémentaire n'est consigné

    • SQL Server ne peut pas détecter que le système n'est pas capable d'enregistrer les événements dans le journal de sécurité, provoquant ainsi la perte potentielle d'événements d'audit

    • Une fois le journal de sécurité reconfiguré par l'administrateur, le comportement de consignation retourne à la normale.

  • Les enregistrements d’audit SQL Server contiennent beaucoup plus de données que les entrées régulières du journal des événements Windows. En outre, selon la configuration de la spécification d’audit, SQL Server peut générer plusieurs milliers d’enregistrements d’audit sur une courte période (des milliers par seconde). Dans les périodes de charge élevée, cela peut entraîner des conditions défavorables si les enregistrements d’audit sont écrits dans le journal des applications ou dans le journal de sécurité.

    Ces conditions défavorables peuvent inclure :

    • Rotation rapide du journal des événements (les événements sont remplacés très rapidement lorsque le fichier journal atteint sa limite de taille)

    • D’autres applications ou services lus dans le journal des événements Windows peuvent être affectés négativement

    • Le journal des événements ciblés peut être inutilisable par les administrateurs en raison d’événements remplacés trop rapidement

    Étapes que les administrateurs peuvent prendre pour atténuer ces conditions défavorables :

    1. Augmenter la taille du journal cible (4 Go n’est pas déraisonnable lorsque la spécification d’audit est très détaillée).

    2. Réduire le nombre d’événements audités.

    3. Afficher les enregistrements d’audit dans un fichier au lieu des journaux d’événements.

autorisations

Vous devez être un administrateur Windows pour configurer ces paramètres.

Configurer le paramètre Auditer l'accès aux objets dans Windows à l'aide de auditpol

  1. Ouvrez une invite de commandes avec des autorisations d'administrateur.

    1. Dans le menu Démarrer, accédez à l’invite de commandes, puis sélectionnez Exécuter en tant qu’administrateur.

    2. Si la boîte de dialogue Contrôle de compte d'utilisateur s'ouvre, sélectionnez Continuer.

  2. Exécutez l'instruction suivante pour activer l'audit à partir de SQL Server.

    auditpol /set /subcategory:"application generated" /success:enable /failure:enable
    
  3. Fermez la fenêtre d'invite de commandes.

Octroyer l'autorisation Générer des audits de sécurité à un compte à l'aide de secpol

  1. Sur un système d'exploitation Windows, dans le menu Démarrer, sélectionnez Exécuter.

  2. Tapez secpol.msc, puis cliquez sur OK. Si la boîte de dialogue Contrôle d'accès d'utilisateur s'affiche, sélectionnez Continuer.

  3. Dans l'outil Stratégie de sécurité locale, accédez à Paramètres de sécurité > Stratégies locales > Attribution des droits utilisateur.

  4. Dans le volet de résultats, ouvrez Générer des audits de sécurité.

  5. Sous l'onglet Paramètre de sécurité locale, sélectionnez Ajouter un utilisateur ou un groupe.

  6. Dans la boîte de dialogue Sélectionnez les utilisateurs, les ordinateurs ou les groupes, tapez le nom du compte d’utilisateur, tel que domaine1\utilisateur1, puis cliquez sur OK, ou cliquez sur Avancé et recherchez le compte.

  7. Cliquez sur OK.

  8. Fermez l'outil Stratégie de sécurité locale.

  9. Redémarrez SQL Server pour activer ce paramètre.

Configurer le paramètre Auditer l'accès aux objets dans Windows à l'aide de secpol

  1. Si la version du système d'exploitation est antérieure à Windows Vista ou Windows Server 2008, dans le menu Démarrer, cliquez sur Exécuter.

  2. Tapez secpol.msc, puis cliquez sur OK. Si la boîte de dialogue Contrôle d'accès d'utilisateur s'affiche, sélectionnez Continuer.

  3. Dans l'outil Stratégie de sécurité locale, accédez à Paramètres de sécurité > Stratégies locales > Stratégie d'audit.

  4. Dans le volet de résultats, ouvrez Auditer l’accès aux objets.

  5. Sous l'onglet Paramètre de sécurité locale , dans la zone Auditer les tentatives des types suivants , sélectionnez Succès et Échec.

  6. Cliquez sur OK.

  7. Fermez l'outil Stratégie de sécurité locale.

Voir aussi