IPB

Bienvenue invité ( Connexion | Inscription )

> Activer le SecureBoot sur Clover
Options
iPotable
posté 1 Jan 2016, 00:33
Message #1


Adepte de Macbidouille
*

Groupe : Membres
Messages : 221
Inscrit : 15 Sep 2008
Membre no 121 727



Activer le SecureBoot sur son Hackintosh




Le SecureBoot qu'est-ce que c'est exactement ?

Le SecureBoot est une technologie développée par Microsoft destinée à sécuriser le démarrage des PCs UEFI (rien à voir avec le SIP d'Apple donc). Le principe consiste à signer les fichiers d'amorcage .efi avec une clé de chiffrement (RSA2048). Les fichiers .efi signés avec les clés approuvées sont considérés comme sûrs par le firmware de la carte mère. Si un fichier .efi signé a été altéré, le démarrage sur celui ci sera refusé. Si un fichier .efi n'est pas signé, le démarrage sera également refusé. Cela permet entre autre d'empêcher des programmes malintentionnés de type bootkit de nuire.

Comme cela a été développé par Microsoft, cela est totalement transparent pour Windows. Quelques distributions Linux le supportent également. C'est également le cas pour Clover ! Mais il faut parcourir un chemin semé de quelques embûches pour y parvenir (pas de grosses embûches, je vous rassure). Si vous souhaitez approfondir le sujet, ce site anglophone est riche en informations : http://www.rodsbooks.com/efi-bootloaders/secureboot.html.

Également, pour pouvoir réussir cet objectif, il est nécessaire de ne pas avoir un PC avec un firmware UEFI de merde bridé (typiquement les Hewlett Packard). tongue.gif

Le SecureBoot de Microsoft et le System Integrity Protection d'Apple sont deux choses bien à part, j'insiste là dessus. On peut choisir d'activer les deux, d'en activer qu'un seul des deux, ou d'en activer aucun, vous faîtes comme vous le souhaitez.

Comment installe t-on ce SecureBoot avec Clover alors ?

— Clover compilé avec support du SecureBoot

Tout d'abord, la version de Clover que vous avez probablement installée n'est pas compilée avec le support du SecureBoot, car c'est le cas par défaut, et c'est également comme cela qu'est distribué officiellement Clover depuis SourceForge.

Qu'à cela ne tienne, vous trouverez la dernière version compilée par mes soins avec le support du SecureBoot ici.

Mais pour les versions ultérieures elles ne seront pas toujours proposées sur ce tuto. Vous pouvez les compiler vous même en vous armant d'un peu de patience. Vous aurez besoin pour cela de Xcode au complet, avec les Command Line Tools. Vous avez deux options :

  • Avec Build_Clover.command (solution recommandée) :

Téléchargez Build_Clover.command. Sélectionnez l'option de compilation avec macros custom et sélectionnez ENABLE_SECURE_BOOT, puis entrez b pour lancer la compilation.

  • Avec CloverGrowerPro :

Téléchargez CloverGrowerPro. Vous pouvez laisser les valeurs par défaut données par CloverGlowerPro sauf lorsqu'il vous demandera pour le SecureBoot : vous devrez taper "yes".

La compilation de Clover avec CloverGrowerPro ne fonctionne pas sous OS X ≥ 10.11.3 et Xcode ≥ 7.3 mais vous pouvez le compiler sous OS X ≤ 10.11.2 et Xcode ≤ 7.2.1 et l'utiliser ensuite sous OS X ≥ 10.11.3.

Pour le moment, installez donc cette version de Clover compilée pour le support SecureBoot comme vous installeriez Clover habituellement.

— SbSignTools

Vous aurez besoin des outils en ligne de commande SbSignTools pour signer les fichiers binaires .efi.
Ha oui aussi, vous devez être un minimum à l'aise avec le Terminal pour réussir le tuto.
Vous pouvez télécharger les outils SbSignTools ici : https://mega.nz/#!FFZhzTJI!1olkNmh01MyR6vB3QmarhXnNfLprwsN9CQo6-dzPwJ8.

Deux méthodes pour l'installation

On arrive à un moment où il va falloir faire un choix. laugh.gif

On peut choisir soit d'utiliser les clés de son firmware UEFI en les exportant sur une clé USB et en signant les fichier .efi avec. Cela revient donc à faire confiance à Microsoft, dont les clés sont publiques (et donc n'importe qui peut signer n'importe quoi avec à peu près). On peut sinon choisir de fabriquer ses propres clés, que l'on garde pour soi (on n'est jamais mieux servi que par soi même tongue.gif ). Étant donné que beaucoup de choses sont similaires on va entremêler les deux méthodes avec des zolies couleurs.
Tout ce qui concerne la méthode "j'utilise mes propres clés de chiffrement" sont dans cette couleur.
Tout ce qui concerne la méthode "j'utilise les clés de chiffrement déjà présentes dans mon firmware" sont dans cette couleur.

Commençons par ajouter ceci dans notre config.plist :
Code
<Boot>
   <dict>
       ...
       <key>Secure</key>
       <true/>
       ...
   </dict>


On va donc créer nos propres clés de la façon suivante dans le Terminal (en remplacant "Your Name" par votre nom) :
Code
openssl req -new -x509 -newkey rsa:2048 -keyout MOK.key -out MOK.crt -nodes -days 3650 -subj "/CN=Your Name/"
     openssl x509 -in MOK.crt -out MOK.cer -outform DER

Une fois ces deux commandes tapées, vous obtiendrez trois fichiers MOK.key, MOK.crt, et MOK.cer qui constituent vos clés. Gardez les précieusement.

On choisit d'utiliser les clés de Microsoft (et celles que vous auriez ajouté dans votre firmware dans une vie antérieure).
Il faut commencer par aller dans votre firmware, selon les menus divers et variés dirigez vous vers le SecureBoot et la gestion des clés de celui-ci.
Ici cherchez un menu permettant de sauvegarder ou d'exporter les clés, en fonction du constructeur, et enregistrez les soit dans une clé usb FAT32, soit dans la partition efi.
Votre firmware devrait vous avoir sorti des fichiers sous la forme macle.rsa et macle.pem.


Maintenant, vous allez monter la partition EFI de votre Hack et signer tous les fichier .efi de Clover.

Pour signer un fichier .efi, il faut utiliser le programme sbsign de la façon suivante en adaptant le chemin vers vos clés :
Code
sbsign --key chemin/vers/MOK.key --cert chemin/vers/MOK.crt --output mon-fichier-signe.efi mon-fichier-pas-signe.efi


Vous pouvez donc signer vos fichiers .efi de la façon suivante en adaptant le chemin vers les clés :
Code
sbsign --key /chemin/vers/macle.rsa --cert /chemin/vers/macle.pem --output mon-fichier-signe.efi mon-fichier-pas-signe.efi


Je vous déconseille de mettre le même nom pour le fichier signé et le fichier non signé, car je ne sais pas du tout quel effet ça peut engendrer, et ça pourrait bien vous causer du tort. Sauvegardez les originaux, et placez les versions signées ensuite à la place.

Vous trouverez des fichiers .efi dans /Volumes/EFI/EFI/BOOT/, dans /Volumes/EFI/EFI/CLOVER, dans /Volumes/EFI/EFI/CLOVER/drivers64UEFI, et dans /Volumes/EFI/EFI/CLOVER/Tools. Il est important de tous les signer pour ne pas se retrouver bloqué. (Je sais c'est long et fastidieux mais à vous de scripter ça si le cœur vous en dit. wink.gif )

Dernier fichier à signer, celui qui se trouve dans /System/Library/CoreServices/boot.efi ! Ce petit coquin est verrouillé remarquez. Dans le terminal déverrouillez le :
Code
sudo chflags nouchg /System/Library/CoreServices/boot.efi

Sauvegardez le, signez le, et mettez la version signée à la place.
Rétablissez les droits :
Code
sudo chown root:wheel /System/Library/CoreServices/boot.efi
     sudo chmod 644 /System/Library/CoreServices/boot.efi
     sudo chflags uchg /System/Library/CoreServices/boot.efi


Bravo, vous avez signé tous vos .efi. biggrin.gif

Il ne vous reste plus qu'à donner votre clé à votre firmware !
Pour cela, mettez le fichier MOK.cer sur une clé usb formattée en FAT32, ou même dans la partition EFI pourquoi pas (par contre et par sécurité, n'oubliez pas de l'enlever une fois que c'est terminé).
A partir de là en fonction de votre firmware UEFI avec des interfaces qui peuvent changer d'un constructeur à l 'autre, on va essayer de généraliser un peu.
Allez dans le menu qui concerne le SecureBoot, dans la gestion des clés, il y aura quelque chose comme append key db que vous devrez sélectionner pour ajouter votre clé de chiffrement depuis votre clé usb ou votre partition efi.


Vous n'avez plus qu'à activer le SecureBoot et c'est terminé ! cool.gif

Ha oui, n'oubliez pas qu'il arrive parfois qu'Apple modifie le fichier /System/Library/CoreServices/boot.efi lors de certaines mises à jour. whistle.gif

Je viens de découvrir à ce sujet, que Clover a lui également sa propre politique sur le SecureBoot.

En gros une fois qu'il a été validé par le firmware de la carte mère, il est libre de ses actes. Du coup pour vérifier si le boot.efi dans /System/Library/CoreServices, il nous donne plusieurs options de configurations (je ne pense pas qu'on puisse lui faire mémoriser dans le config.plist, ça peut se comprendre).

Par défaut, il choisit Deny pour refuser donc tout ce qui n'est pas signé. Après, si lors d'une mise à jour d'OS X Apple a modifié le boot.efi et qu'il n'est plus signé, on peut changer ce réglage en allant sur l’icône en forme de cadenas.
Comme ça on peut resigner notre boot.efi.

Ceci est aussi valable si on veut booter sur une clé d'install sans désactiver le SecureBoot. Cela dit si on utilise trop souvent ce genre de manipulation, on perd un peu l'intérêt du SecureBoot. Cela sert donc avant tout pour dépanner.

Bon et bien voilà, ce tuto est terminé. Il est possible qu'il soit régulièrement mit à jour pour diverses raisons et également pour mettre des liens vers les nouvelles versions de Clover gracieusement compilées pour la communauté.

Liens de téléchargements de Clover avec support SecureBoot

Ce message a été modifié par polyzargone - 16 Jan 2017, 22:49.
Raison de l'édition : Regroupement des liens de téléchargement sur une page MEGA


--------------------
Hackintosh : Intel Core i5 4690 3,5GHz quad - 16Go DDR3 1600MHz CL7 G.Skill - Carte mère Asus H97-Plus - Carte Graphique Asus Radeon R9 280 3Go GDDR5 - Crucial BX300 240GB - Crucial M500 960Go - WD Green 3To - disque dur de 160Go d'un défunt imac pour macOS - Lecteur/Graveur DVD - macOS 10.12 (via Clover) - Windows 10 (mea culpa) - Gentoo (parce que le choix est le droit ultime)
Motorola Nexus 6 sous LineageOS 15.1 - ZTE Open C sous Firefox OS 2.5 (il prend la poussière!) - quelques babioles comme un Rπ 1B et un XU4.

Découvrez une disposition ergonomique qui va vous redonner le goût du clavier !
Go to the top of the page
 
+Quote Post
 
Start new topic
Réponse(s)
iPotable
posté 30 Oct 2016, 18:22
Message #2


Adepte de Macbidouille
*

Groupe : Membres
Messages : 221
Inscrit : 15 Sep 2008
Membre no 121 727



Nouvel outil, nouvelles possibilités. smile.gif



--------------------
Hackintosh : Intel Core i5 4690 3,5GHz quad - 16Go DDR3 1600MHz CL7 G.Skill - Carte mère Asus H97-Plus - Carte Graphique Asus Radeon R9 280 3Go GDDR5 - Crucial BX300 240GB - Crucial M500 960Go - WD Green 3To - disque dur de 160Go d'un défunt imac pour macOS - Lecteur/Graveur DVD - macOS 10.12 (via Clover) - Windows 10 (mea culpa) - Gentoo (parce que le choix est le droit ultime)
Motorola Nexus 6 sous LineageOS 15.1 - ZTE Open C sous Firefox OS 2.5 (il prend la poussière!) - quelques babioles comme un Rπ 1B et un XU4.

Découvrez une disposition ergonomique qui va vous redonner le goût du clavier !
Go to the top of the page
 
+Quote Post

Les messages de ce sujet


Reply to this topicStart new topic
1 utilisateur(s) sur ce sujet (1 invité(s) et 0 utilisateur(s) anonyme(s))
0 membre(s) :

 



Nous sommes le : 27th April 2024 - 11:18