Frage:
SSH-Passwort vs. Schlüsselauthentifizierung
Jan Hudec
2013-03-29 19:46:44 UTC
view on stackexchange narkive permalink

Mir wurde normalerweise gesagt, dass die Authentifizierung mit öffentlichem Schlüssel der Kennwortauthentifizierung für SSH stark vorgezogen wird. Unser vorheriger Administrator war jedoch gegen öffentliche Schlüssel und gab nur Passwörter aus und achtete darauf, unterschiedliche Passwörter für verschiedene Server zu verwenden (von pwgen generierte Passwörter; sie sind relativ schwer zu erzwingen, aber garantiert von der Nutzer). Daher möchte ich fragen:

  1. Ist die Verwendung eines Kennworts für die vollständige Shell-Anmeldung (nicht root mit mehr oder weniger sudo-Funktionen) sinnvoller? Angesichts der Tatsache, dass Passwörter anders sind, wo der Schlüssel wahrscheinlich nicht wäre, und das Passwort auch für sudo verwendet wird.
  2. War es auch für ein spezielles Konto für den SFTP-Upload (beschränkt auf ein bestimmtes Verzeichnis) in Ordnung, wo das Passwort endet in einer Datei auf einem anderen Server, weil der Upload unbeaufsichtigt sein muss? Der öffentliche Schlüssel wird unverschlüsselt auf demselben anderen Server gespeichert.
  3. ol>
Fünf antworten:
Tek Tengu
2013-03-29 20:21:53 UTC
view on stackexchange narkive permalink

Es ist so ähnlich… Ich bin geschieden und habe eine lebensgefährliche Ex-Frau. Ich habe auch drei großartige Jungen, die wie die meisten Jungen vergesslich sein können, Dinge verlieren und die auch ihre Mutter lieben. Als meine Jungen alt genug wurden, um einen Schlüssel für mein Haus zu benötigen, hatte ich eine Entscheidung zu treffen: Benutze ich ein Schlüsselschloss oder einen dieser numerischen Tastenfelder? Wenn ich das Schlüsselschloss benutze, war es sicher, dass meine Söhne regelmäßig Schlüssel verlieren würden; Ich würde Anrufe bekommen, um von der Arbeit nach Hause zu kommen und sie hereinzulassen; und es bestand die große Möglichkeit, dass ich das Schloss ersetzen oder von Zeit zu Zeit neu verschlüsseln musste, da die Anzahl der "verlorenen Schlüssel" (oder die Wahrscheinlichkeit, dass meine vitriolische Ex-Frau jetzt einen besaß) eine unangenehme Grenze erreichte / p>

Obwohl es vielleicht nicht das sicherste der Welt ist, hatte ich mit dem numerischen Schloss keine Bedenken, dass die Schlüssel verloren gehen könnten. Ich könnte meinen Söhnen die Combo von der Arbeit schreiben (ohne nach Hause zu kommen), wenn sie es vergessen haben; und ich konnte es regelmäßig ändern, wenn ich das Gefühl hatte, dass es kompromittiert wurde. Ich konnte auch entscheiden, wie lange und / oder komplex ich es wollte. Wenn ich dachte, mein Ex hätte es, könnte ich es auch ändern. Viel einfacher und weniger Gesamtbetriebskosten.

Das Schlüsselschloss ähnelt PK. Die numerische Sperre ähnelt Passwörtern. Am Ende kann ich Ihnen sagen, dass ich mit der numerischen Sperre viel sicherer bin, weil ich mein eigenes Schicksal wähle und dies so dynamisch tun kann, wie ich möchte. Und denken Sie daran, die Realität ist, dass die Tür nur einer der Wege in mein Haus ist.

Ich mag diese Analogie. Es ist jedoch nicht perfekt. In einer verwalteten Schlüsselsituation wäre die Schlüsselpaarauthentifizierung meiner Meinung nach sicherer. Mit "verwaltet" meine ich, dass der Benutzer keine Kontrolle über seine Datei "authorized_keys" hat - diese Datei wird von einem Konfigurationsverwaltungssystem überschrieben, das von einem zentralen Systemadministratorteam verwaltet wird. Wenn der Benutzer seinen Schlüssel verliert, ändert der Systemadministrator die autorisierten Schlüssel auf die gleiche Weise, wie er das Kennwort des Benutzers ändern würde. Somit erhalten Sie die Sicherheitsvorteile von PK auth PLUS die in dieser Analogie beschriebene Flexibilität
Bitte fördern Sie nicht die Verwendung von Passwörtern anstelle von Schlüsseln. Sie können die Schlüsselrotation * erzwingen *. Und Schlüssel sollten auf jeden Fall mit Passphrasen gesperrt werden. Ein Schlüssel ist wie ein 2048-Bit-Passwort, das durch ein anderes Passwort (die Passphrase) geschützt ist. Was hindert Ihre vitriolische Frau daran, Snooping-Software (Keylogger) auf dem Telefon Ihres Sohnes zu installieren und die 4-Nummern-Kombination einfach abzurufen?
Sie haben die Analogie offensichtlich nicht verstanden ... Deshalb bekommen Sicherheitspraktiker den haarigen Augapfel vom Rest der Welt. Während Zertifikate rein technisch viel stärker sind als Passwörter, sind schlecht implementierte Zertifikate schneller / leiser / tödlicher als Passwörter. Wie viele Organisationen setzen sie perfekt um, oh richtig, mit dem jüngsten Ansturm von Hacks gegen sie, nicht viele.
Tom Leek
2013-03-29 20:02:48 UTC
view on stackexchange narkive permalink

Bei der Kennwortauthentifizierung merkt sich der Benutzer das Kennwort und ist dafür verantwortlich, dass es niemandem mitgeteilt wird. Bei der Authentifizierung mit öffentlichem Schlüssel hat der Benutzer den privaten Schlüssel irgendwo als gespeichert .

Benutzer bevorzugen die schlüsselbasierte Authentifizierung, da die Verwendung in der Praxis bequemer ist (SSH) Clients verwenden den Schlüssel transparent, sodass der Benutzer keinen Aufwand hat. Die schlüsselbasierte Authentifizierung impliziert jedoch Folgendes:

  • Der Benutzer verwaltet die Schlüssel selbst und welche Schlüssel akzeptiert werden oder nicht, indem er die öffentlichen Schlüssel in seine .ssh / autorisierte_Tasten file.
  • Der private Schlüssel wird notwendigerweise irgendwo als Datei gespeichert, möglicherweise (aber nicht unbedingt) durch eine Passphrase geschützt.
  • Die Wahl der lokalen Passphrase (oder deren Fehlen) ) ist für den Server-Systemadministrator völlig unerreichbar.

Einige Systemadministratoren bevorzugen die Verwendung der schlüsselbasierten Authentifizierung, da sie menschlichen Benutzern nicht vertrauen, wenn sie sich ein sicheres Kennwort merken. Sie glauben, dass die Sicherheit einer privaten Schlüsseldatei für durchschnittliche Benutzer einfacher zu gewährleisten ist als die Generierung und Verwendung eines sicheren Kennworts. Die meisten Systemadministratoren sind jedoch der Ansicht, dass private Schlüsseldateien eine offensichtliche Sicherheitslücke darstellen, während sie bei Kennwörtern über Schadensbegrenzungsmechanismen verfügen: Sie können "Kennwortregeln" durchsetzen, wenn das Kennwort ausgewählt wird, und Kennwörter können zentral blockiert oder zurückgesetzt werden, wenn sie dies wünschen. Es ist wirklich ein Gleichgewicht zwischen dem Vertrauen des Systemadministrators in die Benutzer (Vertrauen in ihre Kompetenz , nicht in ihre Ehrlichkeit ) und dem Kontrollfreak des Systemadministrators.

Die von ihm ausgegebenen Passwörter wurden generiert. Grundsätzlich werden sie garantiert abgeschrieben.
Haben Sie zum zweiten Fall etwas zu sagen, das für die Verwendung durch eine andere Anwendung und nicht durch einen interaktiven Benutzer verantwortlich ist?
Private Schlüsseldateien können auch zentral ungültig gemacht und zurückgesetzt werden.
`.ssh / authorized_keys` ist nur die gebräuchlichste Methode zum Verwalten der öffentlichen Schlüssel (und zum Einrichten von` sshd_config`). Es werden verschiedene zentralisierte Lösungen verwendet.
dnozay
2014-12-15 05:20:52 UTC
view on stackexchange narkive permalink

Passwörter

  • können leicht vergessen werden.
  • können leicht erraten / geknackt werden.
  • können unterschiedliche Einschränkungen hinsichtlich der Zeichen haben Sie können verwenden, Länge ...
  • werden sehr oft auf verschiedenen Diensten wiederverwendet.
  • Haben Sie von einer durchgesickerten Kennwortdatenbank gehört?

Challenge-Response

SSH-Schlüssel (oder API-Token)

  • müssen nicht gespeichert werden (auf Ihrem Computer gespeichert).
  • sind schwieriger zu erraten / zu knacken (im Vergleich zu Wörterbuchangriffen).
  • müssen nicht freigegeben werden verschiedene Dienste.

Asymmetrie / Passwortstärke.

  • Die meisten Lösungen für öffentliche / private Schlüssel verwenden asymmetrische Schlüssel (haben nichts anderes gehört, würden aber meine nicht setzen Geld dafür). Wenn Ihr öffentlicher Schlüssel kompromittiert ist, erhält ein Angreifer keinen Zugriff auf das System.
  • Kennwortdatenbanken müssen in eine Richtung verschlüsselt sein. und eine, die stark genug ist oder genug Rechenzyklen verschwendet, so dass es schwierig wird, sie brutal zu erzwingen.

Workflow zurücksetzen

Die Verwendung von Passwörtern oder SSH-Schlüsseln ist hier irrelevant. Irgendwann wird ein Benutzer entweder sein Passwort vergessen (z. B. hatte er CAPS LOCK, als er es erstellt hat ...) oder sein System neu installieren (z. B. Zeitmaschine / Upgrades ...). Wie gehen Sie mit solchen Situationen um? Sie müssen das Kennwort / den Schlüssel ändern (vorausgesetzt, der vorherige ist kompromittiert) und dem Benutzer den neuen sicher mitteilen.

Siehe die akzeptierte Antwort. Wenn Ihr Kind versucht, in Ihr Haus zu gelangen. Die Herausforderung besteht darin, dass Sie zuerst bestätigen müssen, dass es Ihr Sohn ist (z. B. wenn Sie wissen, dass es sich um ihre Telefonnummer handelt, Sie ihre Stimme erkennen, das ist der Herausforderung Teil). Der häufig verwendete Workflow besteht darin, ein temporäres Passwort / Einmalpasswort zu generieren und Ihren Sohn das Passwort ändern zu lassen. Dies könnte jedoch durchaus sein: Geben Sie ihnen ein Einmalkennwort und lassen Sie sie ihren neuen SSH-Schlüssel / API-Token hochladen. Sie könnten sich sogar nicht die Mühe machen, sie ihre Anmeldeinformationen ändern zu lassen und sie nur aus der Ferne einzulassen, wenn Ihre Tastatur / Tastensperre angeschlossen ist.

Hinweis: Nichts hindert Ihre Ex-Frau daran, mit Ihrem Sohn zusammenzuarbeiten um Sie auszutricksen und Zugang zum Haus zu erhalten.

Welches ist besser?

Dies hängt von Ihrem Anwendungsfall und akzeptablen Verlusten ab. Da ein Benutzer beide Passwörter / SSH-Schlüssel / API-Token besitzt, kann der Benutzer sie freigeben. Wenn Sie die Kennwortauthentifizierung unterstützen und Kennwörter verloren gehen, müssen einige Ihrer Benutzer möglicherweise ihre Kennwörter auf externen Websites ändern - nur weil sie dieselben Kennwörter an anderer Stelle wiederverwenden. Wenn Sie öffentliche / private Schlüssel verwenden, müssen Sie sich weniger Sorgen machen.

Sie müssen nicht den einen oder anderen auswählen. Sie können beide verwenden! ZB. Sie können sowohl eine Tastensperre (Ihre persönliche Kopie) als auch ein numerisches Vorhängeschloss (Gäste) haben.

mikebabcock
2014-02-06 22:31:55 UTC
view on stackexchange narkive permalink

Passwörter können brutal erzwungen werden. Das Erraten eines öffentlichen Schlüssels ist so wesentlich unmöglich, dass sie als vollkommen sicher angesehen werden können. Kennwörter können nur einem pro Benutzer zugewiesen werden, während auf einem einzelnen Benutzerkonto mehrere Schlüssel installiert sein können. Wenn ich meinen Laptop verliere, muss ich nur den Eintrag für den Schlüssel meines Laptops in der Datei authorised_keys löschen, und auf dieses Konto kann ich von meinen anderen Geräten aus weiterhin mit eigenen Schlüsseln zugreifen. Einzelne Schlüssel können auch Befehlsbeschränkungen erhalten, wodurch eine automatisierte Verbindung ermöglicht wird, die einen bestimmten Befehl, jedoch keine vollständige Shell ausführt. Die einzige Möglichkeit, wie Kennwörter von Vorteil sind, besteht darin, den Zugriff auf ein vorhandenes Konto zu teilen, ohne sich anzumelden (um den neuen Schlüssel hochzuladen). Dies eröffnet die Sicherheitslücke, dass Sie dieses Kennwort ändern müssen, wenn Sie diesen Zugriff entfernen müssen, wenn ein Schlüssel individuell ist.

Das sind alle Vorteile von privaten Schlüsseln, die ich kenne. Aber ich war neugierig, warum sich jemand dafür entscheiden könnte, sie nicht zu verwenden und stattdessen Passwörter zu verwenden (automatisch generierte, die garantiert jeder irgendwo aufschreibt).
Mein allerletzter Punkt ist der einzige Vorteil, den ich für Passwörter kenne, und damit meine Antwort. Ich hatte das Bedürfnis, den Kontrapunkt auch für diejenigen zu posten, die hier Antworten lesen, als gute Gründe, keine verschlüsselten Verbindungen zu verwenden.
Carlos Ruiz
2015-03-19 06:47:57 UTC
view on stackexchange narkive permalink

Interessantes Thema, für mich ist das Passwort das sicherste. Ich verwende 4 verschiedene Passwörter für verschiedene Dinge, abhängig von der erforderlichen Sicherheit. Zum Beispiel verwende ich für eine Site wie diese etwas wie (mexico1970), das mir egal ist, wenn es geknackt wird Da ich nur auf der Website poste und keine Kreditkarteninformationen oder andere wichtige Informationen zum Schutz vorhanden sind, habe ich ein anderes Passwort für wichtigere Probleme, z. B. für E-Mails wie (!! carmelita.99), dann habe ich eines für den Serverbenutzerzugriff (XrE.67-73up), dann einen anderen für den Rootzugriff und für Bankkram (!!. CeRto-49er), dann stelle ich sicher, dass ich diese Passwörter nicht aufschreibe, ich merke sie mir, wenn ich mich mit meinem verbinde Server Ich stelle sicher, dass der SSH-Fingerabdruck bereits zu meinen bekannten Hosts hinzugefügt wurde. Andernfalls kann es zu einem MITM-Angriff kommen. Stellen Sie außerdem sicher, dass das TLS / SSL-Zertifikat der Bank gültig ist, und geben Sie niemals Kennwörter weiter.

Was ich Hass sind jene Dienste, bei denen Sie ein Passwort festlegen müssen, das so unmöglich ist, dass Sie es schreiben müssen wn oder andere, die Passwortrichtlinien haben, bei denen ich jeden Monat ein anderes Passwort verwenden muss und die letzten 5 verwendeten Passwörter nicht verwenden kann, das ist einfach dumm, da es keine Sicherheit gibt, die Passwörter aufzuschreiben. Das Ändern von Passwörtern ist etwas Gutes, aber Es sollte nicht erzwungen werden. Andererseits können Zertifikate verloren gehen oder sogar kompromittiert werden. Denken Sie, Sie haben jemanden mit Zugriff auf Ihren Computer, der Keylogger installieren kann, oder er könnte auch die Zertifikate erhalten. Es gibt also nichts, was Sie schützt, aber Zertifikate sind sicher nicht sicherer als Passwörter. Bei Servern bekomme ich ein Gefühl der Sicherheit, wenn mehrere Mechanismen eingestellt sind. Nehmen wir an, ein VPN für den Zugriff auf einen Computer, von dem aus Sie über SSH eine Verbindung zu Ihren Servern herstellen können. Vielleicht, aber noch nie gehackt worden.

Prost, ich mag eine Seite, auf der ich ohne Passwörter posten kann.



Diese Fragen und Antworten wurden automatisch aus der englischen Sprache übersetzt.Der ursprüngliche Inhalt ist auf stackexchange verfügbar. Wir danken ihm für die cc by-sa 3.0-Lizenz, unter der er vertrieben wird.
Loading...