Der Serveradministrator hat mir einen privaten Schlüssel zur Verwendung gesendet. Warum?

73

Ich soll auf einen Server zugreifen, um die Staging- und Live-Server eines Unternehmens in unsere Bereitstellungsschleife einzubinden. Ein Administrator auf seiner Seite hat die beiden Instanzen eingerichtet und dann einen Benutzer auf dem Server für uns als SSH angelegt. So viel bin ich gewohnt.

In Gedanken würde ich ihnen jetzt meinen öffentlichen Schlüssel senden, der sich in ihrem Ordner mit autorisierten Schlüsseln befinden könnte. Stattdessen schickten sie mir jedoch einen Dateinamen, id_rsader in der Datei per -----BEGIN RSA PRIVATE KEY-----E-Mail enthalten ist. Ist das normal?

Ich sah mich um und kann meine eigenen Schlüssel von Grund auf neu, aber nichts über das Starten finden Tonnen Ressourcen auf die Generierung und die Einrichtung von den privaten Schlüssel des Servers. Sollte ich dies verwenden, um einen Schlüssel für mich selbst zu generieren, oder?

Ich würde den Systemadministrator direkt fragen, möchte aber nicht als Idiot auftreten und zwischen uns alle Zeit verschwenden. Sollte ich den Schlüssel, den er mir geschickt hat, einfach ignorieren und sie bitten, meinen öffentlichen Schlüssel in ihren autorisierten Ordner zu legen?

Toby
quelle
6
Ich würde es nicht als normal oder normal bezeichnen, aber da Sie den privaten Schlüssel haben (vorausgesetzt, er wurde bereits als autorisiert hinzugefügt), können Sie ihn wie jeden anderen privaten Schlüssel verwenden. Sie brauchen den entsprechenden öffentlichen Schlüssel nicht, aber wenn Sie möchten, können Sie ihn jederzeit generieren: askubuntu.com/a/53555/158442
muru
34
Das Erhalten -----BEGIN RSA PRIVATE KEY-----von E-Mails ist die nächste beängstigende Sache, nachdem Sie einen Benutzer '); DROP DATABASE;--in Ihrer Benutzernamentabelle gefunden haben.
Dmitry Grigoryev
62
@DmitryGrigoryev nichts beängstigendes '); DROP DATABASE;--als Benutzername in Ihrer Datenbanktabelle zu sehen - es zeigt, dass Sie Benutzereingaben korrekt entkommen
HorusKol
19
Sie können es mit Sicherheit nicht so verwenden, wie Sie einen anderen privaten Schlüssel verwenden würden. Dieser ist nicht privat. Ergo kann es unmöglich die Funktion erfüllen, für die es erstellt wurde. Es sollte weggeworfen und der UNIX-Administrator streng bestraft werden. @muru
user207421
7
Jeder, der über diesen privaten Schlüssel verfügt, hat Zugriff auf die neuen Server. Vermutlich hat der Administrator ohnehin Zugriff, ohne den Schlüssel zu benötigen, da er / sie den Server einrichten konnte und somit keine zusätzliche Gefahr für den unbefugten Zugriff durch ihn besteht. Da dies jedoch Ihr Schlüssel ist, kann er sich jetzt zuverlässig als Sie ausgeben. Es besteht auch die Möglichkeit, dass eine andere Person als Sie die E-Mail liest und sich dann auch als Sie ausgeben kann.
user253751

Antworten:

116

In Gedanken würde ich ihnen jetzt meinen öffentlichen Schlüssel senden, der sich in ihrem Ordner mit autorisierten Schlüsseln befinden könnte.

Was "in deinem Kopf" ist, wie was jetzt passieren sollte, ist richtig.

E-Mail ist kein sicherer Kommunikationskanal. Unter dem Gesichtspunkt der richtigen Sicherheit sollten Sie (und sie) eine Gefährdung des privaten Schlüssels in Betracht ziehen.

Abhängig von Ihren technischen Fähigkeiten und Ihrer Diplomatie können Sie verschiedene Dinge tun. Ich würde eines der folgenden empfehlen:

  1. Generieren Sie Ihr eigenes Schlüsselpaar und hängen Sie den öffentlichen Schlüssel an eine E-Mail an, die Sie an sie senden.

    Vielen Dank! Da E-Mail keine sichere Methode zur Verteilung von privaten Schlüsseln ist, können Sie stattdessen meinen öffentlichen Schlüssel einrichten. Es ist beigefügt.

  2. Bedanken Sie sich bei ihnen und fragen Sie sie, ob sie Einwände gegen die Installation Ihres eigenen Schlüsselpaars haben, da der private Schlüssel, den sie gesendet haben, nach dem Senden per E-Mail als gefährdet eingestuft werden sollte.

    Generieren Sie Ihr eigenes Schlüsselpaar, verwenden Sie den Schlüssel, den Sie beim ersten Anmelden erhalten haben, und verwenden Sie diesen Zugriff, um die authorized_keysDatei so zu bearbeiten , dass sie den neuen öffentlichen Schlüssel enthält (und entfernen Sie den öffentlichen Schlüssel, der dem gefährdeten privaten Schlüssel entspricht).

Fazit: Du wirst nicht wie ein Idiot aussehen. Aber der andere Administrator könnte sehr leicht dazu gebracht werden, wie ein Idiot auszusehen. Gute Diplomatie könnte das vermeiden.


Als Antwort auf Kommentare von MontyHarder bearbeiten:

Keiner meiner Handlungsvorschläge beinhaltet das "Reparieren von Dingen, ohne dem anderen Administrator mitzuteilen, was er falsch gemacht hat". Ich tat es nur auf subtile Weise, ohne ihn unter den Bus zu werfen.

Ich werde jedoch hinzufügen, dass ich auch (höflich) nachgehen würde, wenn die subtilen Hinweise nicht aufgegriffen würden:

Hallo, ich habe gesehen, dass Sie nicht auf meinen Kommentar zu E-Mail als unsicherer Kanal geantwortet haben. Ich möchte zuversichtlich sein, dass dies nicht wieder vorkommt:

Verstehst du, warum ich diesen Punkt über den sicheren Umgang mit privaten Schlüsseln mache?

Beste,

Toby

Platzhalter
quelle
9
+1 Beste Antwort. Und ich würde hinzufügen: Seien Sie besonders vorsichtig, da sich dieser Sysadmin als inkompetent erwiesen hat. Lassen Sie sich besser den Rücken zudecken, wenn (und nicht, wenn ) er / sie den Server für immer vermasselt.
dr01
2
Vielen Dank. Ich habe einige feine Phrasen verwendet und meinen öffentlichen Schlüssel herübergeschickt. Es sieht alles geklärt aus, aber ich werde den Schlüssel, den er mir jetzt geschickt hat, deaktivieren.
Toby
27
Es ist nicht so, dass der andere Administrator "dazu gebracht werden könnte, wie ein Idiot auszusehen". Es ist so, dass der andere Admin etwas Idiotisches getan hat. Ich kann mir nur ein Szenario vorstellen, in dem ein privater Schlüssel von mehreren Computern gemeinsam genutzt werden sollte, und in dem auf einen Pool von Servern über denselben Namen zugegriffen wird (Round-Robin-DNS-Auflösung usw.) und derselbe SSH-Hostschlüssel vorliegen muss Automatisierte Prozesse akzeptieren, dass sie diesen Namen haben. In diesem Fall ist dieselbe Person der Administrator aller Server und wickelt die Übertragungen ab, ohne dass eine externe Partei involviert ist.
Monty Harder
21
@zwol Bei meiner Arbeit haben wir eine "No-Blame" -Philosophie, die versteht, dass wir Fehler machen werden, aber es ist eine hohe Priorität, nicht denselben Fehler zweimal zu machen. Aber um nicht zweimal denselben Fehler zu machen, muss man wissen, dass es sich um einen Fehler handelt. Deshalb kann ich die Antworten, die darauf hinweisen, dass das OP nur Fehler behebt, nicht heraufstimmen, ohne dem anderen Administrator mitzuteilen, was er falsch gemacht hat. Ich habe mich dafür entschieden, den Fehler "idiotisch" zu nennen , anstatt die Admin-Namen genau aus dem Grund zu nennen, den Sie umreißen. (Aber ich bin mir nicht sicher, ob Ihr abschließender Klammerausdruck eine sinnvolle Unterscheidung formuliert.)
Monty Harder
8
@LightnessRacesinOrbit, ich vermute, Sie haben möglicherweise ein unvollständiges Verständnis der Bedeutung von "Diplomatie". Haben Sie versucht, es in einem guten Wörterbuch, wie dem Third New International Dictionary von Webster, aufzuräumen?
Wildcard
34

Sollte ich den Schlüssel, den er mir geschickt hat, einfach ignorieren und sie bitten, meinen öffentlichen Schlüssel in ihren autorisierten Ordner zu legen?

Ja, genau das sollten Sie tun. Der springende Punkt bei privaten Schlüsseln ist, dass sie privat sind , was bedeutet, dass nur Sie Ihren privaten Schlüssel haben. Da Sie diesen Schlüssel vom Administrator erhalten haben, hat er ihn auch. So kann er sich jederzeit als Sie ausgeben.

Es spielt keine Rolle, ob der Schlüssel über einen sicheren Kanal an Sie gesendet wurde oder nicht: Auch wenn Sie Ihren privaten Schlüssel persönlich erhalten haben, ändert dies nichts. Obwohl ich mit den Kommentaren einverstanden bin, dass das Versenden von E-Mails mit sensiblen Kryptografieschlüsseln die Kirsche auf dem Kuchen ist: Ihr Administrator gibt nicht einmal vor, dass eine Sicherheitsrichtlinie vorhanden ist.

Dmitry Grigoryev
quelle
6
Und da der OP nicht wissen kann, wie sicher der Computer des Administrators ist (aus der Geschichte, vermutlich sehr unsicher), sollte er davon ausgehen, dass der private Schlüssel auch an andere Personen weitergegeben wird (oder werden wird). Das Senden eines privaten Schlüssels per E-Mail ist nur ein Bonus für die Ahnungslosigkeit von Informationen.
dr01
1
Sie können davon ausgehen, dass ein Administrator, der Benutzer erstellen kann, Ihren privaten Schlüssel nicht benötigt, um sich als Sie auszugeben.
Max Ried
3
@MaxRied Das kann schwierig sein, wenn die richtigen Sicherheitsprotokolle vorhanden sind. Mit Ihrem privaten Schlüssel muss er nicht einmal die Protokolle verspotten. Es ist so, als ob Sie Ihr Passwort zurücksetzen könnten, anstatt Ihr Passwort zu kennen.
Dmitry Grigoryev
@DmitryGrigoryev Er konnte immer einen anderen Schlüssel zu Ihrer authorized_keys-Datei hinzufügen ...
Max Ried
4
@MaxRied Ich bezog mich auf /var/log/secureoder ähnlich , ich bin mir ziemlich sicher, dass der Raumtrick diesen nicht täuschen wird.
Dmitry Grigoryev
14

Für mich sieht es so aus, als hätte der Administrator ein privates / öffentliches Schlüsselpaar für Sie generiert, den öffentlichen Schlüssel zu den authorized_keys hinzugefügt und Ihnen den privaten gesendet. Auf diese Weise müssen Sie diesen privaten Schlüssel nur für Ihre SSH-Sitzungen mit dem Server verwenden. Sie müssen kein Schlüsselpaar selbst generieren oder dem Administrator einen öffentlichen Schlüssel an Ihren möglicherweise beschädigten (im schlimmsten Fall immer: P) privaten Schlüssel senden.

Ich würde dem privaten Schlüssel, der Ihnen unverschlüsselt zugesandt wird, jedoch nicht vertrauen.

Mein Ansatz wäre: Verwenden Sie den privaten Schlüssel, um sich einmal anzumelden, fügen Sie Ihren eigenen öffentlichen Schlüssel zu den authorized_keys auf dem Server hinzu (ersetzen Sie den ursprünglichen öffentlichen Schlüssel) und werfen Sie diesen E-Mail-privaten Schlüssel weg. Sie können sich dann beim Administrator dafür bedanken, dass er / sie / es Ihnen den privaten Schlüssel zur Verfügung gestellt hat, aber Sie möchten, dass solche Informationen / Schlüssel nicht per E-Mail (/ überhaupt) gesendet werden.

user204269
quelle
3
@Toby Ich kann mir nur vorstellen, dass sie den privaten Schlüssel senden, weil sie die von ihnen verwendeten Tools nicht verstehen. -iÜber die Befehlszeile können Sie auswählen, welcher private Schlüssel verwendet werden soll.
Kasperd
18
@kasperd Der Grund, den ich mir vorstellen kann, ist ein überlasteter Systemadministrator, der entschieden hat, dass das Risiko des Versendens eines privaten Schlüssels über E-Mail durch den Aufwand aufgewogen wird, weniger technisch versierten Benutzern zu erklären, wie ein Schlüsselpaar ordnungsgemäß generiert und gesendet wird öffentlicher Schlüssel zurück.
Mattdm
1
Toller Punkt, dass Sie dies selbst beheben können. Tun Sie es lieber selbst, als darauf zu warten, dass der Administrator den öffentlichen Schlüssel für ein neues Schlüsselpaar installiert. Das Vermeiden des nicht mehr geheimen privaten Schlüssels hilft nichts. Es gibt nur potenziellen Lauschern die Möglichkeit, es länger zu verwenden, bevor Sie hineinkommen und es entfernen können authorized_keys(nachdem Sie es hinzugefügt und getestet haben).
Peter Cordes
4
@mattdm Das ... ist völlig logisch und dennoch erschreckend. Eine Person, die kein Schlüsselpaar erstellen und mir den öffentlichen Schlüssel senden kann, wird mit einem privaten Schlüssel, den ich ihm gebe, wahrscheinlich nicht viel besser abschneiden.
Monty Harder
1
@mattdm, fair genug, aber da ich derjenige war, der ihn gebeten hat, all das zu tun, fällt es mir schwer zu glauben, dass er dachte, ich wüsste nicht, wie ich mich mit ssh verbinden soll. Wenn überhaupt, waren die Schritte, die er unternahm, verwirrender, da ich nur die grundlegenden allgemeinen Methoden zur Verwendung öffentlicher Schlüssel kenne. : x
Toby