ubuntuusers.de

Eigener Kernel und signierte Module

Status: Ungelöst | Ubuntu-Version: Server 22.04 (Jammy Jellyfish)
Antworten |

HaraldEgon

Anmeldungsdatum:
3. Oktober 2018

Beiträge: 36

Hi!

Ich baue schon länger meine eigene Kernel. Zur Sicherheit wollte ich nun auch die Signaturüberprüfung von Kernelmodulen nutzen (Kernel 5.15). Den Kernel baue ich immer als .deb mit make bindeb-pkg. Scheinbar wird von der Methode keine Modulsignierung unterstützt?

Moderiert von tomtomtom:

Ins passende Forum verschoben.

schwarzheit Team-Icon

Supporter
Avatar von schwarzheit

Anmeldungsdatum:
31. Dezember 2007

Beiträge: 8365

HaraldEgon schrieb:

Kernel 5.15

Schon n bisl angegammelt.

von.wert

Anmeldungsdatum:
23. Dezember 2020

Beiträge: 14058

5.15 ist der zweitälteste upstream noch unterstützte Longterm-Kernel. Aber was soll es wert sein, diesen Aufwand zu betreiben?

HaraldEgon

(Themenstarter)

Anmeldungsdatum:
3. Oktober 2018

Beiträge: 36

Die Kernelversion spielt doch kaum eine Rolle. Der Schutz mit Signaturen hilft gut gegen Rootkits. Eigentlich sollte der Aufwand nicht hoch sein. Ich vermute einen kleinen Fehler bei mir im Ablauf...

von.wert

Anmeldungsdatum:
23. Dezember 2020

Beiträge: 14058

Ich rede vom Aufwand, einen eigenen Kernel zu bauen und das immer wieder. Welchen Grund es dafür geben sollte, exotische Hardware, z.B. Bei dieser Ubuntu-Version, Server her oder hin, erwarte ich freilich keine schlüssige Begründung.

HaraldEgon

(Themenstarter)

Anmeldungsdatum:
3. Oktober 2018

Beiträge: 36

@von.wert

pille palle, dauert 5 Minuten. Ausserdem ist das offtopic.

Bearbeitet von schwarzheit:

Fullquote entfernt. Bitte benutze keine kompletten Zitate. Lies dazu Zitate & Verhaltenskodex/Fullquote.

von.wert

Anmeldungsdatum:
23. Dezember 2020

Beiträge: 14058

Ich habe geschrieben:

erwarte ich freilich keine schlüssige Begründung.

W.z.b.w. Paßt zu Deinen bisherigen Threads.

lubux

Anmeldungsdatum:
21. November 2012

Beiträge: 14707

HaraldEgon schrieb:

Ich vermute einen kleinen Fehler bei mir im Ablauf...

Wie ist die Ausgabe von:

1
grep -E 'MODULE_SIG|_SIG_KEY' /boot/config-$(uname -r)

?

HaraldEgon

(Themenstarter)

Anmeldungsdatum:
3. Oktober 2018

Beiträge: 36

Die Ausgabe von:

 grep -E 'MODULE_SIG|_SIG_KEY' /boot/config-$(uname -r)
...
CONFIG_MODULE_SIG=y 
...
 

in der .config

Die Module habe ich mit modinfo kontrolliert.

Bearbeitet von Berlin_1946:

Bitte benutze keine kompletten Zitate. Lies dazu Zitate. Bitte Punkt 9 im Abschnitt Das solltest Du auf jeden Fall beachten berücksichtigen

Bearbeitet von Berlin_1946:

Bitte verwende in Zukunft Codeblöcke, um die Übersicht im Forum zu verbessern!

Bearbeitet von Berlin_1946:

Forensyntax korrigiert.

lubux

Anmeldungsdatum:
21. November 2012

Beiträge: 14707

HaraldEgon schrieb:

CONFIG_MODULE_SIG=y in der .config Die Module habe ich mit modinfo kontrolliert.

So z. B.:

1
modinfo /Pfad/zum/selbstgebauten/Modul.ko | grep -E '(signer|sig_)'

? Wie ist die Ausgabe?

EDIT:

Wie ist die Ausgabe von:

sudo mokutil --list-enrolled

?

EDIT 2:

Z. B.:

1
2
:~# modinfo wireguard | grep signer
signer:         Build time autogenerated kernel key

vs.

1
2
:~# modinfo 8192eu | grep signer
signer:         DKMS module signing key

HaraldEgon

(Themenstarter)

Anmeldungsdatum:
3. Oktober 2018

Beiträge: 36

lubux schrieb:

modinfo /Pfad/zum/selbstgebauten/Modul.ko | grep -E '(signer|sig_)'

Es gibt keinen Signaturabschnitt. Wenn ich manuell das Signier-Script ausführe, dann hätte ich den für ein Modul.

sudo mokutil --list-enrolled

Secure-Boot wird nicht genutzt, ausserdem wird das Kernelpaket auch auf einem anderen System gebaut.

Edit. Aber dennoch behauptet make, etwas signiert zu haben: Beispiel: SIGN debian/linux-image/lib/modules/5.15.199-kvm-15/kernel/net/ipv6/netfilter/ip6t_ipv6header.ko

lubux

Anmeldungsdatum:
21. November 2012

Beiträge: 14707

HaraldEgon schrieb:

Secure-Boot wird nicht genutzt, ausserdem wird das Kernelpaket auch auf einem anderen System gebaut.

BTW: Auch ohne secure-boot könntest Du den selbstgebauten Kernel so konfigurieren, dass nur signierte Module geladen werden können:

1
CONFIG_MODULE_SIG_FORCE=y

HaraldEgon schrieb:

Edit. Aber dennoch behauptet make, etwas signiert zu haben: Beispiel: SIGN debian/linux-image/lib/modules/5.15.199-kvm-15/kernel/net/ipv6/netfilter/ip6t_ipv6header.ko

Was wird auf dem Ziel-System (nicht auf dem Build-System), bzgl. strippen, mit file für "ip6t_ipv6header.ko" angezeigt?

1
not stripped

oder

1
stripped

?

HaraldEgon

(Themenstarter)

Anmeldungsdatum:
3. Oktober 2018

Beiträge: 36

lubux schrieb:

BTW: Auch ohne secure-boot könntest Du den selbstgebauten Kernel so konfigurieren, dass nur signierte Module geladen werden können:

1
CONFIG_MODULE_SIG_FORCE=y

Weiß ich, das ist doch der Plan.

HaraldEgon schrieb:

Edit. Aber dennoch behauptet make, etwas signiert zu haben: Beispiel: SIGN debian/linux-image/lib/modules/5.15.199-kvm-15/kernel/net/ipv6/netfilter/ip6t_ipv6header.ko

Was wird auf dem Ziel-System (nicht auf dem Build-System), bzgl. strippen, mit file für "ip6t_ipv6header.ko" angezeigt?

not stripped.

lubux

Anmeldungsdatum:
21. November 2012

Beiträge: 14707

HaraldEgon schrieb:

not stripped.

Wie ist auf dem Build-System in der .config für den zu bauenden Kernel, die Konfiguration für "CONFIG_MODULE_SIG_ALL"?

1
grep CONFIG_MODULE_SIG_ALL .config

?

EDIT:

Gibt es z. Zt. Ausgaben auf dem Ziel-System, mit:

1
2
dmesg | grep -i taint
cat /proc/sys/kernel/tainted

?

HaraldEgon

(Themenstarter)

Anmeldungsdatum:
3. Oktober 2018

Beiträge: 36

lubux schrieb:

grep CONFIG_MODULE_SIG_ALL .config

Das ist an, spielt aber keine Rolle, da es laut Kerneldoku nur bei make modules_install zum Tragen kommt.

dmesg | grep -i taint

nur: scsi_common: module verification failed: signature and/or required key missing - tainting kernel

cat /proc/sys/kernel/tainted

8192

Antworten |