Sicherheitsrisiko? Warum wendet Ubuntu seltsame Berechtigungen in /boot/initrd* und /boot/vmlinuz* an?

Sicherheitsrisiko? Warum wendet Ubuntu seltsame Berechtigungen in /boot/initrd* und /boot/vmlinuz* an?

initrd.img hat alle 644, vmlinuz dagegen 600. Bei vielen anderen Distributionen ist das umgekehrt, wenn nicht bei allen. Ich denke, andere Distributionen machen es tatsächlich richtig. Der Inhalt von vlinuz ist öffentlich zugänglich, es gibt keine Geheimnisse darin. Allerdings kann initrd alle möglichen benutzerdefinierten Einstellungen enthalten, die Angriffsflächen freilegen können, wenn man seinen Inhalt othernicht rootlesen kann. Darüber hinaus ist es ein Trend, dass Leute den Luks-Schlüssel in initrd aufnehmen, wenn sie eine vollständige Festplattenverschlüsselung durchführen. Daher ist es absolut notwendig, no! no!initrd global lesbar zu machen.

Was ist der Grund für dieses Design? Warum muss initrd.img bei Ubuntu global lesbar sein? Gibt es Funktionen, die davon abhängen?

Ich hoffe, erfahrene Benutzer können mir sagen, wie ich initrd.img in Ubuntu dauerhaft auf 600 setzen kann. Da diese Dateien bei Kernel-Updates automatisch generiert werden. Vielleicht ein Skript hinzufügen /etc/kernel/postinst.d/?

Antwort1

Ich sehe einen Unterschied zwischen 20.04 und 22.04, die ich beide auf meinem Rechner installiert habe. In 20.04 sehe ich das Verhalten, das Sie in Ihrer Frage beschreiben, während in 22.04 die initrd.img*-Dateien 600 Berechtigungen haben.

Herumstolperndieser FehlerIch habe die Dateien eingecheckt /etc/initramfs-toolsund die entsprechende Datei gefunden, die in 22.04 vorhanden ist, aber nicht in 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

Ich denke also, dies ist die Datei, die Sie hinzufügen müssen, um sichere Berechtigungen für Ihre initrd.img*-Dateien zu erhalten.

Dies hat natürlich keine Auswirkungen auf bereits vorhandene Initramfs-Images. Ändern Sie chmodderen Berechtigungen auf 600.

Antwort2

Die Kernel- und Symboldateien werden mit der Berechtigung 0600 installiert, sodass Exploits diese Dateien nicht lesen können, um herauszufinden, welche Adressen oder Offsets für Angriffe verwendet werden sollen. Dies ist alles andere als narrensicher, da ein Angreifer alle Kernelpakete im Voraus herunterladen und die erforderlichen Offsettabellen selbst erstellen kann, aber dies ist zusätzliche Arbeit.

Es könnte sinnvoll sein, dieStandard-Initramfs-Berechtigungen wie in der Antwort von @mook765 beschrieben. Wenn Sie ein Problem haben, reichen Sie bitte einen Fehlerbericht ein.help.ubuntu.com-Artikel zur vollständigen Festplattenverschlüsselungenthält diesen Schritt sowie Hinweise zum Einbetten von Schlüsseln in das Initramfs.

Die Standardeinstellungen sollten für Benutzer sicher sein, die kein Schlüsselmaterial für andere Dateisysteme in ihr Initramfs einbetten. (Ich glaube, das ist eine sehr seltene Konfiguration.)

verwandte Informationen