Question

Si j'ai un serveur avec une base de données des meilleures données secrètes dans PostgreSQL et mon mot de passe est pratiquement impossible de deviner (128 chaîne de caractères de toutes sortes de caractères étranges, généré à la main). Le mot de passe du serveur est pratiquement impossible à deviner.

En plus d'un mot de passe deviner, comment est-il facile d'obtenir les données de cette base de données?

Hypothèses:

  1. Seul le DB existe sur le serveur. Il n'y a aucun mot de passe dans un script PHP ou quelque chose comme ça
  2. La personne qui a volé le serveur est un serveur / DB / disque dur expert en récupération
  3. Je ne suis pas utiliser un cryptage du disque dur ou quoi que ce soit hors de la norme pour la protection
  4. J'utilise Ubuntu Hardy (dernière version stable)

Je suis en train de comprendre les risques liés à quelqu'un l'accès physique aux disques durs de mon serveur.

Était-ce utile?

La solution

« La pensée classique est quand quelqu'un s'assoit sur le serveur, il est compromis, fin de l'histoire. Les choses ne se aggravent si elles attrapent le disque dur et de prendre à un laboratoire pour l'ouverture et l'analyse. »

Ditto.

Une fois qu'un attaquant a un accès physique permanent (à savoir, il est sorti du bâtiment avec votre disque dur dans sa serviette), le gabarit est en place - supposons que dans le temps les données seront compromises. A partir de là, le scénario est le coût de la tactique de retarder par rapport à la capacité de ralentir l'attaquant.

Il est un peu différent si l'attaquant est un initié, ou avait seulement un accès temporaire. Dans ces cas, vous pourriez être en mesure de le ralentir suffisamment, ou la responsabilité de force telle que l'attaque devient infaisable.

le cryptage du disque dur est une tactique dilatoire - il donnera une protection qui correspond à la force de l'algorithme, la force de la clé, et la force de l'accès de verrouillage par mot de passe à la clé (ou la possibilité d'insérer du matériel avec la clé stockée séparément ). Même avec un cryptage l'hypothèse est que c'est une tactique dilatoire. Tôt ou tard, l'attaquant obtiendra à travers l'espace clé et figure ce qui touche déchiffre le système.

est une autre option infalsification - trouver un moyen de supprimer électroniquement le disque dur sous certaines conditions (comme la suppression physique de l'affaire).

Figure qu'une fois l'accès physique est accordée, l'attaquant peut contourner vos mots de passe - ils sont cependant fort - sans avoir recours à la force brute. Le premier qui vient à l'esprit utilise les techniques « fixer le mot de passe » que la plupart des systèmes ont construit pour les admins d'aide qui ont un lock-out et mots de passe perdus.

Toutes et toutes les protections viennent avec un prix - est cher inviolabilité, car vous avez besoin de matériel spécialisé. Le chiffrement peut être moins cher, mais il affecte le temps de démarrage. De plus, je l'ai vu quelques mauvaises surprises avec la façon dont le chiffrement joue avec des applications -. On ne sait jamais vraiment jusqu'à ce que vous essayez de l'utiliser

Autres conseils

La pensée est la norme quand quelqu'un s'assoit sur le serveur, il est compromis, fin de l'histoire. Les choses ne se aggravent si elles attrapent le disque dur et de prendre à un laboratoire pour l'ouverture et l'analyse.

Je commencer avec le chiffrement entier dur, ainsi que le cryptage par champ dans la base de données. Vous pouvez regarder autour pour voir s'il y a un moyen d'avoir un accès biométrique, au matériel du disque dur installé sur le serveur. En outre, vous voulez creuser un entrepreneur de sécurité physique et obtenir leurs recommandations pour la configuration; également embaucher des gardes.

Je veux dire, si cela est un scénario qui pourrait raisonnablement se produire ...

edit:

Si je devais un fichier DB Postgres que je voulais entrer et j'ai eu les ressources (c.-à-dépenses 4K pour certains bon marché Dells), j'utiliser une configuration Beowulf et effectuer en parallèle la fissuration par la force brute. Les choses empirent si je commence à avoir plus d'argent et peuvent configurer, par exemple, plusieurs de ces machines super-ordinateur-sur-bureau NVidia doux pour commencer enfichée vraiment forçage brute un mot de passe.

Si le voleur est sérieux au sujet d'entrer dans et vous n'avez pas déjà prévu la sécurité du jour 0, votre fichier DB va être ouvert comme une boîte de sardines.

Si vous n'êtes pas chiffrer le disque dur / système de fichiers, vous êtes à peu près pas de chance, comme Postgres ne propose pas le cryptage natif. Et chiffrer le disque dur est la seule vraie méthode de protection pour un serveur volé.

En fait, ce que vous devez faire est de chiffrer le disque dur ou le système de fichiers, et vous devez entrer le mot de passe lorsque vous montez le lecteur, à la main, chaque fois que la machine démarre, avant Postgres tire vers le haut.

Cet article semble être particulièrement pertinent à votre question:

Total de sécurité dans une base de données PostgreSQL http://www.ibm.com/developerworks/opensource/library/os -postgresecurity /

Je ne pense pas que ce soit un problème PostgreSQL, ou toute autre adresse de base de données. Même si la base de données lui-même est protégé par mot de toutes les données est en clair et c'est ce qui importe vraiment. Rien n'empêche l'attaquant de fichier afficher le fichier base de données brutes et la tuyauterie, il si cordes. La meilleure solution pour ce type d'attaque consiste à utiliser un système de fichiers crypté. Cela vous demandera de saisir un mot de passe pour monter la partition. Cela augmente également les frais généraux.

Pour la question spécifique affichée (et celui que je suis venu chercher une réponse à), Postgresql par des données de table stocke par défaut non chiffrées. En regardant autour de fichiers ... / pgsql / 9.2 / données / base / * Je suppose que ces tables de magasin en 1.1 morceaux de giga-octets, et je peux réussir à trouver des chaînes ASCII dans ces fichiers avec grep. De l'inspection des fichiers, il semble que les données sont stockées dans des colonnes.

A partir de ces informations, je crois que je pourrais expérimenter et écrire du code pour désosser les tables pour créer une copie sur un serveur que je n'ai pas le mot de passe.

Par conséquent, se fondant sur un mot de passe de la base de données forte ne suffit pas pour répondre à votre devoir de diligence si vous avez besoin pour se protéger contre le risque des médias physiques volés.

PostgreSQL en ligne docs fournir des options pour chiffrer les données à différents niveaux, ce problème semble être limité à un module de chiffrement des colonnes spécifiques ou chiffrer les médias sous-jacents d'une certaine manière que les autres répondants ont suggéré.

Un bon départ est d'activer le chiffrement complet du disque. Vous pouvez également chiffrer à la couche d'application. (Par exemple crypter les données avant de l'envoyer à la base de données, stocker la clé non accessible à partir du serveur de base de données)

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top