risco de segurança? por que o Ubuntu aplica permissões estranhas em/boot/initrd* e/boot/vmlinuz*?

risco de segurança? por que o Ubuntu aplica permissões estranhas em/boot/initrd* e/boot/vmlinuz*?

o initrd.img são todos 644, o vmlinuz por outro lado é 600. Isso é revertido em muitas outras distros, se não em todas. Acho que outras distros realmente fazem isso corretamente. o conteúdo do vlinuz está todo disponível ao público, não há segredos nele. No entanto, o initrd pode conter todos os tipos de configurações personalizadas que podem expor a superfície de ataque quando, otherem vez de rootler seu conteúdo. Além disso, é uma tendência que as pessoas incluam a chave luks no initrd quando fizerem a criptografia completa do disco. Portanto, é absolutamente necessário no! no!definir o initrd globalmente legível.

Qual é a razão por trás desse design? Por que o Ubuntu precisa que o initrd.img seja legível globalmente? Existe alguma funcionalidade que depende disso?

Espero que um usuário experiente possa me dizer como tornar o initrd.img permanentemente 600 no Ubuntu. Uma vez que esses arquivos são gerados automaticamente durante as atualizações do kernel. Talvez adicione algum script /etc/kernel/postinst.d/?

Responder1

Vejo uma diferença entre 20.04 e 22.04, que ambos instalei em minha máquina. Em 20.04, vejo o comportamento que você descreve em sua pergunta, enquanto em 22.04 os arquivos initrd.img* têm 600 permissões.

Tropeçandoesse bugVerifiquei os arquivos /etc/initramfs-toolse encontrei o arquivo relevante que existe em 22.04, mas não em 20.04:

~$ sudo cat /etc/initramfs-tools/conf.d/calamares-safe-initramfs.conf 
[sudo] password for mook: 
UMASK=0077
~$ ls -l /etc/initramfs-tools/conf.d/calamares-safe-initramfs.conf 
-rw------- 1 root root 11 Apr 25 02:53 /etc/initramfs-tools/conf.d/calamares-safe-initramfs.conf

Então eu acho que este é o arquivo que você precisa adicionar para obter permissões seguras para seus arquivos initrd.img*.

É claro que isso não afetará as imagens initramfs já existentes, usadas chmodpara alterar suas permissões para 600.

Responder2

Os arquivos de kernel e de símbolos são instalados com permissões 0600, portanto, os exploits não podem ler esses arquivos para saber quais endereços ou compensações usar em ataques. Está longe de ser infalível, já que um invasor pode baixar todos os pacotes do kernel antecipadamente e construir ele mesmo as tabelas de deslocamento necessárias, mas é um trabalho adicional.

Talvez faça sentido mudar opermissões padrão do initramfs conforme descrito na resposta de @ mook765. Se você acredita fortemente nisso, envie um relatório de bug. OArtigo help.ubuntu.com sobre criptografia completa de discoinclui esta etapa junto com conselhos sobre como incorporar chaves no initramfs.

Os padrões devem ser seguros para usuários que não incorporam material de chave para outros sistemas de arquivos em seus initramfs. (Acredito que esta seja uma configuração muito rara.)

informação relacionada