winstar
Goto Top

Skript-Automatisierung: Strato HiDrive (2FA), OpenVPN und Windows-SMB

Guten Abend!


Ich habe einen Onlinespeicher bei STRATO (HiDrive 3TB) und seit kurzem wird die 2-Faktor-Autorisierung für die Anmeldung, die über sämtliche Verbindungsprotokolle laufen, unterstützt. Dazu gehören zum Beispiel FTPS, SFTP, SMB/CIFS, rsync.

Da mir meine dort gespeicherten Daten sehr wichtig sind und neben persönlichen Daten auch ein zweites Nutzerkonto nur für Backups dazugebucht wurde, möchte ich (zunächst) nur ersteres über eine 2FA-Anmeldung absichern. Da die Daten (Backups) auf dem zweiten Nutzerkonto bereits verschlüsselt und zusätzlich auf meinem QNAP gespiegelt sind.

Ich nutze für den Verbindungsaufbau nur verschlüsselte Protokolle; unverschlüsselte Verbindungen werden seitens HiDrive nicht zugelassen und abgelehnt.
Nun komme ich zu meinem eigentlichen Problem:
Ich habe mein erstes HiDrive-Nutzerkonto, das gleichzeitig auch das Admin-Konto ist, als Netzlaufwerk in Windows eingebunden.
Die Netzwerkadresse lautet wie folgt: \\01.smb3.hidrive.strato.com\root

Da diese Verbindung (SMB/CIFS) verschlüsselt sein muss, habe ich OpenVPN eingerichtet.
Für die Anmeldung am Server benötige ich nun, dank 2FA, das eigentliche Passwort + 6-stelliges Token. Das Passwort muss vom Token durch ein ":" abgetrennt werden. Damit sieht die Anmeldung nun wie folgt aus:
Nutzername: MeinNutzername
Passwort: MeinPasswort:382901


Da der Inaktivitätszeitraum der verwendeten Tokens nur begrenzt ist (laut STRATO 60 Minuten), wird die bestehende Verbindung nach Ablauf getrennt und es muss für eine erneute Anmeldung ein neuer Token abgerufen werden. Zur Zeit benutze ich hierfür den WinAuth-Authenticator.

Nun wird verständlich sein, dass für jedes An- und Abmelden und für jeden Ablauf der verwendeten Tokens quasi "neue" Zugangsdaten benötigt werden, was das Passwort angeht und dass dies nicht gerade komfortabel ist. Ich muss zunächst über OpenVPN eine verschlüsselte Verbindung mit neuen Zugangsdaten (Passwort + Token) aufbauen und dann für das eigentliche Netzlaufwerk in Windows die Zugangsdaten ebenfalls in die Anmeldemaske eingeben. Das Problem: "Passwort speichern" aktivieren bringt hier nichts auf Grund der benötigten und sich ändernden Tokens. Jeder Login benötigt ein anderes, generiertes Token von WinAuth.
Meine aktuelle Konfiguration sieht so aus:

  • WinAuth wird bei Systemstart automatisch gestartet und generiert alle 30 Sekunden ein 6-stelliges Token.
  • WinAuth Makro-Konfiguration: Alt+1 kopiert das HiDrive-Passwort + aktuell generierten Token in der Form MeinPasswort:382901 in die geöffnete Anmeldemaske von OpenVPN oder Windows-Netzlaufwerk. Der Nutzername bleibt bestehen.
  • WinAuth kann das aktuell generierte Token in die Zwischenablage kopieren; es lässt sich dann mit Strg+V einfügen.

Da bislang alle Skriptversuche gescheitert sind und ich diesen Vorgang des Anmeldens gerne automatisieren würde, hoffe ich hier auf Hilfe, ob dies umzusetzen ist.
Leider scheinen Batch-Skripte nicht die Lösung zu sein. Falls Fragen aufkommen, etwas unverständlich ist oder ich etwas vergessen habe zu erwähnen, lasst es mich bitte wissen.


Danke im Voraus!

Content-Key: 623902

Url: https://administrator.de/contentid/623902

Printed on: May 6, 2024 at 10:05 o'clock

Member: NetzwerkDude
NetzwerkDude Nov 20, 2020 at 10:06:59 (UTC)
Goto Top
Und... warum schaltest du 2FA nicht ab? Ich mein wenn du es eh via hack automatisierst, hast du ja keinen Sicherheitsgewinn
Member: Winstar
Winstar Jan 29, 2023 at 23:57:20 (UTC)
Goto Top
Ich ergänze hier noch mal mein Vorhaben. Und zwar suche ich immer noch nach einem Script für mein obiges Vorhaben. Vor kurzem habe ich wieder 2FA aktiviert und werde das nun auch erstmal aktiviert lassen.

Das Script soll sich auch über VBS schreiben lassen. Nur leider habe ich hier zu wenige Kenntnisse, um es selbst zu schreiben. Auf jeden Fall wäre eine Implementierung von Benutzername + Passwort (ohne 2FA-Token!) im Script selbst vorstellbar. Das Token soll in einem extra Fenster abgefragt werden. Dieses MUSS danach hinter dem eigentlichen Passwort und einem ":" im Script angehangen werden.

Das Netzlaufwerk soll natürlich auch mit diesen Daten gemapped werden. Nach dem Verlust der Verbindung oder einem Ablaufen des Tokens nach Inaktivität muss jedes Mal ein neues Token abgefragt werden.

Vielleicht kann mir jemand ein Beispielscript daraus basteln, welches ich anpassen kann?