Sichere Datenübertragung mittels Powershell

MadeP

Grünschnabel
Hallo zusammen,

ich erstelle zurzeit über eine POST-Anfrage auf einem Web-Server eine Datei mittels Powershell. Diese Datei soll anschließend von diesem Webserver heruntergeladen werden. Dies soll natürlich möglichst sicher passieren. Im besten Falle möchte ich keine Zugangsdaten im Powershell-Script stehen haben. Ist dies möglich?
In der POST-Anfrage steht ebenfalls ein Key im Header (Basic Auth). Kann man diese ebenfalls durch ein besseres Verfahren ersetzen?
Ich habe es zunächst versucht über Invoke-Webrequest den Download zu realisieren. Was ich habe:
Bash:
$securepassword = ConvertTo-SecureString "password" -AsPlainText -Force
$credentials=New-Object System.Management.Automation.PSCredential("user",$securepassword)
Invoke-WebRequest -Uri "http://server/data/test.txt" -Credential $credentials
 
Du könntest es verschlüsselt speichern, sodass der Nutzer aufgefordert wird, sich mit seinem Windows Account zu authentifizieren. Google mal nach "windows api cryptography".

Übrigens wird dein Passwort auch im Klartext übers Netzwerk übertragen. Nutze HTTPS!
 
Die Abfragen sollen über einen Cronjob nachts laufen, daher ist eine Nutzeraufforderung schlecht.
Der Webserver wird https nutzen. Der angegebene Pfad diente nur als Beispiel.
 
ich erstelle zurzeit über eine POST-Anfrage auf einem Web-Server eine Datei mittels Powershell.
Die Abfragen sollen über einen Cronjob nachts laufen
Powershell, also bist du auf Windows? Aber Cronjobs auf Windows? Hab ich noch nie was von gehört.

Unter Linux wäre die Sache klar:
Zunächst erstellst du einen SSH-Key und hinterlegst ihn auf dem Server.

https://sanctum.geek.nz/arabesque/gnu-linux-crypto-ssh-keys/
Danach könntest du die Datei sicher mittles scp fetchen.

https://linux.die.net/man/1/scp
Für Powershell wüsste ich sonst nichts. Ich würde da ggf. auf Python zurückgreifen?

Gruß Technipion
 
Powershell, also bist du auf Windows? Aber Cronjobs auf Windows? Hab ich noch nie was von gehört.

Powershell steht doch mittlerweile auf Linux ebenfalls zur Verfügung, wenn auch nicht im vollen Umfang. Ist aber eigentlich egal ob unter Linux oder eben unter Windows mittels Aufgabenplanmung. Powershell ist jedoch leider ein muss.

Ihr habt mir aufjedenfall schon einmal weitergeholfen.

Danke!
 
Zurück