Есть ли способ включить безопасную загрузку в Linux?

Кажется, на этот вопрос был дан ответ в комментариях:

Вы можете попробовать ssmtp вместо msmtp. Я сам использую msmtp, но для этого вам нужно установить maildomain в msmtprc; Я думаю, что ssmtp напрямую использует имя хоста. Если вы можете согласиться на «тот же msmtprc, за исключением maildomain», тогда client.mydomain.com должен быть возможен с msmtp. - frostschutz

, за которым следует:

Примечание: я установил оба (m | s) smtp, пусть msmtp предоставляет sendmail, чтобы пользователи могли использовать mailx, как они привыкли. Учетные записи root и других систем отчетности получают .mailrc, который использует ssmtp в качестве sendmail и, следовательно, предоставляет имя хоста config /etc/ssmtp/ssmtp.conf "один для всех". - arney

8
16.03.2016, 20:09
3 ответа

Для безопасной загрузки ваше оборудование должно поддерживать безопасную загрузку, а ваша ОС должна поддерживать безопасную загрузку.

Для HW вы можете проверить меню настроек UEFI, и вам необходимо добавить сертификаты / ключи, предоставленные ОС

Для ОС вы можете проверить поддержку с помощью следующих команд:

[root@secureboot-guest ~]# cat /sys/kernel/security/securelevel 

Если вывод команды выше «1», тогда безопасная загрузка поддерживается и разрешена вашей ОС.

5
27.01.2020, 20:13

AFAIK безопасная загрузка - это функция UEFI, разработанная Microsoft и некоторыми другими компаниями, входящими в консорциум UEFI.

UEFI частично зависит от аппаратного обеспечения, т.е. конфигурация материнской платы может/не может мешать. Если вы используете полный UEFI, то есть шанс, что вы сможете включить безопасную загрузку из меню UEFI.

Однако если ваша прошивка - это UEFI с CSM/BIOS, то вы можете столкнуться с определенными препятствиями, например, опция включения безопасной загрузки будет серой и т.д.

0
27.01.2020, 20:13

Во-первых: сгенерируйте собственный ключ

openssl req -new -nodes -utf8 -sha256 -days 36500 -batch -x509 \
       -subj "/CN=Kernel Key" -outform DER -out kernel.der \
       -keyout kernel.key

Попробуйте скомпилировать ядро ​​Linux с CONFIG_EFI_STUB и встроить в него initramfs, как описано здесь: https://prosauce.org/blog/2015/10/31/booting- linux-securely , для подписи модулей вы можете использовать следующий сценарий:

/usr/src/linux-headers-$(uname -r)/scripts/sign-file sha256 kernel.key kernel.der module.ko

Затем создайте файл с командной строкой ядра для вашего ноутбука \ рабочей станции, создайте один образ и скопируйте его в загрузочный каталог efi следующим образом:

# objcopy \
  --add-section .osrel=/etc/os-release --change-section-vma .osrel=0x20000 \
  --add-section .cmdline=/tmp/cmdline --change-section-vma .cmdline=0x30000 \
  --add-section .linux=/boot/vmlinuz --change-section-vma .linux=0x2000000 \
  --add-section .initrd=/boot/initrd.img --change-section-vma .initrd=0x3000000 \
/usr/lib/systemd/boot/efi/linuxx64.efi.stub linux.efi

# mkdir -p /boot/efi/EFI/BOOT

# sbsign --key /root/keys/ISK.key --cert /root/keys/ISK.pem --output /boot/efi/EFI/BOOT/BOOTX64.EFI linux.efi /boot/efi/EFI/BOOT/BOOTX64.EFI

Для установки собственный ключ в прошивку MB вы можете делать cmds следующим образом:

openssl x509 -inform der -in kernel.der -outform pem -out kernel.pem
cert-to-efi-sig-list -g "$(uuidgen)" kernel.pem kernel.esl
sign-efi-sig-list -k KEK.key -c KEK.pem kernel kernel.esl kernel.auth
4
27.01.2020, 20:13

Теги

Похожие вопросы