¿riesgo de seguridad? ¿Por qué Ubuntu aplica permisos extraños en /boot/initrd* y /boot/vmlinuz*?

¿riesgo de seguridad? ¿Por qué Ubuntu aplica permisos extraños en /boot/initrd* y /boot/vmlinuz*?

initrd.img son todos 644, vmlinuz en otro lado es 600. Esto se invierte en muchas otras distribuciones, si no en todas. Creo que otras distribuciones lo hacen correctamente. El contenido de vlinuz está disponible públicamente y no hay secretos allí. Sin embargo, initrd puede contener todo tipo de configuraciones personalizadas que pueden exponer la superficie de ataque cuando otheren lugar de rootpoder leer su contenido. Además, es una tendencia que las personas incluyan la clave luks en initrd cuando cifran el disco completo. Por lo tanto, es absolutamente necesario no! no!establecer que el initrd sea legible globalmente.

¿Cuál es el motivo detrás de este diseño? ¿Por qué Ubuntu necesita que initrd.img sea legible globalmente? ¿Hay alguna funcionalidad que dependa de esto?

Espero que un usuario experimentado pueda decirme cómo hacer que initrd.img sea permanentemente 600 en ubuntu. Dado que estos archivos se generan automáticamente durante las actualizaciones del kernel. ¿Quizás agregar algún script /etc/kernel/postinst.d/?

Respuesta1

Veo una diferencia entre 20.04 y 22.04, ambos instalados en mi máquina. En 20.04 veo el comportamiento que describe en su pregunta, mientras que en 22.04 los archivos initrd.img* tienen 600 permisos.

Tropezandoeste errorRevisé los archivos /etc/initramfs-toolsy encontré el archivo relevante que existe en 22.04 pero no en 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

Entonces creo que este es el archivo que necesita agregar para obtener permisos seguros para sus archivos initrd.img*.

Por supuesto, esto no afectará las imágenes initramfs ya existentes; utilícelas chmodpara cambiar sus permisos a 600.

Respuesta2

Los archivos del kernel y de símbolos se instalan con permisos 0600, por lo que los exploits no pueden leer estos archivos para saber qué direcciones o compensaciones usar en los ataques. Está lejos de ser infalible, ya que un atacante puede descargar todos los paquetes del kernel con anticipación y crear él mismo las tablas de compensación necesarias, pero es un trabajo adicional.

Podría tener sentido cambiar elpermisos initramfs predeterminados como se describe en la respuesta de @mook765. Si lo cree firmemente, presente un informe de error. ElArtículo de help.ubuntu.com sobre cifrado completo de discoincluye este paso junto con consejos sobre cómo integrar claves en initramfs.

Los valores predeterminados deberían ser seguros para los usuarios que no incorporan material clave para otros sistemas de archivos en sus initramfs. (Creo que esta es una configuración muy rara).

información relacionada