|
DBARS : L'Enregistrement
Intégral des Accès à Vos Données Sensibles DB2 for z/OS
Le contexte
Dans les environnements informatiques distribués, la
protection des données sensibles et confidentielles de l'entreprise prend une
importance vitale. Cependant, il est souvent difficile aux personnes en charge
de la sécurité de déterminer où et comment telle ou telle donnée a été accédée.
Les données sensibles sont généralement stockées dans
des tables définies comme étant ‘auditables’ dans le catalogue DB2. Une trace
d’audit DB2 peut être activée afin de vérifier que seuls les utilisateurs
autorisés accèdent aux données. Le tracing DB2 va également enregistrer les
instructions SQL qui accèdent aux tables d'audit. La log d’analyse de DB2
montrera alors les modifications réelles des données.
Les méthodes standard de DB2 ne peuvent cependant être
utilisées afin d’enregistrer l’intégralité des accès aux données sensibles,
pour les raisons suivantes
- Les
enregistrements de trace d’audit n’enregistrent que la première
instruction SQL de lecture ou d’écriture au cours d'une
interrogation.
- Les
enregistrements de trace ne fournissent pas le contenu des informations
variables associées à l’instruction SQL. Sans cette information,
l’enregistrement détaillé des accès est impossible.
- L’audit
de DB2 requiert la mise en place d’une trace spécifique. Si de nombreuses
tables sont auditées ou utilisées de manière intensive, le coût
d’exploitation des traces peut s’avérer excessif.
Néanmoins, un enregistrement complet des accès peut
être indispensable à des fins de sécurité ou de respect de la vie privée. De
plus, les instructions enregistrées devraient être facilement accessibles aux
auditeurs et aux responsables de la sécurité.
La
solution DBARS
DB2
Access Recording Services - "DBARS" - est un produit développé
par Software
Product Research.
- DBARS
enregistre tous les accès aux données sensibles dans des tables d'audit
DB2, en enregistrant les instructions SQL utilisées
lors de l'accès. Selon le niveau d'audit défini au moment
de la création de la table, les accès de lecture (SELECT) et
d'écriture (DELETE, INSERT and UPDATE)
seront enregistrés.
- DBARS
enregistre toutes les données variables associées aux instructions SQL.
- DBARS
stocke les instructions SQL interceptées dans une table DB2 appelée
le Recorder.
- DBARS
comprend un utilitaire puissant de scan des évènements enregistrés par le Recorder.
- DBARS dispose
de sa propre interface vers DB2 et ne dépend pas du
tracing DB2. En conséquence, le surplus d'enregistrements
est tout à fait raisonnable.
La
Table
Recorder
Lors
de chaque accès de la table auditée, DBARS insère les données
suivantes dans la table Recorder :
-
la date et l'heure de l'accès
-
le nom du serveur d'applications
DB2 accédé
-
le nom du requêteur d'application
DB2 (identique au serveur d'application pour l'accès en local)
-
le userid DB2 et z/OS
-
l'ID de corrélation (par exemple
le nom de job z/OS lors de l'accès en batch)
-
le
type de connexion (par ex. batch, CICS)
-
le
type d'accès (dynamique ou statique)
-
le
LUW_id
-
le nom de l'application externe
lors d'un accès distribué
-
le nom de la station de travail
lors d'un accès distribué
-
le nom du programme utilisé pour
l'accès
-
le nombre de lignes modifiées
par l'instruction
-
le SQLCODE de l'instruction (indiquant
les accès réussis ou ayant échoué)
-
Le
texte de la requête SQL exécutée, et les informations variables de l'instruction
remplacées par leur contenu.
Par exemple:
Si une application est codée ainsi :
EXEC SQL INSERT INTO T1 (C1, C2) VALUES (:hostvar_1, :hostvar_2)
et les valeurs de hostvar_1 et hostvar_2 sont 40 et
765 au moment de l'éxécution,
l'instruction sera enregistrée ainsi : INSERT INTO T1 (C1, C2) VALUES (40, 765)
Le Recorder
en détail
L'utilitaire
de scan du
Recorder recherche
dans
la
table du Recorder les
évènements spécifiques d'accès. Vous avez la possibilité de
spécifier les critères de recherche suivants :
- Une
ou plusieurs colonnes de la table Recorder table
- Les
noms des colonnes des tables utilisées dans l'instruction
SQL enregistrée. On pourra ainsi lancer un rapport sur toutes
les instructions SQL référençant les colonnes des tables
spécifiées
- Les
noms des colonnes des tables avec une valeur spécifique. Le
rapport comprendra toutes les requêtes faisant appel à la
colonne de la table avec la valeur spécifiée. Cette option
génèrera un rapport sur tous les accès enregistrés pour
une table donnée 'clé'.
Le
programme de scan du
Recorder s'éxécute sous TSO. Il comprend les fonctions complémentaires suivantes
:
- Les
valeurs de recherches spécifiées pour les colonnes de la
table du recorder peuvent contenir des expressions DB2.
Par exemple : Program Name NOT LIKE DSQ%
- Le
programme peut être utilisé pour scanner la table de résultat d'archives
(décrite ci-après)
- Les
arguments de recherche fournis par l'utilisateur peuvent
être sauvegardés dans une table DB2 puis rappelés dans une
session de scan ultèrieurement. La table USERPARMS peut
sauvegarder jusqu'à 32 jeux d'argument de recherche table.
Exemple de Requêtes du
Recorder :
Rapport
de Synthèse des Accès
Le
programme de Synthèse des Accès accepte les mêmes critères de
recherche que le scan Recorder. Le programme dispose d'une
vue hiérarchique des évènements d'accès enregistrés.
- Typiquement,
la synthèse des accès est appelée afin d'afficher, pour une table donnée,
la liste des utilisateurs ayant accédé la table dans une
période de temps donnée.
- Pour
un utilisateur donné, une liste de programmes peut
être demandée, afin de lister tous les programmes utilisés
par cette personne afin d'accéder à la table.
- Dans
la liste de programmes, une liste d'instructions peut
être spécifiée pour une programme donné. Cette liste affichera
toutes les instructions SQL exécutées par l'utilisateur
sur la table DB2.
Archivage
du Recorder
La
fonction d'archivage de
DBARS transfère la table Recorder sur un disque séquentiel ou un
dataset sur bande, afin de conserver les informations enregistrées. Cette fonction
d'archivage n'interrompt pas le processus d'enregistrement.
DBARS
comprend un utilitaire de scan des données Recorder archivées, à l'aide des
mêmes critères de recherche que ceux précisés plus haut. L'utilisateur
peut au choix lancer un rapport d'impression ou une table DB2
de résultats, cette dernière pouvant être utilisée pour un scan
interactif du Recorder.
Considérations
Opérationnelles
DBARS
est composé de 3 composants, s'éxécutant de manière asynchrones dans le même
espace adresse z/OS.
- Le
composante
DB2 interface task qui intercepte et place en file d'attente toutes
les instructions exécutées.
- Le
composant
writer task qui insère toutes les instructions SQL dans la table Recorder.
Customisation
de
DBARS
- Le
Recorder est une table DB2 normale pouvant être utilisée dans les procédures
standard du client.
- Un
exit utilisateur peut être installé et invoqué à chaque
fois qu'un accès est enregistré dans le Recorder.Cet
exit est écrit en REXX et peut recevoir toutes les colonnes
de la table Recorder en entrée.
Près-requis
- z/OS version 1.1 ou supérieur
- DB2 Server for z/OS version 7 ou supérieur
|