Note :

Vérifier la fonction de démarrage sécurisé sur les instances dotées d'une protection maximale pour le service de calcul d'OCI

Présentation

Le démarrage sécurisé est une fonction de l'interface UEFI (Unified Extensible Firmware Interface) qui empêche les programmes de démarrage et les systèmes d'exploitation non autorisés de démarrer. Le démarrage sécurisé vérifie que la signature du micrologiciel signé est correcte avant le démarrage afin d'empêcher l'exécution de programmes malveillants racines, de trousses de démarrage et de logiciels non autorisés avant le chargement du système d'exploitation. Les composants de démarrage qui ne sont pas correctement signés ne sont pas autorisés à s'exécuter, ce qui empêche le système de démarrer. Ce tutoriel vous guidera tout au long des tâches permettant de vérifier la fonction de démarrage sécurisé sur les instances dotées d'une protection maximale pour le service de calcul d'Oracle Cloud Infrastructure (OCI).

Objectifs

Préalables

Tâche 1 : Vérifier le statut de démarrage sécurisé dans l'instance dotée d'une protection maximale

Exécutez la commande suivante pour vérifier le statut de démarrage sécurisé.

sudo mokutil --sb-state

Vous pouvez voir que le démarrage sécurisé est activé.

SecureBoot enabled

Tâche 2 : Configurer l'environnement dans l'instance dotée d'une protection maximale

  1. Créez un répertoire pour le module de noyau.

    mkdir ~/secureboot
    cd ~/secureboot
    
  2. Créez le fichier source du module de noyau nommé unauthorised_module.c avec le contenu suivant.

    #include <linux/module.h>
    #include <linux/kernel.h>
    
    static int __init unauthorised_module_init(void) {
        printk(KERN_INFO "Unauthorised module loaded\n");
        return 0;
    }
    
    static void __exit unauthorised_module_exit(void) {
        printk(KERN_INFO "Unauthorised module unloaded\n");
    }
    
    module_init(unauthorised_module_init);
    module_exit(unauthorised_module_exit);
    
    MODULE_LICENSE("GPL");
    MODULE_DESCRIPTION("Unauthorised module");
    MODULE_AUTHOR("Vishak");
    
  3. Créez un fichier Makefile nommé Makefile avec le contenu suivant.

    obj-m += unauthorised_module.o
    
    all:
            make -C /lib/modules/$(shell uname -r)/build M=$(PWD) modules
    
    clean:
            make -C /lib/modules/$(shell uname -r)/build M=$(PWD) clean
    

    Note : Assurez-vous que les lignes sous all: et clean: sont indentées par un onglet et non par des espaces.

Tâche 3 : Créer le module de noyau

Exécutez la commande suivante pour installer le jeu d'outils GCC.

make

Cela compile le fichier unauthorised_module.c et produit unauthorised_module.ko.

(Facultatif) Gérer les problèmes de compatibilité du compilateur :

Si vous rencontrez des erreurs de non-concordance de version de jeu d'outils GCC, procédez comme suit pour résoudre le problème.

  1. Installez l'ensemble d'outils GCC.

    sudo yum install gcc-toolset-11
    
  2. Activez l'ensemble d'outils GCC.

    scl enable gcc-toolset-11 bash
    

Tâche 4 : Charger le module de noyau non signé

  1. Exécutez la commande suivante pour charger le module de noyau.

    sudo insmod unauthorised_module.ko
    

    Si le démarrage sécurisé est activé et fonctionne correctement, vous devriez voir l'erreur suivante.

    insmod: ERROR: could not insert module test_module.ko: Key was rejected by service
    
  2. Vérifiez les messages du noyau pour l'application sécurisée du démarrage.

    (dmesg -T | grep -i "secure boot"; dmesg -T | tail -5) | less
    

    Recherchez des messages indiquant que le démarrage sécurisé a empêché le module de charger.

    [Wed Jul 10 14:00:41 2024] secureboot: Secure boot enabled
    [Wed Jul 10 14:00:41 2024] Kernel is locked down from EFI Secure Boot mode; see man kernel_lockdown.7
    [Wed Jul 24 14:34:51 2024] Loading of unsigned module is rejected
    

Étapes suivantes

Dans ce tutoriel, nous avons vérifié la fonctionnalité de démarrage sécurisé sur votre instance dotée d'une protection Oracle Linux en tentant de charger un module de noyau non signé et en observant la réponse du système. Cela confirme que le démarrage sécurisé est actif et fonctionne comme prévu, améliorant ainsi la sécurité de votre environnement en nuage. L'avantage du démarrage sécurisé est qu'il garantit que seuls les logiciels approuvés et signés sont chargés pendant le processus de démarrage, protégeant votre instance du code malveillant ou non autorisé et conservant ainsi l'intégrité de votre système.

Dans le prochain tutoriel de cette série, nous explorerons des fonctions de sécurité et des méthodes de test supplémentaires pour les instances OCI.

Confirmation

Autres ressources d'apprentissage

Explorez d'autres laboratoires sur la page docs.oracle.com/learn ou accédez à plus de contenu d'apprentissage gratuit sur le canal YouTube d'Oracle Learning. De plus, visitez education.oracle.com/learning-explorer pour devenir un explorateur Oracle Learning.

Pour obtenir de la documentation sur le produit, visitez Oracle Help Center.