Vous êtes sur la page 1sur 38

02/11/2012

1 • Introduction

2 • Avantages

3 • Inconvénients

4 • Cas d’utilisation d’audit

5
• Système d’audit de SQL Server

6 • Fonctionnement de système d’audit

7 • Vues de gestion des audits

8 • Cas d’étude

9
• Conclusion

1
02/11/2012

Cas Système d’audit Cas


Introduction Avantages Inconvénients Fonctionnement Vues Conclusion
d’utilisation SQL Server d’étude

L'audit d'une instance de SQL Server ou d'une


base de données SQL Server implique le suivi et
l'enregistrement des événements qui se
produisent sur le système pour vérifier l’activité
à l'intérieur de SQL Server.

2
02/11/2012

Cas Système d’audit Cas


Introduction Avantages Inconvénients Fonctionnement Vues Conclusion
d’utilisation SQL Server d’étude

• Login Auditing : piste le succés et l’échec de


l’authentification de l’utilisateur. Les résultats sont
envoyés au journal des applications OS.

• SQL Server Profiler (SQL Trace) Audit and Related


Events : Profileur comprend plus de 40 événements
d'audit spécifiques, et plus de 130 événements
supplémentaires qui peuvent être retracés. Les résultats
sont stockés dans des fichiers de trace.

Cas Système d’audit Cas


Introduction Avantages Inconvénients Fonctionnement Vues Conclusion
d’utilisation SQL Server d’étude

• DDL Triggers : Les triggers DDL peuvent être ajoutés à une


base de données pour identifier quand un événement DDL
se produit.

• C2 Audit Mode : Cette une norme d'audit qui utilise SQL


Trace pour capturer les événements d'audit, qui sont
stockés dans des fichiers de trace.

• Common Criteria Compliance : Une nouvelle norme


internationale d'audit qui utilise SQL Trace pour capturer
des données, qui sont stockées dans des fichiers de trace.

3
02/11/2012

Cas Système d’audit Cas


Introduction Avantages Inconvénients Fonctionnement Vues Conclusion
d’utilisation SQL Server d’étude

• La capacité de vérification au niveau de la base de


données et de l'instance : Lorsque vous configurez un
audit, vous avez la possibilité de capturer les événements
d'audit au niveau de l'instance ou de la base de données.

• La capacité de vérifier de nombreuses activités : SQL


Server Audit comprend de nombreuses activités
Prédéfinies que vous pouvez utiliser comme les activités
DML et DDL. En outre, vous pouvez même vérifier « les
activités d'audit », en d'autres termes, les activités de
DBA, dont le travail consiste à gérer SQL Server Audit,
peuvent être contrôlées par des tiers, si on le désire.

4
02/11/2012

Cas Système d’audit Cas


Introduction Avantages Inconvénients Fonctionnement Vues Conclusion
d’utilisation SQL Server d’étude

• La capacité de capturer et d’afficher les résultats d’audit :


les résultats de la vérification peuvent être capturés et
stockés dans les fichiers du disque, ou dans le log des
événements du système d’exploitation. Les données sur le
disque peuvent être importées dans une base de données
pour une analyse approfondie. Les données stockées dans
les logs d'événements peuvent être visualisées à l'aide de
« Event Log Viewer ».

• Haut de granularité : SELECT, INSERT, UPDATE, DELETE,


REFERENCES et EXECUTE peuvent être capturés
individuellement pour chaque utilisateur.

Cas Système d’audit Cas


Introduction Avantages Inconvénients Fonctionnement Vues Conclusion
d’utilisation SQL Server d’étude

• Rapide et léger : SQL Server Audit utilise le moteur des


événements étendus de SQL Server 2008 pour la saisie
des données d'audit. Il en résulte des performances
rapides et des frais généraux minimes.

• Facile à configurer et administrer : SQL Server Audit


peut être configuré et géré à l'aide SSMS (SQL Server
Management Studio) ou Transact-SQL.

5
02/11/2012

Cas Système d’audit Cas


Introduction Avantages Inconvénients Fonctionnement Vues Conclusion
d’utilisation SQL Server d’étude

 Bien que SQL Server Audit prend moins de


ressources physiques que les options d'audit
SQL Trace-based, il utilise toujours les
ressources SQL Server, et là, plus vous
détaillez votre audit et plus il utilise des
ressources. Pour cette raison, il peut ne pas
être pratique d'utiliser SQL Server Audit sur
les serveurs OLTP très occupés, surtout si ils
sont déjà des goulets d'étranglement pour
matériel.

6
02/11/2012

Cas Système d’audit Cas


Introduction Avantages Inconvénients Fonctionnement Vues Conclusion
d’utilisation SQL Server d’étude

• SQL Server Audit est basé sur les instances. En


d'autres termes, il n'existe pas de moyen facile
de gérer SQL Server Audit sur toutes les
instances SQL Server dans votre organisation à
partir d'un emplacement centralisé, sauf si
vous créez votre propre méthode en utilisant
des scripts.

Cas Système d’audit Cas


Introduction Avantages Inconvénients Fonctionnement Vues Conclusion
d’utilisation SQL Server d’étude

• Les données d'audit sont stockées soit dans un


fichier, ou dans le cadre du log des
événements du système d'exploitation. Si vous
voulez être en mesure d'analyser et de faire
rapport sur ces données, vous devrez
manuellement l'importer dans votre propre
base de données. En outre, les DBA devrez
manuellement archiver ou supprimer les
vielles données d'audit.

7
02/11/2012

Cas Système d’audit Cas


Introduction Avantages Inconvénients Fonctionnement Vues Conclusion
d’utilisation SQL Server d’étude

• Il n’y a pas une construction automatique de


rapport, si les données se trouvent dans le « Log
Viewer », pour information efficace, vous devrez
créer vos propres rapports, très probablement en
utilisant « SQL Server Reporting Services »

8
02/11/2012

Cas Système d’audit Cas


Introduction Avantages Inconvénients Fonctionnement Vues Conclusion
d’utilisation SQL Server d’étude

• Vous pouvez réaliser des audits de sécurité, que ce soit


pour vous conformer aux politiques de sécurité de votre
entreprise, ou pour vérifier la sécurité de vos bases de
données (les connexions qui échouent, les changements de
mots de passes, …).

• Surveillez l’intégrité de vos bases. Vous pouvez, par


exemple, créer un audit qui capture tous les changements
au niveau du schéma de vos bases de données ainsi que sur
les droits. Pour savoir ce qui a changé, il vous suffira de
relire le fichier de log pour savoir ce qui a été modifié en
votre absence.

Cas Système d’audit Cas


Introduction Avantages Inconvénients Fonctionnement Vues Conclusion
d’utilisation SQL Server d’étude

• Il se peut que vous ayez dans votre


environnement un important serveur SQL, avec
un très grand nombre de tables, d’applications
et d’utilisateurs connectés dessus. L’audit peut
vous permettre de réaliser une cartographie de
votre serveur : quelles applications accèdent à
quelles informations et avec quels comptes ?

9
02/11/2012

Cas Système d’audit Cas


Introduction Avantages Inconvénients Fonctionnement Vues Conclusion
d’utilisation SQL Server d’étude

- Ne sont pas une nouveauté pour SQL Server.

- Existaient depuis la version 2000 sous forme d’outils


(permettent d'auditer les événements sur le serveur de
bases de données).

- Jusqu’à la version 2005, il fallait utiliser plusieurs de ces


outils pour pouvoir auditer différentes catégories
d’événements

10
02/11/2012

Cas Système d’audit Cas


Introduction Avantages Inconvénients Fonctionnement Vues Conclusion
d’utilisation SQL Server d’étude

Système d'audit de SQL Server 2008

- Facilite le travail de l'administrateur de bases de


données.

- Ne propose qu'un seul outil à utiliser pour l'ensemble


des catégories d'événements à auditer.

- Apparition de l’aspect sécurité.

Cas Système d’audit Cas


Introduction Avantages Inconvénients Fonctionnement Vues Conclusion
d’utilisation SQL Server d’étude

Système d'audit de SQL Server 2008

l’aspect sécurité
Les changements qui pourraient intervenir sur les audits
eux mêmes sont enregistrés, ce qui limite fortement les
possibilités de contournements par une personne mal
intentionnée. Il va de soi que les fichiers d'audit ne
soient accessibles que par un nombre restreint de
personnes.

11
02/11/2012

Cas Système d’audit Cas


Introduction Avantages Inconvénients Fonctionnement Vues Conclusion
d’utilisation SQL Server d’étude

L'audit d'une instance de SQL Server ou d'une base de


données SQL Server implique le suivi et l'enregistrement
des événements qui se produisent sur le système.

12
02/11/2012

Cas Système d’audit Cas


Introduction Avantages Inconvénients Fonctionnement Vues Conclusion
d’utilisation SQL Server d’étude

Objet de
Evénement
spécification
Select, Insert, Delate
d’audit de base de
. . .
données
Objet d’audit
Journal d’événement des
serveur
applications
Objet de
Evénement
spécification
Select, Insert, Delate
d’audit de base de
. . .
données
Objet d’audit
serveur
Evénement Objet de
LOGIN_CHANGE spécification
. . . d’audit Serveur Journal d’événement de
sécurité
Objet d’audit
serveur
Evénement
Objet de
CHANGE_STATE_SERV
spécification
ER
d’audit Serveur
. . .
Fichier

Cas Système d’audit Cas


Introduction Avantages Inconvénients Fonctionnement Vues Conclusion
d’utilisation SQL Server d’étude

Evénement
Objet de spécification d’audit de
Select, Insert, Delate
base de données
. . .
Objet d’audit serveur Journal d’événement des applications
Evénement
Objet de spécification d’audit de
Select, Insert, Delate
base de données
. . .
Objet d’audit serveur
Evénement
Objet de spécification d’audit
LOGIN_CHANGE
Serveur Journal d’événement de sécurité
. . .
Objet d’audit serveur
Evénement
Objet de spécification d’audit
CHANGE_STATE_SERVER
Serveur
. . .
Fichier

 Plusieurs types d'objets composent cette architecture.


 Chaque type d'objet a un rôle bien spécifique et permet de gérer les
audits à différents niveaux.
 En effet, il est possible d'auditer des événements au niveau de
l'instance SQL Server, au niveau d'une base de données ou encore au
niveau d'un schéma d'une base de données spécifique.
 Chaque audit peut être enregistré dans plusieurs types de cibles qui
peuvent être des fichiers plats ou des journaux d'événements.

13
02/11/2012

Cas Système d’audit Cas


Introduction Avantages Inconvénients Fonctionnement Vues Conclusion
d’utilisation SQL Server d’étude

Objet de
Evénement
spécification
Select, Insert, Delate
d’audit de base de
. . .
données
Objet d’audit
Journal d’événement des
serveur
applications
Objet de
Evénement
spécification
Select, Insert, Delate
d’audit de base de
. . .
données
Objet d’audit
serveur
Evénement Objet de
LOGIN_CHANGE spécification
. . . d’audit Serveur Journal d’événement de
sécurité
Objet d’audit
serveur
Evénement
Objet de
CHANGE_STATE_SERV
spécification
ER
d’audit Serveur
. . .
Fichier

Cas Système d’audit Cas


Introduction Avantages Inconvénients Fonctionnement Vues Conclusion
d’utilisation SQL Server d’étude
d’audit de base de données

- L'objet de spécification d'audit serveur est créé au


Objet de spécification

niveau de l'instance.

- Permet de transmettre différents événements ou


actions au niveau de l'instance par le biais des
événements étendus.
Objet de spécification
d’audit Serveur

- Ces événements sont rassemblés en groupes


d'événements classés par type. Le groupe
d'événements est donc ici la granularité la plus fine
qu'il est possible d'utiliser au niveau serveur.

14
02/11/2012

Cas Système d’audit Cas


Introduction Avantages Inconvénients Fonctionnement Vues Conclusion
d’utilisation SQL Server d’étude
d’audit de base de données

- Un objet de spécification d'audit de bases de


Objet de spécification

données fonctionne de la même manière qu'un objet


de spécification d'audit de serveur à quelques
différences près.
- Un objet de spécification d'audit de bases de
données écoute et transmet les événements au
Objet de spécification

niveau d'une base de données.


d’audit Serveur

- Le niveau de granularité des événements n'est pas le


même. En effet, il est possible de récupérer des
groupes d'événements ou un seul type événement.

Cas Système d’audit Cas


Introduction Avantages Inconvénients Fonctionnement Vues Conclusion
d’utilisation SQL Server d’étude

Objet de Objet de
Objet de
Evénement Objet de
spécification spécification
spécification
Select, Insert, Delate spécification
d’audit de
d’audit de base de d’audit de base
base de
de
. . . d’audit Serveur
données données
données
Objet d’audit
Journal d’événement des
serveur
applications
Objet de
Evénement
spécification
Select, Insert, Delate
d’audit de base de
. . .
données
Objet d’audit
serveur
Evénement Objet
Objet de
de
LOGIN_CHANGE spécification
spécification
. . . d’audit
d’audit Serveur
Serveur Journal d’événement de
sécurité
Objet d’audit
serveur
Evénement
Objet de
CHANGE_STATE_SERV
spécification
ER
d’audit Serveur
. . .
Fichier

15
02/11/2012

Cas Système d’audit Cas


Introduction Avantages Inconvénients Fonctionnement Vues Conclusion
d’utilisation SQL Server d’étude

Objet de
Objet de
spécification
spécification
d’audit de base de
d’audit Serveur
données

 Les connexions réussies et échouées, les


déconnexions et changements de mots de passe.
 Les changements de rôles et des utilisateurs.
 L’exécution d’une sauvegarde ou d’une
restauration.
 Les changements de paramètres, ressources,
autorisations, et permissions.
 Les changements au niveau des audits.
 Les créations, modifications et suppression de
bases de données.
 Les changements de schémas sur toutes les
bases .

Cas Système d’audit Cas


Introduction Avantages Inconvénients Fonctionnement Vues Conclusion
d’utilisation SQL Server d’étude

Objet de
Objet de
spécification
spécification
d’audit de base de
d’audit Serveur
données

 Les ordres SELECT, INSERT, UPDATE, DELETE  Les connexions réussies et échouées, les
effectués sur des objets du schéma (tables, vues, déconnexions et changements de mots de passe.
procédures stockées,…)  Les changements de rôles et des utilisateurs.

 Les changements de rôles ou d’autorisations.  L’exécution d’une sauvegarde ou d’une


restauration.
 La création, modification ou suppression  Les changements de paramètres, ressources,
d’objets de la base de données. autorisations, et permissions.
 Les changements au niveau des audits.
 Les créations, modifications et suppression de
bases de données.
 Les changements de schémas sur toutes les
bases (voir liste audit bases de données).

16
02/11/2012

Cas Système d’audit Cas


Introduction Avantages Inconvénients Fonctionnement Vues Conclusion
d’utilisation SQL Server d’étude

Objet de
Evénement
spécification
Select, Insert, Delate
d’audit de base de
. . .
données
Objet d’audit
Journal d’événement des
serveur
applications
Objet de
Evénement
spécification
Select, Insert, Delate
d’audit de base de
. . .
données
Objet d’audit
serveur
Evénement Objet de
LOGIN_CHANGE spécification
. . . d’audit Serveur Journal d’événement de
sécurité
Objet d’audit
serveur
Evénement
Objet de
CHANGE_STATE_SERV
spécification
ER
d’audit Serveur
. . .
Fichier

Cas Système d’audit Cas


Introduction Avantages Inconvénients Fonctionnement Vues Conclusion
d’utilisation SQL Server d’étude

Objet de
Evénement
spécification
Objet
Select, d’audit
Insert, Delate serveur
d’audit de base de
. . .
données
Objet d’audit
Journal d’événement des
serveur
applications
Objet de
Evénement
spécification
Select, Insert, Delate
d’audit de base de
. . .
données
Objet d’audit
serveur
Evénement Objet de
LOGIN_CHANGE spécification
. . . d’audit Serveur Journal d’événement de
sécurité
Objet d’audit
serveur
Evénement
Objet de
CHANGE_STATE_SERV
spécification
ER
d’audit Serveur
. . .
Fichier

17
02/11/2012

Cas Système d’audit Cas


Introduction Avantages Inconvénients Fonctionnement Vues Conclusion
d’utilisation SQL Server d’étude

Objet d’audit serveur

- Chaque objet d'audit SQL Server ne peut collecter les données que d'un seul
type d'objet de spécification d'audit.
- L'audit s'effectue au niveau de l'instance SQL Server et on peut exécuter
plusieurs audits par instance.
- Lorsqu’on définisse un audit, on spécifie l'emplacement de sortie des résultats.
Il s'agit de la destination de l'audit appelé cible.
- L'audit est créé dans un état désactivé et ne s'exécute pas automatiquement
pour contrôler les actions.
- Les données d'audit sont transmises vers la destination de l'audit lorsque ce
dernier est activé.

Cas Système d’audit Cas


Introduction Avantages Inconvénients Fonctionnement Vues Conclusion
d’utilisation SQL Server d’étude

Objet de
Evénement
spécification
Select, Insert, Delate
d’audit de base de
. . .
données
Objet d’audit
Journal d’événement des
serveur
applications
Objet de
Evénement
spécification
Select, Insert, Delate
d’audit de base de
. . .
données
Objet d’audit
serveur
Evénement Objet de
LOGIN_CHANGE spécification
. . . d’audit Serveur Journal d’événement de
sécurité
Objet d’audit
serveur
Evénement
Objet de
CHANGE_STATE_SERV
spécification
ER
d’audit Serveur
. . .
Fichier

18
02/11/2012

Cas Système d’audit Cas


Introduction Avantages Inconvénients Fonctionnement Vues Conclusion
d’utilisation SQL Server d’étude

Les cibles

 Les cibles sont des containers dans lesquels sont enregistrées les
données relatives aux événements audités.

 Il existe 3 types de cibles dans l'architecture d'audit SQL Server


2008.

 Deux concernent directement le journal d'évènement Windows


(APPLICATION_LOG ou SECURITY_LOG).

 Il est possible d'enregistrer les données d'événement d'audit soit


dans le journal des applications soit dans le journal de sécurité.

Cas Système d’audit Cas


Introduction Avantages Inconvénients Fonctionnement Vues Conclusion
d’utilisation SQL Server d’étude

Les cibles

 La 3ème cible concerne les fichiers plats (FILE).

 Il est possible d'utiliser un ou plusieurs de ces fichiers en roulement


(propriété MAX_ROLLOVER_FILES) pour ce type de cible à l'instar des
traces SQL Profiler.

 Il est donc nécessaire de paramétrer le chemin du ou des fichiers


(propriété FILEPATH).

 Il est enfin nécessaire de créer le répertoire qui recevra les fichiers


d'audit (le moteur ne le crée pas, mais vérifie son existence).

19
02/11/2012

Cas Système d’audit Cas


Introduction Avantages Inconvénients Fonctionnement Vues Conclusion
d’utilisation SQL Server d’étude

SQL Server fournit pour les audits des :

- Vues systèmes

- Dynamic Management View (DMV)

- Dynamic Management Function (DMF)

20
02/11/2012

Cas Système d’audit Cas


Introduction Avantages Inconvénients Fonctionnement Vues Conclusion
d’utilisation SQL Server d’étude

 sys.server_audits : Chaque ligne de cette vue correspond à


DMF

une instance d'objet d'audit SQL Server.


 sys.server_audit_specifications : Chaque ligne de cette vue
correspond à une instance d'objet de spécification d'audit
serveur.
DMV

 sys.server_audit_specification_details : Chaque ligne de


cette vue correspond à un groupe d'événements audité pour
chaque instance d'objet de spécification d'audit serveur.
Vues Systèmes

Remarque : Il peut y avoir plusieurs lignes pour une instance


d'objet de spécification d'audit serveur étant donné que celle-
ci peut auditer plusieurs groupes d'événements à la fois.

Cas Système d’audit Cas


Introduction Avantages Inconvénients Fonctionnement Vues Conclusion
d’utilisation SQL Server d’étude

 sys.database_audit_specifications : Chaque ligne de cette


DMF

vue correspond à une instance d'objet de spécification d'audit


de bases de données.

 sys.database_audit_specification_details : Chaque ligne de


cette vue correspond à un groupe d'événements ou un
DMV

événement audité pour chaque instance d'objet de


spécification d'audit de bases de données.

Remarque : De la même manière que pour les instances


Vues Systèmes

d'objets de spécification d'audit serveur, il peut exister


plusieurs lignes pour une instance d'objet de spécification
d'audit de bases de données.

21
02/11/2012

Cas Système d’audit Cas


Introduction Avantages Inconvénients Fonctionnement Vues Conclusion
d’utilisation SQL Server d’étude

 sys.dm_server_audit_statut : Cette vue permet de


DMF

connaître l'état de chaque instance d'objet d'audit SQL Server.

 sys.dm_audit_actions : Cette vue permet de lister les


événements ou groupes d'événements pouvant être
enregistrés dans un fichier de log. Il est également possible de
DMV

connaître leur niveau de configuration (bases de données ou


serveur) et à quel groupe d'événements ils appartiennent.

 sys.dm_audit_class_type_map : Cette vue retourne une


Vues Systèmes

table de correspondance entre les valeurs d'une colonne «


class_type » d'un fichier d'audit et d'une colonne « class_desc
» de la DMV sys.dm_audit_actions.

Cas Système d’audit Cas


Introduction Avantages Inconvénients Fonctionnement Vues Conclusion
d’utilisation SQL Server d’étude
DMF

sys.server_file_audits : Chaque ligne de cette vue


correspond à un fichier d'audit créé sur une instance SQL
Server.
DMV

On y retrouve notamment des informations de paramétrage


comme le nom et le chemin du fichier, sa taille maximum, le
type d'écriture (synchrone ou asynchrone), sa date de création
Vues Systèmes

etc .

22
02/11/2012

Cas Système d’audit Cas


Introduction Avantages Inconvénients Fonctionnement Vues Conclusion
d’utilisation SQL Server d’étude
DMF

 fn_get_audit_file() : Cette fonction permet d'extraire les


informations d'un fichier d'audit. Celle-ci permet également de
lire plusieurs fichiers en même temps.
DMV

Cette fonction ne peut être utilisée que pour les cibles de type
fichier plat.
Vues Systèmes

23
02/11/2012

Cas Système d’audit Cas


Introduction Avantages Inconvénients Fonctionnement Vues Conclusion
d’utilisation SQL Server d’étude

Ce cas d'étude répond à trois besoins que vous pouvez rencontrer


en entreprise :

 Auditer et enregistrer tous les changements intervenant sur les


comptes de connexion du serveur de bases de données.

 Auditer et enregistrer les changements d'état du serveur de bases


de données.

 Auditer l'accès à certains objets d'une base de données pour


connaître son utilisation réelle.

Cas Système d’audit Cas


Introduction Avantages Inconvénients Fonctionnement Vues Conclusion
d’utilisation SQL Server d’étude

Les audits des changements d'état ou de configuration du serveur


de bases de données ainsi que tous les changements relatifs à
l'accès des objets d'une base de données nommée DB_AUDIT se
feront dans un fichier plat d'une taille de 100Mo maximum, ce
qui permettra de garder un historique convenable en concordance
avec les exigences de l'entreprise. Les écritures dans le fichier se
feront de manière asynchrone avec un délai maximum d'une
seconde pour ne pas altérer de manière significative les
performances du serveur.

24
02/11/2012

Cas Système d’audit Cas


Introduction Avantages Inconvénients Fonctionnement Vues Conclusion
d’utilisation SQL Server d’étude

CREATE DATABASE DB_AUDIT;


GO
USE DB_AUDIT;
GO
CREATE TABLE dbo.access
( id INT PRIMARY KEY, name_emp VARCHAR(50) NOT NULL);
GO

Cas Système d’audit Cas


Introduction Avantages Inconvénients Fonctionnement Vues Conclusion
d’utilisation SQL Server d’étude

-- création instance cible journal d’application windows


USE master
GO
-- Cible --> journal d'application Windows
CREATE SERVER AUDIT application_log_modif_status_server
TO FILE
(FILEPATH = 'E:\audit\',
MAXSIZE = 100 MB,
RESERVE_DISK_SPACE = ON)
WITH
(QUEUE_DELAY = 1000,
ON_FAILURE = CONTINUE);

25
02/11/2012

Cas Système d’audit Cas


Introduction Avantages Inconvénients Fonctionnement Vues Conclusion
d’utilisation SQL Server d’étude

-- Activitation de l'instance d'objet audit SQL Server


ALTER SERVER AUDIT application_log_modif_status_server
WITH ( STATE = ON );

-- Création instance cible journal de sécurité Windows


CREATE SERVER AUDIT security_log_modif_security_login_user
TO SECURITY_LOG
WITH
(
QUEUE_DELAY = 0,
ON_FAILURE = SHUTDOWN
);

Cas Système d’audit Cas


Introduction Avantages Inconvénients Fonctionnement Vues Conclusion
d’utilisation SQL Server d’étude

-- Activation de l'instance d'objet audit SQL Server


ALTER SERVER AUDIT security_log_modif_security_login_user
WITH ( STATE = ON );

--Création instance cible Fichier plat


CREATE SERVER AUDIT file_modif_objects_database
TO FILE
(
FILEPATH = 'E:\audit\',
MAXSIZE = 100 MB,
RESERVE_DISK_SPACE = ON
)
WITH
(QUEUE_DELAY = 1000,
ON_FAILURE = CONTINUE);

26
02/11/2012

Cas Système d’audit Cas


Introduction Avantages Inconvénients Fonctionnement Vues Conclusion
d’utilisation SQL Server d’étude

-- Activation de l'instance d'objet audit SQL Server

ALTER SERVER AUDIT file_modif_objects_database


WITH ( STATE = ON );

Cas Système d’audit Cas


Introduction Avantages Inconvénients Fonctionnement Vues Conclusion
d’utilisation SQL Server d’étude

Après avoir créé et activé les objets d'audit SQL Server pour les 3 cibles
concernées, il faut ensuite effectuer un paramétrage supplémentaire pour que
SQL Server soit autorisé à écrire dans le journal de sécurité Windows. Pour
cela nous utiliserons la console de gestion des stratégies locales du serveur
mais il est également possible d'utiliser les utilitaires en ligne de commande
auditpol ou secpol. On accède à la console de gestion des stratégies locales du
serveur à partir du Panneau de configuration qui est référencée dans le menu
Outils d'administration.

27
02/11/2012

Cas Système d’audit Cas


Introduction Avantages Inconvénients Fonctionnement Vues Conclusion
d’utilisation SQL Server d’étude

Cas Système d’audit Cas


Introduction Avantages Inconvénients Fonctionnement Vues Conclusion
d’utilisation SQL Server d’étude

Il faut ajouter le compte de service du serveur SQL. Dans notre cas nous
ajouterons le compte LOCAL SYSTEM.

28
02/11/2012

Cas Système d’audit Cas


Introduction Avantages Inconvénients Fonctionnement Vues Conclusion
d’utilisation SQL Server d’étude

Cas Système d’audit Cas


Introduction Avantages Inconvénients Fonctionnement Vues Conclusion
d’utilisation SQL Server d’étude

Il faut activer les audits pour les 2 types d'accès : Réussite et Echec

29
02/11/2012

Cas Système d’audit Cas


Introduction Avantages Inconvénients Fonctionnement Vues Conclusion
d’utilisation SQL Server d’étude

USE [master];
GO
-- Audit changement statut serveur Un objet de spécification d'audit sera à
l'écoute des événements ou actions concernant les changements sur les
comptes de connexion.
CREATE SERVER AUDIT SPECIFICATION audit_change_status_server
FOR SERVER AUDIT file_modif_objects_database
ADD (SERVER_STATE_CHANGE_GROUP),
ADD (SERVER_OPERATION_GROUP),
WITH ( STATE = ON );
GO

Cas Système d’audit Cas


Introduction Avantages Inconvénients Fonctionnement Vues Conclusion
d’utilisation SQL Server d’étude

-- Audit modification sécurité des comptes de connexion, un objet de


spécification d'audit sera destiné aux changements d'état intervenant sur le
serveur.
CREATE SERVER AUDIT SPECIFICATION audit_modif_users_logins
FOR SERVER AUDIT security_log_modif_security_login_user
ADD (FAILED_LOGIN_GROUP), -- Connexion échouée
ADD (LOGIN_CHANGE_PASSWORD_GROUP), -- Changement de mot passe
ADD (SERVER_ROLE_MEMBER_CHANGE_GROUP), -- Changement rôle serveur
ADD (DATABASE_ROLE_MEMBER_CHANGE_GROUP) -- Changement rôle base de données
WITH ( STATE = ON );

30
02/11/2012

Cas Système d’audit Cas


Introduction Avantages Inconvénients Fonctionnement Vues Conclusion
d’utilisation SQL Server d’étude

Nous allons ajouter à l'objet de spécification d'audit serveur nommé


audit_modif_users_login le groupe d'événement SERVER _PRINCIPAL
_CHANGE _GROUP qui permet de surveiller, entre autres, les événements de
création, de suppression et de modification de compte de connexion. Pour rappel, il
faudra, au préalable, le désactiver pour pouvoir le modifier.

Cas Système d’audit Cas


Introduction Avantages Inconvénients Fonctionnement Vues Conclusion
d’utilisation SQL Server d’étude

ALTER SERVER AUDIT SPECIFICATION audit_modif_users_logins WITH ( STATE = OFF );


-- Ajout d'un événement pour l'instance d'objet de spécification d'audit serveur
-- audit_modif_users_logins
ALTER SERVER AUDIT SPECIFICATION audit_modif_users_logins
ADD (SERVER_PRINCIPAL_CHANGE_GROUP); -- Evénement CREATE, DROP , ALTER;
ALTER SERVER AUDIT SPECIFICATION audit_modif_users_logins WITH ( STATE = ON );

31
02/11/2012

Cas Système d’audit Cas


Introduction Avantages Inconvénients Fonctionnement Vues Conclusion
d’utilisation SQL Server d’étude

Après avoir créé les objets de spécification d'audit serveur, il nous faut créer
maintenant un autre objet de spécification d'audit de bases de données pour surveiller
les événements SELECT, INSERT, UPDATE, DELETE et RERENCES en
provenance de l'utilisateur dbo pour la table dbo.access .

Cas Système d’audit Cas


Introduction Avantages Inconvénients Fonctionnement Vues Conclusion
d’utilisation SQL Server d’étude

USE DB_AUDIT
GO
-- Audit d'accès pour la table dbo.access de la base de données
-- DB_AUDIT
CREATE DATABASE AUDIT SPECIFICATION file_modif_objects_database
FOR SERVER AUDIT file_modif_objects_database
ADD (SELECT, INSERT, UPDATE, DELETE, REFERENCES ON dbo.access BY public)
WITH (STATE = ON)
GO

32
02/11/2012

Cas Système d’audit Cas


Introduction Avantages Inconvénients Fonctionnement Vues Conclusion
d’utilisation SQL Server d’étude

Les outils de visualisation d'événements diffèrent selon le type de


cible utilisé. On peut par exemple utiliser directement le journal des
événements pour un type de cible se basant sur le journal de sécurité
ou d'application. SQL Server met également à disposition une DMF
qui permet de lire les données d'audit dans un fichier plat.

Cas Système d’audit Cas


Introduction Avantages Inconvénients Fonctionnement Vues Conclusion
d’utilisation SQL Server d’étude

-- Création compte de connexion test1


CREATE LOGIN test1
WITH PASSWORD = 'test1';

-- Création compte de connexion test2


CREATE LOGIN test2
WITH PASSWORD = 'test2';

-- Modification mot de passe compte de connexion test1


ALTER LOGIN test1
WITH PASSWORD = '%test1%';

33
02/11/2012

Cas Système d’audit Cas


Introduction Avantages Inconvénients Fonctionnement Vues Conclusion
d’utilisation SQL Server d’étude

-- Modification mot de passe compte de connexion test2


ALTER LOGIN test2
WITH PASSWORD = '%test2%';

-- Ajout du compte de connexion test1 au rôle fixe de serveur sysadmin


EXEC sp_addsrvrolemember 'test1', 'sysadmin';
-- Ajout du compte de connexion test2 au rôle fixe de serveur sysadmin
EXEC sp_addsrvrolemember 'test2', 'bulkadmin';

-- Suppression du compte de connexion test1


DROP LOGIN test1;

-- Suppression du compte de connexion test2


DROP LOGIN test2;

Cas Système d’audit Cas


Introduction Avantages Inconvénients Fonctionnement Vues Conclusion
d’utilisation SQL Server d’étude

Il suffit maintenant de regarder dans le journal de sécurité de Windows. L'ID


de l'événement généré par les audits SQL Server 2008 dans le journal de
sécurité est égale à 33205. Voici un exemple de ce que l'on trouve dans le
journal après avoir exécuté les scripts TSQL ci-dessus :

34
02/11/2012

Cas Système d’audit Cas


Introduction Avantages Inconvénients Fonctionnement Vues Conclusion
d’utilisation SQL Server d’étude

// Declencher un changement dans les options de configuration du serveur.


EXEC sp_configure 'show advanced options', 1;
GO
RECONFIGURE;
GO
EXEC sp_configure 'xp_cmdshell' , 1;
GO
RECONFIGURE;

// Redémarrer le serveur de base de donnée


net stop mssqlserver /y && net start mssqlserver && net start sqlserveragent

Cas Système d’audit Cas


Introduction Avantages Inconvénients Fonctionnement Vues Conclusion
d’utilisation SQL Server d’étude

Pour pouvoir visualiser les enregistrements d'audits dans un fichier plat nous
utiliserons la DMF fn_get_audit_file, les vues systèmes sys.dm_audit_actions
et sys.dm _audit _class_type de la manière suivante :

35
02/11/2012

Cas Système d’audit Cas


Introduction Avantages Inconvénients Fonctionnement Vues Conclusion
d’utilisation SQL Server d’étude

SELECT
f.session_id,
a.name AS action_name,
m.class_type_desc,
a.covering_action_name,
f.statement,
f.server_principal_name
FROM fn_get_audit_file('E:\audit\application_log_modif_status_server*',
DEFAULT, DEFAULT) AS f
INNER JOIN sys.dm_audit_class_type_map AS m
ON m.class_type = f.class_type
INNER JOIN sys.dm_audit_actions AS a
ON a.action_id = f.action_id
ORDER BY event_time DESC

Cas Système d’audit Cas


Introduction Avantages Inconvénients Fonctionnement Vues Conclusion
d’utilisation SQL Server d’étude

Chaque ligne d'audit correspond à un événement. On peut remarquer pour les


instructions UPDATE et DELETE il existe 2 lignes d'audit. Quelle en est la
raison ? Dans notre cas, la requête effectue des mises à jour ou des suppressions
en utilisant un prédicat (clause WHERE). Cette action est possible à la
condition de posséder le droit

SELECT sur l'objet concerné (ici la table dbo.access). C'est la raison pour
laquelle nous aurons, à chaque fois qu'une instruction UPDATE ou DELETE
est effectuée en utilisation une clause WHERE, deux lignes correspondant aux
actions SELECT et UPDATE ou DELETE.

36
02/11/2012

Cas Système d’audit Cas


Introduction Avantages Inconvénients Fonctionnement Vues Conclusion
d’utilisation SQL Server d’étude

SQL Server 2008 possède un outil d'audit extrêmement


puissant. Cette nouvelle fonctionnalité permet de
répondre parfaitement aux aspects sécurité, performance
et gestion mais cette fonctionnalité n’ est disponible qu'en
version entreprise

37
02/11/2012

Réalisé par : Aymen DHORBANI


Walid DJEBALI CHENNAOUI
Jihed KAOUECH

38

Vous aimerez peut-être aussi