kdpv â Reuters
Si vous avez loué un serveur, vous n'avez pas un contrÎle total sur celui-ci. Cela signifie qu'à tout moment, des personnes spécialement formées peuvent se rendre chez l'hébergeur et demander toutes vos données. Et l'hébergeur les remettra si la demande est faite légalement.
Vous ne voulez vraiment pas que les logs de votre serveur web ou les donnĂ©es des utilisateurs tombent entre de mauvaises mains. Il est impossible d'atteindre une protection parfaite. Se protĂ©ger contre un hĂ©bergeur qui possĂšde l'hyperviseur et vous fournit une machine virtuelle est presque impossible. Cependant, il est peut-ĂȘtre possible de rĂ©duire lĂ©gĂšrement les risques. Le chiffrement des machines louĂ©es n'est pas aussi inutile qu'il y paraĂźt au premier abord. Par la mĂȘme occasion, examinons les menaces liĂ©es Ă l'extraction de donnĂ©es des serveurs physiques.
ModĂšle de menace
En rĂšgle gĂ©nĂ©rale, l'hĂ©bergeur s'efforcera de protĂ©ger au maximum les intĂ©rĂȘts du client, autant que la loi le permet. Si une demande dans une lettre d'organes officiels ne requiert que les logs d'accĂšs, l'hĂ©bergeur ne fournira pas les dumps de toutes vos machines virtuelles contenant des bases de donnĂ©es. En tout cas, il ne devrait pas. Si l'on demande toutes les donnĂ©es, l'hĂ©bergeur copiera les disques virtuels avec tous les fichiers et vous ne serez mĂȘme pas au courant.
Quelle que soit l'évolution des événements, votre principal objectif est de rendre une attaque trop complexe et coûteuse. Il existe généralement trois types principaux de menaces.
Officiel
Le plus souvent, un courrier papier est envoyĂ© au bureau officiel de l'hĂ©bergeur avec une demande de fournir les donnĂ©es nĂ©cessaires conformĂ©ment Ă l'arrĂȘtĂ© en vigueur. Si tout est en ordre, l'hĂ©bergeur fournit les logs d'accĂšs nĂ©cessaires et d'autres donnĂ©es aux autoritĂ©s officielles. En gĂ©nĂ©ral, il suffit de demander les donnĂ©es nĂ©cessaires.
Il arrive que, si cela est vraiment nĂ©cessaire, des reprĂ©sentants des forces de l'ordre se rendent en personne dans le centre de donnĂ©es. Par exemple, lorsque vous avez votre propre serveur dĂ©diĂ© et que les donnĂ©es ne peuvent ĂȘtre rĂ©cupĂ©rĂ©es que physiquement.
Dans tous les pays, l'accĂšs Ă une propriĂ©tĂ© privĂ©e, les perquisitions et d'autres actions nĂ©cessitent des preuves que ces donnĂ©es peuvent contenir des informations importantes pour une enquĂȘte criminelle. De plus, un mandat d perquisition dĂ»ment Ă©tabli est requis. Il peut y avoir des nuances liĂ©es aux spĂ©cificitĂ©s de la lĂ©gislation locale. L'essentiel Ă comprendre est que, si les procĂ©dures officielles sont correctement suivies, les reprĂ©sentants du Data Center ne laisseront passer personne au-delĂ du point de contrĂŽle.
De plus, dans la plupart des pays, il n'est pas possible de simplement s'emparer d'équipements en fonctionnement. Par exemple, en Russie, jusqu'à la fin de 2018, selon l'article 183 du Code de procédure pénale, partie 3.1, il était garanti que lors de la saisie, le retrait des supports d'information électroniques se faisait en présence d'un spécialiste. à la demande du propriétaire légal des supports d'information électroniques ou du détenteur des informations qu'ils contiennent, le spécialiste participant à la saisie, en présence de témoins, copiait les informations sur d'autres supports d'information électroniques.
Puis, malheureusement, ce paragraphe a été supprimé de l'article.
Secret et non officiel
C'est déjà le territoire d'action des collÚgues spécialement formés de la NSA, du FBI, du MI5 et d'autres organisations aux acronymes. Le plus souvent, la législation des pays prévoit des pouvoirs trÚs étendus pour de telles structures. De plus, il y a presque toujours une interdiction légale de toute divulgation directe ou indirecte du simple fait de collaborer avec de telles agences sécuritaires. En Russie, il existe des normes analogues. .
En cas de menace de ce type pour vos donnĂ©es, elles seront presque certainement extraites. De plus, en plus de la simple saisie, tout l'arsenal non officiel de portes dĂ©robĂ©es, de vulnĂ©rabilitĂ©s zero-day, l'extraction de donnĂ©es depuis la mĂ©moire vive de votre machine virtuelle et d'autres rĂ©jouissances peuvent ĂȘtre utilisĂ©s. L'hĂ©bergeur sera alors obligĂ© d'assister au maximum les spĂ©cialistes des forces de l'ordre.
Employé malveillant
Tous les gens ne sont pas également bienveillants. Certains administrateurs de centre de données peuvent décider de gagner un peu d'argent en vendant vos données. La suite des événements dépend de leurs autorisations et accÚs. Le plus désagréable est qu'un administrateur ayant accÚs à la console de virtualisation a un contrÎle total sur vos machines. Il est toujours possible de prendre un snapshot avec tout le contenu de la mémoire vive et de l'examiner tranquillement par la suite.
â serveur dĂ©diĂ© virtuel.
Vous avez donc une machine virtuelle fournie par votre hĂ©bergeur. Comment pouvez-vous organiser le chiffrement pour vous protĂ©ger ? En rĂ©alitĂ©, il est presque impossible de le faire. De plus, mĂȘme un serveur dĂ©diĂ© d'un tiers peut finalement s'avĂ©rer ĂȘtre une machine virtuelle, dans laquelle les dispositifs nĂ©cessaires sont connectĂ©s.
Si le but de la machine distante n'est pas seulement de stocker des donnĂ©es, mais d'effectuer certains calculs, la seule option pour travailler avec un systĂšme non fiable sera de mettre en Ćuvre . Cela signifie que le systĂšme pourra effectuer des calculs sans possibilitĂ© de comprendre exactement ce qu'il fait. Malheureusement, les frais gĂ©nĂ©raux pour mettre en Ćuvre un tel chiffrement sont si Ă©levĂ©s que son application pratique est actuellement limitĂ©e Ă des tĂąches trĂšs spĂ©cifiques.
De plus, pendant que la machine virtuelle est en fonctionnement et effectue certaines actions, tous les volumes chiffrés sont accessibles, sinon le systÚme d'exploitation ne pourrait tout simplement pas travailler avec eux. Cela signifie qu'avec un accÚs à la console de virtualisation, vous pouvez toujours prendre un snapshot de la machine en cours d'exécution et extraire toutes les clés de la mémoire vive.
De nombreux fournisseurs ont tentĂ© de mettre en place un chiffrement 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 crĂ©e des zones dans l'espace d'adressage virtuel, protĂ©gĂ©es contre la lecture et l'Ă©criture externes de cette zone par d'autres processus, y compris le noyau du systĂšme d'exploitation. Malheureusement, vous ne pourrez pas faire entiĂšrement confiance Ă ces technologies, car vous serez limitĂ© par votre machine virtuelle. De plus, il existe dĂ©jĂ des exemples de de cette technologie. Pourtant, le chiffrement des machines virtuelles n'est pas aussi inutile qu'il pourrait sembler.
Chiffrer les données sur VDS
Je prĂ©cise tout de suite que tout ce que nous allons faire ci-dessous ne peut pas assurer une protection complĂšte. L'hyperviseur permettra de crĂ©er les copies nĂ©cessaires sans arrĂȘter le service et sans que vous ne vous en aperceviez.
- Si l'hĂ©bergeur transfĂšre une image « froide » de votre machine virtuelle, vous ĂȘtes relativement en sĂ©curitĂ©. C'est le scĂ©nario le plus courant.
- Si l'hébergeur fournit un instantané complet de la machine en fonctionnement, c'est assez grave. Toutes les données seront montées dans le systÚme en clair. De plus, il sera possible d'explorer la RAM à la recherche de clés privées et d'autres données similaires.
Par défaut, si vous avez déployé un systÚme d'exploitation à partir d'une image vierge, l'hébergeur n'a pas accÚs en tant que root. Il est toujours possible de monter un support avec une image de secours et de changer le mot de passe root en effectuant un chroot dans l'environnement de la machine virtuelle. Mais cela nécessitera un redémarrage, ce qui sera remarqué. De plus, tous les partitions chiffrées montées seront verrouillées.
Cependant, si le déploiement de la machine virtuelle ne se fait pas à partir d'une image vierge, mais à partir d'une image préparée à l'avance, l'hébergeur peut souvent ajouter un compte privilégié pour aider en cas d'urgence pour le client. Par exemple, pour réinitialiser un mot de passe root oublié.
MĂȘme dans le cas d'un instantanĂ© complet, ce n'est pas si terrible. L'attaquant ne pourra pas accĂ©der aux fichiers chiffrĂ©s si vous les avez montĂ©s depuis un systĂšme de fichiers distant d'une autre machine. Oui, en thĂ©orie, il est possible d'explorer un dump de la mĂ©moire vive et d'extraire des clĂ©s de chiffrement Ă partir de lĂ . Mais en pratique, c'est trĂšs complexe et il est trĂšs peu probable que le processus aille plus loin qu'un simple transfert de fichiers.
Commandons une machine

Pour nos besoins de test, nous prenons une machine simple dans . Nous n'avons pas besoin de beaucoup de ressources, donc nous allons choisir l'option avec paiement pour les mégahertz et le trafic utilisés. Cela suffira pour jouer.
Le classique dm-crypt de la partition entiÚre n'a pas fonctionné. Par défaut, le disque est attribué en un seul morceau, avec root sur toute la partition. Réduire la partition ext4 sur un root monté est pratiquement garanti de donner un brique à la place d'un systÚme de fichiers. J'ai essayé) Le tambour n'a pas aidé.
Créons un conteneur chiffré
Nous n'allons donc pas chiffrer l'ensemble de la section, mais utiliser des conteneurs cryptographiques, notamment VeraCrypt, qui a été audité et est fiable. Cela suffit pour nos besoins. Tout d'abord, téléchargez et installez le paquet CLI à partir du site officiel. Vous pouvez également vérifier la signature.
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 quelque part dans notre répertoire personnel, afin de pouvoir le monter manuellement aprÚs un redémarrage. Dans la version interactive, définissez la taille du conteneur, le mot de passe et les algorithmes de chiffrement. Vous pouvez choisir le chiffrement patriote Kuznechik et la fonction de hachage StriBOG.
veracrypt -t -c ~/my_super_secretInstalls maintenant nginx, montons le conteneur et téléchargeons les 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.pngModifions légÚrement /var/www/html/index.nginx-debian.html pour obtenir la page souhaitée et nous pourrons vérifier.
Connectons-nous et vérifions

Le conteneur est monté, les données sont accessibles et livrées.

Voici la machine aprÚs redémarrage. Les données sont en sécurité dans ~/my_super_secret.
Si absolument nécessaire et que vous souhaitez un peu de hardcore, vous pouvez chiffrer l'ensemble du systÚme d'exploitation, afin qu'il nécessite une connexion SSH et un mot de passe aprÚs le redémarrage. Cela suffira également dans le scénario d'une simple confiscation de « données froides ». Voici et le chiffrement à distance des disques. Bien que cela soit compliqué et excessif dans le cas d'un VDS.
Bare metal
Il n'est pas si simple de mettre en place son propre serveur dans un centre de donnĂ©es. Un serveur dĂ©diĂ© tiers peut s'avĂ©rer ĂȘtre une machine virtuelle, Ă laquelle tous les appareils sont connectĂ©s. Cependant, les choses deviennent intĂ©ressantes en termes de protection lorsque vous avez la possibilitĂ© d'hĂ©berger votre propre serveur physique de confiance dans un centre de donnĂ©es. Câest alors que vous pouvez pleinement tirer parti du dm-crypt traditionnel, de VeraCrypt ou de tout autre chiffrement de votre choix.
Il faut comprendre qu'en cas de chiffrement total, le serveur ne pourra pas se redémarrer seul aprÚs un reboot. Il sera nécessaire de se connecter à l'interface locale IP-KVM, IPMI ou à un autre équivalent similaire. Ensuite, nous saisissons manuellement la clé maßtre. Le schéma n'est pas idéal en termes de continuité et de tolérance aux pannes, mais il n'y a pas de véritable alternative si les données sont si précieuses.

NCipher nShield F3 Hardware Security Module
Une option plus douce implique que les données sont chiffrées et que la clé est directement dans le serveur, dans un HSM (Hardware Security Module) spécial. En général, ce sont des dispositifs trÚs fonctionnels qui assurent non seulement la cryptographie matérielle, mais aussi des mécanismes de détection des tentatives d'effraction physique. Si quelqu'un commence à forer votre serveur avec une meuleuse, le HSM avec une source d'alimentation indépendante réinitialisera les clés qu'il conserve en mémoire. L'attaquant obtiendra des données chiffrées. De plus, le redémarrage peut se faire automatiquement.
La suppression des clĂ©s est une option beaucoup plus rapide et humaine que l'activation d'une charge de thermite ou d'un dĂ©clencheur Ă©lectromagnĂ©tique. Vos voisins dans le centre de donnĂ©es risquent de vous en vouloir longtemps pour de tels dispositifs. Surtout dans le cas de l'utilisation de le chiffrement sur les supports eux-mĂȘmes, vous n'avez pratiquement aucune surcharge. Tout cela se dĂ©roule de maniĂšre transparente pour le systĂšme d'exploitation. Cependant, il faut faire confiance Ă un certain Samsung et espĂ©rer qu'il utilise un AES256 fiable et non un banal XOR.
Il ne faut pas oublier que tous les ports superflus doivent ĂȘtre physiquement dĂ©sactivĂ©s ou simplement remplis de composĂ© Ă©poxy. Sinon, vous offrez aux attaquants la possibilitĂ© de mener des . Si vous avez un port PCI Express ou Thunderbolt exposĂ©, y compris un USB avec son support, vous ĂȘtes vulnĂ©rable. L'attaquant pourra rĂ©aliser une attaque par ces ports et accĂ©der directement Ă la mĂ©moire contenant les clĂ©s.

Dans un scénario tout à fait sophistiqué, l'attaquant pourra réaliser une attaque de cold boot. Il suffit de verser une bonne dose d'azote liquide sur votre serveur, d'extraire brut de la mémoire gelée et d'en faire un dump contenant toutes les clés. Souvent, pour mener cette attaque, un simple spray de refroidissement et une température d'environ -50 degrés suffisent. Il existe aussi une méthode plus délicate. Si vous n'avez pas désactivé le démarrage depuis des dispositifs externes, l'algorithme de l'attaquant sera encore plus simple :
- Geler les barrettes de mémoire sans ouvrir le boßtier
- Brancher sa clé USB de démarrage
- Utiliser des utilitaires spéciaux pour extraire des données de la mémoire vive qui ont survécu au redémarrage grùce au gel.
Diviser pour mieux régner
Ok, nous n'avons que des machines virtuelles, mais nous voulons tout de mĂȘme rĂ©duire les risques de fuite de donnĂ©es.
On peut envisager de revoir l'architecture et de sĂ©parer le stockage des donnĂ©es et le traitement dans diffĂ©rentes juridictions. Par exemple, le frontend avec des clĂ©s de chiffrement chez un hĂ©bergeur en RĂ©publique tchĂšque, et le backend avec des donnĂ©es chiffrĂ©es quelque part en Russie. Dans le cas d'une tentative standard de saisie, il est extrĂȘmement peu probable que les forces de l'ordre puissent procĂ©der simultanĂ©ment dans diffĂ©rentes juridictions. De plus, cela nous protĂšge en partie contre le scĂ©nario de capture de snapshot.
Ou bien, on peut considérer une option complÚtement propre : le chiffrement de bout en bout. Bien sûr, cela sort du cadre du cahier des charges et n'implique pas d'effectuer des calculs sur la machine distante. Néanmoins, c'est tout à fait une option acceptable lorsqu'il s'agit de stockage et de synchronisation de données. Par exemple, cela est trÚs bien implémenté dans Nextcloud. Ainsi, la synchronisation, la gestion des versions et d'autres fonctionnalités du cÎté serveur ne disparaßtront pas.
Au total
Il n'existe pas de systÚmes parfaitement sécurisés. L'objectif est simplement de rendre une attaque plus coûteuse que le bénéfice potentiel.
Une certaine rĂ©duction des risques d'accĂšs aux donnĂ©es sur un serveur virtuel peut ĂȘtre obtenue en combinant le chiffrement et le stockage sĂ©parĂ© chez diffĂ©rents hĂ©bergeurs.
Une option plus ou moins fiable est d'utiliser son propre serveur physique.
Et l'hĂ©bergeur devra de toute façon ĂȘtre dignes de confiance. C'est sur cela que repose toute l'industrie.
Source : habr.com
