Comment une équipe d'administrateurs de systèmes partage-t-elle les mots de passe en toute sécurité?

83

Quelles sont les meilleures pratiques pour partager des centaines de mots de passe entre quelques personnes? Ces mots de passe protègent les données critiques et ne peuvent jamais être visibles au-delà d'une petite équipe.

Chris Henry
la source
11
BTW des centaines est un nombre très troublant. Que se passe-t-il lorsqu'un des membres de l'équipe est renvoyé? Mettre à jour des centaines de mots de passe sera pénible.
Zoredache
2
Détaché sur les "centaines est un nombre très troublant" chose. Je pense que vous devez peut-être revenir en arrière et reconsidérer la façon dont vous gérez l’ensemble du problème de la sécurité plutôt que d’essayer de coller du plâtre sur ce que vous avez actuellement.
Maximus Minimus
1
Un peu lié: serverfault.com/questions/119892 En particulier cette réponse: serverfault.com/questions/119892/company-password-management/…
Nathan Hartley

Réponses:

14

J'écrirais probablement une solution Web personnalisée hébergée sur un intranet d'entreprise. ( inspirez -vous ou utilisez-le sur http://lastpass.com . Le partage de mots de passe est l'une de ses fonctionnalités, même si cela peut ne pas fonctionner pour votre volume.)

EDIT : Bien sûr, meilleure solution, ne les partagez pas. Stocker des mots de passe en clair sur n’importe quel support est dangereux, en particulier lorsque leur but est de les partager. Il existe un nombre presque infini de solutions, chacune apportant un péril associé. Pourquoi ne pas les placer sur une image disque cryptée, graver cette image sur un seul CD, placer le CD dans un coffre-fort qu'un seul gardien armé peut ouvrir et autoriser les personnes à présenter une pièce d'identité avec photo à le faire déverrouiller?

Le fait est que nous ne connaissons pas vraiment votre scénario. Pourquoi partagez-vous des centaines de mots de passe critiques? S'agit-il de votre intranet backoffice, de votre réseau privé virtuel (VPN), ou s'agit-il de mots de passe de clients que vous conservez en clair pour une raison quelconque? Est-ce que toutes les personnes avec lesquelles vous devez le partager dans la même installation? Un transfert physique, comme un CD crypté ou une table imprimée stockée dans un coffre-fort, pourrait-il fonctionner? Ou bien vos administrateurs système sont-ils répartis dans le monde entier, les moyens électroniques permettant de les partager étant-ils la seule solution?

msanford
la source
50
IMO Construire votre propre système de sécurité / cryptage n’est presque jamais la bonne approche d’un problème.
Zoredache
2
@ Zoredache, c'est une charge de merde. Bien que, je pense que la solution web pour l'hébergement de mots de passe est stupide - mais il l'a fait, mais msanford a dit intranet. Toujours risqué cependant. Idem pour toutes les autres solutions en réseau.
d -_- b
2
@Zoredache, l'OP ne construit pas de système de cryptage personnalisé, il semble que tout ce dont il a besoin est une base de données sécurisée. @sims Je ne vois rien de mal à une solution Web bien conçue. La réponse positive suggère précisément cela (sur le Web! = Http; sur le Web = stocké en ligne). Certes, une fois que j'ai lu cette question une deuxième fois, je conviens que le modèle de base consistant à partager des tonnes de mots de passe semble probablement inutile et qu'une solution meilleure pourrait être trouvée. Mais le PO n'a pas donné suffisamment d'informations pour que je puisse porter ce jugement…
msanford le
2
> @Zoredache, c'est une charge de merde. <Euh, Sims, vous vous en prenez à la plupart des gens du chiffrement immédiatement. Il est difficile de concevoir un chiffrement, ce qui en fait un travail rentable est encore plus difficile. schneier.com/essay-037.html Parfois, le moindre mal - celui que vous connaissez - est le meilleur choix, lorsqu'il est confronté au mal que vous ne connaissez pas (c'est-à-dire un modèle qui n'a pas été testé, qui n'a pas été évalué par les pairs, peut avoir bugs, peut avoir des failles de sécurité, etc.)
Avery Payne le
1
@Avery - la conception d'un système cryptographique est difficile et devrait être laissée aux experts, oui. L'utilisation d'outils éprouvés, tels que GPG sur un fichier texte partagé ou Keepass (qui utilise les implémentations .NET de AES et SHA-256) ne permet pas de concevoir votre propre système.
Mfinni
38

La meilleure pratique est de ne pas partager les mots de passe. Utilisez des outils tels que sudo pour permettre aux utilisateurs d'obtenir l'accès dont ils ont besoin à partir de leur propre compte. Si vous avez quelques utilisateurs, chacun devrait avoir son propre compte si nécessaire. LDAP (Unix / Linux) et Active Directory sont une bonne solution pour accorder l'accès à plusieurs serveurs à partir d'une base de données commune.

Lorsqu'il est nécessaire d'avoir une copie écrite d'un mot de passe, insérez-le dans une enveloppe datée et signée. Changer le mot de passe quand il est utilisé. Lorsque le mot de passe est changé, fermez-le avec une nouvelle enveloppe.

Pour les mots de passe qui doivent vraiment être partagés, utilisez l’un des outils de mot de passe comme Keepass, qui peut avoir leur base de données sur un réseau. Les outils avec des clients pour plusieurs plates-formes sont meilleurs. Déterminez si vous avez besoin de plusieurs bases de données. N'oubliez pas que vous devez vraiment faire confiance à tous ceux qui ont accès à ces données.

BillThor
la source
+1 pour les comptes d'utilisateur sans privilèges pour les administrateurs avec une éventuelle élévation de privilèges. Sur les serveurs * nix, je combinerais cela avec l'utilisation de la certification dsa / rsa uniquement pour sshd. Si vous utilisez des outils graphiques sous Linux, vous pouvez également utiliser une configuration de policykit personnalisée.
Aaron Tate
12
Cette. Révoquer l'accès pour les utilisateurs lorsqu'ils utilisent des informations d'identification partagées est un cauchemar absolu. Dans la mesure du possible, déléguez l'accès via un compte unique d'utilisateurs. Il y a toujours des situations où un mot de passe commun est inévitable, mais «des centaines» de mots de passe partagés crient à la conception.
Chris Thorpe
4
Je ne serais pas d'accord avec le partage des mots de passe, mais il existe de nombreuses situations où cela est nécessaire, par exemple des périphériques réseau avec un seul identifiant, des sites de fournisseurs où tous les administrateurs système utilisent le même identifiant pour la commande, et des utilisateurs SQL sa ou des mots de passe d'administrateur local où nécessaire. C'est pourquoi je pense que KeePass est ce qu'il y a de mieux pour cela: il fonctionne sur plusieurs plates-formes, permet une grande sécurité et organise facilement des centaines de mots de passe.
Paul Kroon
2
Nous avons une variante à ce sujet, où nous avons des mots de passe racine écrits mais verrouillés dans un coffre-fort que seules les équipes systèmes ont les clés à ouvrir. Nos mots de passe racine eux-mêmes comportent 16 caractères et sont générés de manière à être pratiquement impossibles à retenir. Oui, il y a une certaine insécurité là-bas, mais si quelqu'un casse le coffre-fort, je soupçonne que nous avons de plus gros problèmes.
Frenchie
2
Voici un scénario de cas d'utilisation réel pour notre équipe: partage de mots de passe pour des applications Web pour lesquelles elles ne prennent pas en charge plusieurs connexions pour un seul compte. Par conséquent, si plusieurs membres de l'équipe doivent pouvoir accéder à ce compte, il doit exister un moyen de partager les mots de passe de ce compte.
Jordanie Reiter
11

Nous avons utilisé KeePass dans ce but précis. C'est un excellent petit programme qui stocke tous vos mots de passe dans un fichier de base de données crypté. Il existe des fonctionnalités de sécurité supplémentaires telles que le besoin d'un fichier de clé avec le mot de passe principal pour accéder aux mots de passe. Cela permet plusieurs couches de sécurité (séparer le fichier de clé et la base de données), tout en gardant la possibilité pour tout le monde de travailler avec tous les mots de passe. Par exemple, vous pouvez exécuter l'application et le fichier de clé sur un lecteur USB, mais stocker la base de données sur votre réseau quelque part. Cela nécessiterait des informations d'identification pour le partage réseau, le mot de passe principal et le lecteur USB physique avec le fichier de clé.

Paul Kroon
la source
KeePass semble prendre en charge plusieurs plates-formes, une grande victoire à mes yeux (je travaille dans un environnement multi-plateformes). La fonctionnalité "auto-type" semble également utile.
Avery Payne
2
Idée stupide de garder les mots de passe sur le réseau.
d -_- b
1
@Sims - alors comment les partagez-vous? KeePass utilise un fichier crypté pour le magasin. C'est simplement une version plus utilisable d'un fichier texte crypté par GPG sur un serveur Unix auquel tout le monde a accès.
Mfinni
1
@Sims - Je serais normalement d'accord avec vous, mais la situation devient sécurité / productivité. Je ne voudrais pas mettre le mot de passe root d'un serveur dans quelque chose comme ceci, mais le mot de passe administrateur d'un commutateur de couche 2 qui n'a qu'un seul identifiant est un bon candidat pour cela. Il y a un moment où il faut plus de travail pour faire les choses de manière plus sécurisée que pour nettoyer après une faille de sécurité. De plus, en plus de tout le cryptage, vous auriez une sécurité AD / NTFS sur le fichier et un peu d'obscurité en plaçant le fichier (qui peut être nommé n'importe quoi) à un emplacement aléatoire.
Paul Kroon
Je ne pensais pas à une machine Windows. Mais oui, si vous ne pouvez avoir qu'un seul utilisateur pour ce commutateur, alors je suppose que cela aurait du sens. Autrement, comme le dit Bill, dites non pour les mots de passe partagés, ce qui était également mon propos concernant les clés.
d -_- b
5

Quelles sont les meilleures pratiques pour partager des centaines de mots de passe entre quelques personnes?

Facile, cela se décline en deux saveurs:

  1. Vous n'avez pas, clair et simple. Si vous choisissez de le faire, vous reportez l'authentification par mot de passe à une autorité de confiance externe et vous contrôlez l'authentification à partir de là.

  2. Ce que vous faites, mais ce faisant, vous avez des contrôles d’accès externes avec des mots de passe ou des jetons de sécurité qui ne sont pas enregistrés dans le système que vous utilisez (c’est-à-dire que l’enregistrement des mots de passe est protégé par un autre mot de passe à disponibilité limitée). Cela pose de nombreux problèmes.

Ces mots de passe protègent les données critiques et ne peuvent jamais être visibles au-delà d'une petite équipe.

Vous devriez sérieusement envisager un service d'authentification sécurisé qui s'intègre à un service d'annuaire pour résoudre le problème. La combinaison DS / AS crée une "autorité" de confiance pouvant jouer le rôle d'arbitre pour tous vos utilisateurs et appareils. L'accès aux comptes d'utilisateur peut être extrait du mot de passe réel utilisé dans l'authentification, ce qui facilite la "déconnexion" des mots de passe de la stratégie d'accès. Le contrôle des mots de passe se fait par la désactivation du compte de l'utilisateur. ainsi, si un administrateur part, vous fermez simplement son compte et son accès a disparu (parce que le mot de passe de cette personne n'accorde l'accès que sur la base de la validité du DS / AS confirmant la validité du compte).

Cela ne fonctionnera que si vous êtes dans un environnement qui permet à vos périphériques / programmes de shunter leurs demandes d'authentification à des sources externes. Il se peut donc que ce ne soit pas une solution . Si vous avez un pourcentage important de périphériques / programmes pouvant prendre en charge l’authentification externe, je le ferais si c’était pour consolider plusieurs centaines de mots de passe en une liste gérable de, disons, une douzaine. Si vous décidez de vous lancer dans cette voie, il existe plusieurs solutions sur le marché, bien connues et éprouvées.

  • Active Directory. Le groupe le plus connu est probablement Kerberos en tant qu'option d'authentification et fournit LDAP pour DS de base.
  • Samba / Winbind. Pensez à cela comme à "Active Directory Light", vous n’obtenez pas toutes les fonctionnalités d’AD, mais un ancien modèle basé sur NT4 (pensez au hachage LANMAN). Cela sera remplacé par l'intégration AD de Samba 4 et sera probablement "disparaître".
  • Services d'annuaire Novell. Je n'en sais pas assez pour le recommander, mais je sais qu'il existe toujours. Un grand nombre d'entités gouvernementales utilisent encore des NDS, donc si vous travaillez dans ce "secteur", cela vous intéressera. Novell a récemment porté les NDS à fonctionner en tant que service Linux, mais je ne sais pas s'il s'agit toujours d'un produit actif (environ 2005).
  • LDAP + Kerberos. Il s’agit en gros d’Active Directory "maison", moins toutes les "fonctionnalités intéressantes". Cependant, il s'agit également de composants connus avec une base de code stable et mature. L'intégration de ce (s) service (s) correspond généralement à l'étendue de la "personnalisation" nécessaire au bon fonctionnement.
  • SSH Keys + (insérez ici le programme d’administration du système, probablement puppet). Utile uniquement lorsque SSH est omniprésent et que tous les périphériques sont accessibles de cette manière. Les clés peuvent être distribuées et révoquées si nécessaire, et les mots de passe deviennent "non pertinents" car la clé SSH autorise l'accès. L'utilisation d'un système tel que marionnette vous permet de mettre à jour des centaines de machines en émettant des commandes en masse pour ajouter / révoquer des clés SSH.
  • Une certaine combinaison de ce qui précède.

Il y a aussi une question de combien de sécurité vous avez besoin. Vous n'avez pas précisé si par "mission critique", vous voulez dire que les ogives nucléaires peuvent pleuvoir sur les villes, ou si "mission critique" signifie que la dernière cargaison de Furbies ne parviendra pas à la ville. Cela aiderait vraiment si quelque chose décrivait une évaluation du risque / de la menace.

Avery Payne
la source
2

Quelques choses:

  • Comme d'autres l'ont dit, c'est une mauvaise idée. Utiliser un LDAP, etc.
  • Si vous vous engagez à le faire pour quelque raison que ce soit, consolidez au moins les mots de passe. 100 mots de passe non gérés signifient que vous ne mettez pas à jour les mots de passe.
  • Gardez-les sur du papier. Exiger que le personnel signe le papier dans une encre de couleur différente pour pouvoir déterminer plus facilement si une feuille a été copiée.
  • Si vous êtes sous Unix, utilisez S / KEY pour générer des mots de passe à usage unique. Rangez-le dans un endroit sûr.

Vous devez également aller au-delà des mesures de sécurité mécaniques consistant à placer les mots de passe papier dans un coffre-fort ou à les chiffrer. Découvrez comment les organisations dotées de modèles de sécurité matures sécurisent les clés et les combinaisons en toute sécurité. Je ne recommande pas de faire ce que vous voulez faire, mais si vous le faites:

  • Les personnes qui utiliseront les mots de passe ne peuvent pas contrôler l'accès aux mots de passe. Un groupe distinct de personnes appartenant à une chaîne de gestion différente doit contrôler l'accès au coffre-fort, au tiroir, etc. Si vous avez un groupe financier, ils peuvent être candidats. Peut-être le vice-président du marketing, etc.
  • Un journal écrit doit être créé lorsque le coffre-fort est ouvert et que quelqu'un prend possession d'un mot de passe.
  • Le mot de passe doit être changé dans les 24 heures après avoir été extrait.

De telles procédures sont douloureuses, mais elles inciteront les gens à adopter des pratiques plus saines. Si vous ne faites pas ce que je viens de décrire, ne vous embêtez pas pour verrouiller les mots de passe, car vous risquez de subir une violation un jour de toute façon.

duffbeer703
la source
2

Je sais que la question est ancienne, mais je viens tout juste de tomber sur une solution Web à source ouverte appelée Corporate Vault qui pourrait intéresser certains. Je n'ai pas encore eu l'occasion de l'essayer.

3fluence
la source
1

nous utilisons un programme appelé Password Safe . c'est agréable et très sécurisé, vous pouvez configurer la base de données sur un lecteur réseau et donner à tous ceux qui en ont besoin l'accès et le mot de passe au coffre-fort lui-même, qui stocke ensuite tous les noms d'utilisateur et mots de passe cryptés de manière sécurisée.

utilisateur44650
la source
1

https://pypi.python.org/pypi/django-pstore/ utilise le cryptage GPG par utilisateur pour les mots de passe partagés (et toutes les autres données que vous aimeriez partager). Le serveur ne connaît jamais aucun mot de passe, il ne contient que les données cryptées. Chacun utilise sa propre clé privée pour déchiffrer les secrets partagés.

Le système inclut la gestion des droits: tout le monde n’a pas un accès complet.

Wdoekes
la source
1

Nous utilisons https://passwork.me en tant que solution auto-hébergée. Mais vous pouvez également stocker les mots de passe dans leur nuage.

Iliya Garakh
la source
C'est votre produit Iliya mais il a l'air bien.
Foliovision
0

SPB Wallet est un bon logiciel que nous utilisions autrefois, mais PW SP Safe vous permet de le synchroniser avec un partage réseau et avec votre iPhone si vous avez l'application. Il possède également un générateur de mot de passe intégré et vous pouvez les générer de mots de passe simples à des mots de passe extrêmement complexes. Vous pouvez également copier le mot de passe alors que le mot de passe est encore marqué d'un astérisque. Ainsi, si quelqu'un le cherche, vous pouvez le copier et le coller sans que le mot de passe ne soit visible. L'application PC se verrouille automatiquement lorsqu'il n'y a plus d'activité pendant une période définie.

JohnyV
la source
0

Une autre option est Azure Key Vault, qui stocke vos secrets de manière sécurisée et vous permet d’y accéder par programmation, de faire pivoter facilement vos mots de passe, etc.

Rory
la source
0

Notre meilleure pratique consiste à partager le moins possible de mots de passe.

Par conséquent, nous avons par exemple: - utilisé my.cnf dans le répertoire principal racine pour les mots de passe de la base de données - utilisé les clés ssh pour la connexion aux serveurs et disposer d’un mot de passe root autorisé uniquement via la console (vous devez donc disposer d’un accès physique / bmc au serveur); ) - utilisez ldap partout où cela est possible (ssh, bmc, commutateurs, redmine, ....)

Cependant, il existe peu de situations dans lesquelles nous ne pouvons pas utiliser cette approche (comme un mot de passe root). Ensuite, nous utilisons keepass sur notre espace de stockage partagé, mais nous gardons aussi peu que 10 mots de passe nécessaires.

Yarik Dot
la source
-1

Très bonne question. Je serais intéressé par d'autres réponses.

Voici ce que je fais, mais d’abord je recommande d’utiliser des clés pré-partagées lorsque cela est possible. Je ne sais pas si cela est possible avec les systèmes Windows.

Étant donné que le nombre de mots de passe doit être faible (vous utilisez des clés dans la mesure du possible), j'utilise un fichier en texte brut chiffré avec gpg sur un système dépourvu de carte réseau. Donc (1) vous avez besoin d'un accès physique et (2) d'un mot de passe.

édité pour plus de clarté

d -_- b
la source
Clés? Comme dans, des clés USB? Des clés physiques qui ouvrent des serrures? Clés de la carte à puce? Clés GPG? Des mots de passe qui n'existent que dans le wetware de votre tête? Combinaisons de ce qui précède?
Avery Payne
Clés de voiture! JK. Pour clarifier, je veux dire les clés SSH. C'est pourquoi j'ai dit qu'il pourrait ne pas être possible d'utiliser des clés pré-partagées avec Windows.
d -_- b