Möglich? OpenVPN-Server, der sowohl eine zertifikats- als auch eine passwortbasierte Anmeldung erfordert (über die Tomato-Router-Firmware)

Möglich? OpenVPN-Server, der sowohl eine zertifikats- als auch eine passwortbasierte Anmeldung erfordert (über die Tomato-Router-Firmware)

Ich habe Shibbys Tomato-Build (64k NVRAM-Version) auf meinem Asus N66U-Router verwendet, um einen OpenVPN-Server zu betreiben.

Ich bin gespannt, ob es möglich ist, diesen OpenVPN-Server so einzurichten, dass er sowohl ein Zertifikat erfordertUNDein Benutzername/Passwort, bevor einem Benutzer der Zugriff gestattet wird.

Mir ist aufgefallen, dass beim Ausfüllen der Zertifikatdetails ein Eintrag für das „Challenge Password“ (Passwort abfragen) vorhanden ist, aber alle sagen, man solle das Feld leer lassen, „sonst“; ich habe keine Ahnung, warum, und ich kann keine Erklärung finden. Außerdem habe ich dieses Problem häufig gegoogelt und bemerkt, dass Leute über ein PAM-Modul für OpenVPN sprechen, um sich über Benutzername/Passwort zu authentifizieren, aber daserschieneine Entweder-oder-Option zu sein; mit anderen Worten, ich kann die Authentifizierung über Benutzername/Passwort erzwingenODERZertifikat. Ich möchte beides verlangen.

Ist das möglich? Und wenn ja, wie?

Antwort1

Die von Ihnen gesuchte OpenVPN-Funktion, die es dem Server ermöglicht, Clients basierend aufbeideIhr Zertifikat und eine Anmeldeinformation sind auth-user-pass-verify. Mit dieser Funktion kann der Server den vom Remote-Benutzer angegebenen Benutzernamen/das vom Remote-Benutzer angegebene Passwort an ein Skript weitergeben, das die Authentifizierung durchführt. An diesem Punkt können Sie die Anmeldeinformationen anhand aller gewünschten Kriterien validieren – PAM, RADIUS, LDAP, Rauchsignale usw.

Ich weiß nichts über die „Tomato“-Firmwares, also werde ich hier gar nicht erst versuchen, Ihnen eine Schritt-für-Schritt-Anleitung zu geben. Ich habe kurz gesucht und ich vermute, Sie könnten die OpenVPN-Option „Benutzerdefinierte Konfiguration“ verwenden, um eine auth-user-pass-verifyReferenz einzufügen. Sie benötigen ein Skript, um die Authentifizierung durchzuführen.

Wenn Sie ein wenig suchen, werden Sie vermutlich „Tomato“-spezifische Referenzen finden.

Antwort2

auth-user-pass-verify ist das Richtige. Darüber hinaus können Sie erzwingen, dass der Auth-User-Benutzername der zertifizierte CN sein muss. Sie können OpenVPN auch zwingen, nur eine Verbindung pro Zertifikat gleichzeitig herzustellen.

Auf diese Weise muss ein "Mimic" den richtigen Benutzer im Vergleich zum Zertifikat CN und den richtigen Pass haben und er muss sich zu einem Zeitpunkt anmelden, zu dem der wahre Besitzer nicht

Darüber hinaus können Sie über ein IDS nachdenken. Je nachdem, welches Sie wählen, können Sie es dort sogar noch weiter eingrenzen, beispielsweise hinsichtlich zulässiger externer IP-Bereiche, Anmeldezeiten usw.

Jedes offengelegte Zertifikat sollte sofort widerrufen werden. Der Signaturserver sollte außerhalb des Netzes sein – übertragen Sie den Schlüssel per USB – dann haben Sie einen wirklich sicheren Zugriff.

und nein, Sie sollten ein Zertifikat nicht mit einem Passwort versehen.

  1. Einfach mit roher Gewalt anzuwenden.
  2. Sie können einen Benutzer nicht sperren (Zertifikatspass ist nur offline).
  3. Die Leute verlieren ständig ihre Passwörter, sodass Sie jedes Mal gezwungen sind, das Zertifikat zu widerrufen und neu zu erstellen. Dabei besteht ein großes Risiko, wenn Sie viele Zertifikate im Umlauf haben und manchmal vergessen, das Zertifikat zu widerrufen.

Wenn Sie es aber wirklich möchten, können Sie den Authentifizierungsbenutzer und das Zertifikatskennwort gleichzeitig verwenden. Es gibt dann keinen Fallback oder ähnliches.

Zuerst verwendet OpenVPN das Zertifikatskennwort, um den privaten Schlüssel zu entschlüsseln und eine Verbindung herzustellen. Anschließend greift der Auth-User serverseitig ein. Bei falschen Anmeldeinformationen sind Sie raus.

Wenn ein Angreifer jedoch an die regulären Anmeldeinformationen gelangt, stecken Sie bereits in Schwierigkeiten und die Wahrscheinlichkeit ist hoch, dass er auch das Zertifikatskennwort in die Hände bekommen hat.

Ich sehe hier also keinen wirklichen Nutzen, sondern nur viele Nachteile und ein falsches Gefühl von mehr Sicherheit.

Antwort3

Ich habe dieses Tutorial befolgt (mit TomatoUSB Shibby 1.28 auf meinem Asus N66U): http://www.dd-wrt.com/wiki/index.php/OpenVPN Dies kann Ihnen sehr helfen.

verwandte Informationen