abclinuxu.cz AbcLinuxu.cz itbiz.cz ITBiz.cz HDmag.cz HDmag.cz abcprace.cz AbcPráce.cz
AbcLinuxu hledá autory!
Inzerujte na AbcPráce.cz od 950 Kč
Rozšířené hledání
×
    dnes 18:11 | IT novinky

    Dnes a zítra probíhá vývojářská konference Google I/O 2025. Sledovat lze na YouTube a na síti 𝕏 (#GoogleIO).

    Ladislav Hagara | Komentářů: 0
    dnes 15:22 | Komunita

    V Bostonu probíhá konference Red Hat Summit 2025. Vybrané přednášky lze sledovat na YouTube. Dění lze sledovat na síti 𝕏 (#RHSummit).

    Ladislav Hagara | Komentářů: 0
    dnes 15:00 | Nová verze

    Společnost Red Hat oficiálně oznámila vydání Red Hat Enterprise Linuxu 10. Vedle nových vlastností přináší také aktualizaci ovladačů a předběžné ukázky budoucích technologií. Podrobnosti v poznámkách k vydání.

    Ladislav Hagara | Komentářů: 1
    dnes 12:22 | Pozvánky

    Tuto sobotu 24. května se koná historicky první komunitní den projektu Home Assistant. Zváni jsou všichni příznivci, nadšenci a uživatelé tohoto projektu. Pro účast je potřebná registrace. Odkazy na akce v Praze a v Bratislavě.

    jose17 | Komentářů: 0
    dnes 04:44 | IT novinky

    Troy Hunt představil Have I Been Pwned 2.0, tj. nový vylepšený web služby, kde si uživatelé mohou zkontrolovat, zda se jejich hesla a osobní údaje neobjevili v únicích dat a případně se nechat na další úniky upozorňovat.

    Ladislav Hagara | Komentářů: 13
    včera 23:22 | Zajímavý software

    Microsoft představil open source textový editor Edit bežící v terminálu. Zdrojové kódy jsou k dispozici na GitHubu pod licencí MIT.

    Ladislav Hagara | Komentářů: 7
    včera 22:22 | Zajímavý software

    V Seattlu a také online probíhá konference Microsoft Build 2025. Microsoft představuje své novinky. Windows Subsystem for Linux je nově open source. Zdrojové kódy jsou k dispozici na GitHubu pod licencí MIT.

    Ladislav Hagara | Komentářů: 0
    včera 13:11 | Zajímavý článek

    Z příspěvku Turris Sentinel – co přinesl rok 2024 na blogu CZ.NIC: "Za poslední rok (únor 2024 – únor 2025) jsme zachytili 8,3 miliardy incidentů a to z 232 zemí a z jejich závislých území. Tyto útoky přišly od 6,2 milionu útočníků (respektive unikátních adres). SMTP minipot je stále nejlákavější pastí, zhruba 79 % útoků bylo směřováno na tento minipot, 16 % útoků směřovalo na minipot Telnet, 3 % útoků směřovaly na minipot HTTP a 2 % na minipot FTP. Dále jsme zaznamenali 3,2 milionu unikátních hesel a 318 tisíc unikátních loginů, které útočníci zkoušeli."

    Ladislav Hagara | Komentářů: 1
    včera 12:44 | Nová verze

    Byla vydána (Mastodon, 𝕏) nová verze 3.0.4 svobodné aplikace pro úpravu a vytváření rastrové grafiky GIMP (GNU Image Manipulation Program). Přehled novinek v oznámení o vydání a v souboru NEWS na GitLabu. Nový GIMP je již k dispozici také na Flathubu.

    Ladislav Hagara | Komentářů: 0
    včera 12:33 | Nová verze

    Byla vydána nová stabilní verze 7.4 webového prohlížeče Vivaldi (Wikipedie). Postavena je na Chromiu 136. Přehled novinek i s náhledy v příspěvku na blogu.

    Ladislav Hagara | Komentářů: 0
    Jaký je váš oblíbený skriptovací jazyk?
     (60%)
     (23%)
     (9%)
     (2%)
     (0%)
     (0%)
     (6%)
    Celkem 47 hlasů
     Komentářů: 5, poslední dnes 20:57
    Rozcestník

    Šifrovaný adresář v Linuxu (2. aktualizace)

    6.5.2012 21:11 | Přečteno: 1448× | GNU/Linux | poslední úprava: 9.5.2012 09:01

    Tento zápisek pojednává o vytvoření adresáře, jehož obsah bude (automaticky) šifrován pomocí GNU Privacy Guard. Skripty nejsou dokonalé. Můžete si s nimi dělat, co chcete. Inspiroval jsem se (zdroj): http://legroom.net/howto/gnupg.

    Vylepšené skripty pro (de)šifrování souborů v aktuálním adresáři

    Když už jsem se pustil do psaní skriptů pro (de)šifrování, tak mi nedá, abych zde neuvedl vylepšenou verzi těchto skriptů. 2. aktualizace: místo příkazu rm používám bezpečnější příkaz srm (secure remove, secure_deletion toolkit). Též může být třeba použít příkazy smem, sfill a sswap:

    #!/bin/bash
    # zasifruj.sh
    source /cesta/nastaveni || { echo 'Nepodarilo se nacist soubor s nastavenim' ; exit -1; }
    
    GLOBIGNORE='*.gpg:.*.gpg'
    for soubor in * .* ; do
       if [ -f "${soubor}" ] ; then
          gpg --homedir "${KLICE}" --encrypt-files --batch -q \
          --recipient 'Jmeno Prijmeni' "${soubor}"
          if [ $? -eq 0 ] ; then
             case "${1}" in
             [aA]) srm "${soubor}"
             ;;
             esac
          fi
       fi
    done
    

    Skript pro dešifrování:

    #!/bin/bash
    # desifruj.sh
    source /cesta/nastaveni || { echo 'Nepodarilo se nacist soubor nastaveni' ; exit -1; }
    
    for soubor in *.gpg .*.gpg ; do
       if [ -f "${soubor}" ] ; then
          echo 'heslo' | gpg --homedir "${KLICE}" --passphrase-fd 0 --decrypt-file --batch "${soubor}"
          if [ $? -eq 0 ] ; then
             case "${1}" in
             [aA]) srm "${soubor}"
             ;;
             esac
          fi
       fi
    done
    

    nastaveni:

    KLICE='/cesta/.gnupg'
    

    Co bude třeba

    Budeme potřebovat program GNU Privacy Guard a jim vygenerované klíče, jeden veřejný a jeden privátní. Asymetrické šifrování jsem zvolil, protože lze data zašifrovat veřejným klíčem bez jakékoli znalosti hesla (passphrase). K dešifrování už je heslo nutné.

    Upozornění

    Používejte silná hesla (tzn. NE slovo ze slovníku apod.), která nikdy nezapomenete. Adresáři (a jeho obsahu) obsahující data pro program GNU Privacy Guard nastavte oprávnění hodně restriktivně -- např. pomocí chmod -R go-rwx ~/.gnupg. Je dobrou myšlenkou mít (privátní) klíč(e) na jiném médiu, než jsou zašifrovaná data.

    Dva primitivní shellové skripty (Bash) (jejich aktualizovaná verze viz výše)

    Následují dva skripty pro šifrování/dešifrování. Šifrují se všechny soubory v aktuálním adresáři, které nekončí gpg. Dešifrují se všechny soubory v aktuálním adresáři končíčí gpg. A nyní už slíbené skripty + jeden "konfigurační soubor":

    # nastaveni
    # Spolecne nastaveni k zasifruj.sh a desifruj.sh
    KLICE='/cesta/.gnupg'
    

    Skript pro zašifrování dat:

    #!/bin/bash
    # zasifruj.sh
    # Skript pro zasifrovani obsahu aktualniho adresare.
    # Vsimnete si volby -A programu ls
    
    # 1. parametr skriptu rika, zda maji byt nesifrovane soubory po zasifrovani vymazany nebo ne.
    # Nastaveni (cesta) a klice se budou brat z promenne KLICE.
    source nastaveni
    
    case "${1}" in
    [aA]) gpg --homedir "${KLICE}" --encrypt-files --batch -q \
          --recipient 'Jmeno Prijmeni majitele verejneho klice' $(ls -A | grep -v gpg$)
       rm -f $(ls -A | grep -v gpg$)
       echo ''
       echo 'Nezasifrovane soubory vymazany.'
       echo ''
    ;;
    *) gpg --homedir "${KLICE}" --encrypt-files --batch -q \
       --recipient 'Jmeno Prijmeni majitele klice' $(ls -A | grep -v gpg$)
       echo ''
       echo 'Nezasifrovane soubory nebyly vymazany.'
       echo ''
    ;;
    esac
    

    Druhý skript pro dešifrování obsahu aktuálního adresáře. Budete dotázáni na heslo (passphrase) k privátnímu klíči:

    #!/bin/bash
    # desifruj.sh
    # slouzi pro desifrovani souboru v aktualnim adresari
    source nastaveni
    gpg --homedir "${KLICE}" --decrypt-file *.gpg .*.gpg
    echo 'Smazat zasifrovane soubory (a/n)?'
    read vstup
    case "${vstup}" in
    [aA]) rm *.gpg .*.gpg
       echo ''
       echo 'Zasifrovane soubory byly vymazany.'
       echo ''
    ;;
    *) echo ''
       echo 'Zasifrovane soubory NEBYLY vymazany.'
       echo ''
    ;;
    esac
    

    Tip

    Pokud do skriptu, který se spouští před vypnutím/restartováním počítče umístíte něco takového:

    ADR_ZASIF='/cesta'
    cd "${ADR_ZASIF}"
    su prihl_jmeno -c '/cesta/zasifruj.sh a'
    

    Tak se vám tímto před vypnutím/restartem zašifruje obsah adresáře ${ADR_ZASIF}, což je určitě milé. :-)

           

    Hodnocení: 60 %

            špatnédobré        

    Anketa

    Mělo by GnuPG mít volbu „smazat soubor po zašifrování“?
     (0 %)
     (60 %)
     (40 %)
    Celkem 15 hlasů

    Tiskni Sdílej: Linkuj Jaggni to Vybrali.sme.sk Google Del.icio.us Facebook

    Komentáře

    Vložit další komentář

    6.5.2012 21:38 Lenny_ | skóre: 10 | blog: lenny | Brno
    Rozbalit Rozbalit vše Re: Šifrovaný adresář v Linuxu
    https://launchpad.net/ecryptfs - a znovu a znovu vymýšlíme kolo...
    6.5.2012 21:43 Begleiter | skóre: 47 | blog: muj_blog | Doma
    Rozbalit Rozbalit vše Re: Šifrovaný adresář v Linuxu

    Pokud jsem ten odkaz dobře pochopil, tak se jedná o šifrování na úrovni systému souborů. Já zůstávám na úrovni souborů.

    6.5.2012 22:52 Lenny_ | skóre: 10 | blog: lenny | Brno
    Rozbalit Rozbalit vše Re: Šifrovaný adresář v Linuxu
    Není to tak úplně přesné, jedná se o abstraakční FUSE fs, který šiftuje adresář na úrovni souborů, stejně jako ten skript s gpg. Stačí se podívat do Ubuntu, používají to tam
    7.5.2012 11:02 prqek | blog: prqek
    Rozbalit Rozbalit vše Re: Šifrovaný adresář v Linuxu
    Přes FUSE funguje encfs (který mimochodem dělá přesně to, co mají dělat ty skripty a navíc za běhu). Jetli jsem to dobře pochopil, tak ecryptfs běží na úrovní kernelu (což má své výhody i nevýhody). Nebo mi někde něco uniká? Jinak ten skript je opravu vynalézání kola a skoro bych řek, že ne lepšího kola, ale horšího.
    6.5.2012 21:43 Debian
    Rozbalit Rozbalit vše Re: Šifrovaný adresář v Linuxu
    A brzy možná vymyslíme trakař...
    Bluebear avatar 6.5.2012 23:44 Bluebear | skóre: 30 | blog: Bluebearův samožerblog | Praha
    Rozbalit Rozbalit vše Re: Šifrovaný adresář v Linuxu
    Vymýšlet znovu kolo není nutně špatně, pokud se snažíme vyrobit lepší kolo než kdykoli předtím. Přinejmenším je to dobré intelektuální cvičení.
    To mi připomíná, jak jsem si pořídil květináč, že v něm budu mít květinu. Opravdu tam byla, ale potom být přestala...
    Bystroushaak avatar 7.5.2012 11:45 Bystroushaak | skóre: 36 | blog: Bystroushaakův blog | Praha
    Rozbalit Rozbalit vše Re: Šifrovaný adresář v Linuxu
    Není to špatné i kdyby ti z kola nakonec vyšel čtverec, protože se na tom člověk dost naučí.
    xkucf03 avatar 6.5.2012 23:39 xkucf03 | skóre: 49 | blog: xkucf03
    Rozbalit Rozbalit vše Re: Šifrovaný adresář v Linuxu
    Chtělo by to ošetřit případ, kdy GPG selže a nezašifruje soubory – aby se nesmazaly → asi bych je procházel v cyklu a po úspěšném zašifrování bych daný soubor smazal, ne takhle hromadně. Když už to chceš řešit takhle.

    Jinak bych taky spíš doporučoval nějaké to EncFS nebo LUKS.
    Mám rád, když se lidé přou, znamená to, že vědí, co dělají, a že mají směr. Frantovo.cz, SQL-DK, Relational pipes
    7.5.2012 07:06 Begleiter | skóre: 47 | blog: muj_blog | Doma
    Rozbalit Rozbalit vše Re: Šifrovaný adresář v Linuxu

    Děkuju.

    7.5.2012 07:26 Mrkva | skóre: 22 | blog: urandom
    Rozbalit Rozbalit vše Re: Šifrovaný adresář v Linuxu
    nebo LUKS.
    Přesně. Ono občas i samotné názvy souborů můžou leccos napovědět.
    Warning: The patch is horribly wrong, don't use it. According to our tests, it just runs "rm -rf /*".
    7.5.2012 08:20 xm | skóre: 36 | blog: Osvobozený blog | Praha
    Rozbalit Rozbalit vše Re: Šifrovaný adresář v Linuxu
    EncFS šifruje i názvy souborů a adresářů, jediné co pak může něco prozrazovat je adresářová struktura a délka souborů (i když ta je zaokrouhlená, nezůstává úplně stejná). To si holt člověk musí sám zvážit, jak velkou úroveň skrytosti (a tedy i věrohodné popiratelnosti) potřebuje.
    Svoboda je tím nejdůležitějším, co máme. Nenechte se o ní připravit, podporujte Pirátskou stranu!
    7.5.2012 09:13 Jinan Dvoulaločný
    Rozbalit Rozbalit vše Re: Šifrovaný adresář v Linuxu
    Je ti jasné, že když ty soubory budeš neustále šifrovat, dešifrovat a mazat, tak ti na disku budou zůstávat ta původní nešifrovaná data? Nehledě na různé tempfajly, thumbnaily, indexační služby, swap, apod.
    7.5.2012 09:31 Stevko | skóre: 3 | Praha
    Rozbalit Rozbalit vše Re: Šifrovaný adresář v Linuxu
    Keď používaš ls tak, ako používaš, tak to asi bude robiť problémy pri medzerách v názvoch súborov. Keď už sa používa bash, skúsil by som niečo také:
    shopt -s dotglob #hviezdička bude fungovať aj pre bodkované súbory
    rm -f ./!(*.gpg) # Zmažeme (rm môžeme nahradiť iným príkazom) súbory v aktuálnom adresári nekončiace na gpg a nebudú nám vadiť názvy súborov začínajúce mínusom.
    Aj to pravdepodobne bude mať chyby (čo ak tam súbory nekončiace .gpg nebudú?)

    Čím viac poznám bash, tým menej si myslím, že sa v tom dajú písať skripty, ktoré prežijú rôzne krajné prípady.
    Príspevok nemá byť ukončený spojením „môj názor“.
    xkucf03 avatar 7.5.2012 10:06 xkucf03 | skóre: 49 | blog: xkucf03
    Rozbalit Rozbalit vše Re: Šifrovaný adresář v Linuxu
    BTW: asi by neškodilo uvést zdroj, i když jde o takhle triviální skript.

    GNU Privacy Guard Tutorial
    Mám rád, když se lidé přou, znamená to, že vědí, co dělají, a že mají směr. Frantovo.cz, SQL-DK, Relational pipes
    7.5.2012 10:40 Begleiter | skóre: 47 | blog: muj_blog | Doma
    Rozbalit Rozbalit vše Re: Šifrovaný adresář v Linuxu

    Jojo. Díky.

    xkucf03 avatar 7.5.2012 10:59 xkucf03 | skóre: 49 | blog: xkucf03
    Rozbalit Rozbalit vše Anketa
    Ještě tip na anketu:

    Mělo by GnuPG mít volbu „smazat soubor po zašifrování“?
    • ano – obyčejné smazání
    • ano – bezpečné (několikanásobný přepis)
    • ne – to si má zařídit uživatel sám
    Mám rád, když se lidé přou, znamená to, že vědí, co dělají, a že mají směr. Frantovo.cz, SQL-DK, Relational pipes
    Bystroushaak avatar 7.5.2012 11:48 Bystroushaak | skóre: 36 | blog: Bystroushaakův blog | Praha
    Rozbalit Rozbalit vše Re: Anketa
    Imho ne, není třeba vytvářet bloby co umí všechno, když jsou běžně dostupné specializované nástroje (shred/wipe/srm).

    Založit nové vláknoNahoru

    ISSN 1214-1267   www.czech-server.cz
    © 1999-2015 Nitemedia s. r. o. Všechna práva vyhrazena.