Vraag Wat is een goede oplossing om sommige bestanden in Unix te versleutelen? [Gesloten]


Ik ben op zoek naar een hulpprogramma om bepaalde directory's in Linux te versleutelen. Ik ben niet op zoek naar volledige disk-encryptieservices, maar gewoon om een ​​paar mappen te versleutelen voor het opslaan van bestanden in de cloud. Als ik ze heb opgehaald, moet ik ze ontsleutelen voordat ze kunnen worden geopend. Kijken om dit te doen voor een paar mappen (een paar honderd GB groot). Om het even welke ideeën? Bij voorkeur gebaseerd op CLI.


44
2018-03-19 06:16


oorsprong




antwoorden:


Ik gebruik alleen GnuPG voor deze taak. De mappen worden eerst verpakt in een TAR-GZ-archief:

tar czf files.tar.gz /path/to/my/files

Als u dit nog niet hebt gedaan, moet u eerst een privé- / openbaar sleutelpaar-GPG maken:

gpg --gen-key

Volg de instructies. De standaardwaarden moeten voldoende zijn voor een eerste test. Zoiets zal verschijnen:

gpg (GnuPG) 2.0.18; Copyright (C) 2011 Free Software Foundation, Inc.
Dit is gratis software: u bent vrij om het te wijzigen en opnieuw te distribueren.
Er is GEEN GARANTIE, voor zover toegestaan ​​door de wet.

Selecteer alstublieft wat voor soort sleutel u wilt:
   (1) RSA en RSA (standaard)
   (2) DSA en Elgamal
   (3) DSA (alleen teken)
   (4) RSA (alleen teken)
Jouw selectie? 1
RSA-sleutels kunnen tussen 1024 en 4096 bits lang zijn.
Welke sleutelgrootte wil je? (2048) 4096
Gevraagde toetsengrootte is 4096 bits
Geef aan hoe lang de sleutel geldig moet zijn.
         0 = sleutel verloopt niet
        = de sleutel verloopt over n dagen
      w = sleutel verloopt over n week
      m = sleutel verloopt over n maanden
      y = sleutel verloopt over n jaar
Sleutel is geldig? (0)
Sleutel vervalt helemaal niet
Is dit correct? (j / N) y

GnuPG moet een gebruikers-ID maken om uw sleutel te identificeren.

Echte naam: bestandscoderingssleutel
E-mailadres: admin@company.org
Opmerking: Bestandscoderingssleutel
U hebt deze GEBRUIKERS-ID geselecteerd:
    "Bestandscoderingssleutel (bestandscoderingssleutel)"

Verander (N) ame, (C) omment, (E) mail of (O) kay / (Q) uit? O

U wordt gevraagd om een ​​wachtwoordzin voor de sleutel. Het wordt sterk aanbevolen om een ​​sterke te gebruiken. Het is sowieso niet nodig voor het coderen van bestanden, dus maak je geen zorgen over het gebruik van de batch later.

Als alles klaar is, zal zoiets op je scherm verschijnen:

We moeten veel willekeurige bytes genereren. Het is een goed idee om te presteren
een andere actie (typ op het toetsenbord, verplaats de muis, gebruik de
schijven) tijdens de prime-generatie; dit geeft het willekeurige getal
generator een betere kans om voldoende entropie te krijgen.
We moeten veel willekeurige bytes genereren. Het is een goed idee om te presteren
een andere actie (typ op het toetsenbord, verplaats de muis, gebruik de
schijven) tijdens de prime-generatie; dit geeft het willekeurige getal
generator een betere kans om voldoende entropie te krijgen.
gpg: sleutel FE53C811 gemarkeerd als uiteindelijk vertrouwd
openbare en geheime sleutel gemaakt en ondertekend.

gpg: het controleren van de trustdb
gpg: 3 marginale (s) nodig, 1 volledig (en) nodig, PGP-vertrouwensmodel
gpg: diepte: 0 geldige: 1 ondertekend: 0 vertrouwen: 0-, 0q, 0n, 0m, 0f, 1u
pub ***** / ******** 2013-03-19
      Key fingerprint = **** **** **** **** **** **** **** **** ****
uid Bestandscoderingssleutel (Bestandscoderingssleutel)
sub ***** / ******** 2013-03-19

Nu jij misschien wilt exporteer het openbare sleutelbestand om het op andere machines te importeren:

gpg --armor --output file-enc-pubkey.txt --export 'File Encryption Key'

De File Encryption Key is de naam die ik heb ingevoerd tijdens de sleutelgeneratieprocedure.

Nu gebruik ik GnuPG in het nieuw gecreëerde archief:

gpg --encrypt --recipient 'File Encryption Key' files.tar.gz

Je hebt nu een files.tar.gz.gpg bestand dat is gecodeerd.

U kunt het decoderen met de volgende opdracht (u wordt om uw wachtwoordzin gevraagd):

gpg --output files.tar.gz --decrypt files.tar.gz.gpg

Dat is de hele magie.

Zorg dat je een back-up van je sleutel maakt! En vergeet nooit je wachtwoordzin! Als er geen back-up van wordt gemaakt of je bent vergeten, heb je gigabytes aan data-rommel!

Maak een back-up van je privésleutel met deze opdracht:

gpg --armor --output file-enc-privkey.asc --export-secret-keys 'File Encryption Key'

voordelen

  • Geen van de encrypters hoeft gevoelige informatie over de codering te weten - de codering gebeurt met de openbare sleutel. (U kunt het sleutelpaar op uw lokale werkstation maken en alleen de openbare sleutel naar uw servers overbrengen)
  • Er verschijnen geen wachtwoorden in scriptbestanden of taken
  • U kunt zoveel encrypters hebben op elk systeem dat u maar wilt
  • Als je je privésleutel en de wachtwoordzin geheim houdt, is alles in orde en heel moeilijk om compromissen te sluiten
  • U kunt met de private sleutel ontsleutelen op Unix-, Windows- en Linux-platforms met behulp van de specifieke PGP / GPG-implementatie
  • Geen behoefte aan speciale privileges voor het coderen en decoderen van systemen, geen montage, geen containers, geen speciale bestandssystemen

51
2018-03-19 07:11



Merk op dat, afhankelijk van de gegevens, het sneller kan worden uitgevoerd tar zonder de z schakelen om te voorkomen dat het wordt gecomprimeerd. - l0b0


Van mijn kant gebruik ik voornamelijk twee methoden:

Eerste methode: tar en openssl

Teer de map

tar cvf backup.tar /path/to/folder

U kunt de [v] -switch uit de tar-opdracht verwijderen om de breedspeelmodus uit te schakelen.

versleutelen

openssl aes-128-cbc -salt -in backup.tar -out backup.tar.aes -k yourpassword

Je kunt aes-128-cbc wijzigen naar een andere coderingsmethode die openssl ondersteunt (openssl --help).

decoderen

openssl aes-128-cbc -d -salt -in backup.tar.aes -out backup.restored.tar

Het zal om het wachtwoord vragen.

Tweede methode: versleutelde zip

zip -r -0 -e backup.zip /path/to/folder

Het zal om het wachtwoord vragen.

  • -r betekent recursief (hele mappenboom)
  • -0 betekent alleen opslaan (niet comprimeren, sneller)
  • -e betekent coderen archief

Een voordeel hiervan is dat het beter werkt met Windows-gebaseerd systeem.


28
2018-03-19 10:29



Het geven van een wachtwoord op de opdrachtregel is geen goed idee. Het wachtwoord blijft in de geschiedenis van de shell. - pbies
het zou genoteerd moeten worden dat zip versleuteling wordt volgens de geruchten gekraakt. - A-B-B


Als u uw bestanden niet wilt coderen met een openbaar / persoonlijk sleutelpaar en alleen symmetrische codering gebruikt met een wachtwoordzin, gebruikt u de volgende opdracht:

gpg --symmetric --cipher-algo aes256 files.tar.gz

U wordt om uw wachtwoord gevraagd. Daarna een gecodeerd bestand met de naam files.tar.gz.gpg is gecreëerd.

Gebruik de opdracht om te decoderen

gpg --decrypt files.tar.gz.gpg > files.tar.gz

22
2017-11-14 17:00





U kunt truecrypt gebruiken zeer eenvoudige en mooie oplossing. Het heeft een pakket voor alleen gebruik door de console. Het is heel eenvoudig om te leren en te gebruiken. http://www.truecrypt.org


2
2018-03-19 07:43



Vanaf 28 mei 2014 is TrueCrypt niet meer. Zien en.wikipedia.org/wiki/TrueCrypt - Bryce


Voor dat doel zou ik FUSE-codering voorstellen (zoals encfs) - voor kleinere gegevens zou ik gpg gebruiken.

Het is fs geïmplementeerd in de gebruikersruimte, dus je hebt geen speciale rechten nodig.


2
2018-03-19 10:23





Er zijn enkele Linux-bestandssystemen die bestemd zijn voor gegevenscodering. Heb je al nagedacht over LUX bijv.?


1
2018-03-19 09:30





Een heel eenvoudige manier om een ​​bestand te versleutelen is:

gpg -c filename.ext

U wordt tweemaal om een ​​wachtwoord gevraagd en gpg maakt dit filename.ext.gpg. Upload het gecodeerde bestand naar uw cloudservice. Gebruik het volgende om het bestand te herstellen:

gpg filename.ext.gpg

Die zal opnieuw creëren filename.ext. Merk op dat de ongecodeerde bestanden zijn niet beveiligd en de relevante gegevens blijven op uw opslagmedium staan, zelfs na verwijdering. Alleen de gpg-container is beveiligd. encfs is een meer praktisch alternatief voor cloud-gebaseerde codering op bestandsniveau.


1
2017-07-16 16:56