<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="et">
	<id>https://www.auul.pri.ee/wiki/index.php?action=history&amp;feed=atom&amp;title=UEFI_Secure_Boot_kasutamisest_%C3%BCldiselt</id>
	<title>UEFI Secure Boot kasutamisest üldiselt - Redigeerimiste ajalugu</title>
	<link rel="self" type="application/atom+xml" href="https://www.auul.pri.ee/wiki/index.php?action=history&amp;feed=atom&amp;title=UEFI_Secure_Boot_kasutamisest_%C3%BCldiselt"/>
	<link rel="alternate" type="text/html" href="https://www.auul.pri.ee/wiki/index.php?title=UEFI_Secure_Boot_kasutamisest_%C3%BCldiselt&amp;action=history"/>
	<updated>2026-05-03T21:24:48Z</updated>
	<subtitle>Selle lehekülje redigeerimiste ajalugu</subtitle>
	<generator>MediaWiki 1.39.13</generator>
	<entry>
		<id>https://www.auul.pri.ee/wiki/index.php?title=UEFI_Secure_Boot_kasutamisest_%C3%BCldiselt&amp;diff=912&amp;oldid=prev</id>
		<title>Imre: Uus lehekülg: '===Sissejuhatus===  Tundub, et üldiselt on Secure Boot ja Linux tarkvara kasutamisel kolm suunda  * UEFI Setup keskkonnas Secure Boot funktsionaalsuse väljalülitamine * UEFI Secure Boot on sisse lülitatud, aga selle turvalisusega seotud aspektidele ei pöörata tähelepanu; oluline on, et arvuti Linuxiga töötaks ja kõik (nt dual-boot Windows-Linux režiimis töötav arvuti) * UEFI Secure Boot abil süsteemi turvalisuse suurendamine  Käesolev tekst tegeleb UEFI Secur...'</title>
		<link rel="alternate" type="text/html" href="https://www.auul.pri.ee/wiki/index.php?title=UEFI_Secure_Boot_kasutamisest_%C3%BCldiselt&amp;diff=912&amp;oldid=prev"/>
		<updated>2024-04-16T23:21:28Z</updated>

		<summary type="html">&lt;p&gt;Uus lehekülg: &amp;#039;===Sissejuhatus===  Tundub, et üldiselt on Secure Boot ja Linux tarkvara kasutamisel kolm suunda  * UEFI Setup keskkonnas Secure Boot funktsionaalsuse väljalülitamine * UEFI Secure Boot on sisse lülitatud, aga selle turvalisusega seotud aspektidele ei pöörata tähelepanu; oluline on, et arvuti Linuxiga töötaks ja kõik (nt dual-boot Windows-Linux režiimis töötav arvuti) * UEFI Secure Boot abil süsteemi turvalisuse suurendamine  Käesolev tekst tegeleb UEFI Secur...&amp;#039;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Uus lehekülg&lt;/b&gt;&lt;/p&gt;&lt;div&gt;===Sissejuhatus===&lt;br /&gt;
&lt;br /&gt;
Tundub, et üldiselt on Secure Boot ja Linux tarkvara kasutamisel kolm suunda&lt;br /&gt;
&lt;br /&gt;
* UEFI Setup keskkonnas Secure Boot funktsionaalsuse väljalülitamine&lt;br /&gt;
* UEFI Secure Boot on sisse lülitatud, aga selle turvalisusega seotud aspektidele ei pöörata tähelepanu; oluline on, et arvuti Linuxiga töötaks ja kõik (nt dual-boot Windows-Linux režiimis töötav arvuti)&lt;br /&gt;
* UEFI Secure Boot abil süsteemi turvalisuse suurendamine&lt;br /&gt;
&lt;br /&gt;
Käesolev tekst tegeleb UEFI Secure Boot kasutamisega süsteemi turvalisuse suurendamiseks. Kindlasti ei ole Secure Boot üksi piisav instrument süsteemi turvalisusega tegelemisel, aga kuna kaasaegne riistvara seda võimaldab, oleks tõenäoliselt ebapraktiline seda võimalust mitte kasutada. Nt Windows 8+ operatsioonisüsteemide puhul reeglina on Secure Boot kasutusel.&lt;br /&gt;
&lt;br /&gt;
UEFI Secure Boot kasutamine on üldiselt võimalik vaid füüsilisel arvutil, millel on vastav riistvaraline tugi (tavaliselt tänapäeva arvutitel on) ja mõnes virtuaalses keskkonnas (VirtualBox, OVMF).&lt;br /&gt;
&lt;br /&gt;
===Mõisted===&lt;br /&gt;
&lt;br /&gt;
* PK (Platform Key)&lt;br /&gt;
* KEK (Key Exchange Key)&lt;br /&gt;
* DB&lt;br /&gt;
* DBX&lt;br /&gt;
* DBT&lt;br /&gt;
* OVMF (Open Virtual Machine Firmware)&lt;br /&gt;
* ExitBootServices - https://lwn.net/Articles/632528/&lt;br /&gt;
* kernel system keyring&lt;br /&gt;
&lt;br /&gt;
===Tööpõhimõte===&lt;br /&gt;
&lt;br /&gt;
UEFI Secure Boot kasutamise eesmärgiks võiks olla, et&lt;br /&gt;
&lt;br /&gt;
* arvutis käivitub ainult kontrollitud esimese astme bootloader shim&lt;br /&gt;
* arvutis käivitub ainult kontrollitud järgmise astme bootloader (nt grub2)&lt;br /&gt;
* arvutis käivitub ainult kontrollitud tuum&lt;br /&gt;
* arvutis käivituvad ainult kontrollitud tuuma moodulid&lt;br /&gt;
&lt;br /&gt;
Selle tulemusena on välistatud bootkit, rootkit jms nö madala kihi pahalaste tegevused. Kuna pahalane ei saa syscall'ide nö interceptimiseks tuuma enda pahu mooduleid juurde laadida, on tal raskem oma tegevusi varjata operatsioonisüsteemi keskkonnas töötavate staatiliselt kompileeritud utiliitide ja nö tavalise viirustõrje vms HIDS lahenduse eest.&lt;br /&gt;
&lt;br /&gt;
Tundub, et Secure Boot on mitte-valmis ja arengus valdkond ning erinevad Linuxi distributsioonid on läinud natuke erinevat teed, seda võtab hästi kokku aadressil https://wiki.freebsd.org/SecureBoot, lühidalt&lt;br /&gt;
&lt;br /&gt;
* Fedora kontrollib kasutatava tarkvara autentsust kuni (ja kaasa arvatud) tuuma moodulid, kui midagi ei läbi kontrolli, arvuti algkäivitumine katkeb&lt;br /&gt;
* Ubuntu kontrollib kasutatava tarkvara autentsust kuni bootloaderini (ja kaasa arvatud), kui midagi ei läbi kontrolli, arvuti algkäivitumine katkeb. Sealt edasi võib aga ei pea kontroll õnnestuma (nt saab laadida signeerimata tuuma).&lt;br /&gt;
&lt;br /&gt;
Vahel on oluline Secure Boot valikute kehtestumiseks kaitsta BIOS ehk UEFI Setup keskkonna kasutamine parooliga.&lt;br /&gt;
&lt;br /&gt;
PK, KEK ja DB komplektides olevad sertifikaadid ei moodusta üldiselt omavahel sertifikaatide ahelaid issueri ja subject mõttes.&lt;br /&gt;
&lt;br /&gt;
===Secure Boot tehnikat kasutava süsteemi tutvustus===&lt;br /&gt;
&lt;br /&gt;
Secure Boot tehnikat kasutaval süsteemil paistavad välja sellised omadused. Enne bootimist annab secure boot sisselülitamisest tunnistust nt HP ProLiant DL160 Gen9 arvuti puhul&lt;br /&gt;
&lt;br /&gt;
[[Pilt:Uefi-secure-boof-hpdl160-4.gif]]&lt;br /&gt;
&lt;br /&gt;
kus&lt;br /&gt;
&lt;br /&gt;
* Boot Mode - UEFI ja lisaks Secure Boot&lt;br /&gt;
&lt;br /&gt;
Peale bootimist annab secure boot sisselülitamisest tunnistust&lt;br /&gt;
&lt;br /&gt;
* Asjakohased teated laaditud sertifikaatidest&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
# dmesg | grep Loaded&lt;br /&gt;
[    0.697495] EFI: Loaded cert 'Microsoft Windows Production PCA 2011: a92902398e16c49778cd90f99e4f9ae17c55af53' linked to '.builtin_trusted_keys'&lt;br /&gt;
[    0.697535] EFI: Loaded cert 'Microsoft Corporation UEFI CA 2011: 13adbf4309bd82709c8cd54f316ed522988a1bd4' linked to '.builtin_trusted_keys'&lt;br /&gt;
[    0.702545] EFI: Loaded cert 'Fedora Secure Boot CA: fde32599c2d61db1bf5807335d7b20e4cd963b42' linked to '.builtin_trusted_keys'&lt;br /&gt;
[    0.703825] Loaded X.509 cert 'Fedora kernel signing key: 673bb02beed63197377aec66b8b55b48fda09690'&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* kernel system keyring sisu&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
# keyctl list %:.builtin_trusted_keys&lt;br /&gt;
4 keys in keyring:&lt;br /&gt;
 12781590: ---lswrv     0     0 asymmetric: Microsoft Windows Production PCA 2011: a92902398e16c49778cd90f99e4f9ae17c55af53&lt;br /&gt;
209795856: ---lswrv     0     0 asymmetric: Fedora kernel signing key: 673bb02beed63197377aec66b8b55b48fda09690&lt;br /&gt;
866803799: ---lswrv     0     0 asymmetric: Fedora Secure Boot CA: fde32599c2d61db1bf5807335d7b20e4cd963b42&lt;br /&gt;
550204441: ---lswrv     0     0 asymmetric: Microsoft Corporation UEFI CA 2011: 13adbf4309bd82709c8cd54f316ed522988a1bd4&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* dmesg'is paistab Secure Boot nii&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
# dmesg | grep Secure&lt;br /&gt;
[    0.000000] Secure boot enabled&lt;br /&gt;
[    2.920552] EFI: Loaded cert 'Hewlett-Packard Company: HP UEFI Secure Boot 2013 DB key: 1d7cf2c2b92673f69c8ee1ec7063967ab9b62bec' linked to '.builtin_trusted_keys'&lt;br /&gt;
[    3.009054] EFI: Loaded cert 'SUSE Linux Enterprise Secure Boot Signkey: 3fb077b6cebc6ff2522e1c148c57c777c788e3e7' linked to '.builtin_trusted_keys'&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* bootctl ütleb nii&lt;br /&gt;
&lt;br /&gt;
 # bootctl status&lt;br /&gt;
 Using EFI System Parition at /boot/efi.&lt;br /&gt;
 System:&lt;br /&gt;
      Firmware: n/a (n/a)&lt;br /&gt;
   Secure Boot: enabled&lt;br /&gt;
    Setup Mode: user&lt;br /&gt;
 &lt;br /&gt;
 ...&lt;br /&gt;
&lt;br /&gt;
* saab paigaldada, kuid mitte kasutada isekompileeritud tuuma mooduleid&lt;br /&gt;
&lt;br /&gt;
 # apt-get install flashcache-dkms&lt;br /&gt;
 &lt;br /&gt;
 ...&lt;br /&gt;
 # modprobe flashcache&lt;br /&gt;
 modprobe: ERROR: could not insert 'flashcache': Required key not available&lt;br /&gt;
&lt;br /&gt;
* arvutilt küsimine, kas Secure Boot on sisse lülitatud&lt;br /&gt;
&lt;br /&gt;
 # mokutil --sb-state&lt;br /&gt;
 SecureBoot enabled&lt;br /&gt;
&lt;br /&gt;
===Ubuntu kasutamine Secure Boot abil===&lt;br /&gt;
&lt;br /&gt;
Vaikimisi Ubuntu 16.10 kontrollib rangelt tegevusi kuni ja kaasa arvatud GRUB2 bootloaderi laadimiseni. Seejärel lubatakse laadida suvaline kernel. Kui kernel kasutab signeeritud mooduleid, siis ei lubata laadida signeerimata mooduleid. Seejuures tundub, et Ubuntu võti on otse SHIM efi rakenduse sees (mitte MOK andmestikus). Ubuntu probleem on selles, et GRUB2 bootloader ei kontrolli rangelt, kas tuum on signeeritud. Tundub, et Ubuntu 16.10 saab juurutada turvaliselt selliselt&lt;br /&gt;
&lt;br /&gt;
* kustutada DB seest Mircosoft sertifikaadid&lt;br /&gt;
* tekitada privaatne võti-sertifikaat&lt;br /&gt;
* kustutada MOK andmestik&lt;br /&gt;
* lisada DB peale oma sertifikaat (UEFI Setup keskkonnast saab seda teha ilma mingite lisakinnitusteta)&lt;br /&gt;
* kasutada Fedora SHIM ja GRUB2 efi rakendusi, kopeerida /boot/efi/EFI/ubuntu-verified alla tavalise Fedora vastava kataloogi sisust failid&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
/boot/efi/EFI/fedora/MokManager.efi&lt;br /&gt;
/boot/efi/EFI/fedora/shim.efi&lt;br /&gt;
/boot/efi/EFI/fedora/shim-fedora.efi&lt;br /&gt;
/boot/efi/EFI/fedora/fonts/unicode.pf2&lt;br /&gt;
/boot/efi/EFI/fedora/grubx64.efi&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* allkirjastada Fedora shim.efi, grubx64.efi ja kernel oma privaatse võtmega&lt;br /&gt;
* osutub, et tuuma moodulid on signeeritud tuuma sees oleva võtmega (mitte üldise Ubuntu võtmega) ja tundub, et loogika on selline, et kui tuum on usaldatud kasutada, siis tuuma iseseisvalt kontrollib oma moodulite usaldusväärsust&lt;br /&gt;
&lt;br /&gt;
Käsitsi bootimisel sobib öelda efi shellis&lt;br /&gt;
&lt;br /&gt;
 Shell&amp;gt; fs0:&lt;br /&gt;
 FS0:\&amp;gt; cd efi/ubuntu-verified&lt;br /&gt;
 FS0:\&amp;gt; shim.efi&lt;br /&gt;
&lt;br /&gt;
ning grub promptis&lt;br /&gt;
&lt;br /&gt;
 grub&amp;gt; ls&lt;br /&gt;
 grub&amp;gt; set root=(lvm/system-root)&lt;br /&gt;
 grub&amp;gt; ls /&lt;br /&gt;
 grub&amp;gt; linuxefi /boot/vmlinuz-4.8.0-22-generic.efi.signed.test-cert root=/dev/mapper/system-root ro&lt;br /&gt;
 grub&amp;gt; initrdefi /boot/initrd.img-4.8.0-22-generic&lt;br /&gt;
 grub&amp;gt; boot&lt;br /&gt;
&lt;br /&gt;
Sellisel juhul&lt;br /&gt;
&lt;br /&gt;
* pahalane võib küll asendada shim.efi või grubx64.efi rakendused või kerneli, aga süsteemi ei käivitata kuna ta ei saa neid sobivalt allkirjastada, sest tal puudub privaatne võti&lt;br /&gt;
* pahalane ei saa sokutada kasutusse ka Ubuntu default shim.efi ja grubx64.efi rakendusi (et sealt edasi kasutada suvalist tuuma), kuna need on signeeritud Ubuntu poolt, aga Ubuntu võtit ei ole DB andmestikus&lt;br /&gt;
&lt;br /&gt;
Vale shim.efi rakenduse laadimine paistab nii&lt;br /&gt;
&lt;br /&gt;
[[Pilt:Uefi-secure-boof-hpdl160-5.gif]]&lt;br /&gt;
&lt;br /&gt;
Vale tuuma laadimine nii&lt;br /&gt;
&lt;br /&gt;
[[Pilt:Uefi-secure-boof-hpdl160-6.gif]]&lt;br /&gt;
&lt;br /&gt;
Vale tuuma mooduli laadimine&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
# modprobe flashcache&lt;br /&gt;
modprobe: ERROR: could not insert 'flashcache': Required key not available&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Tegevused peale UEFI-Secure-Boot-proper osa lõppu===&lt;br /&gt;
&lt;br /&gt;
Secure Boot abil saab käivitada turvaliselt tuuma ja tuuma moodulid, aga tekib küsimus, et mis edasi, nt&lt;br /&gt;
&lt;br /&gt;
* kas saaks rakendada IMA tehnikat, https://wiki.gentoo.org/wiki/Integrity_Measurement_Architecture, https://wiki.strongswan.org/projects/strongswan/wiki/IMA&lt;br /&gt;
* kas arvuti /boot/efi peal asuda nn Ingrity.efi rakendus ja kahtluse korral saab seda kasutada arvuti failisüsteemide kontrollimiseks&lt;br /&gt;
&lt;br /&gt;
===Probleemid===&lt;br /&gt;
&lt;br /&gt;
* grub.conf signeerimine - ilma selleta ei saa küll bootida päris suvalisi kerneleid, aga suvalisi korrektselt signeeritud kerneleid (nt vana tuuma versiooni)&lt;br /&gt;
* kexec kasutamine - tundub, et 2016 aastal saab kexec abil laadida ainult korrektselt signeeritud tuuma&lt;br /&gt;
&lt;br /&gt;
===Ubuntu signed tuuma kasutamine===&lt;br /&gt;
&lt;br /&gt;
Ubuntu signed tuuma kasutamiseks tuleb paigaldada vastav signed pakett, nt&lt;br /&gt;
&lt;br /&gt;
 # apt-get install linux-signed-image-generic-hwe-16.04-edge&lt;br /&gt;
&lt;br /&gt;
kusjuures iseensest see pakett kutsub esile teise paketi paigaldamise, mis sisaldab ainult detached signatuuri&lt;br /&gt;
&lt;br /&gt;
 # dpkg -L linux-signed-image-4.13.0-17-generic&lt;br /&gt;
 ...&lt;br /&gt;
 /usr/lib/linux/vmlinuz-4.13.0-17-generic.efi.signature&lt;br /&gt;
&lt;br /&gt;
===Misc===&lt;br /&gt;
&lt;br /&gt;
Windows keskkonnas Secure Boot oleku küsimine, öelda PowerShell promptis&lt;br /&gt;
&lt;br /&gt;
 Confirm-SecureBootUEFI&lt;br /&gt;
&lt;br /&gt;
===Kasulikud lisamaterjalid===&lt;br /&gt;
&lt;br /&gt;
* [[:OVMF ja QEMU kasutamine operatsioonisüsteemiga Debian]]&lt;br /&gt;
* https://blogs.technet.microsoft.com/dubaisec/2016/03/14/diving-into-secure-boot/&lt;br /&gt;
* https://sourceforge.net/p/linux-ima/wiki/Home/&lt;/div&gt;</summary>
		<author><name>Imre</name></author>
	</entry>
</feed>