

• Ce tutoriel montre comment créer un certificat personnalisé pour signer des modules non signés sous Linux. Cette étape est indispensable si votre système utilise Secure Boot, garantissant que seuls des modules approuvés sont chargés.

• Une distribution Linux prenant en charge UEFI Secure Boot.
• Un accès root ou sudo.
• Les outils OpenSSL et scripts de gestion des signatures (inclus dans le noyau Linux).

• Introduire les deux approches principales :
• Méthode 1 : Création manuelle d’un certificat pour signer les modules.
• Méthode 2 : Automatisation avec des scripts Bash pour signer et gérer les modules.

• Méthode 1 : Contrôle précis sur la configuration des certificats.
• Méthode 2 : Idéal pour déployer des certificats sur plusieurs systèmes.

• Méthode 1 : Plus complexe et manuel.
• Méthode 2 : Nécessite des scripts bien conçus pour éviter des erreurs.

• Méthode 1 : Création manuelle
Générez un certificat auto-signé :
Code:
openssl req -new -x509 -newkey rsa:2048 -keyout MOK.priv -outform DER -out MOK.der -nodes -days 365 -subj "/CN=Module Signature"
Code:
sudo mokutil --import MOK.der
Code:
sudo /usr/src/linux-headers-$(uname -r)/scripts/sign-file sha256 MOK.priv MOK.der /chemin/vers/votre/module.ko
Code:
sudo modprobe nom_du_module
• Méthode 2 : Automatisation avec script Bash
Créez un script pour générer et appliquer les certificats :
Code:
#!/bin/bash
openssl req -new -x509 -newkey rsa:2048 -keyout MOK.priv -outform DER -out MOK.der -nodes -days 365 -subj "/CN=Module Signature"
sudo mokutil --import MOK.der
echo "Certificat importé. Redémarrez pour finaliser l’installation."
Code:
chmod +x sign_module.sh && ./sign_module.sh

• Utilisez un script cron pour vérifier automatiquement que les modules chargés sont correctement signés.

• Évitez de signer des modules non vérifiés ou provenant de sources non fiables, même avec un certificat personnalisé.

• Documentez vos processus de signature et conservez vos clés dans un emplacement sécurisé.

• Utilisez un certificat émis par une autorité de certification reconnue pour simplifier les validations dans Secure Boot.

• Documentation du noyau Linux
• Recherche Google

• Avec ces étapes, vous pouvez signer des modules personnalisés sous Linux, permettant leur utilisation sur des systèmes utilisant Secure Boot tout en maintenant la sécurité du noyau.