Seite 1 von 1

Tar ohne zwischen zu speichern verschlüsseln

Verfasst: Montag 7. Dezember 2015, 14:11
von rabe0577
Hallo zusammen,
ich habe mir vor einiger Zeit mal ein kleines Python Script geschrieben, welches ausgewählte Daten in eine .tar Packt und anschließend, ohne auf dem Server zwischen zu speichern, direkt auf einen FTP hochlädt.

Code: Alles auswählen

tp=os.popen("nice -1 tar cf - "+sdir)

ftp.storbinary('STOR %s' % targetname+"/Data.tar", tp)

ftp.close()
Ist es mit einfachen Änderungen möglich, diese .tar vor dem Hochladen noch, ohne zwischen zu speichern, zu verschlüsseln?

Wie genau verschlüsselt wird, ist eigentlich egal, das was am besten geht. Ich nutze immer OpenSSL und GPG, wäre es damit sogar auch möglich?

Gruß Janik

Re: Tar ohne zwischen zu speichern verschlüsseln

Verfasst: Montag 7. Dezember 2015, 14:43
von DasIch
Wieso möchtest du die Daten den verschlüsseln? Vor was für einem Angreifer möchtest du die Daten beschützen? Vor welchen Angriffszenarien möchtest du sicher sein?

Re: Tar ohne zwischen zu speichern verschlüsseln

Verfasst: Montag 7. Dezember 2015, 14:59
von rabe0577
Ich wollte die Daten in einer Cloud speichern und da ich ja nicht weiß, wer noch alles so auf die Cloud guckt und sich mal anschauen will, das ich dort so treibe, wollte ich die Daten von meinem Server inkl. Passwörter usw. gerne verschlüsseln. ;)

Soweit ich weiß, stehen die Server des Cloud Anbieters sogar in den USA und dort hat ja leider die Regierung unbeschränkten Zugriff auf die Daten. Mir wurde geraten, da dann auch nochmal selbst die Daten zu verschlüsseln und dann erst hochzuladen. :)

Gruß Janik

Re: Tar ohne zwischen zu speichern verschlüsseln

Verfasst: Montag 7. Dezember 2015, 16:27
von BlackJack
@rabe0577: Man könnte das Archiv noch durch durch GnuPG pipen, entweder mit Deinem/einem privaten Schlüssel oder einem Passwort und symmetrischer Verschlüsselung. Alternativ zu GnuPG könnte man auch OpenSSL verwenden.

Re: Tar ohne zwischen zu speichern verschlüsseln

Verfasst: Montag 7. Dezember 2015, 18:16
von rabe0577
Habe aktuell einfach hinter dem "nice -1 tar cf - "+sdir den Befehl von OpenSSL zum verschlüsseln von Dateien geschrieben.

Funktioniert so wie ich es mir wünsche. Ergebnis ist dabei dieser Code:

Code: Alles auswählen

tp=os.popen("nice -1 tar cf - "+sdir+" | openssl enc -e -aes256 -k "+encpw)
encpw ist dabei die Variable für das Passwort, welches oben in dem Script angegeben wird.

Ist das so wie du meinst?

Re: Tar ohne zwischen zu speichern verschlüsseln

Verfasst: Montag 7. Dezember 2015, 22:25
von Sirius3
rabe0577: für AES gibt es auch Python-Pakete (pycrypto). Und statt popen könnte man etwas aus dem subprocess-Modul nehmen.

Re: Tar ohne zwischen zu speichern verschlüsseln

Verfasst: Montag 7. Dezember 2015, 22:43
von BlackJack
@Sirius3: Für's verschlüsseln würde ich persönlich mir nichts selber basteln, sondern lieber fertige Werkzeuge verwenden von Leuten die hoffentlich besser wissen was sie tun als ich wenn's um Verschlüsselung geht. :-)

Re: Tar ohne zwischen zu speichern verschlüsseln

Verfasst: Dienstag 8. Dezember 2015, 05:08
von DasIch
Eine Library benutzen ist ja nicht unbedingt selber basteln. Das Cryptography Projekt hat z.B. eine Implementation von Fernet mit einer API die so gestaltet ist, dass man damit nichts falsch machen kann.

Re: Tar ohne zwischen zu speichern verschlüsseln

Verfasst: Dienstag 8. Dezember 2015, 11:49
von BlackJack
@DasIch: Ja klar wenn's so etwas fertig gibt, aber ich hatte kurz in PyCrypto geschaut und gesehen das man da eine AES-Klasse hat der man einen Blockmodus übergibt und die dann Daten verschlüsseln kann deren Länge durch eine Mindestlänge teilbar sein muss. *Das* wäre mir dann zu umständlich/unsicher. openssl oder GnuPG haben IMHO noch den Vorteil dass die ”Standard” sind und das man solche Daten später auch ohne das eigene Programm oder noch mal etwas zu programmieren wieder entschlüsselt bekommt.