it-swarm.com.de

Wie kann man als Beratungsunternehmen sicher nach Passwörtern des Kunden fragen?

Bei meiner Arbeit als Entwickler benötige ich manchmal Kombinationen aus Benutzername und Kennwort des Kunden, um sicherzustellen, dass die Einstellungen für Dienste von Drittanbietern für die von uns erstellte Website/Anwendung korrekt sind. Z.B. ein Zahlungsanbieter, den wir auf einer Spielewebsite verwenden.

Was wäre der gute Weg, um nach ihrem Benutzernamen und Passwort zu fragen, damit es sicher bleibt? Wenn ich ihnen sicher eine E-Mail sende, senden sie mir einfach eine Nur-Text-E-Mail mit dem Passwort zurück, aber das ist nicht sicher .

AKTUALISIEREN:

Ich sehe, dass meine Frage etwas missverstanden wurde, deshalb werde ich ein Beispiel hinzufügen:

Angenommen, ich bin Entwickler bei CoolSoft, einem Softwareunternehmen. Ein anderes Unternehmen (nennen wir sie Games, Inc.) möchte, dass wir eine Website für sie erstellen. Diese Website verwendet Dienste von Drittanbietern für die Zahlung und den Kundensupport, in die wir integrieren müssen. Games, Inc. erstellt Konten beim Zahlungsanbieter und beim Kundensupportanbieter. Aber sie sind absolut nicht technisch und wir benötigen ihre Anmeldeinformationen, um die richtigen Rückruf-URLs usw. festzulegen. Wie können sie ihr Passwort sicher an uns senden, damit wir die Einstellungen in ihren Konten korrigieren können (wir treffen uns nie persönlich)?

40
Wim Deblauwe

Das tust du nicht.

Wenn Sie Benutzern beibringen, jemandem ihren Benutzernamen und ihr Kennwort zu geben, schulen Sie sie darin, anfällig für Phishing oder andere Social-Engineering-Angriffe zu sein.

Entwerfen Sie das System stattdessen so, dass ein Administrator diese Einstellungen anzeigen und bearbeiten kann, ohne dass die Anmeldeinformationen des Benutzers erforderlich sind.

Wenn Sie sich in einer Situation befinden, in der Sie die Dinge wirklich aus der Sicht des Benutzers sehen müssen, um ein Problem zu beheben, bitten Sie den Benutzer, das Kennwort für Sie einzugeben, und lassen Sie sich dann das Problem zeigen. Dies kann entweder persönlich oder mit einem Remoteverwaltungstool erfolgen.

Wenn Sie sich in einer Situation befinden, in der der Kunde über Anmeldeinformationen verfügt, die Sie für die Integration in eine Drittanbieterlösung in Ihre Anwendung benötigen, entwickeln Sie Ihre Anwendung so, dass ein nicht technischer Benutzer über eine benutzerfreundliche Benutzeroberfläche verfügt, um diese Anmeldeinformationen festzulegen. Sie benötigen dies ohnehin, falls der Kunde sie ändern muss und Sie nicht verfügbar sind.

Der Benutzer muss dies erst eingeben, wenn die Anwendung auf seinen eigenen Servern bereitgestellt wird. Während der Entwicklung sollten Sie ein Testkonto verwenden, um mit den Drittanbietern zu kommunizieren. Sie möchten Ihrem Kunden definitiv keine Kosten verursachen, da Sie einige Tests an den Zahlungsschnittstellen von Drittanbietern durchgeführt haben, die nicht wie erwartet funktioniert haben.

146
Philipp

Es gibt zahlreiche "Team-Passwort-Manager", mit denen Teams den Zugriff auf Anmeldeinformationen freigeben, ändern und widerrufen können. Die meisten werden bezahlt (oder sind für kleine Teams kostenlos), aber dies ist wahrscheinlich der beste Weg. Sie bieten in der Regel Verschlüsselung sowie Zugriffskontrolle über den Zugriff auf bestimmte Anmeldeinformationen.

20
schroeder

Die einzige praktikable Option, die ich sehe (die noch nicht erwähnt wurde, ungerade), besteht darin, die Client-Setup-Konten mit den entsprechenden Berechtigungen zu haben, die Sie für diese Systeme/Internetdienste verwenden können. Auf diese Weise kümmern sie sich um die Lieferantenbeziehungen und die Zahlung, aber Sie haben Konten, die den Zugriff haben, den Sie benötigen.

Wie in der Antwort von Phillip angegeben Sie fragen einfach nicht nach Passwörtern oder nehmen nicht daran teil. Es ist einfach rundum schlecht, da Sie sich selbst in die Lage versetzen, beschuldigt zu werden, wenn etwas schief geht, wenn jemand anderes das gemeinsam genutzte Konto verwendet. ("Ich weiß meine Mitarbeiter würden so etwas niemals tun, und Sie sind die einzigen Personen, mit denen wir das Passwort geteilt haben, also muss es etwas von sein ) du hast !! ")

13
HopelessN00b

Ich fasse die Situation wie folgt zusammen

  • sie benötigen Zugriff auf einen Drittanbieter-Service mit Konto Ihres Kunden
  • ein persönliches Treffen ist nicht einfach zu erreichen
  • eine Lösung, bei der der Client Software installiert oder einem komplexen Verfahren folgt, ist unerwünscht

Ich denke, die beste Lösung wäre: Senden Sie ihnen ein neues Passwort

Sie senden ihnen auf sichere Weise ein Passwort und geben ihnen Anweisungen (per Telefon?), Um das Passwort für ihre Konten vorübergehend auf Ihr vorgeschlagenes Passwort festzulegen. - Dann können Sie sich damit auf der Seite anmelden. Und wenn Sie fertig sind, können sie ihr Passwort auf den ursprünglichen Wert zurücksetzen.

Ein einfacher Weg wäre ein einmaliger Link in der Mail, der zu einer Seite führt, auf der das Passwort angezeigt wird. Der Client kann darauf klicken und das Passwort kopieren. Und ein Angreifer kann nicht auf denselben Passwort-Link zugreifen. (Natürlich wäre ein gezielter MitM-Angriff mit Änderung des E-Mail-Inhalts weiterhin möglich und könnte durch Signieren der E-Mail gemindert werden.)

Sie können ihnen das temporäre Passwort auch telefonisch mitteilen, sie schreiben es auf und ändern ihr Kontopasswort vorübergehend in das, das Sie ihnen mitteilen.

Dieser Rückwärtsweg hat mehrere Vorteile:

  • Ihr Kunde kann die Regel "Teilen Sie niemals Ihr Passwort" einhalten.
  • Sie können eine sichere Methode zur Weitergabe des Kennworts auswählen. Sie müssen Ihrem Client keine sichere Methode beibringen.
  • Ihr Kunde behält die Kontrolle darüber, Ihren Zugriff zu gewähren und zu widerrufen
12
Falco

Es gibt buchstäblich Tonnen von Lösungen zum sicheren Übertragen von Daten (z. B. Anmeldeinformationen).

  • Wenn der Client die PGP/GPG-Verschlüsselung unterstützt, können Sie öffentliche Schlüssel austauschen und die E-Mails verschlüsseln
  • Es gibt auch Unternehmen, die sich auf SecureMail (ZixCorp) spezialisiert haben, oder Sie können Ihre eigene (Cisco Ironport) erwerben.
  • Wenn Sie über eine Website für die Zusammenarbeit verfügen (z. B. ein Kundenportal für den Kunden), können diese die Anmeldeinformationen in das Portal hochladen. Zu Ihrer Information Alfresco ist eine Freeware-Anwendung, die dies gut macht.
  • Können Sie eine SMS schreiben, obwohl menschlicher Kontakt nicht in Frage kommt? Vielleicht können sie eine SMS mit dem Passwort senden und den Benutzernamen über einen anderen Kanal angeben.
  • Wenn alles andere fehlschlägt, sind Rauchsignale und Schneckenpost immer noch eine Sache, aber die oben genannten Methoden sind die häufigsten Vektoren.
6
HashHazard

Halten Sie es einfach, aber verwenden Sie nur zwei Kommunikationsformen. Bitten Sie sie beispielsweise in einer E-Mail, in der Anmeldeinformationen angefordert werden, nur mit dem Benutzernamen zu antworten, und senden Sie dann ein temporäres Kennwort an Ihre Nummer. Ändern Sie das temporäre Kennwort so bald wie möglich, nachdem Sie die Anmeldeinformationen erhalten haben, in ein anderes.

Ja, theoretisch könnte jemand die E-Mail sehen und SS7 hacken, um das Passwort zu erhalten, aber wenn er dies kann, bevor Sie das temporäre Passwort ändern können, sind Sie trotzdem pwned.

6
Bill

Seltsam, dass niemand OAuth erwähnt hat, was auf den ersten Blick die perfekte Lösung für das Problem ist, wie es nach dem Update umformuliert wurde.

0
bortzmeyer

Sie sollten keine hartcodierten Rückrufe sein, die auf bestimmte Benutzernamen/Passwörter reagieren. Wenn Sie mit Tools von Drittanbietern arbeiten, sollten Sie diese Konten für sie einrichten und über API-Token mit diesen Tools interagieren. Viel besser, wenn Sie das Konto erstellen und am Ende dem Kunden alle Kontoanmeldeinformationen zuweisen.

0
sidewaiise