Vitajte na [www.pocitac.win] Pripojiť k domovskej stránke Obľúbené stránky
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.
Príkaz `chmod 654` nastavuje oprávnenia súboru alebo adresára nasledovne: ``` -rw-r--r-- 6 5 4