Service du Séquestre
Le service de séquestre permet de récupérer toutes les données d’une organisation. Il ne peut être activé que lors du démarrage de l’organisation et non après.
Le cas d’utilisation typique de ce service est la réponse à une enquête menée par un service d’inspection nécessitant l’accès aux données stockées sur les espaces de travail de la (des) personne(s) impliquée(s) dans l’enquête.
Le service est géré par une clé d’autorité et une clé de service. Notez que les parties secrètes des clés d’autorité et de service ne sont utilisées qu’en mode hors ligne (c’est-à-dire qu’aucune communication directe avec le serveur Parsec n’est nécessaire), de sorte qu’elles peuvent être stockées dans un endroit sûr.
L’environnement dans lequel le service de séquestre est utilisé peut être contrôlé autant que possible.
Considérations de sécurité
Le service de séquestre utilise des clés AES-256 qui sont les éléments les plus sensibles car elles sont utilisées pour décrypter les données exportées.
Ces clés doivent donc être sauvegardées et stockées sur un support externe physiquement protégé (coffre-fort) et toutes les opérations de décryptage doivent être effectuées sur un poste de travail hors ligne.
Prérequis
Pour utiliser le service de séquestre, vous devez :
OpenSSL, pour la génération de clés
Parsec CLI (
parsec-cli)CLI du serveur Parsec (from pypi
pip install parsec-cloud)
Séquestrer la clé de service et le certificat
Vous pouvez créer la clé de service et le certificat à l’aide des commandes suivantes :
Activer le service de séquestre
openssl genrsa -aes256 -out sequester_key.private 4096 openssl rsa -in sequester_key.private -out sequester_key.pub -pubout -outform PEM
Séquestrer la clé de service et le certificat
Prudence
Cette étape doit être effectuée après l’initialisation de l’organisation, sinon le certificat du service ne sera pas accepté par le serveur.
Danger
Vous devez vous assurer que l’horloge de l’ordinateur est synchronisée avec celle du serveur (vous pouvez utiliser
date --utcpour comparer les horloges)Vous pouvez créer le certificat de séquestre à l’aide de la commande suivante :
Ajouté dans la version 3.10.0:
parsec-clipeut generer le certificat du sequestreparsec-cli sequester generate-service-certificate \ --service-label="Sequester service" \ --service-public-key=./sequester_key.pub \ --authority-private-key=./authority_key.private
python -m parsec sequester generate_service_certificate \ --service-label="Sequester service" \ --service-public-key=./sequester_key.pub \ --authority-private-key=./authority_key.private
Astuce
Cette étape, lors de l’utilisation de l’interface en ligne de commande du serveur Parsec, n’a pas besoin d’être exécutée sur la même machine que le service.
Activer le service de séquestre
Ensuite, fournissez à l’administrateur du serveur Parsec le certificat de service récemment généré.
L’administrateur doit maintenant créer le service sur le serveur :
python -m parsec sequester create_service \ --organization=organization-sequester-test \ --service-certificate=./sequester_service_certificate-ef9adae7ee9f44cc9f974fdcaaff8839-2025-02-23T21:19:35.484948Z.pem
Note
Vous devez avoir accès aux identifiants de la base de données pour cette opération.
Important
Le service de séquestre ne peut être activé que sur une organisation initialisée.
Exportation de données avec le service séquestre
Realm vs Espace de travail : Dans le vocabulaire Parsec, Espace de travail et Realm sont les deux faces d’une même pièce. En résumé, le realm est un concept côté serveur qui fait référence à la grosse pile de données cryptées, tandis que l’espace de travail est le concept côté client qui fait référence à ces données une fois décryptées.
Par conséquent, l”« exportation de realm » est l’opération qui consiste à exporter du serveur toutes les données cryptées qui, lorsqu’elles sont utilisées avec les bonnes clés de décryptage, nous permettent d’avoir un accès en lecture complet à un espace de travail à tout moment jusqu’à la date d’exportation.
Vue d’ensemble :
Une organisation existe avec un espace de travail
Un realm est exporté à l’aide de l’interface CLI du serveur. Cela génère un grand fichier
.sqlitecontenant toutes les données cryptées appartenant à ce realm.Le fichier d’exportation du realm est transféré vers une machine contenant les clés de décryptage :
Clé de service du séquestre dans le cas d’une organisation séquestrée.
Clé de l’appareil, sinon (c’est-à-dire décrypter l’exportation du realm à partir d’une machine normalement utilisée pour exécuter le client Parsec).
# On Parsec server, identity real (workspace) to export python -m parsec human_accesses \ --organization=organization-sequester-test [--db=$POSTGRESQL_URL] # This creates a file "parsec-export-$ORG-realm-$REALM-$TIMESTAMP.sqlite". python -m parsec export_realm --organization=organization-sequester-test \ --realm=<id-realm> [--db=$POSTGRESQL_URL --blockstore=$S3_URL]
Utilisation des données exportées
Utiliser parsec-cli pour monter un disque virtuel avec la donnée déchiffrée :
parsec-cli sequester mount \
--decryptor sequester:7bd707ce86df42288634f2a78db7f10e:./sequester_key.private \
parsec-export-organization-sequester-test-realm-f749b8035f6e4bd88e96ae557828a583-20250225T135312Z.sqlite
Modifié dans la version 3.10.0: La commande mount-realm-export a été renommée vers sequester mount