SSH: utilisez-vous une paire de clés privée / publique pour chaque machine distante? Ou une seule paire pour tous?

23

Lorsque vous souhaitez disposer de connexions ssh basées sur une clé publique pour plusieurs machines, utilisez-vous une clé privée et placez la même clé publique sur toutes les machines? Ou avez-vous une paire de clés privée / publique pour chaque connexion?

Entaille
la source
@Jim Zajkowski: Je ne sais pas comment répondre à votre commentaire mais c'est pour vous. Les boîtiers de connexion permettent un accès contrôlé aux serveurs Internet situés dans une zone démilitarisée (derrière un pare-feu). Disons que vous avez "server_a" et "server_b". A est dans le réseau et B est en dehors du réseau. Les clients externes se connectent à B. Le trafic qui va de A à B doit être contrôlé et vice-versa. Vous ajoutez donc une boîte de saut qui a deux cartes réseau. Un qui le connecte au réseau interne (A) et un qui le connecte au réseau externe (B). Donc, de A, vous allez à la boîte de saut, puis à B. Un des avantages de
@IMTheNachoMan - J'ai converti votre réponse en commentaire, bien que le meilleur endroit pour cela serait un commentaire directement dans la réponse contenant le commentaire auquel vous répondez (cela m'a un peu étourdi). Si vous avez des questions, passez à la méta et posez-les. Merci pour la clarification malgré tout.
Kara Marfia

Réponses:

27

J'utilise une clé par ensemble de systèmes qui partagent une frontière administrative commune. Cela limite le nombre de machines qui sautent si une clé est compromise, tout en n'écrasant pas complètement ma capacité à stocker et gérer plusieurs milliers de clés. Des mots de passe différents sur chaque clé signifient que même si toutes vos clés privées sont volées et qu'une clé est compromise, les autres ne descendent pas dans les toilettes avec. De plus, si vous faites quelque chose de stupide (comme copier une clé privée sur une machine non fiable), encore une fois, vous n'avez pas besoin de tout ressaisir, juste les machines associées à cette clé.

womble
la source
4

La clé publique n'a pas beaucoup d'importance, car, par définition, elle peut être rendue publique. Le seul problème est donc la confidentialité de vos clés privées. Ils sont sur votre propre machine, et tous ensemble, donc si l'un est compromis, il est probable qu'ils seront tous compromis. Par conséquent, plusieurs paires de clés représentent un travail supplémentaire pour le même effet.

La seule fois où j'utiliserais des clés différentes est pour différents comptes ou différents rôles, qui par définition ne devraient pas avoir un chevauchement complet dans l'accès.

Lee B
la source
2

Si je comprends bien, chaque serveur aura sa propre clé publique.

Pour un utilisateur donné , vous pouvez générer une clé et l'utiliser partout, tant que la clé privée est répliquée sur tous les hôtes initiateurs. (Cela se produirait automatiquement via les répertoires de départ montés sur le réseau et un système d'authentification basé sur les répertoires comme OpenLDAP, car l'utilisateur sera toujours "le même", quel que soit le poste de travail à partir duquel il se connecte.)

En dehors d'un système utilisateur basé sur un annuaire, je pense que c'est une mauvaise idée d'utiliser les mêmes clés partout - vous vous retrouvez avec une nette réduction de la sécurité du système, car quiconque peut obtenir une clé de n'importe quel poste de travail peut ensuite s'authentifier comme cet utilisateur au serveur distant.

Une autre alternative, utilisée par plusieurs grandes sociétés (et je suis sûr que les petites aussi) est de ne jamais autoriser un "utilisateur" à utiliser des clés pré-partagées, mais plutôt de se connecter ensuite à une boîte "jump" ou "hub" , suà l'utilisateur de connexion approprié, puis SSH à partir de là vers les serveurs dont ils ont besoin pour gérer.

De plus, si vous utilisez un système de gestion tel que la plate-forme HP Server Automation, l'administration à distance des serveurs gérés devient un processus plus simplifié.

garenne
la source
1
Tout le monde devrait garder ses clés cryptées. Pouvez-vous expliquer les avantages pour la sécurité de la «boîte de saut», car je ne la vois pas.
Jim Zajkowski
tel qu'implémenté dans plusieurs banques auxquelles j'ai été exposé, et ailleurs, l'idée derrière une "boîte de saut" est que vous ne pouvez pas accéder aux serveurs dans une DMZ ou un sous-réseau, etc. avec votre utilisateur "normal". Vous vous connectez à la boîte de saut, puis sous une forme journalisée, puis à l'utilisateur de gestion pour vous connecter à l'autre réseau.
warren
2
Avantage de sécurité == 0, en d'autres termes.
womble
@womble - c'est peut-être correct. Mais c'est ce que font beaucoup d'entreprises paranoïaques. suCependant, comme la session est enregistrée, elle est vérifiable.
warren
1
pourquoi seules les susessions sont-elles auditables et pas les autres?
João Portela
1

Comme d'autres l'ont dit, bien que l'idée de plusieurs paires de clés puisse sembler plus sûre, s'il y a une chance qu'elles soient utilisées de manière à ce qu'elles soient toutes au même endroit, c'est juste plus compliqué et pas plus sûr. Des phrases de passe multiples le rendraient plus sûr mais aussi un gros casse-tête en essayant de se rappeler quelle phrase de passe va avec quelle clé et quelle clé va avec quel serveur.

La réponse la plus raisonnable pour moi serait celle où il a été suggéré de le faire UNIQUEMENT si cela implique des rôles administratifs distincts sans trop de chevauchement. Tels que cela pourrait être des personnes différentes gérant les différents rôles, ou sur différents postes de travail ou autre. Dans ce cas, vous avez de toute façon des choses plus uniques à gérer pour chaque rôle différent, donc c'est plus justifiable.

Fred
la source
0

Pour faciliter la gestion de plusieurs serveurs compatibles SSH, vous souhaiterez peut-être consulter cssh . Vous pouvez combiner cssh avec des clés SSH avec mot de passe pour améliorer considérablement votre capacité à gérer plusieurs serveurs simultanément.

Greeblesnort
la source
2
Comment réussissez-vous à obtenir des "bugs fous" dans une boucle for glorifiée?
womble
Quelque chose à ce sujet semble très mortel - Si vous faites une erreur, vous visser tous vos serveurs à la fois au lieu d'un seul!
Nick
@ Nick - c'est vrai, mais c'est presque toujours le cas quand je suis en charge de la boîte =) @womble - hein? à quels "bugs fous" vous référez-vous?
Greeblesnort
1
En haut de la page du projet que vous avez liée à: "REMARQUE: je reviendrai très bientôt sur ce projet afin de pouvoir y corriger les bugs fous." Le fait que l'avis soit toujours là deux ans plus tard n'augmente pas davantage ma confiance en lui.
womble