Nouveau - Interface graphique sous Windows !

DBARS

 

AccueilGroovy ?ProduitsNewsPartenairesContact


 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 :

  • Le contexte de l'éxecution de l'instruction :

  • 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 composant master task qui comprend également l'interface de commande opérateur.

  • 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