Vitajte na [www.pocitac.win] Pripojiť k domovskej stránke Obľúbené stránky

Domáce Hardware Siete Programovanie Softvér Otázka Systémy
počítačové znalosti >> otázka >> hesla >> .

Ako môžete chrániť súbor zip pomocou hesla pomocou skriptu Unix?

Súbor zip môžete chrániť heslom pomocou nástroja príkazového riadku `Zip` v skripte UNIX. Takto je spolu s vysvetleniami a osvedčenými postupmi:

1. Použitie voľby `-p` (najmenej zabezpečené - neodporúča sa pre citlivé údaje):

`` `Bash

#!/bin/bash

Zip_file ="my_archive.zip"

Heslo ="my_secret_password"

Súbory_to_zip ="File1.txt File2.pdf Directory1"

zip -p "$ heslo" "$ zip_file" "$ files_to_zip"

Echo "Zip File '$ zip_file' vytvorený heslom (menej zabezpečená metóda)."

`` `

* Vysvetlenie:

* `Zip -P" $ heslo "" $ zip_file "" $ files_to_zip "`:Tento príkaz vytvára súbor zip.

* `-p" Password "`:Určuje heslo priamo na príkazovom riadku. Toto je problém!

* `" $ Zip_file "`:Názov súboru ZIP na vytvorenie.

* `" $ Files_to_zip "`:Súbory a adresáre, ktoré chcete zahrnúť do archívu ZIP. Použite úvodzovky na spracovanie priestorov v názvoch súborov.

* Riziko bezpečnosti: Táto metóda je * najmenej * bezpečná. Heslo sa odovzdáva priamo ako argument príkazového riadku. To znamená:

* viditeľné v zozname procesov: Ktokoľvek, kto má prístup k zoznamu procesných procesov (príkaz PS`), môže vidieť heslo.

* uložené v histórii škrupiny: Heslo sa môže uložiť do súboru histórie Shell (napr. `.Bash_history`).

2. Použitie možnosti `-e` s interaktívnym výzvom hesla (lepšie):

`` `Bash

#!/bin/bash

Zip_file ="my_archive.zip"

Súbory_to_zip ="File1.txt File2.pdf Directory1"

zip -e "$ zip_file" "$ files_to_zip"

Echo "ZIP File '$ zip_file' vytvorený s heslom (Interactive Projed)."

`` `

* Vysvetlenie:

* `Zip -e" $ zip_file "" $ files_to_zip "`:

* `-e`:Povoľuje šifrovanie. Príkaz `Zip` vás vyzve na interaktívne zadanie a overenie hesla.

* Zlepšenie zabezpečenia: Je to lepšie ako `-p`, pretože heslo nie je uložené na príkazovom riadku. Je zadaný priamo na výzvu.

* Obmedzenia:

* neopisovateľné: Vyžaduje ľudskú interakciu na zadanie hesla, takže je nevhodný pre plne automatizované skripty.

3. Použitie voľby `-p` (o niečo lepšie, stále nie je ideálne pre citlivé údaje):

`` `Bash

#!/bin/bash

Zip_file ="my_archive.zip"

Heslo ="my_secret_password"

Súbory_to_zip ="File1.txt File2.pdf Directory1"

zip -p "$ heslo" "$ zip_file" "$ files_to_zip"

Echo "Zip File '$ zip_file' vytvorený s heslom (veľké písmená P - menej neisté ako malé písmená P)."

`` `

* Vysvetlenie: `-P` je podobný ako` -p`, ale s heslom zaobchádza ako s doslovným reťazcom a v ňom interpretuje žiadne metacharaktéry shellu.

* Zabezpečenie: O niečo lepšie ako `-p`, pretože sa vyhýba nezamýšľanej interpretácii škrupiny, ale heslo je * stále * na príkazovom riadku a zraniteľné voči zoznamu procesov a vystavenia histórii. Vyhnite sa tomu pre skutočne citlivé údaje.

4. Použitie `Openssl` pre bezpečnejšie šifrovanie (odporúčané pre citlivé údaje):

Tento prístup využíva „Openssl` na vytvorenie bezpečného šifrovaného archívu. Toto sa všeobecne považuje za robustnejšiu metódu na ochranu citlivých údajov v porovnaní so zabudovaným šifrovaním zipsov.

`` `Bash

#!/bin/bash

Zip_file ="my_archive.zip.enc" # Poznámka o rozšírení .enc

Súbory_to_zip ="File1.txt File2.pdf Directory1"

# Najskôr vytvorte archív dechtu

TAR -CZF TMP_ARCHIVE.TAR.GZ "$ files_to_zip"

# Šifrujte archív dechtu pomocou OpenSSL

OpenSSL ENC -AES -256 -CBC -SALT -in Tmp_archive.tar.gz -out "$ zip_file"

# Odstráňte dočasný archív dechtu

rm tmp_archive.tar.gz

echo "šifrovaný archív '$ zip_file' vytvorený pomocou OpenSSL."

`` `

* Vysvetlenie:

* `TAR -CZF TMP_ARCHIVE.TAR.GZ" $ files_to_zip "`:Vytvorí archív súborov GZipp. „Tar` je štandardný UNIX Utility pre archiváciu súborov a adresárov. „Gzip` komprimuje archív.

* `OpenSSL ENC -AES -256 -CBC -SALT -in tmp_archive.tar.gz -out" $ zip_file "`:šifruje archív TAR pomocou OpenSSL.

* `OpensSl EnC`:Vyvolá príkaz OpenSSL Encryption.

* `-AES-256-CBC`:Určuje algoritmus AES (Advanced Encryption Standard) s 256-bitovým kľúčom v režime CBC (Cipher Block Chaining). AES-256 je silný šifrovací algoritmus.

* `-Salt`:pred šifrovaním pridá do hesla náhodnú soľ. To je * rozhodujúce * na zabránenie útokom na stolové dúhy. OpenSSL bude soľ generovať automaticky.

* `-in tmp_archive.tar.gz`:Určuje vstupný súbor (archív TAR).

* `-out" $ zip_file "`:Určuje výstupný súbor (šifrovaný archív). Rozšírenie `.enc` je spoločným dohovorom.

* Výzva hesla: OpenSSL vás bude * vyzvať na heslo na príkazovom riadku. Je to lepšie ako odovzdanie ako argument.

* bezpečnostné výhody:

* silné šifrovanie: Používa AES-256, veľmi silný šifrovací algoritmus.

* Solované heslo: Solovanie zabraňuje predvracaným útokom (tabuľky dúhových), ktoré sa snažia uhádnuť heslá.

* Žiadne heslo na príkazovom riadku: Heslo sa zadáva interaktívne, čím sa zabráni expozícii v zoznamoch procesov alebo histórii škrupiny.

* dešifrovanie: Na dešifrovanie súboru použite nasledujúci príkaz `Openssl` (zobrazí sa výzva na heslo):

`` `Bash

OpenSSL ENC -D -AES -256 -CBC -SALT -in my_archive.zip.enC -out tmp_archive.tar.gz

Tar -xzf tmp_archive.tar.gz

rm tmp_archive.tar.gz

`` `

* `-d`:dešifrujte

* `-x`:extrakt

5. Používanie premennej súboru hesla alebo prostredia (viac skriptovo, s upozorneniami):

Ak absolútne potrebujete skriptové riešenie * bez * interakcie používateľa, môžete použiť premennú súboru hesla alebo prostredia. Musíte však pochopiť bezpečnostné dôsledky.

`` `Bash

#!/bin/bash

Zip_file ="my_archive.zip.enc"

Súbory_to_zip ="File1.txt File2.pdf Directory1"

Heslo_file ="heslo.txt"

# Uistite sa, že súbor hesla existuje a má príslušné povolenia (pre majiteľa iba na čítanie)

Ak [! -f "$ heslo_file"]; potom

Echo "Error:Heslo File '$ heslo_file' sa nenašiel."

výstup 1

FI

CHMOD 400 "$ heslo_file" # Prečítajte si pre majiteľa

# Najskôr vytvorte archív dechtu

TAR -CZF TMP_ARCHIVE.TAR.GZ "$ files_to_zip"

# Šifrujte archív dechtu pomocou OpenSSL

OpenSSL ENC -AES -256 -CBC -SALT -Pass Súbor:"$ heslo_file" -in tmp_archive.tar.gz -out "$ zip_file"

# Odstráňte dočasný archív dechtu

rm tmp_archive.tar.gz

echo "šifrovaný archív '$ zip_file' vytvorený pomocou OpenSSL (heslo zo súboru)."

`` `

* Vysvetlenie:

* `Heslo_file =" heslo.txt "`:Definuje cestu k súboru obsahujúcemu heslo. Tento súbor je rozhodujúci pre správne zabezpečenie!

* `CHMOD 400" $ heslo_file "`:Nastavuje povolenia v súbore hesla na čítanie iba pre vlastníka. To je nevyhnutné na zabránenie neoprávneného prístupu.

* `OpenSSL ECK -AES -256 -CBC -SALT -Pass File:" $ heslo_file "...`:File `-pass:" $ Password_file "` Option hovorí OpenSSL, aby si prečítal heslo zo zadaného súboru.

* Bezpečnostné úvahy:

* Ochrana súboru hesla: Súbor „Password.txt` musí byť veľmi dobre chránený.

* Uložte ho mimo Webroot (ak ste na webovom serveri).

* Uveďte reštriktívne povolenia (napr. „CHMOD 400 Password.txt` - Prečítajte si iba pre majiteľa).

* Nekontrolujte to do ovládacieho prvku verzie (git atď.).

* Premenné prostredia: Alternatívou je uložiť heslo do premennej prostredia. Použite `Export heslo =your_secret_password` (ale uvedomte si, že je to stále viditeľné prostredníctvom` ps` alebo v histórii škrupiny, ak si nie ste opatrní). Potom použite `-pass env:heslo` v príkaze` openssl`. Nikdy v hardcode heslo priamo v skripte.

* Správa kľúčov: Pre vysoko citlivé údaje zvážte použitie systémov kľúčových systémov (KMS) alebo modulov zabezpečenia hardvéru (HSMS) namiesto ukladania hesiel do súborov alebo premenných prostredia.

Dôležité úvahy a osvedčené postupy:

* šifrovací algoritmus: Vždy používajte silné šifrovacie algoritmy ako AES-256. Vyhnite sa starším, slabšími algoritmami, ako je vstavané šifrovanie Zip (ktoré sa ľahko rozbije).

* Solovanie: S heslom vždy používajte soľ. Openssl's `-salt` to robí automaticky.

* Zložitosť hesla: Vyberte silné a zložité heslá, ktoré je ťažké uhádnuť. V prípade potreby použite generátor hesiel.

* Rotácia kľúčov: Pravidelne mente (otáčajte) svoje šifrovacie kľúče/heslá.

* Secure Storage: Chráňte svoje šifrovacie kľúče/heslá tak usilovne, keď chránite údaje samotné.

* Princíp najmenších privilégií: Uveďte skript iba potrebné povolenia na vykonanie jeho úlohy.

* audit: Protokol, keď sa na účely auditu vyskytujú operácie šifrovania a dešifrovania.

* Manipulácia s chybami: Zahrňte do svojho skriptu zaobchádzanie s chybami, aby ste zachytili potenciálne problémy a zabránili odhaleniu citlivých údajov.

* dočasné súbory: Ak používate dočasné súbory (napríklad v príkladoch `Openssl`), nezabudnite ich po použití bezpečne odstrániť. „Shred“ alebo „Wipe“ sa na to môže použiť, ale vyžadujú starostlivé použitie. Jednoducho používanie `rm` ponecháva údaje obnoviteľné.

* Vyhnite sa vstavaným šifrovaním Zip: Vstavané šifrovanie v užitočnosti „Zip“ sa všeobecne považuje za slabé a malo by sa im vyhnúť citlivým údajom. „Openssl` je oveľa bezpečnejší.

Výber správnej metódy:

* Najvyššia bezpečnosť (a zvyčajne najjednoduchšia): Použite `Openssl` a ručne zadajte heslo na výzvu.

* skript, ale s rizikami: Ak potrebujete skriptové riešenie, použite `OpenSSL` s premennou súboru hesla alebo prostredia, ale * iba vtedy, ak môžete zaručiť zabezpečenie úložiska hesla. Porozumieť rizikám. Zvážte KMS alebo HSM pre veľmi citlivé údaje.

* Vyhýbajte sa `Zip -p` a` Zip -p` za každú cenu pre citlivé údaje.

Nezabudnite prispôsobiť tieto skripty svojim konkrétnym potrebám a starostlivo zvážte bezpečnostné dôsledky každej metódy. Pri riešení citlivých informácií vždy uprednostňujeme bezpečnosť údajov.

Najnovšie články

Copyright © počítačové znalosti Všetky práva vyhradené