Ci-dessous, les différences entre deux révisions de la page.
wiki:divers:gestion_log_rgpd [2018/09/07 09:13] varens correction orthographiques |
wiki:divers:gestion_log_rgpd [2020/06/27 18:16] |
||
---|---|---|---|
Ligne 1: | Ligne 1: | ||
- | ====== Proposition de gestion des logs/ | ||
- | Cet article décrira principalement la gestion des logs, le reste des données personnelles posant moins problèmes dans la mesure où des requetes SQL devraient suffire à extraire les données | ||
- | |||
- | De plus l' | ||
- | |||
- | Vive MiNET, contribution swaggée ! (euh on se calme, faut réaliser l' | ||
- | ===== Principe général ===== | ||
- | |||
- | ==== Le but ==== | ||
- | |||
- | Dans le cadre du RGPD, nous devons pouvoir permettre aux adhérents, et plus généralement aux utilisateurs de nos services de récupérer leurs données personnelles. C'est dejà le cas, mais ce n'est pas automatisé et c'est laborieux (se connecter sur les différentes machines, déchiffrer au besoin et récupérer que ce qui appartient à une personne donnée) | ||
- | |||
- | L' | ||
- | |||
- | D' | ||
- | |||
- | ==== La manière ==== | ||
- | |||
- | Il y a d' | ||
- | * centraliser les logs | ||
- | * décentraliser, | ||
- | |||
- | Elles ont chacunes leurs avantages et inconvénients : | ||
- | |||
- | ^fonction\infrastructure^centralisée^décentralisée^ | ||
- | ^possibilité de démarrer une machine générant des logs sans dépendance (supplémentaire)|< | ||
- | ^récupération des informations facile |<color # | ||
- | ^perte de logs quasi-impossible|< | ||
- | ^chiffrement|< | ||
- | ^connexion à une BDD pour les clés de chiffrement|une seule|chaque machine| | ||
- | ^redondance|disque de(s) machine(s) + infrastructure de stockage choisie|disque de machine| | ||
- | ^stockage|n' | ||
- | |||
- | N' | ||
- | |||
- | Cependant, on sait déjà que pour certains services on devra aller chercher les données à un autre endroit (par exemple mattermost, ou encore adh, bref toutes les données personnelles qui ne sont pas des logs), cependant si on choisi de centraliser, | ||
- | |||
- | === Quel chiffrement ? === | ||
- | |||
- | == Quelles données, et comment == | ||
- | |||
- | Dans le cas des données sur le traffic, on doit prévoir de chiffrer deux fois le meme log, avec deux clés différentes : la clé du Président et celle de l' | ||
- | |||
- | Dans le cas des données personnelles lambda (c'est pas le traffic quoi), on peut simplement chiffrer avec la clé de l' | ||
- | |||
- | == Asymétrique == | ||
- | |||
- | |||
- | Pour que le chiffrement ait véritablement une utilité, vous conviendrez que l'on doit choisir une clé de chiffrement asymétrique, | ||
- | |||
- | Certe on pert en perfomance, mais on gagne en sécurité, maintenabilité, | ||
- | |||
- | Bien sur aujourd' | ||
- | |||
- | Il y a également ECIES comme algorithme de chiffrement asymétrique (à base de courbes elliptiques), | ||
- | |||
- | |||
- | == Gestion des clés == | ||
- | |||
- | En toute logique la clé du Président ne pose pas de problème (clé publique où il faut et la privée reste privée) | ||
- | |||
- | Et pour les adhérents ? Le mieux qu'on puisse faire c'est générer une clé privée à l' | ||
- | |||
- | On peut prévoir l' | ||
- | * déchiffrement dans le navigateur | ||
- | * possibilité pour l' | ||
- | * remplacement de la clé par l' | ||
- | * rotation des clés ? | ||
- | |||
- | === Et l' | ||
- | |||
- | En effet dans le cas des logs passerelle wifi ou encore proxy, clairement on se fiche de pouvoir les consulter, mais des logs d' | ||
- | |||
- | Dans tous les cas, ce genre de logs peuvent etre chiffrés et gardés également en clair, ou alors chiffrés mais avec une clé disponible pour les applications qui utilisent ces logs (typiquement ADH) et empecher ainsi le fait de pouvoir avoir des données personnelles comme on veut. | ||
- | |||
- | Si on voulait aller plus loin il faudrait que l'on puisse faire du Searchable Encryption, ce qui est possible, mais c'est encore trop naissant et pas forcément au point actuellement. Je n'ai pas encore trouvé d' | ||
- | |||
- | Une autre solution est de ne pas chiffrer betement tous les logs mais d' | ||
- | |||
- | Pour gérer le cas de l' | ||
- | |||
- | |||
- | Sachant qu'il serait bien d' | ||
- | je vois donc bien les fonctionnalités suivantes pour ce genre de système : | ||
- | * bouton sur l' | ||
- | * Sélection d'une période de débloquage possible | ||
- | * On peut bloquer l' | ||
- | |||
- | En pratique comment ça fonctionne derrière ? Allons y en essayant d' | ||
- | |||
- | Le déchiffrement dans le navigateur, et meme pire le remplacement de la clé de chiffrement nous empeche de chiffrer puisqu' | ||
- | |||
- | Je vois alors deux possibilités : | ||
- | * On continue de chiffrer et on utilise du Asymmetric Searchable Encryption (ASE), mais il faudra alors peut etre d' | ||
- | * On ne chiffre pas ses logs temporairement, | ||
- | |||
- | |||
- | ===== Les choix ===== | ||
- | |||
- | Maintenant qu'on a exposé les différentes solutions, il va falloir commencer à faire des choix. | ||
- | |||
- | Reprenons dans l' | ||
- | |||
- | Bon il va falloir décider de comment on fait notre jolie moulinette à logs, sachant qu'il va falloir au mieux répondre aux deux inconvénients de la solution, à savoir : | ||
- | * perte de logs possible dans certains cas (la gravité dépend du type de log) | ||
- | * et on ne peut pas démarrer les services (dans une certaine mesure vous allez voir) dont on veut absolument stocker les logs sans que l' | ||
- | |||
- | Y'a tout de meme des choses assez simples que l'on va décider maintenant. | ||
- | On choisit syslog et plus précisément rsyslog pour envoyer les logs à notre service de gestion de logs (On va essayer de mettre ça en HA tant qu'à faire : secure, and highly available by design : oh lala 8-) ). | ||
- | |||
- | Rsyslog car c'est déjà sur nos machines, on l' | ||
- | |||
- | Pour ce qui est de les recevoir ? On utilise déjà logstash et elasticsearch pour stocker, et après vérification logstash à les plugins qu'il faut pour ce que l'on veut faire, donc partons sur ça. | ||
- | |||
- | Pour l' | ||
- | |||
- | |||
- | Bon je crois que c'est le temps des schémas pour que tout le monde comprenne : | ||
- | {{: | ||
- | |||
- | <WRAP center round info 95%> | ||
- | J'ai écris cette proposition (qui est incomplète) sans avoir fait de tests, rien du tout, c'est pour l' | ||
- | </ |