Que faire si des siloviki viennent chez votre hébergeur

Que faire si des siloviki viennent chez votre hébergeurkdpv - Reuters

Si vous louez un serveur, vous n’en avez pas le contrôle total. Cela signifie qu'à tout moment, des personnes spécialement formées peuvent se rendre chez l'hébergeur et vous demander de fournir n'importe laquelle de vos données. Et l'hébergeur les restituera si la demande est formalisée conformément à la loi.

Vous ne voulez vraiment pas que les journaux de votre serveur Web ou les données utilisateur soient divulgués à quelqu'un d'autre. Il est impossible de construire une défense idéale. Il est quasiment impossible de se protéger d’un hébergeur propriétaire de l’hyperviseur et mettant à votre disposition une machine virtuelle. Mais peut-être sera-t-il possible de réduire un peu les risques. Chiffrer les voitures de location n’est pas aussi inutile qu’il y paraît à première vue. En parallèle, examinons les menaces liées à l’extraction de données à partir de serveurs physiques.

Modèle de menace

En règle générale, l'hébergeur s'efforcera de protéger autant que possible les intérêts du client conformément à la loi. Si la lettre des autorités officielles demandait uniquement des journaux d'accès, l'hébergeur ne fournira pas de dumps de toutes vos machines virtuelles avec des bases de données. Au moins, ça ne devrait pas. S’ils demandent toutes les données, l’hébergeur copiera les disques virtuels avec tous les fichiers et vous n’en saurez rien.

Quel que soit le scénario, votre objectif principal est de rendre l’attaque trop difficile et trop coûteuse. Il existe généralement trois options principales de menace.

Officiel

Le plus souvent, une lettre papier est envoyée au bureau officiel de l'hébergeur avec l'obligation de fournir les données nécessaires conformément à la réglementation en vigueur. Si tout est fait correctement, l'hébergeur fournit les journaux d'accès et autres données nécessaires aux autorités officielles. Habituellement, ils vous demandent simplement d'envoyer les données nécessaires.

Parfois, si cela est absolument nécessaire, des représentants des forces de l'ordre se rendent en personne au centre de données. Par exemple, lorsque vous disposez de votre propre serveur dédié et que les données qui en proviennent ne peuvent être récupérées que physiquement.

Dans tous les pays, pour accéder à une propriété privée, effectuer des perquisitions et d’autres activités, il faut prouver que les données peuvent contenir des informations importantes pour l’enquête sur un crime. De plus, un mandat de perquisition exécuté conformément à tous les règlements est requis. Il peut y avoir des nuances liées aux particularités de la législation locale. La principale chose que vous devez comprendre est que si le chemin officiel est correct, les représentants du centre de données ne laisseront personne passer l'entrée.

De plus, dans la plupart des pays, vous ne pouvez pas simplement retirer votre équipement de course. Par exemple, en Russie, jusqu'à fin 2018, conformément à l'article 183 du Code de procédure pénale de la Fédération de Russie, partie 3.1, il était garanti que lors d'une saisie, la saisie des supports de stockage électroniques était effectuée avec la participation d'un spécialiste. A la demande du propriétaire légal des supports de stockage électroniques saisis ou du propriétaire des informations qu'ils contiennent, le spécialiste participant à la saisie, en présence de témoins, copie les informations des supports de stockage électroniques saisis vers d'autres supports de stockage électroniques.

Malheureusement, ce point a été supprimé de l’article.

Secret et non officiel

C'est déjà le territoire d'activité de camarades spécialement formés de la NSA, du FBI, du MI5 et d'autres organisations à trois lettres. Le plus souvent, la législation des pays confère à de telles structures des pouvoirs extrêmement étendus. De plus, il existe presque toujours une interdiction législative de toute divulgation directe ou indirecte du fait même de la coopération avec ces organismes chargés de l'application des lois. Il y en a des similaires en Russie dispositions légales.

En cas de telle menace pour vos données, celles-ci seront presque certainement supprimées. De plus, en plus d'une simple saisie, tout l'arsenal non officiel de portes dérobées, de vulnérabilités zero-day, d'extraction de données de la RAM de votre machine virtuelle et d'autres joies peut être utilisé. Dans ce cas, l'hébergeur sera obligé d'assister autant que possible les spécialistes des forces de l'ordre.

Employé sans scrupules

Tous les gens ne sont pas également bons. L'un des administrateurs du centre de données peut décider de gagner plus d'argent et de vendre vos données. Les développements ultérieurs dépendent de ses pouvoirs et de son accès. Le plus ennuyeux est qu'un administrateur ayant accès à la console de virtualisation a un contrôle total sur vos machines. Vous pouvez toujours prendre un instantané avec tout le contenu de la RAM, puis l'étudier lentement.

SDV

Vous disposez donc d’une machine virtuelle que l’hébergeur vous a fournie. Comment mettre en œuvre le cryptage pour vous protéger ? En fait, pratiquement rien. De plus, même le serveur dédié de quelqu’un d’autre peut finir par être une machine virtuelle dans laquelle les périphériques nécessaires sont insérés.

Si la tâche du système distant n'est pas seulement de stocker des données, mais d'effectuer certains calculs, alors la seule option pour travailler avec une machine non fiable serait d'implémenter cryptage homomorphe. Dans ce cas, le système effectuera des calculs sans pouvoir comprendre exactement ce qu’il fait. Malheureusement, les frais généraux liés à la mise en œuvre d’un tel chiffrement sont si élevés que son utilisation pratique est actuellement limitée à des tâches très restreintes.

De plus, au moment où la machine virtuelle est en cours d'exécution et effectue certaines actions, tous les volumes cryptés sont dans un état accessible, sinon le système d'exploitation ne pourra tout simplement pas fonctionner avec eux. Cela signifie qu'en ayant accès à la console de virtualisation, vous pouvez toujours prendre un instantané d'une machine en cours d'exécution et extraire toutes les clés de la RAM.

De nombreux fournisseurs ont tenté d'organiser le cryptage matériel de la RAM afin que même l'hébergeur n'ait pas accès à ces données. Par exemple, la technologie Intel Software Guard Extensions, qui organise les zones de l'espace d'adressage virtuel qui sont protégées contre la lecture et l'écriture en dehors de cette zone par d'autres processus, y compris le noyau du système d'exploitation. Malheureusement, vous ne pourrez pas faire pleinement confiance à ces technologies, puisque vous serez limité à votre machine virtuelle. De plus, des exemples prêts à l'emploi existent déjà attaque réussie pour cette technologie. Pourtant, chiffrer les machines virtuelles n’est pas aussi inutile qu’il y paraît.

Nous chiffrons les données sur VDS

Permettez-moi tout de suite de faire une réserve : tout ce que nous faisons ci-dessous ne constitue pas une protection à part entière. L'hyperviseur vous permettra de faire les copies nécessaires sans arrêter le service et sans que vous vous en aperceviez.

  • Si, sur demande, l’hébergeur transfère une image « froide » de votre machine virtuelle, alors vous êtes relativement en sécurité. C'est le scénario le plus courant.
  • Si l’hébergeur donne un instantané complet d’une machine en marche, alors tout va plutôt mal. Toutes les données seront montées dans le système sous forme claire. De plus, il sera possible de fouiller dans la RAM à la recherche de clés privées et de données similaires.

Par défaut, si vous avez déployé le système d'exploitation à partir d'une image Vanilla, l'hébergeur n'a pas d'accès root. Vous pouvez toujours monter le support avec l'image de secours et modifier le mot de passe root en chrootant l'environnement de la machine virtuelle. Mais cela nécessitera un redémarrage, qui sera remarqué. De plus, toutes les partitions cryptées montées seront fermées.

Cependant, si le déploiement d'une machine virtuelle ne provient pas d'une image vanille, mais d'une image pré-préparée, alors l'hébergeur peut souvent ajouter un compte privilégié pour assister en cas d'urgence chez le client. Par exemple, pour modifier un mot de passe root oublié.

Même dans le cas d'un instantané complet, tout n'est pas si triste. Un attaquant ne recevra pas de fichiers cryptés si vous les avez montés à partir du système de fichiers distant d'une autre machine. Oui, en théorie, vous pouvez sélectionner le dump RAM et en extraire les clés de cryptage. Mais en pratique cela n’est pas très anodin et il est très peu probable que le processus aille au-delà du simple transfert de fichiers.

Commander une voiture

Que faire si des siloviki viennent chez votre hébergeur

Pour nos besoins de test, nous prenons une machine simple dans section pour commander des serveurs. Nous n’avons pas besoin de beaucoup de ressources, nous choisirons donc de payer pour les mégahertz et le trafic réellement dépensés. Juste assez pour jouer avec.

Le dm-crypt classique pour l'ensemble de la partition n'a pas décollé. Par défaut, le disque est donné en un seul morceau, avec racine pour toute la partition. Réduire une partition ext4 sur une partition montée à la racine est pratiquement une brique garantie au lieu d'un système de fichiers. J'ai essayé) Le tambourin n'a pas aidé.

Création d'un conteneur crypto

Par conséquent, nous ne chiffrerons pas la partition entière, mais utiliserons des conteneurs de chiffrement de fichiers, à savoir VeraCrypt audité et fiable. Pour nos besoins, cela suffit. Tout d’abord, nous retirons et installons le package avec la version CLI du site officiel. Vous pouvez vérifier la signature en même temps.

wget https://launchpad.net/veracrypt/trunk/1.24-update4/+download/veracrypt-console-1.24-Update4-Ubuntu-18.04-amd64.deb
dpkg -i veracrypt-console-1.24-Update4-Ubuntu-18.04-amd64.deb

Nous allons maintenant créer le conteneur lui-même quelque part dans notre maison afin de pouvoir le monter manuellement au redémarrage. Dans l'option interactive, définissez la taille du conteneur, le mot de passe et les algorithmes de cryptage. Vous pouvez choisir le chiffre patriotique Grasshopper et la fonction de hachage Stribog.

veracrypt -t -c ~/my_super_secret

Installons maintenant nginx, montons le conteneur et remplissons-le d'informations secrètes.

mkdir /var/www/html/images
veracrypt ~/my_super_secret /var/www/html/images/
wget https://upload.wikimedia.org/wikipedia/ru/2/24/Lenna.png

Corrigeons légèrement /var/www/html/index.nginx-debian.html pour obtenir la page souhaitée et vous pourrez la vérifier.

Connectez-vous et vérifiez

Que faire si des siloviki viennent chez votre hébergeur
Le conteneur est monté, les données sont accessibles et envoyées.

Que faire si des siloviki viennent chez votre hébergeur
Et voici la machine après redémarrage. Les données sont stockées en toute sécurité dans ~/my_super_secret.

Si vous en avez vraiment besoin et que vous le souhaitez, vous pouvez crypter l'intégralité du système d'exploitation de sorte que lorsque vous redémarrez, il nécessite une connexion via ssh et la saisie d'un mot de passe. Cela sera également suffisant dans le cas d’un simple retrait des « données froides ». Ici instructions d'utilisation de dropbear et le chiffrement des disques distants. Bien que dans le cas du VDS, cela soit difficile et redondant.

Metal à nu

Il n’est pas si simple d’installer son propre serveur dans un data center. Le dédié de quelqu'un d'autre peut s'avérer être une machine virtuelle dans laquelle tous les appareils sont transférés. Mais quelque chose d’intéressant en termes de protection commence lorsque vous avez la possibilité de placer votre serveur physique de confiance dans un data center. Ici, vous pouvez déjà utiliser pleinement le dm-crypt traditionnel, VeraCrypt ou tout autre cryptage de votre choix.

Vous devez comprendre que si un cryptage total est mis en œuvre, le serveur ne pourra pas se restaurer tout seul après un redémarrage. Il sera nécessaire d'élever la connexion vers l'IP-KVM local, IPMI ou autre interface similaire. Après quoi, nous entrons manuellement la clé principale. Le système semble moyen en termes de continuité et de tolérance aux pannes, mais il n'existe pas d'alternative spéciale si les données sont si précieuses.

Que faire si des siloviki viennent chez votre hébergeur
Module de sécurité matérielle NCipher nShield F3

Une option plus douce suppose que les données sont cryptées et que la clé se trouve directement sur le serveur lui-même dans un HSM (Hardware Security Module) spécial. En règle générale, ce sont des appareils très fonctionnels qui fournissent non seulement une cryptographie matérielle, mais disposent également de mécanismes de détection des tentatives de piratage physique. Si quelqu'un commence à fouiller votre serveur avec une meuleuse d'angle, le HSM avec alimentation indépendante réinitialisera les clés qu'il stocke dans sa mémoire. L’attaquant obtiendra la viande hachée cryptée. Dans ce cas, le redémarrage peut se produire automatiquement.

Le retrait des clés est une option beaucoup plus rapide et plus humaine que l’activation d’une bombe thermite ou d’un parafoudre électromagnétique. Pour de tels appareils, vous serez battu très longtemps par vos voisins au rack du centre de données. De plus, dans le cas de l'utilisation JCC Opale 2 le cryptage sur le support lui-même, vous ne subissez pratiquement aucune surcharge. Tout cela se produit de manière transparente pour le système d'exploitation. Certes, dans ce cas, vous devez faire confiance au Samsung conditionnel et espérer qu'il dispose d'un AES256 honnête, et non du XOR banal.

Dans le même temps, nous ne devons pas oublier que tous les ports inutiles doivent être physiquement désactivés ou simplement remplis de connexion. Sinon, vous donnez aux attaquants la possibilité d'effectuer Attaques DMA. Si vous disposez de PCI Express ou Thunderbolt, y compris USB avec son support, vous êtes vulnérable. Un attaquant pourra mener une attaque via ces ports et accéder directement à la mémoire avec des clés.

Dans une version très sophistiquée, l’attaquant pourra réaliser une attaque à froid. En même temps, il verse simplement une bonne partie d'azote liquide dans votre serveur, retire grossièrement les barrettes mémoire gelées et en fait un dump avec toutes les clés. Souvent, un spray rafraîchissant régulier et une température d’environ -50 degrés suffisent pour mener à bien une attaque. Il existe également une option plus précise. Si vous n'avez pas désactivé le chargement depuis des appareils externes, alors l'algorithme de l'attaquant sera encore plus simple :

  1. Geler les clés USB sans ouvrir le boîtier
  2. Connectez votre clé USB bootable
  3. Utilisez des utilitaires spéciaux pour supprimer les données de la RAM qui ont survécu au redémarrage en raison du gel.

Diviser et conquérir

Ok, nous n'avons que des machines virtuelles, mais j'aimerais en quelque sorte réduire les risques de fuite de données.
Vous pouvez, en principe, essayer de réviser l’architecture et de répartir le stockage et le traitement des données entre différentes juridictions. Par exemple, le frontend avec les clés de cryptage provient d'un hébergeur en République tchèque et le backend avec les données cryptées se trouve quelque part en Russie. Dans le cas d’une tentative de saisie standard, il est extrêmement improbable que les forces de l’ordre puissent la réaliser simultanément dans différentes juridictions. De plus, cela nous assure en partie contre le scénario de prise d’instantané.

Eh bien, ou vous pouvez envisager une option complètement pure : le cryptage de bout en bout. Bien entendu, cela dépasse le cadre de la spécification et n'implique pas d'effectuer des calculs du côté de la machine distante. Cependant, il s’agit d’une option parfaitement acceptable lorsqu’il s’agit de stocker et de synchroniser des données. Par exemple, ceci est très facilement implémenté dans Nextcloud. Dans le même temps, la synchronisation, la gestion des versions et autres avantages côté serveur ne disparaîtront pas.

En tout

Il n’existe pas de systèmes parfaitement sécurisés. Le but est simplement de faire en sorte que l’attaque vaut plus que le gain potentiel.

Une certaine réduction des risques d'accès aux données sur un site virtuel peut être obtenue en combinant le cryptage et le stockage séparé avec différents hébergeurs.

Une option plus ou moins fiable consiste à utiliser votre propre serveur matériel.

Mais il faudra quand même faire confiance à l’hébergeur d’une manière ou d’une autre. Toute l’industrie repose là-dessus.

Que faire si des siloviki viennent chez votre hébergeur

Que faire si des siloviki viennent chez votre hébergeur

Source: habr.com

Ajouter un commentaire