Github publikoval Octoverse 2025 (YouTube), tj. každoroční přehled o stavu open source a veřejných softwarových projektů na GitHubu. Každou sekundu se připojil více než jeden nový vývojář. Nejpoužívanějším programovacím jazykem se stal TypeScript.
Kit je nový maskot webového prohlížeče Firefox.
Mastodon (Wikipedie) - sociální síť, která není na prodej - byl vydán ve verzi 4.5. Přehled novinek s náhledy v oznámení na blogu.
Německo zvažuje, že zaplatí místním telekomunikačním operátorům včetně Deutsche Telekom, aby nahradili zařízení od čínské firmy Huawei. Náklady na výměnu by mohly přesáhnout dvě miliardy eur (bezmála 49 miliard Kč). Jeden scénář počítá s tím, že vláda na tento záměr použije prostředky určené na obranu či infrastrukturu.
Po dvaceti letech skončil leader japonské SUMO (SUpport.MOzilla.org) komunity Marsf. Důvodem bylo nasazení sumobota, který nedodržuje nastavené postupy a hrubě zasahuje do překladů i archivů. Marsf zároveň zakázal použití svých příspěvků a dat k učení sumobota a AI a požádal o vyřazení svých dat ze všech učebních dat.
Úřad pro ochranu hospodářské soutěže zahajuje sektorové šetření v oblasti mobilních telekomunikačních služeb poskytovaných domácnostem v České republice. Z poznatků získaných na základě prvotní analýzy provedené ve spolupráci s Českým telekomunikačním úřadem (ČTÚ) ÚOHS zjistil, že vzájemné vztahy mezi operátory je zapotřebí detailněji prověřit kvůli možné nefunkčnosti některých aspektů konkurence na trzích, na nichž roste tržní podíl klíčových hráčů a naopak klesá význam nezávislých virtuálních operátorů.
Různé audity bezpečnostních systémů pařížského muzea Louvre odhalily závažné problémy v oblasti kybernetické bezpečnosti a tyto problémy přetrvávaly déle než deset let. Jeden z těchto auditů, který v roce 2014 provedla francouzská národní agentura pro kybernetickou bezpečnost, například ukázal, že heslo do kamerového systému muzea bylo „Louvre“. 😀
Z upstreamu GNOME Mutter byl zcela odstraněn backend X11. GNOME 50 tedy poběží už pouze nad Waylandem. Aplikace pro X11 budou využívat XWayland.
Byl publikován plán na odstranění XSLT z webových prohlížečů Chrome a Chromium. S odstraněním XSLT souhlasí také vývojáři Firefoxu a WebKit. Důvodem jsou bezpečnostní rizika a klesající využití v moderním webovém vývoji.
Desktopové prostředí LXQt (Lightweight Qt Desktop Environment, Wikipedie) vzniklé sloučením projektů Razor-qt a LXDE bylo vydáno ve verzi 2.3.0. Přehled novinek v poznámkách k vydání.
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…
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 předřadit i cestu ke klíči uvozenou rd_LUKS_UUID=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>.
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 rmdir90crypt_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
Tiskni
Sdílej:
.
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 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í) 