DEVOTEAM Preuve et tracabilité GS DAYS 01/12/09. © DEVOTEAM 2009 - page 2 En bref… De la preuve...
-
Upload
amaline-quentin -
Category
Documents
-
view
105 -
download
3
Transcript of DEVOTEAM Preuve et tracabilité GS DAYS 01/12/09. © DEVOTEAM 2009 - page 2 En bref… De la preuve...
DEVOTEAMDEVOTEAMPreuve et tracabilité
GS DAYSGS DAYSGS DAYSGS DAYS 01/12/0901/12/0901/12/0901/12/09
© DEVOTEAM 2009 - page 2
En bref…En bref…
De la preuve à la trace…
Le système d’information est au cœur des entreprises… De plus en plus d’informations sont générées directement par ou pour le système d’informations …
Cette présentation a pour objet de rappeler les objectifs de la preuve et le contexte dans laquelle elle s’exerce, et de faire un focus sur la traçabilité au sein du système d’information pour, au travers d’exemples concrets, indiquer les écueils régulièrement rencontrés, et la démarche à adopter pour mettre en œuvre une véritable politique de traçabilité …
© DEVOTEAM 2009 - page 3
AgendaAgenda
Présentation de DevoteamConcept et Principe Système de Preuve Preuve ou trace ? Usage de la trace, Panorama des obligations de traçabilité,
Top 5 des constats en matière de traçabilité,Cas concret d’une application CRM Besoins Constats Préconisations
Conclusion
© DEVOTEAM 2009 - page 4
Le groupe DevoteamLe groupe Devoteam
Présentation générale du groupePrésentation générale du groupe
Présence en EMEA
Devoteam créé en 1995
Plus de 4500 consultants
Entités dans 23 pays
Evolution constante
SwedenNorwayDenmark
United Kingdom
TunisiaAlgeriaMorocco
JordanSaudi Arabia
United Arab Emirates
The NetherlandsLuxembourg
Belgium
France
ItalySpain
Turkey
Russia
PolandCzech RepublicAustriaSwitzerland
Germany
© DEVOTEAM 2009 - page 5
Devoteam et la Sécurité des systèmes d’informationDevoteam et la Sécurité des systèmes d’information+ de 400 consultants dont 130 en France en mesure de traiter + de 400 consultants dont 130 en France en mesure de traiter
tous les thèmes de la sécuritétous les thèmes de la sécurité
Veille technologiqueIntelligence et surveillance économique
Sécurité physique,Contrôle des accès aux sites
protection incendie, dégâts des eaux, foudre...
Politique technique de sécuritéStratégie d’évolution
AMOA/AMOE solution de sécuritéEtat de l’art et du marché
Identity & Acces MgntAnalyse et gestion des incidents de
sécurité…
Stratégie BCP/BRPConception de BCP/BRPTests et simulationsAnalyse des scénarii de criseOrganisation et moyensTests et simulations
Classification des risques métiers liés à l’ITStratégie de gestion des risquesMétriques d’analyse des risquesIntégration de la dimension RI dans les études d’opportunitéPilotage des risques
Standard organisationnels ou techniquesProcéduresAudits, tests d’intrusion•Physique•Processus•Organisation•Technique
Définition d’une organisation sécuritéConception de rôles et profils métier
Sensibilisation, formation
Politique de sécurité globaleTableaux de bord SSI
© DEVOTEAM 2009 - page 6
Preuve ou Trace ?Preuve ou Trace ?Concept & PrincipeConcept & Principe
Preuve : La "preuve" est la démonstration de la réalité d'un fait, d'un état, d'une circonstance ou d'une obligation. Exemples
Un aveu écrit et signé d’intrusion au SI Un contrat signé de prestation
Trace : Marque laissée par une action quelconque (= informatique) Exemples :
Un log de connexion Un hit http
TRACETRACE
PREUVEPREUVE
« Un poète doit laisser des traces de son passage, non des preuves. Seules les traces font rêver. » (citation René Char)
© DEVOTEAM 2009 - page 7
Preuve dans le droit FrançaisPreuve dans le droit FrançaisConcept & PrincipeConcept & Principe
Système Français :
© DEVOTEAM 2009 - page 8
Preuve ou Trace ?Preuve ou Trace ?Concept & PrincipeConcept & Principe
TRACETRACE
TRACETRACE TRACETRACETRACETRACE
PREUVE PREUVE
La Preuve ne se déduit pas de la trace, en l’absence d’analyse : Du contenu, Du contexte, De la provenance, De sa fiabilité,
…. Mais de tout cela à la fois, de règles et d’un jugement
© DEVOTEAM 2009 - page 9
Preuve ou Trace ?Preuve ou Trace ?Dans l’entrepriseDans l’entreprise
Concept & PrincipeConcept & Principe
Une frontière des fois «mal appréhendée dans l’entreprise » Interface d’audit mélangeant des logs et des résultats
d’opérationsDes règles de constitution de l’information qui dépendent de la provenance du « demandeur » et de sa maturité sur la problématique
© DEVOTEAM 2009 - page 10
Usage de la traceUsage de la traceConcept & Principe Concept & Principe
A destination de « tiers » « Commencement de preuve » par écrit Obligation réglementaire
Pour des besoins internes Bon fonctionnement Contrôle Statistiques
© DEVOTEAM 2009 - page 11
Panorama des obligations de traçabilitéPanorama des obligations de traçabilitéConcept & PrincipeConcept & Principe
Obligation des traçabilité pour: Contrôle des accès aux données La lutte contre la fraude Contrôle des opérations techniques Identification des utilisateurs
Droits des individus : A l’oubli A l’information A la « vie privée » au travail
CNILCNIL
ExemplesD’obligations sectorielles en France
ExemplesD’obligations sectorielles en France
SantéSanté
TelecomsTelecoms CPCECPCE LCENLCEN
Code de la santé publique
Code de la santé publique
AdministrationAdministration ONPONP
BanquesBanques CRBFCRBF MIFIDMIFID
Code du travailCode du travail
© DEVOTEAM 2009 - page 12
Top 5Top 5ConstatConstat
Devoteam au travers de ses multiples missions sur la traçabilité a constaté les points suivants :1. Peu d’entreprises disposent d’une politique relative aux
traces informatiques (nature, archivage, durée, moyens)
2. L’analyse des traces n’est réalisée qu’en cas d’incident,
3. La trace est laissée dans les mains des opérationnels,
4. Dans les expressions de besoins, la partie traçabilité se limite à « il faut des traces… au cas où..»
5. Dans les dossiers d’architecture technique, il y a souvent une confusion entre le niveau de preuve et celui de la trace,
© DEVOTEAM 2009 - page 13
BesoinsBesoinsCas concretCas concret
Disposer de traces permettant d’identifier : Qui s’est connecté ? Quelles actions ont été effectuées ? Qui a accédé à des données sensibles ou les a
modifiées ?
Traçabilité à plusieurs niveaux du SI : Application, Système d’exploitation, Base de données,
© DEVOTEAM 2009 - page 14
ConstatsConstatsCas concretCas concret
Environnement CRM - Architecture type
User Load-BalancerApplication Server
SugarCRMDatabaseMySQL
Reverse ProxyApache HTTPd
LDAP DirectoryActive Directory
© DEVOTEAM 2009 - page 15
User Load-BalancerApplication Server
SugarCRMDatabaseMySQL
Reverse ProxyApache HTTPd
LDAP DirectoryActive Directory
ConstatsConstatsCas concretCas concret
Environnement CRM - Architecture type
Constat N°1 :L’utilisateur traverse un firewall avec NAT ou un proxyConstat N°1 :L’utilisateur traverse un firewall avec NAT ou un proxy
© DEVOTEAM 2009 - page 16
User Load-BalancerApplication Server
SugarCRMDatabaseMySQL
Reverse ProxyApache HTTPd
LDAP DirectoryActive Directory
ConstatsConstatsCas concretCas concret
Environnement CRM - Architecture type
Constat N°2 :Le reverse-proxy agit un mode lnline sans transmission de l’adresse IP source (champ X-Forwarded-For)
Constat N°2 :Le reverse-proxy agit un mode lnline sans transmission de l’adresse IP source (champ X-Forwarded-For)
© DEVOTEAM 2009 - page 17
User Load-BalancerApplication Server
SugarCRMDatabaseMySQL
Reverse ProxyApache HTTPd
LDAP DirectoryActive Directory
ConstatsConstatsCas concretCas concret
Environnement CRM - Architecture type
Constat N°3 :Le champ X-Forwarded-For n’est pas enregistréRépartition de la charge sur plusieurs composantsValeurs des champs POST
Constat N°3 :Le champ X-Forwarded-For n’est pas enregistréRépartition de la charge sur plusieurs composantsValeurs des champs POST
© DEVOTEAM 2009 - page 18
User Load-BalancerApplication Server
SugarCRMDatabaseMySQL
Reverse ProxyApache HTTPd
LDAP DirectoryActive Directory
ConstatsConstatsCas concretCas concret
Environnement CRM - Architecture type
Constat N°4 :Le serveur d’application enregistre uniquement les erreurs liés à l’application et non pas son activité
Constat N°4 :Le serveur d’application enregistre uniquement les erreurs liés à l’application et non pas son activité
© DEVOTEAM 2009 - page 19
User Load-BalancerApplication Server
SugarCRMDatabaseMySQL
Reverse ProxyApache HTTPd
LDAP DirectoryActive Directory
ConstatsConstatsCas concretCas concret
Environnement CRM - Architecture type
Constat N°5 :Seules les erreurs d’authentification sont enregistrées
Constat N°5 :Seules les erreurs d’authentification sont enregistrées
© DEVOTEAM 2009 - page 20
User Load-BalancerApplication Server
SugarCRMDatabaseMySQL
Reverse ProxyApache HTTPd
LDAP DirectoryActive Directory
ConstatsConstatsCas concretCas concret
Environnement CRM - Architecture type
Constat N°6 :Enregistrement des erreurs SQL ou des requêtes trop lentes
Constat N°6 :Enregistrement des erreurs SQL ou des requêtes trop lentes
© DEVOTEAM 2009 - page 21
Exemple CRM – Traces par défautExemple CRM – Traces par défautCas concretCas concret
Erreur d’authentification : Reverse Proxy : Apache HTTPd
SugarCRM :
192.168.0.1 - - [09/Nov/2009:22:26:19 +0100] "POST /sugarcrm/index.php HTTP/1.1" 302 1923192.168.0.1 - - [09/Nov/2009:22:26:19 +0100] "GET /sugarcrm/index.php?module=Users&action=Login HTTP/1.1" 200 14769
Mon Nov 9 22:26:19 2009 [2870][-none-][FATAL] [LDAP ERROR][49]Invalid credentialsMon Nov 9 22:26:19 2009 [2870][-none-][FATAL] [LDAP] ATTEMPTING BIND USING BASE DN PARAMSMon Nov 9 22:26:19 2009 [2870][-none-][FATAL] [LDAP ERROR][49]Invalid credentialsMon Nov 9 22:26:19 2009 [2870][-none-][FATAL] SECURITY: User authentication for jdoe failedMon Nov 9 22:26:19 2009 [2870][-none-][FATAL] SECURITY: User authentication for jdoe failedMon Nov 9 22:26:19 2009 [2870][-none-][FATAL] FAILED LOGIN:attempts[1] - jdoe
© DEVOTEAM 2009 - page 22
Exemple CRM – Traces par défautExemple CRM – Traces par défautCas concretCas concret
Authentification réussie : Reverse Proxy : Apache HTTPd
SugarCRM :
192.168.0.1 - - [09/Nov/2009:22:28:03 +0100] "POST /sugarcrm/index.php HTTP/1.1" 302 1365192.168.0.1 - - [09/Nov/2009:22:28:04 +0100] "GET /sugarcrm/index.php?module=Home&action=index HTTP/1.1" 200 88101
Pas de traces
© DEVOTEAM 2009 - page 23
Exemple CRM – Traces par défautExemple CRM – Traces par défautCas concretCas concret
Création d’un « deal client » : Reverse Proxy : Apache HTTPd
SugarCRM :
192.168.0.1 - - [09/Nov/2009:22:30:12 +0100] "POST /sugarcrm/index.php HTTP/1.1" 302 24375192.168.0.1 - - [09/Nov/2009:22:30:13 +0100] "GET /sugarcrm/index.php?action=DetailView&module=Leads&record=6c90ef05-b866-d5dc-2a67-4af8895a3064&return_module=Leads&return_action=DetailView HTTP/1.1" 200 66777192.168.0.1 - - [09/Nov/2009:22:30:15 +0100] "GET /sugarcrm/modules/Leads/Lead.js?s=406eb82451ea23dbdae83a3843b3833a&c=1 HTTP/1.1" 200 3675192.168.0.1 - - [09/Nov/2009:22:30:15 +0100] "GET /sugarcrm/include/SugarFields/Fields/Datetimecombo/Datetimecombo.js HTTP/1.1" 200 6685
Pas de traces
© DEVOTEAM 2009 - page 24
Bilan de l’existant par défautBilan de l’existant par défautCas concretCas concret
Champ Reverse-Proxy Application
Heure X X
Adresse IP X
Utilisateur X
Id Session
Action réalisée URL d’accès Erreur de l’application
© DEVOTEAM 2009 - page 25
ConstatsConstatsCas concretCas concret
Problématique: comment lier tous ses événements entre eux ? Quels sont les identifiants communs ?
Exemple d’identifiants entre les traces : Reverse-Proxy : date / numéro de session (Cookie
? Session ID ?) Annuaire LDAP : date / utilisateur Serveur d’application : date / numéro de session
(Cookie ? Session ID ?)
© DEVOTEAM 2009 - page 26
Amélioration de la traçabilitéAmélioration de la traçabilitéCas concretCas concret
Configuration de l’application : Niveau de traces : information Modification du module de logging (ajout des
champs SessionId & Utilisateur)
Configuration d’Apache : Modification du format des traces (LogFormat)
Configuration de PHP : Modification du paramètre session.auto_start,
session.use_cookie_only
© DEVOTEAM 2009 - page 27
Exemple CRM – Traces après modificationsExemple CRM – Traces après modificationsCas concretCas concret
Erreur d’authentification : Reverse Proxy : Apache HTTPd
SugarCRM :
192.168.0.1 - - d58a9d7db5d4889fec85da0ca0d234ef [11/Nov/2009:11:04:56 +0100] "POST /sugarcrm/index.php HTTP/1.1" 302 1367192.168.0.1 - - d58a9d7db5d4889fec85da0ca0d234ef [11/Nov/2009:11:04:57 +0100] "GET /sugarcrm/index.php?module=Users&action=Login HTTP/1.1" 200 14825
Wed Nov 11 11:04:57 2009 [4612][d58a9d7db5d4889fec85da0ca0d234ef][][FATAL] SECURITY: User authentication for admin failedWed Nov 11 11:04:57 2009 [4612][d58a9d7db5d4889fec85da0ca0d234ef][][FATAL] FAILED LOGIN:attempts[1] - admin
© DEVOTEAM 2009 - page 28
Exemple CRM – Traces après modificationsExemple CRM – Traces après modificationsCas concretCas concret
Authentification réussie : Reverse Proxy : Apache HTTPd
SugarCRM :
192.168.0.1 - - eb45f7ae174bb94a2f946ff047eb38bf [11/Nov/2009:11:12:04 +0100] "POST /sugarcrm/index.php HTTP/1.1" 302 1367192.168.0.1 - - eb45f7ae174bb94a2f946ff047eb38bf [11/Nov/2009:11:12:05 +0100] "GET /sugarcrm/index.php?module=Home&action=index HTTP/1.1" 200 95361
Wed Nov 11 11:12:05 2009 [4618][eb45f7ae174bb94a2f946ff047eb38bf][][INFO] Query:SELECT users.* FROM users WHERE users.id = '1' AND users.deleted=0 LIMIT 0,1Wed Nov 11 11:12:05 2009 [4618][eb45f7ae174bb94a2f946ff047eb38bf][][INFO] Query Execution Time:0.00599884986877Wed Nov 11 11:12:05 2009 [4618][eb45f7ae174bb94a2f946ff047eb38bf][admin][INFO] Query:SELECT u1.first_name, u1.last_name from users u1, users u2 where u1.id = u2.reports_to_id AND u2.id = '1' and u1.deleted=0Wed Nov 11 11:12:05 2009 [4618][eb45f7ae174bb94a2f946ff047eb38bf][admin][INFO] Query Execution Time:0.00301790237427
© DEVOTEAM 2009 - page 29
Exemple CRM – Traces après modificationsExemple CRM – Traces après modificationsCas concretCas concret
Création d’un « deal client » : Reverse Proxy : Apache HTTPd
SugarCRM :
192.168.0.1 - - eb45f7ae174bb94a2f946ff047eb38bf [11/Nov/2009:11:15:17 +0100] "POST /sugarcrm/index.php HTTP/1.1" 302 26818
Wed Nov 11 11:15:18 2009 [4611][eb45f7ae174bb94a2f946ff047eb38bf][admin][INFO] Insert: INSERT into leads set id='759cf253-8a03-0802-2fc2-4afa8e0f7341', date_entered='2009-11-11 10:15:18', date_modified='2009-11-11 10:15:18', modified_user_id='1', created_by='1', description=null, deleted='0', assigned_user_id='1', salutation=null, first_name=null, last_name='Joe Doe', title=null, department=null, do_not_call='0', phone_home=null, phone_mobile=null, phone_work=null, phone_other=null, phone_fax=null, primary_address_street=null, primary_address_city=null, primary_address_state=null, primary_address_postalcode=null, primary_address_country=null, alt_address_street=null, alt_address_city=null, alt_address_state=null, alt_address_postalcode=null, alt_address_country=null, converted='0', refered_by=null, lead_source='Email', lead_source_description=null, status='New', status_description=null, account_name=null, contact_id=null, account_id=null, opportunity_id=null, campaign_id=null
© DEVOTEAM 2009 - page 30
Bilan amélioration de la traçabilitéBilan amélioration de la traçabilitéCas concretCas concret
Champ Reverse-Proxy Application
Heure X X
Adresse IP X X
Utilisateur X
Id Session X X
Action réalisée URL d’accèsActivité SQL au sein de
l’application
© DEVOTEAM 2009 - page 31
Bilan amélioration de la traçabilitéBilan amélioration de la traçabilitéCas concretCas concret
Besoins Avant Après
Qui s’est connecté ? ○ ●
Quelles actions ont été effectuées ? ○
Qui a accédé à des données sensibles ou les a modifiées ? ○
© DEVOTEAM 2009 - page 32
Bilan amélioration de la traçabilitéBilan amélioration de la traçabilitéCas concretCas concret
Un système de traitement doit être mis en place afin de collecter les traces en temps-réel et de les centraliser
Apports : Sécurisation des traces, Stockage des données, Console unique d’investigation
© DEVOTEAM 2009 - page 33
Amélioration de la traçabilitéAmélioration de la traçabilitéCas concretCas concret
Ce cas concret met en exergue :
La traçabilité d’un processus n’est pas induite …
Les composants du SI peuvent être très « verbeux »… mais c’est beaucoup de bruit pour rien…
L’amélioration de la traçabilité peut être techniquement « simple » si elle est la conséquence d’un « besoin formalisé »
© DEVOTEAM 2009 - page 34
Conservation de la traceConservation de la traceConclusionConclusion
Pas d’obligation formelle quant au mode de conservation des traces ( Trace = Commencement de preuve par écrit)
Par contre, les mécanismes qui seront mis en œuvre pour en garantir sa fiabilité participeront à l’évaluation de sa pertinence Intégration des traces dans le processus d’archivage
électronique légal Record Management (Moreq 2) Archivage légal - NF Z 42-013, ISO 15489
© DEVOTEAM 2009 - page 35
Preuve et traçabilitéPreuve et traçabilitéConclusionConclusion
Les traces générées par le SI pourront corroborées des faits et apporter des éléments de preuve….
Encore faut-il que soit générées les traces utiles et pertinentes à l’analyse et diagnostic….
POLITIQUE DE TRACE
TABLEAU DE BORD
INVESTIGATION
INTEGRATION
Log Management
Lifecycle
Processus d’amélioration de la traçabilité au sein du SI
© DEVOTEAM 2009 - page 3636
ContactContact
© Devoteam SolutionsThis document is not to be copied or
reproduced in any way without the express permission of Devoteam Solutions.
AUSTRIA
BELGIUM
CZECH REPUBLIC
DENMARK
FRANCE
MOROCCO
NETHERLANDS
NORWAY
POLAND
SAUDI ARABIA
SPAIN
SWEDEN
SWITZERLAND
UNITED ARAB EMIRATES
UNITED KINGDOM
CONTACT
Person: David BIGOT Yann FAREAU
Phone: +33.1.41.49.54.89
E-mail:
[email protected] / [email protected]
Address : 73, rue anatole France, 92300 Levallois Perret
DOCUMENT
ID: 20090122
Authors: David BIGOT / Yann FAREAU
Date: 2009