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í
×
    13.9. 17:33 | Pozvánky

    Spolek OpenAlt zve příznivce otevřených řešení a přístupu na 211. sraz, který proběhne v pátek 19. září od 18:00 ve Studentském klubu U Kachničky na Fakultě informačních technologií Vysokého učení technického na adrese Božetěchova 2/1. Na srazu proběhne přednáška Jiřího Eischmanna o nové verzi prostředí GNOME 49. Nemáte-li možnost se zúčastnit osobně, přednáškový blok bude opět streamován živě na server VHSky.cz a následně i zpřístupněn záznam.

    Ladislav Hagara | Komentářů: 0
    13.9. 01:33 | IT novinky

    Microsoft se vyhnul pokutě od Evropské komise za zneužívání svého dominantního postavení na trhu v souvislosti s aplikací Teams. S komisí se dohodl na závazcích, které slíbil splnit. Unijní exekutivě se nelíbilo, že firma svazuje svůj nástroj pro chatování a videohovory Teams se sadou kancelářských programů Office. Microsoft nyní slíbil jasné oddělení aplikace od kancelářských nástrojů, jako jsou Word, Excel a Outlook. Na Microsoft si

    … více »
    Ladislav Hagara | Komentářů: 4
    12.9. 14:00 | Nová verze

    Samba (Wikipedie), svobodná implementace SMB a Active Directory, byla vydána ve verzi 4.23.0. Počínaje verzí Samba 4.23 jsou unixová rozšíření SMB3 ve výchozím nastavení povolena. Přidána byla podpora SMB3 přes QUIC. Nová utilita smb_prometheus_endpoint exportuje metriky ve formátu Prometheus.

    Ladislav Hagara | Komentářů: 0
    12.9. 12:00 | Zajímavý článek

    Správcovský tým repozitáře F-Droid pro Android sdílí doporučení, jak řešit žádosti o odstranění nelegálního obsahu. Základem je mít nastavené formální procesy, vyhrazenou e-mailovou adresu a být transparentní. Zdůrazňují také důležitost volby jurisdikce (F-Droid je v Nizozemsku).

    🇵🇸 | Komentářů: 20
    12.9. 05:33 | Bezpečnostní upozornění

    Byly publikovány informace o další zranitelnosti v procesorech. Nejnovější zranitelnost byla pojmenována VMScape (CVE-2025-40300, GitHub) a v upstream Linuxech je již opravena. Jedná se o variantu Spectre. KVM host může číst data z uživatelského prostoru hypervizoru, např. QEMU.

    Ladislav Hagara | Komentářů: 0
    11.9. 22:00 | Komunita

    V červenci loňského roku organizace Apache Software Foundation (ASF) oznámila, že se částečně přestane dopouštět kulturní apropriace a změní své logo. Dnes bylo nové logo představeno. "Indiánské pírko" bylo nahrazeno dubovým listem a text Apache Software Foundation zkratkou ASF. Slovo Apache se bude "zatím" dál používat. Oficiální název organizace zůstává Apache Software Foundation, stejně jako názvy projektů, například Apache HTTP Server.

    Ladislav Hagara | Komentářů: 16
    11.9. 17:33 | Nová verze

    Byla vydána (𝕏) srpnová aktualizace aneb nová verze 1.104 editoru zdrojových kódů Visual Studio Code (Wikipedie). Přehled novinek i s náhledy a videi v poznámkách k vydání. Ve verzi 1.104 vyjde také VSCodium, tj. komunitní sestavení Visual Studia Code bez telemetrie a licenčních podmínek Microsoftu.

    Ladislav Hagara | Komentářů: 1
    11.9. 15:33 | IT novinky

    Spotify spustilo přehrávání v bezztrátové kvalitě. V předplatném Spotify Premium.

    Ladislav Hagara | Komentářů: 0
    11.9. 15:00 | IT novinky

    Spoluzakladatel a předseda správní rady americké softwarové společnosti Oracle Larry Ellison vystřídal spoluzakladatele automobilky Tesla a dalších firem Elona Muska na postu nejbohatšího člověka světa. Hodnota Ellisonova majetku díky dnešnímu prudkému posílení ceny akcií Oraclu odpoledne vykazovala nárůst o více než 100 miliard dolarů a dosáhla 393 miliard USD (zhruba 8,2 bilionu Kč). Hodnota Muskova majetku činila zhruba 385 miliard dolarů.

    Ladislav Hagara | Komentářů: 8
    10.9. 21:22 | Nová verze

    Bylo vydáno Eclipse IDE 2025-09 aneb Eclipse 4.37. Představení novinek tohoto integrovaného vývojového prostředí také na YouTube.

    Ladislav Hagara | Komentářů: 0
    Pro otevření více webových stránek ve webovém prohlížečí používám
     (81%)
     (7%)
     (3%)
     (3%)
     (4%)
     (2%)
    Celkem 176 hlasů
     Komentářů: 12, poslední 10.9. 13:00
    Rozcestník

    CentOS 6.4 a start ze šifrovaného zařízení bez hesla

    29.9.2013 22:08 | Přečteno: 1430× | Linux | Výběrový blog | poslední úprava: 1.10.2013 09:16

    Možná jsem se špatně rozhlížel a někdo mě vyvede z omylu, ale dle mého zjištění, nelze bez úpravy na CentOS nastartovat systém, který má šifrovanou root partition jinak, než v interaktivním režimu a vyťukat heslo pro odemčení root partition. Tak jsem to přemluvil a zde je „návod“ jak…


    Mám(mějme) jednoduché „zadání“ (vlastní):

    mdadm RAID a na něm LUKS(cryptsetup) a na něm LVM,
    /boot je mimo a nešifrovaná (a může být i na flašce).
    Klíč k odemčení je na na flašce (či jiném médiu).
    Systém musí nastartovat „bezobslužně“.

    Protože flaška s klíčem je trvale instalovaná, tak takto šifrovaná partition zajišťuje jen to, že disk samostatně lze následně použít kdekoliv, či jej reklamovat, bez jakéhokoliv zásahu a obav a lze při případné změně podmínek, tuto flasku po nastartovaní systému odebrat (nejlépe i s /boot-em) a zakopat na zahradě.

    Každá distribuce to má trochu jinak, tento postup je platný pro CentOS 6+.

    Vytvořil jsem tři patch-e (viz níže) a použil:

    patch -u /usr/share/dracut/modules.d/90crypt/install 90crypt_install.patch 
    patch -u /usr/share/dracut/modules.d/90crypt/parse-crypt.sh 90crypt_parse-crypt.sh.patch
    patch -u /usr/share/dracut/modules.d/90crypt/cryptroot-ask.sh 90crypt_cryptroot-ask.sh.patch
    

    Připravil nový initrd(, na konci je doplněno „-modified“). Je třeba vyřadit modul plymouth aby se použil modul crypt.

    dracut -f -o plymouth /boot/initramfs-$(uname -r)-modified.img $(uname -r)
    

    V /etc/grub.conf (linka na /boot/grub/grub.conf) vsunul novou položku s tímto novým initrd.

    Patch-e přidávájí možnost k parametru rd_LUKS_UUID= předřadit i cestu ke klíči uvozenou cryptkey- a ukončenou posledním- před luks=.
    Původní a stále funkční zápis <code>rd_LUKS_UUID=luks-<UuidOfLuksBlockDevice></code> lze rozšířit na:

    rd_LUKS_UUID=cryptkey-<sleep sec>:<uuidOfPartitionWithKey>:<filesystem>:<FileNameKey>-luks-<UuidOfLuksBlockDevice>
    
    pro zadání klíče ze souboru.

    Nebo

    rd_LUKS_UUID=cryptkey-<sleep sec>:/dev/sd<X>:<offset>:<size>-luks-<UuidOfLuksBlockDevice>
    
    pro zadání klíče přečteného přímo ze zařízení z adresy <offset> a o délce <size>.
    Pokud obskurní prvky považujete za bezpečnostní prvky, tak to mimo toho, že je to při boot-u jednoduší (není třeba připojovat žádný filesystém), tak to umožňuje umístit tento klíč, třeba na nevyužité místo před první partition (pokud ho tam máte) nebo do prostoru za MBR (nad 512) a před začátek první partition. V obou případech můžete flašku normálně používat, ale klíč nikdo nevidí a neví kde je (pokud tedy nemá grub.conf a máte místo kolem vyplněné náhodnými znaky - tedy ne nulami).

    Vzhledem k tomu „jak“ systém startuje, může se stát, že zařízení nebude ještě připraveno, proto je možnost zadat <sleep sec>.

    Když uložíme klíč na zařízení dle uuid ddddddddd-aaaa-bbbb-bbbb-aaaaaaaaaaaa s ext4 a klíč bude v cestě /private/mykey, tak parametr bude vypadat takto (2 sec prodleva):

    rd_LUKS_UUID=cryptkey-2:/dev/disk/by-uuid/ddddddddd-aaaa-bbbb-bbbb-aaaaaaaaaaaa:ext4:/private/mykey-luks-ffffffff-eeee-4444-aaaa-333333333333
    
    (luks-ffffffff-eeee-4444-aaaa-333333333333 je to odemykané zařízení, tedy žádná změna - původní hodnota)

    Nebo pokud klíč délky 2048 zapíšeme na pozici 1024 (dd of=/dev/sdX if=mykeyfile bs=1 seek=1024), tak paramter bude vypadat takto (1 sec prodleva):

    rd_LUKS_UUID=cryptkey-1:/dev/sdX:1024:2048-luks-ffffffff-eeee-4444-aaaa-333333333333
    


    ¡BINGO! těmito patch-i, touto úpravou parametru jádra a použití nového initrd si systém sám odemkne podkladový šifrovaný „RAID“, a z použitých disků bez flašky nikdo nic nepřečte.



    Bo zde nejdou vložit přílohy (nebo mi zas něco uniklo), tak jednotlivé patch-e zde inline.

    90crypt_install.patch:

    --- /usr/share/dracut/modules.d/90crypt/install	2013-02-22 06:03:43.000000000 +0100
    +++ usr/share/dracut/modules.d.patch.cryptsetup/90crypt/install	2013-09-29 17:13:42.000000000 +0200
    @@ -5,3 +5,5 @@
     inst_hook pre-pivot 30 "$moddir/crypt-cleanup.sh"
     inst_hook pre-pivot 31 "$moddir/crypt-cleanup.sh"
     inst /etc/crypttab
    +inst dd
    +inst rmdir
    
    90crypt_parse-crypt.sh.patch:
    --- /usr/share/dracut/modules.d/90crypt/parse-crypt.sh	2013-02-22 06:03:45.000000000 +0100
    +++ usr/share/dracut/modules.d.patch.cryptsetup/90crypt/parse-crypt.sh	2013-09-29 16:01:09.000000000 +0200
    @@ -11,8 +11,15 @@
         if [ -n "$LUKS" ]; then
     	echo '. /lib/dracut-lib.sh' > /emergency/90-crypt.sh
     	for luksid in $LUKS; do 
    -            luksid=${luksid##luks-}
    -	    printf 'ENV{ID_FS_TYPE}=="crypto_LUKS", ENV{ID_FS_UUID}=="%s*", RUN+="/sbin/initqueue --unique --onetime --name cryptroot-ask-%%k /sbin/cryptroot-ask $env{DEVNAME} luks-$env{ID_FS_UUID}"\n' $luksid \
    +            cryptkey=${luksid%luks-*}
    +            cryptkey=${cryptkey##*cryptkey-}
    +            cryptkey=${cryptkey%-*}
    +            if [ -z "$cryptkey" ]; then 
    +              $cryptkey=-
    +            fi 
    +            luksid=${luksid##*-luks-}
    +            luksid=${luksid##*luks-}
    +	    printf 'ENV{ID_FS_TYPE}=="crypto_LUKS", ENV{ID_FS_UUID}=="%s*", RUN+="/sbin/initqueue --unique --onetime --name cryptroot-ask-%%k /sbin/cryptroot-ask $env{DEVNAME} luks-$env{ID_FS_UUID} '$cryptkey'"\n' $luksid \
     	        >> /etc/udev/rules.d/70-luks.rules	
     	    printf '[ -e /dev/disk/by-uuid/*%s* ] || exit 1 \n'  $luksid >> /initqueue-finished/crypt.sh
     	    printf '[ -e /dev/disk/by-uuid/*%s* ] || warn "crypto LUKS UUID "%s" not found" \n' $luksid $luksid >> /emergency/90-crypt.sh
    
    90crypt_cryptroot-ask.sh.patch: (upraveno 2013-09-30 19:18 v duchu vlastního komentáře)
    --- /usr/share/dracut/modules.d/90crypt/cryptroot-ask.sh	2013-02-22 06:03:43.000000000 +0100
    +++ usr/share/dracut/modules.d.patch.cryptsetup/90crypt/cryptroot-ask.sh	2013-09-30 18:58:21.976944456 +0200
    @@ -51,15 +51,65 @@
         unset name dev rest
     fi
     
    +#parse key file params
    +par0='-'
    +par0=${3%%:*}
    +par1=${3#*:}
    +par2=${par1#*:}
    +par1=${par1%%:*}
    +par2=${par2%%:*}
    +par3=${3##*:}
    +
    +if [ "$par2" = "0" -o "$((${par2}+0))" -gt "0" ]; then
    +    par2num='1'
    +else
    +    par2num='0'
    +fi
    + 
     info "luksOpen $device $luksname"
     # flock against other interactive activities
    -{ flock -s 9; 
    -    echo -n "$device ($luksname) is password protected"
    -    cryptsetup luksOpen -T1 $1 $luksname 
    +{ flock -s 9;
    +    #key file params exist or not
    +    if [ "$par0" != "-" ]; then
    +      #use key file
    +      echo "$device ($luksname) is key file protected"
    +      sleep $((${par0}+0))
    +      if [ "$par2num" = "1" ]; then          
    +          echo 'Use raw data as key file...'
    +          dd if=$par1 bs=1 skip=$par2 count=$par3 | cryptsetup luksOpen --key-file - $1 $luksname
    +          if [ $? -ne 0 ]; then
    +              echo "Error when using key file, try password..."
    +              cryptsetup luksOpen -T3 $1 $luksname
    +          fi
    +      else
    +          echo 'Mount and use the key file...'
    +          tmfile='/tmp/cryptroot-keyfile-mnt'
    +          cryptsetup_open='0'
    +          mkdir "$tmfile"
    +          if [ $? -eq 0 ]; then
    +              mount -r -t $par2 "$par1" "$tmfile"
    +              if [ $? -eq 0 ]; then
    +                  cryptsetup luksOpen --key-file "${tmfile}${par3}" $1 $luksname
    +                  if [ $? -eq 0 ]; then
    +                    cryptsetup_open='1'
    +                  fi
    +                  umount "$tmfile"
    +              fi
    +              rmdir "$tmfile"
    +          fi
    +          if [ "$cryptsetup_open" = "0" ]; then
    +              echo "Error when using key file, try password..."
    +              cryptsetup luksOpen -T3 $1 $luksname
    +          fi
    +      fi
    +    else 
    +      echo "$device ($luksname) is password protected"
    +      cryptsetup luksOpen -T3 $1 $luksname 
    +    fi
     } 9>/.console.lock
     
     # mark device as asked
     >> /tmp/cryptroot-asked-$2
     
     exit 0
    -# vim:ts=8:sw=4:sts=4:et
    \ No newline at end of file
    +# vim:ts=8:sw=4:sts=4:et
    

           

    Hodnocení: 83 %

            špatnédobré        

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

    Komentáře

    Vložit další komentář

    30.9.2013 07:30 petr_p | skóre: 59 | blog: pb
    Rozbalit Rozbalit vše Jazykový koutek
    Obsahově dobré. Jen jsem při čtení měl neodbytný pocit, že zápisek mohl zůstat slovensky.
    30.9.2013 08:50 Šangala | skóre: 56 | blog: Dutá Vrba - Wally
    Rozbalit Rozbalit vše Re: Jazykový koutek
    Ve slovenštině bych to nedal, ale chápu co myslíš ;-).
    To, že trpíš stihomamem, ještě neznamená, že po tobě nejdou. ⰞⰏⰉⰓⰀⰜⰉ ⰗⰞⰅⰜⰘ ⰈⰅⰏⰉ ⰒⰑⰎⰉⰁⰕⰅ ⰏⰉ ⰒⰓⰄⰅⰎ ·:⁖⁘⁙†
    Bedňa avatar 30.9.2013 08:53 Bedňa | skóre: 34 | blog: Žumpa | Horňany
    Rozbalit Rozbalit vše Re: Jazykový koutek
    Šangala je moravák voe.
    KERNEL ULTRAS video channel >>>
    30.9.2013 09:00 Šangala | skóre: 56 | blog: Dutá Vrba - Wally
    Rozbalit Rozbalit vše Re: Jazykový koutek
    Díky náčelníku, že jsi se mě zastal…
    To, že trpíš stihomamem, ještě neznamená, že po tobě nejdou. ⰞⰏⰉⰓⰀⰜⰉ ⰗⰞⰅⰜⰘ ⰈⰅⰏⰉ ⰒⰑⰎⰉⰁⰕⰅ ⰏⰉ ⰒⰓⰄⰅⰎ ·:⁖⁘⁙†
    Bedňa avatar 30.9.2013 10:16 Bedňa | skóre: 34 | blog: Žumpa | Horňany
    Rozbalit Rozbalit vše Re: Jazykový koutek
    :-)
    KERNEL ULTRAS video channel >>>
    Bedňa avatar 30.9.2013 10:22 Bedňa | skóre: 34 | blog: Žumpa | Horňany
    Rozbalit Rozbalit vše Re: CentOS 6.4 a start ze šifrovaného zařízení bez hesla
    Pekný zápisok, len ísť tak ďaleko s bezpečnosťou mi už pripadá pre bežného smrteľníka prehnané, nehovorím že sa to niekomu nemôže hodiť, ale spravidla neexistuje záloha od tej USB kľúčenky a po jej nechcenom zničení sú všetci užívatelia nasratí :-)
    KERNEL ULTRAS video channel >>>
    30.9.2013 12:27 Šangala | skóre: 56 | blog: Dutá Vrba - Wally
    Rozbalit Rozbalit vše Re: CentOS 6.4 a start ze šifrovaného zařízení bez hesla

    Má to výhodu, že když si dáš fotku své nahé Rúty do domovské složky Roota , tak ani v případě RMA disku ji nikdo neuvidí (nebo do DB ve VAR). Prostě celý disk je šifrovaný, ale nepotřebuješ zadávat heslo (neopakuju se :-))…

    V tomto případě je to tak, že se lze připojit jedním klíčem a jedním hnusným 32 znaků dlouhým heslem (když můžeš a nemusíš ho zadávat proč ne…) a oba jsou samozřejmě jinde „schované“.
    V Grub-u jsou dvě položky v menu, takže lze zvolit položku s interaktivním zadáním hesla.
    Ale pomohl jsi si mi uvědomit, že i když bylo cílem, aby při zklamání přihlášení klíčem se to zeptalo na heslo, tak v případě zadání klíče ze souboru, tomu tak není, protože se to zeptá jen v případě když zklame odemčení klíčem, ale ne v případě pokud zklame mkdir či mount (tedy třeba i neexistence flašky) - musím to opravit, i když mám ten 2. případ (klíč přímo ze zařízeni), kde to funguje správně :-).

    To, že trpíš stihomamem, ještě neznamená, že po tobě nejdou. ⰞⰏⰉⰓⰀⰜⰉ ⰗⰞⰅⰜⰘ ⰈⰅⰏⰉ ⰒⰑⰎⰉⰁⰕⰅ ⰏⰉ ⰒⰓⰄⰅⰎ ·:⁖⁘⁙†
    30.9.2013 22:50 ja
    Rozbalit Rozbalit vše Re: CentOS 6.4 a start ze šifrovaného zařízení bez hesla
    Má to výhodu, že když si dáš fotku své nahé Rúty do domovské složky Roota

    No ty z toho ale robis vedu - ja mam tu svoju "nahu Rutu" vycapenu ako wallpaper na tablete a telefone a doteraz sa nikdo nestazoval :-D
    1.10.2013 08:26 Šangala | skóre: 56 | blog: Dutá Vrba - Wally
    Rozbalit Rozbalit vše Re: CentOS 6.4 a start ze šifrovaného zařízení bez hesla
    No, ale já mám opravdovou… ;-)
    To, že trpíš stihomamem, ještě neznamená, že po tobě nejdou. ⰞⰏⰉⰓⰀⰜⰉ ⰗⰞⰅⰜⰘ ⰈⰅⰏⰉ ⰒⰑⰎⰉⰁⰕⰅ ⰏⰉ ⰒⰓⰄⰅⰎ ·:⁖⁘⁙†
    1.10.2013 09:50 ovoce
    Rozbalit Rozbalit vše Re: CentOS 6.4 a start ze šifrovaného zařízení bez hesla
    http://xkcd.com/1269/ Panel číslo dva ;)
    1.10.2013 10:36 Šangala | skóre: 56 | blog: Dutá Vrba - Wally
    Rozbalit Rozbalit vše Re: CentOS 6.4 a start ze šifrovaného zařízení bez hesla

    To tam určitě nebude, ale najdou se recepty na pečení chleba s tajnou přísadou….

    Nicméně „proč ne, když můžu“, a navíc Arch a Bubuntu to snad umí out-of-box, tak jsem to musel naučit i CentOS (a navíc jsem se musel zamyslet „jak bez bashismů“, což neuškodí) ;-)

    To, že trpíš stihomamem, ještě neznamená, že po tobě nejdou. ⰞⰏⰉⰓⰀⰜⰉ ⰗⰞⰅⰜⰘ ⰈⰅⰏⰉ ⰒⰑⰎⰉⰁⰕⰅ ⰏⰉ ⰒⰓⰄⰅⰎ ·:⁖⁘⁙†
    Bystroushaak avatar 30.9.2013 15:19 Bystroushaak | skóre: 36 | blog: Bystroushaakův blog | Praha
    Rozbalit Rozbalit vše Re: CentOS 6.4 a start ze šifrovaného zařízení bez hesla
    Já jsem se pokoušel rozjet na serverovém Ubuntu řešení, kde jádro nastartuje Dropbear, takže by mělo být možné se přes SSH připojit a heslo zadat, ale poté co jsem na tom zabil pár hodin jsem neuspěl. Fungovalo to tak nějak napůl. Někdy se do toho musím zase pustit, startovat server tak, že naslepo píšu heslo a doufám, že jsem v té správné části bootovacího procesu je docela opruz.

    Kdyby to někoho zajímalo:

    Založit nové vláknoNahoru

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