Non, je n'automatise pas tout !

Vous le savez, je suis un grand partisan de l’automatisation pour économiser du temps. Pourtant ce n’est pas vrai pour tout. Par exemple je fais mon café du matin à l’Aeropress, une méthode assez originale pour préparer le café. Chaque matin je mouds les grains de café à la main, je fais bouillir l’eau et j’utilise ensuite l’Aeropress pour faire le café. La solution automatique serait d’utiliser une machine à expresso à dosettes. Mais le problème c’est que je trouve que les cafés faits avec une machine à expresso sont trop courts. De plus pour le matin je trouve le goût du café fait à l’Aeropress plus doux et plus savoureux.

Et lorsque je travaille le bois, le seul appareil électrique que j’utilise est une foreuse. Je fais tout le reste à la main. C’est (beaucoup) plus lent et fatiguant, mais c’est bien plus gratifiant, même si en raison de mes compétences très limitées le résultat n’est pas toujours à la hauteur !

C’est également ce que je fais lorsque je prépare un gâteau. Je n’utilise aucun appareil électrique, je fais tout à la main. De nouveau je trouve que le résultat est bien plus gratifiant, même si au final le goût est exactement le même.

Le point commun de toutes ces tâches manuelles ?

  • Je n’ai pas besoin qu’elles soient “productives”,
  • Je ne produits que des quantités très limitées,
  • Les faire à la main me détend.

L’automatisation c’est bien, mais parfois prendre le temps de bien faire les choses est tellement plus gratifiant.

De la valeur sociale d'un produit

Qu’est-ce qui fait la valeur d’un produit ou d’un service ? Son utilité bien sûr. C’est la valeur d’usage, ce que la personne va faire avec ce produit. Il y a aussi la valeur globale, qui est constituée par l’ensemble des usages possibles du produit, et non pas simplement du cas d’usage d’une personne en particulier. Mais il y a une troisième valeur qui est tout aussi importante et souvent ignorée par les startups : c’est sa valeur sociale, la façon dont le produit va renforcer votre position sociale.

Au delà du savoir faire, cette valeur sociale est le différenciateur des grandes marques. Que ce soit une marque de vêtements, de voitures ou de high-tech, une grande partie de leur valeur est le renforcement de notre image qu’elles nous procurent face à nous-mêmes et face aux autres.

La valeur sociale est particulièrement évidente dans l’industrie du luxe. Certaines voitures sont vendues beaucoup plus cher, et avec des marges beaucoup plus élevées, car le renforcement du statut social qu’elles procurent est beaucoup plus élevé. De la même manière les marques de vêtement passent dépensent beaucoup d’énergie à s’assurer que leur valeur sociale soit bien établie et corresponde à leur cible de clientèle.

Cette valeur sociale est également présente dans l’industrie des services. Par exemple certaines personnes vont choisir la banque postale ou une banque « prestigieuse » non pas sur des critères objectifs, mais uniquement parce que celle-ci correspond à l’image sociale qu’ils veulent renvoyer. En tant qu’ancien consultant, je sais aussi très bien que le choix d’un cabinet de conseil pour certains clients est plus une affaire d’image qu’autre chose ; peu l’admettront, mais ils veulent montrer qu’ils peuvent se payer McKidney ou Boson Consulting Goop.

Au fond, c’est complètement con. C’est une illusion totale. De nombreuses voitures « normales » sont aussi bonnes, voire meilleures que les voitures de très grand luxe, parce que elles sont produites en plus haut volume et peuvent ainsi bénéficier d’un meilleur développement. De nombreux cabinets de conseil avec une image « haut de gamme » vont juste envoyer des analystes très intelligents mais sans expérience. Mais le fait est là : nous ne voulons pas admettre que la publicité nous influence alors que c’est clairement le cas, et nous ne voulons pas admettre que nous prenons des décisions irrationnelles basée sur la valeur sociale alors que c’est clairement le cas.

Pourtant, obnubilées par leur idée géniale trop de Startups oublient de développer cette valeur sociale ; et ce n’est pas parce qu’on crée une startup qui utilise les réseaux sociaux que l’on crée automatiquement cette valeur sociale ! Un exemple emblématique est le Segway. Ses concepteurs étaient tellement persuadés du côté génial et révolutionnaire de leur moyen de transport qu’ils n’ont pas vu que celui-ci avait une valeur sociale négative, celle de vous donner une image de zozo.

Google Glass a également souffert d’une valeur sociale négative. En caricaturant, il a suffi d’une photo de Robert Scoble sous sa douche pour que Google Glass soit classé dans la catégorie « produit pour les geeks débiles ». Dans le cas de Google Glass ce déficit de valeur sociale peut être compensé par la valeur d’usage, et l’initiative de Google de relancer Google Glass pour des marchés professionnels de niche est probablement la bonne stratégie.

Au fil du temps la valeur sociale d’un produit peut évoluer. Par exemple dans les années 80 la valeur sociale d’un ordinateur était négative. En posséder un et en utiliser un vous classait dans la catégorie des « geeks » et à l’époque le terme n’était pas positif du tout. Mais petit à petit sa valeur d’usage, sa banalisation et la « dégeekisation » de son image par des marques comme Apple ont augmenté sa valeur sociale jusqu’à la rendre positive.

Enfin la valeur sociale seule n’est pas suffisante non plus. Le produit ou le service doit avoir une valeur d’usage et une valeur globale suffisantes. Vertu, la marque de téléphones de luxe, en a fait les frais : en admettant que la valeur sociale de la marque était positive (ce qui n’est pas certain), la valeur d’usage de leurs produits était trop faible.

Alors vous pouvez me croire ou non. Mais si le produit ou le service de votre startup n’a pas de valeur sociale suffisante il aura beaucoup de mal à prendre son envol, et dans ce cas il vaut mieux vous adresser à des marchés professionnels de niche où cette valeur sociale a moins d’importance.

APFS preparation and macOS High Sierra

As part of the pre-release announcements about macOS High Sierra, Apple released the following KBase article:

Apple makes a number of statements about APFS and its effects in this KBase article, but what do they all mean? I’m going to try to clarify while staying on the right side of Apple’s NDA. For more details, see below the jump.

APFS conversion criteria

  • Question: What kind of drives will be converted to APFS?
  • Answer:

Screen Shot 2017 09 07 at 5 00 58 PM

  • Question: If the drive qualifies, is the HFS+ -> APFS conversion automatic when I upgrade to High Sierra?
  • Answer: Yes

APFS compatibility

  • Question: Can you read and write to an HFS+ formatted drive while booted from an APFS formatted drive?
  • Answer: Yes
  • Question: Can you read and write to an APFS-formatted drive while booted from an HFS+ drive?
  • Answer:
    • On macOS High Sierra and later: Yes
    • On older versions of macOS, OS X and Mac OS X: No

APFS and FileVault

  • Question: Can a FileVault-encrypted drive be converted to APFS as part of the the macOS High Sierra upgrade process?
  • Answer: Yes. If the drive qualifies for the conversion process, the encrypted drive will be converted from HFS+ to APFS as part of the macOS High Sierra upgrade process.
    • As part of the conversion process, the encrypted Core Storage volume will be removed from the drive and the drive will have APFS’s native encryption activated.

APFS and Boot Camp

  • Question: Can I run Windows using Boot Camp on an APFS boot drive?
  • Answer: Yes. However, Windows will not have the necessary driver support to read or write to APFS formatted drives.

APFS and file sharing

  • Question: Can I enable AFP file sharing to share directories stored on an APFS drive?
  • Answer: No. SMB file sharing will need to be used.
  • Question: What file sharing protocols can share directories stored on an APFS drive?
  • Answer: SMB and NFS

APFS and Time Machine

  • Question: Do I need to change anything in Time Machine to back up an APFS drive?
  • Answer: No.
  • Question: Do I need to change anything in Time Machine to back up an APFS boot drive?
  • Answer: No.
  • Question: Can I use AFP to set up Time Machine share points on an APFS drive?
  • Answer: No, AFP file sharing won’t work on an APFS drive. Use SMB file sharing instead.

Nomade digital, étape 4 : sauvegarder pour éviter la perte de données

J’emporte mon ordinateur ou mon iPad un peu partout. Le risque de le perdre ou de le casser est donc bien réel ; par exemple en 2015 je me suis fait voler mon MacBook Pro dans le TGV.

En fait, la vraie question n’est pas de savoir si vous risquez de perdre des données, mais quand cela va arriver. Car cela fini toujours par arriver. Et lorsque cela se produit, pleurer ne sert à rien. Il faut avoir une sauvegarde de ses données. Ce message a beau être rappelé fréquemment, le nombre d’utilisateurs qui ne font aucune sauvegarde est hallucinant.

Aussi voici un petit guide expliquant les risques et les solutions pour s’en prémunir. Je n’ai pas expliqué en détail le fonctionnement de chaque solution, sinon cet article aurait fait 100 pages.

Comprendre les différents risques de perte de données

Différents types d’incidents peuvent entraîner une perte de données ; une bonne stratégie de sauvegarde va vous protéger contre tous les risques.

En voici une liste non exhaustive, plus ou moins classé du plus probable au moins probable :

  1. Vous modifiez un document et vous rendez compte plus tard que vous voulez revenir en arrière pour une raison ou une autre.
  2. Vous effacez un ou plusieurs documents par erreur.
  3. Votre ordinateur ou un disque tombe en panne.
  4. Votre ordinateur et toutes vos sauvegardes locales sont volés.
  5. Votre ordinateur est hacké (par exemple ransomware).
  6. Votre compte Cloud est hacké et détruit.

Une stratégie de sauvegarde idéale va donc vous prémunir contre tous les cas cités. Pour se faire elle doit :

  • Garder un historique des versions récentes de vos documents pendant un certain temps, par exemple les 4 dernières semaines.
  • Garder une copie à jour de tous vos documents importants ailleurs que chez vous, par exemple dans le Cloud.
  • Avoir une copie de sauvegarde déconnectée pour qu’elle ne soit pas endommagée par un éventuel ransomware (par exemple sur un disque dur stocké séparément). Ce cas est celui qui est le moins souvent pris en compte.

RAID ≠ sauvegarde

Une précision importante avant d’aborder les différentes stratégies de sauvegarde : les systèmes RAID ont pour objectif d’améliorer le taux de disponibilité et la vitesse, ils ne sont pas une protection contre la perte de données. De fait, un système RAID 1 ou plus ne couvre que le cas 3, un disque tombe en panne. Le RAID 0 augmente même le risque de perdre des données au lieu de le diminuer.

Un système RAID ne vous protégera pas contre les cas 1, 2, 4, 5 et 6 !

Sauvegarde locale avec Time Machine

Time Machine va vous couvrir contre les cas 1, 2 et 3, ce qui est déjà pas mal du tout.

Le matériel nécessaire se limite à un disque externe d’une taille au moins équivalente à la somme des disques que vous voulez sauvegarder.

Time Machine est fourni en standard sur tous les Mac depuis plusieurs années. Pour l’activer connectez votre disque externe qui servira aux sauvegardes, ouvrez les Préférences Système et sélectionnez d’icône de Time Machine.

Inconvénients : Time Machine n’est pas à 100% infaillible, il peut lui arriver dans de très rares cas de perdre les pédales sans vous en informer. La restauration des données avec Time Machine est également assez lente.

Sauvegarde locale avec CCC, SuperDuper ou ChronoSync

Ces trois outils ont bonne réputation. Ils sont particulièrement efficaces pour se prémunir contre le cas 3. Bien configurés ils peuvent vous protéger contre les cas 1 et 2, même si Time Machine est plus simple pour ces deux cas.

Ils permettent de créer un « clone » de vos disques, autrement dit une copie identique. Dans le cas 3, si votre ordinateur tombe en panne il suffit de connecter le disque clone à un autre Mac et de démarrer sur celui-ci. Si pour vous la disponibilité de votre environnement de production est importante c’est une excellent solution pour ne pas perdre de temps, et elle m’a déjà sorti de situations bien difficiles suite à un gros crash système. L’idéal est d’utiliser un SSD en USB 3 ; cette solution est à la fois rapide et compatible avec tous les ordinateurs récents, contrairement à une connexion Thunderbolt.

Sauvegarde déportée dans le Cloud

Les solutions précédentes vous protègent contre la perte locale de données, mais que faire si vous perdez tous vos disques locaux, suite à un vol ou un incendie ? La bonne stratégie pour se protéger contre ce risque est de faire une copie de ses documents dans le Cloud. Attention cependant à conserver le nom d’utilisateur et le mot de passe quelque part et pas seulement sur votre disque dur local !!!

À noter que Dropbox conserve également une copie des versions récentes. C’est une double sécurité avec Time Machine.

Sauvegarde déconnectée (et idéalement déportée)

Il reste le cas des ransomware. Le ransomware va rendre inaccessibles tous les disques connectés à votre machine, c’est à dire les disques principaux mais aussi toutes les sauvegardes locales connectées à l’ordinateur ! Avec l’évolution actuelle, il est également possible que les ransomware futurs bloquent l’accès à vos sauvegardes dans le Cloud (scénario vraiment très pessimiste je l’avoue, qui à ma connaissance ne s’est pas encore produit).

La stratégie pour se prémunir contre ce cas est de garder une copie de sauvegarde déconnectée.

L’idéal est de faire ce qu’on appelle une rotation des disques de sauvegarde, par exemple avec deux disques différents. Les semaines impaires vous sauvegardez sur le disque 1 et le disque 2 reste déconnecté, les semaines paires vous faites l’inverse. Bonne nouvelle, Time Machine offre justement la possibilité d’alterner entre différents disques de sauvegarde.

Ne pas compter que sur le Cloud

Reste le cas numéro 6, votre compte Cloud est hacké. Pour vous protéger contre ce cas, ne stockez pas vos documents uniquement dans le Cloud.

Également, ne gardez pas que la copie locale synchronisée directement par Dropbox. Si les hackers détruisent les données dans le Cloud, l’application de Dropbox va automatiquement supprimer votre copie locale !

Conclusion

La sauvegarde de base avec Time Machine, CCC, SuperDuper, ChronoSync ou tout autre outil similaire est indispensable. Ne pas la faire est tout simplement inconscient.

Pour les niveaux de sauvegarde supplémentaires, c’est à vous de juger quel est le risque acceptable. Dans mon cas c’est clair, quel que soit le scénario je ne peux pas me permettre de perdre les données de mon entreprise.

La sauvegarde des documents a un coût qui est souvent non pris en compte lors de l’acquisition d’un ordinateur et qui n’est pas très motivant, pourtant il vaut mieux prendre une machine un peu moins chère avec en plus une solution de sauvegarde et être certain de ne pas perdre ses documents.

Building a Jamf Pro smart group containing High Sierra-incompatible Mac models

As part of preparing for macOS Sierra in 2016, I prepared a smart group that listed Macs incompatible with macOS Sierra. Apple stated at WWDC 2017 that any Mac that can run macOS Sierra can also run macOS High Sierra, so that means that the list of incompatible Macs has not changed. For more details, see below the jump:

Here’s the list of Mac models which are incompatible with macOS High Sierra:

To create a smart group that contains the list of incompatible Macs, I’ve updated the smart group XML file I created last year for macOS Sierra. The smart group XML file is available below:

This smart group can be imported into a Jamf Pro server via the API. To upload it to a JSS server using the API, download the XML file to a convenient location, then run the command shown below (substituting as appropriate):

curl -skfu username:password https://jamfpro.server.here:8443/JSSResource/computergroups/id/0 -T /path/to/filename.xml -X POST;

If the smart group was successfully uploaded, you should next see output similar to that shown below:

A new smart group named Macs incompatible with macOS High Sierra should also now be present on the Jamf Pro server.

Screen Shot 2017 08 29 at 10 34 33 AM


High Sierra : comment s’y préparer en entreprise (et pas que)

High Sierra, alias macOS 10.13, approche à grands pas, et à ce titre, Apple a diffusé plusieurs articles techniques en amont, tous résumés dans cet article. Intéressons-nous y donc de plus près…

Abandon des certificats signés SHA-1 utilisés avec le protocole TLS.

Cela peut avoir un impact si vous utilisez d’anciens certificats sur d’anciennes versions de Mac OS X Server, par exemple. Notez cependant cette phrase pas anodine en italique dans le document :

Les certificats CA racine signés SHA-1, les certificats SHA-1 distribués par des entreprises et les certificats SHA-1 installés par les utilisateurs ne sont pas concernés par cette modification.

Cela n’est donc surtout vrai que si, par exemple, vous hébergez un site web sur un serveur, site protégé par TLS avec un certificat considéré désormais comme non fiable. Depuis macOS 10.12.4 et iOS 10, Safari affichait une alerte en cas de certificat non fiable, mais désormais, la connexion est carrément refusée. À vous de mettre à jour votre certificat sur votre site. Ça ne sera pas un mal dans tous les cas…

Et dans tous les cas, même pour vos certificats d’entreprise, ou autres, il vaut mieux basculer vers des certificats signés de façon plus sûre.

Les certificats utilisant des clés RSA d’une taille inférieure à 2048 bits à travers toutes les connexionsMacos aofs maj TLS ne seront plus considérées comme sûres.

Là encore, il s’agit d’une amélioration de la sécurité au vu des évolutions technologiques. Apple pousse la sécurité vers le haut, et préfère abandonner des technologies considérées comme obsolètes côté sécurité. Si vous êtes administrateur informatique, attention donc si vous utilisez par exemple des services comme des VPN utilisant des clés RSA un peu trop faibles.

Un exemple de clé RSA non valide sous macOS High Sierra (chiffrement 1024 bits).

TLS 1.2 par défaut pour les configuration EAP-TLS

Important surtout si vous utilisez une authentification de type entreprise exploitant le protocole EAP-TLS pour vos connexions Wi-Fi ou Ethernet. Vos points d’accès devront désormais utiliser TLS 1.2 et non plus 1.0. Dans le cas où vos points d’accès ne peuvent être mis à jour, vous devrez appliquer un profil de configuration sur vos Mac pour forcer l’utilisation de TLS 1.0.

APFS : tout ce qui va mettre le souk dans vos systèmes informatiques

J’ai déjà longuement abordé APFS, je ne reviendrai pas dessus, même si il va falloir éduquer quelque peu vos utilisateurs (« je comprends pas pourquoi désormais quand je duplique des fichiers de 10 Go, la copie se fait toute seule et la taille du disque ne bouge pas… »). Apple y a carrément dédié un article spécifique, pas encore disponible en VF (mais le lien que j’ai utilisé devrait pointer sur la VF dès qu’elle sera disponible).

Il va cependant falloir noter certains points TRÈS importants lors de la migration vers High Sierra.

  • High Sierra va automatiquement convertir tous vos disques de type flash (internes ?) vers APFS, et à priori, on ne peut pas l’éviter. Or, si vous avez des disques partagés via le protocole AFP, ceux-ci ne pourront plus être partagés en utilisant ce protocole (obsolète). Ça peut être gênant si vous avez des anciens clients sous Mac OS X, ou des logiciels qui supportent mal le SMB (<Tousse> Adobe CC <Tousse tousse>), dans ce cas vous ne pourrez plus vous connecter en forçant AFP plutôt que SMB.En clair, si vous avez des serveurs tournant sous des versions récentes de macOS, évitez le passage sous High Sierra si vous avez encore besoin du protocole AFP.
Macos aofs maj

Si vous voyez cette case sur un disque dur classique, vous ne la verrez pas lors de l’installation de la version finale de macOS High Sierra sur un disque flash.

  • Notez que le passage ne sera automatique que pour les disques intégralement Flash, donc pas de migration si vous utilisez un Fusion Drive ou un disque dur classique.
  • Si vous utilisez Time Machine via AFP, vous devrez basculer la connexion en SMB. Du coup, vos postes clients devront peut-être être reconfigurés pour être à nouveau sauvegardés via Time Machine.
  • Les versions de macOS antérieures à macOS 10.12.6 ne pourront pas lire ou écrire sur un disque APFS. Si vous devez assurer l’échange de fichiers avec des disques externes vers d’anciens systèmes, ne les convertissez pas vers APFS. Utilisez Mac OS Étendu pour l’échange vers des Mac, ou exFAT si vous devez également transférer des fichiers vers des PC (évitez FAT-32 (pas de gestion des gros fichiers) et NTFS (pas géré nativement par macOS en écriture)) (et oui je sais il y a trop de parenthèses dans cette phrase).
  • Boot Camp est supporté si vous mettez à jour votre Mac vers macOS Sierra, SAUF si le volume Boot Camp est d’une taille supérieure à 3 To ET réside sur un disque Fusion Drive. Que se passe-t-il si vous avez un volume Boot Camp de plus de 3 To sur un Fusion Drive ? Ben… on ne sait pas. Mystère total. Est-ce que le volume devient non bootable ? Est-ce qu’il faut recréer la partition Boot Camp intégralement ? Au cas où, vous pouvez quand même réduire le volume avec Camptune X (testé avec succès chez moi).
  • Dans tous les cas, Boot Camp ne gèrera pas APFS, en tout cas pour le moment. Cependant, la phrase d’Apple est ambiguë : Boot Camp doesn’t support Read/Write to APFS-formatted Mac volumes. Est-ce que ça veut dire que Boot Camp supportera au moins la lecture des volumes APFS ? SI vous avez la réponse à cette question, ça m’intéresse :)
  • Et évidemment, il faudra mettre à jour la totalité de vos utilitaires de gestion/réparation de disque avec des versions compatible APFS. Mais ça, vous vous en doutiez, n’est-ce pas.

Du côté des services d’annuaires…

Pas grand chose à signaler de ce côté. Ah si, quand même un truc important :

  • Les postes sous High Sierra ne pourront plus être reliés à un annuaire Active Directory dont le niveau de fonctionnalités est inférieur à 2008. Exit Windows Server 2003. Mais de toute façon, en tant que bon sysadmin, ça fait longtemps que vous avez dégagé vos serveurs 2003, n’est-ce pas (enfin je l’espère pour vous).
  • Y’a un deuxième point à savoir, si vous faites partie des 2 administrateurs à encore utiliser NIS, vous ne pourrez pas intégrer vos postes High Sierra. Je sais, c’est un coup dur.

Extensions de kernel… UAKEL bordel ! 1

Du côté des extensions de noyau, ou kernel pour les intimes, il y a énormément de changements. Tout d’abord, rappelons ce qu’est une extension de noyau. Il s’agit d’un fichier doté d’une extension .kext qui ajoute des fonctionnalités au micro-noyau de macOS. La plupart du temps, les extensions de noyau sont plutôt des pilotes matériels, des protocoles réseau, des systèmes de fichiers… Dans l’absolu, Apple invite fortement les développeurs à se passer des extensions de noyau pour éviter qu’un crash d’une extension provoque la chute du système (et donc un reboot obligatoire). Et il est rare qu’un logiciel ait vraiment besoin de charger des extensions de noyau. Mais cela arrive !

Avant High Sierra, une application pouvait installer une extension de kernel et se lancer tranquillou billou, sans que l’utilisateur en soit averti. Mais désormais, le comportement de macOS va changer. Un nouveau mécanisme appelé User Approved Kernel Extension Loading (UAKEL, c’est moche) va désormais inviter l’utilisateur à valider les applications à utiliser une extension de noyau à se charger.

Alors, j’avoue que quelque part, ça me laisse perplexe. En effet, dans cela fait seize ans que macOS charge des extensions d’applications tierce sans qu’Apple s’en émeuve, et d’un coup, ça devient un méga-problème. C’est très bien qu’Apple veuille que les utilisateurs sachent que des trucs se passent sur leur Mac, mais d’un autre côté, ça implique que l’utilisateur comprenne ce qu’est une extension de noyau, et aille valider dans un dialogue s’il souhaite ou non utiliser une extension sans comprendre vraiment à quoi ça sert. Mouaaaaaaaaaais. D’autant plus que l’utilisateur n’aura pas besoin d’être administrateur pour activer l’extension. Ce qui, à mon goût, tue un peu l’intérêt du truc. Cela me fait furieusement penser au concept de l’UAC sous Windows… Erik Gomez a longuement écrit (en anglais) sur ce qu’il appelle Kextpocalypse. Heureusement, Apple a modifié le comportement de l’UAKEL pour rendre la gestion bien plus simple que prévue :

  • UAKEL ne s’activera que pour les nouvelles extensions installées après ou pendant l’installation de High Sierra. Si vous avez déjà des applications installées qui utilisaient des extensions, elles seront automatiquement validées. Ça devrait déjà éliminer un paquet de problèmes.
  • Si une extension remplace une extension déjà validée, elle ne demandera pas la validation.
  • Surtout, si vos Mac sont enrôlés dans une solution de gestion de mobilité (MDM), telle Jamf Pro, Jamf Now, Airwatch, Filewave, Profile Manager… UAKEL sera automatiquement désactivé. Plus de crainte de centaines d’appels affolés après une migration en masse vers High Sierra !
  • Par ailleurs, Apple précise que vous pourrez désactiver UAKEL à la main sur vos postes à l’aide de la commande spctl en démarrant sur la partition Recovery (processus lourd). Et réinitialiser la NVRAM réactivera automatiquement  l’UAKEL.

Mettre à jour vers macOS High Sierra… ou déployer une image de High Sierra ?

Depuis l’arrivée du programme DEP pour le déploiement des appareils, la question de déployer un système en s’appuyant sur une image-disque avec un outil comme Deploy Studio ou autre se pose de plus en plus. Dans le cas du passage à High Sierra, la question ne se pose même pas :

Vous DEVREZ déployer au moins une fois High Sierra via l’application de mise à jour.

L’explication est simple : lors du déploiement de High Sierra, une mise à jour de firmware sera également automatiquement installée par le logiciel d’installation de macOS, comme l’explique cet article. Impossible également de mettre à jour un système sur un disque externe ou sur un Mac en mode disque cible.

Apple a d’ailleurs ajouté de façon très claire et bien visible dans son article :

Apple doesn’t recommend or support monolithic system imaging when upgrading or updating macOS.

C’est clair non ?
 
CEPENDANT.

Vous pourrez toujours faire une image d’un Mac après qu’il ait été migré en High Sierra une première fois, puis déployer l’image SI CES MACS ONT ÉTÉ DÉJÀ MIS À JOUR UNE PREMIÈRE FOIS VERS HIGH SIERRA.

En clair : si vous avez déjà mis une première fois vos Mac à jour vers High Sierra, rien ne devrait vous empêcher de déployer une image monolithique par la suite, une fois que le firmware a été déployé. Mais ça ne reste pas une solution que je recommande, pour plein de raisons qu’il serait trop long de lister ici.

Par contre, imaginons que vous commandiez un lot d’iMac ces jours-ci auprès d’Apple, et que ces iMac vous soient livrés avec macOS 10.12 Sierra. Là, vous vous dites, « les machines sont neuves, j’attends High Sierra et je les déploie avec un nouveau master tout beau tout propre vers High Sierra avant de les déployer, ni vu ni connu j’t’embrouille ». Ben là, c’est complètement non supporté et vous risquez de rencontrer des problèmes (kernel panics, chute de cheveux, nouvelle émission d’Hanouna, que sais-je). Donc, vous devrez passer par la case mise à jour de logiciels :

  • Par la partition Recovery avec Option + Commande + R (si vous utilisez Cmd + R, vous réinstalleriez la version de l’OS fournie avec votre Mac !) ;
  • En lançant l’installation de macOS depuis le Finder ;
  • Avec un disque d’installation  de macOS créé avec la commande createinstallmedia OU DiskMaker X (Et oui, cela signifie aussi que Diskmaker X sera sûrement d’actualité pour High Sierra ;-) ) ;
  • En créant une image d’installation avec l’utilitaire d’image-système et en la déployant avec la fonction Netinstall de macOS Server.

Le plus simple sera sûrement de déployer l’application High Sierra (à l’aide d’un logiciel d’installation customisé) en exploitant votre solution de déploiement habituelle, Jamf, Filewave, Munki, etc).

Conclusion

Ne migrez pas tout de suite vers High Sierra dès sa sortie. Si vous le pouvez, bloquez la mise à jour autant que possible, et attendez la version .2 ou .3 pour la déployer, comme d’habitude. N’oubliez pas que vous pouvez simplement désactiver le téléchargement des mises à jour en arrière-plan. Jamf Pro permet aussi de bloquer le lancement des applications

Et surtout, testez, testez et testez. La meilleure solution pour les déploiements de ce type consiste souvent à déterminer deux ou trois utilisateurs avancés/passionnés capables de vous faire des vrais retours d’expérience, capables d’assumer les conséquences d’une migration anticipée vers un nouvel OS, de vous indiquer clairement les soucis rencontrés.

N’hésitez pas à renvoyer à Apple vos rapports de bugs. Oui, ils sont bien lus et ils sont pris en compte, surtout si ils sont nombreux. Mais cela pourrait être l’objet d’un autre article.

Et dans tous les cas, enjoy macOS High Sierra !

  1. Je me rends compte que je n’ai jamais fait de vanne sur Kernel et Lion, alors que les Kernel de Lion, ça aurait pu faire un super gag gastronomique. C’est triste.

Adding password protection to manually installed management profiles

While working with some colleagues, I recently built a management profile that my one colleague requested to be set as non-removable. Normally, this can be accomplished by setting the PayloadRemovalDisallowed key in the profile to a boolean value of true.

Screen Shot 2017 08 24 at 3 32 10 PM

I provided the profile to my colleague and he tested it out. However, in the course of testing, he discovered that the profile could be removed by a user with administrative rights using the following procedure:

1. Open System Preferences
2. Select the profile in question.
3. Click the minus button.

Screen Shot 2017 08 24 at 3 26 17 PM

4. Be warned about removing a locked profile.

Screen Shot 2017 08 24 at 3 29 52 PM

5. Enter admin credentials when prompted.

Screen Shot 2017 08 24 at 3 27 17 PM

After entering admin credentials, the profile was then removed.

When I checked Apple’s reference documentation on configuration profiles, the issue came down to how the profile was being delivered. Apple’s documentation includes the following note about the PayloadRemovalDisallowed key:

Screen Shot 2017 08 24 at 2 44 26 PM

This profile was being installed by an installer package, so from Apple’s point of view it was being installed manually. That meant that the manual installation behavior, where the profile could be removed by anyone with admin rights, was the applicable behavior here.

Another colleague working with us on this issue suggested adding a removal password to the profile, using Apple’s com.apple.profileRemovalPassword profile payload.

Screen Shot 2017 08 24 at 3 01 15 PM

A removal password for a profile is designed to allow the removal of a management profile, even if that profile is otherwise set to be non-removable. For more details, see below the jump:

In our case, we were seeking to block removal rather than facilitate it. However, having the removal password added as a payload worked for our purposes as well because now the profile could not be removed without supplying the password. An example Removal Password payload is available below:

Once the Removal Password payload is added to a profile where PayloadRemovalDisallowed set to true, the removal process for a manually installed profile now looks like this:

1. Open System Preferences
2. Select the profile in question.
3. Click the minus button.

Screen Shot 2017 08 24 at 3 26 17 PM

4. Be warned about removing a locked profile and that removal will require a password.

Screen Shot 2017 08 24 at 3 26 38 PM

5. Supply the removal password when prompted.

Screen Shot 2017 08 24 at 3 27 01 PM

6. Enter admin credentials when prompted.

Screen Shot 2017 08 24 at 3 27 17 PM

If the profiles command line tool is being used to remove the profile in question, the -z option can be used to supply a profile removal password.

Screen Shot 2017 08 24 at 3 48 01 PM

To show the Removal Password payload in the context of a full management profile, please see below:

Screen Shot 2017 08 24 at 3 32 25 PM


Kernel extensions and macOS High Sierra

As part of the pre-release announcements about macOS High Sierra, Apple released the following KBase article:

As part of the KBase article, Apple included a Changes coming with macOS High Sierra section which featured this note:

macOS High Sierra introduces a new feature that requires user approval before loading new third-party kernel extensions. This feature will require changes to some apps and installers in order to preserve the desired user experience.

Screen Shot 2017 08 23 at 9 33 49 PM

That section in turn links to this KBase article, which describes the behavior in more detail:

To improve security on the Mac, kernel extensions installed with or after the installation of macOS High Sierra require user consent in order to load. This is known as User Approved Kernel Extension Loading. Any user can approve a kernel extension, even if they don’t have administrator privileges.


Screen Shot 2017 08 23 at 10 23 34 PM

What’s all this mean? For more details, see below the jump.

Apple has been trying to discourage third party software developers from using kernel extensions for the past few years. The reason for this has been that kernel extensions are able to plug into the macOS kernel’s space and access low-level resources, like hardware devices. The issue for Apple is that, when kernel extensions aren’t working right, the whole OS has problems that wouldn’t otherwise happen.

As an example of this, if an application which doesn’t use a kernel extension has a memory error, the worst consequence is that the affected application crashes. The rest of the OS is fine though, thanks to the OS’s memory protections. However, if a kernel extension has a similar issue, the kernel doesn’t have similar memory protections. A memory error in a kernel extension can cause a kernel panic, which crashes the whole operating system.

As a result, starting with OS X Mavericks, Apple has been making changes to how third party kernel extensions have been allowed to operate:

OS X Mavericks

Kernel extensions should be digitally signed using an Apple Developer ID for Signing Kexts certificate, but this code signing requirement is not enforced strictly. Unsigned kernel extensions can still be installed into /System/Library/Extensions, which is where kernel extensions have been installed up until OS X Mavericks. However, signed kernel extensions must be installed into /Library/Extensions.

OS X Yosemite

Kernel extensions must be digitally signed using an Apple Developer ID for Signing Kexts certificate and installed into /Library/Extensions. However, it is still possible on OS X Yosemite to enable a kernel extension developer mode which disables the code signing requirement.

OS X El Capitan

Kernel extensions must be digitally signed using an Apple Developer ID for Signing Kexts certificate and installed into /Library/ExtensionsSystem Integrity Protection, introduced as part of OS X El Capitan, now enforces code signing and explicitly disables the kernel extension developer mode previously available in OS X Yosemite.

macOS Sierra

Kernel extensions must be digitally signed using an Apple Developer ID for Signing Kexts certificate and installed into /Library/Extensions. System Integrity Protection remains the enforcement mechanism.

macOS High Sierra

Kernel extensions must be digitally signed using an Apple Developer ID for Signing Kexts certificate and installed into /Library/Extensions. System Integrity Protection remains the enforcement mechanism. Kernel extensions will not load unless authorized to do so by a logged-in user.

Note: This authorized user does not need to have admin rights, so any logged-in user can authorize the loading of a kernel extension.

What are the likely consequences of this change in High Sierra?

  • For the individual consumer owner of a Mac, this will likely not be a big deal. Since anybody can authorize the loading of the kernel extension, the individual can go click whatever is needed and continue on with their day. Potentially not a great user experience, but not awful.
  • For Mac admins, this change is potentially going to be a huge pain in the neck. A number of third-party applications used in education and enterprise environments use kernel extensions, especially antivirus and other security-focused solutions. Now these kernel extensions are not going to load automatically and it’s going to be up to the individual users who use those machines as to whether or not those kernel extensions get loaded.

That said, Apple has stated that third-party kernel extensions won’t require authorization under the following conditions:

  • The third party kernel extension(s) in question were on the Mac before the upgrade to macOS High Sierra.
  • The third party kernel extension(s) in question are replacing previously approved extensions.

Apple has also provided a couple of ways that companies, schools or institutions can deal with this issue:

1. Boot into macOS Recovery and use the spctl command line tool.

Note: Apple has not yet specified how this tool should be used in High Sierra’s Recovery environment. The guidance provided is Run the command by itself to get more information about how to use the spctl command

Screen Shot 2017 08 23 at 10 31 55 PM

Another section of this KBase article also notes that resetting NVRAM will revert the Mac in question back to requiring user authorization to load kernel extensions.

Screen Shot 2017 08 23 at 10 53 33 PM

2. Enroll your Macs with a mobile device management (MDM) solution. If a Mac is enrolled with an MDM solution, even if that MDM solution isn’t being used to actively manage the Mac in question, the new kernel extension authorization behavior is disabled and kernel extension behavior goes back to that enforced by macOS Sierra:

Kernel extensions must be digitally signed using an Apple Developer ID for Signing Kexts certificate and installed into /Library/Extensions. System Integrity Protection remains the enforcement mechanism.

Conclusion

Apple is advertising these changes now so that Mac admins can have at least some chance to prepare their environments before macOS High Sierra is released in the fall. For those shops which are already using a mobile device management solution with their Macs, the new kernel extension behavior should be a non-event on High Sierra’s release day. High Sierra should detect that the Mac is enrolled in MDM and revert to macOS Sierra’s behavior of automatically allowing properly signed kernel extensions to load.

For those shops which aren’t currently using a mobile device management solution with their Macs, they currently appear to have the following choices for macOS High Sierra:

  1. Allow their user population to handle the new kernel extension authorization process
  2. Use the new macOS Recovery-based process of using the spctl tool in the Recovery environment to disable the new kernel extension behavior
  3. Get a mobile device management solution and enroll their Macs running macOS High Sierra.

Setting a macOS VM to automatically boot to Recovery HD using VMware Fusion

When testing various security functions, like System Integrity Protection or High Sierra’s new kernel extension functionality, it’s often useful to be able to boot a macOS virtual machine (VM) into the Recovery environment. However, it can be challenging to select the VM and hold down Command+R in time to boot to the Recovery environment. This can result in having to try several or more times before you can successfully boot the VM to Recovery HD.

Fortunately, VMware has a setting that enables a forced boot to Recovery HD. For more details, please see below the jump.

My colleague mosen discovered that you could add the following setting to a macOS VM’s .vmx configuration file:

macosguest.forceRecoveryModeInstall = "TRUE"

Once this setting has been added to the .vmx configuration file, the VM will automatically boot to Recovery HD the next time it is started.

To add the macosguest.forceRecoveryModeInstall setting to a macOS VM:

1. Shut down the relevant VM.
2. Open the VM’s .vmx file for editing.

Screen Shot 2017 07 31 at 10 26 39 PM

3. Add the following line to the end of the .vmx configuration file:

macosguest.forceRecoveryModeInstall = "TRUE"

Screen Shot 2017 07 31 at 10 29 57 PM

4. Save the changes to the .vmx configuration file.
5. Start the VM.

The VM should boot from the macOS VM’s Recovery HD partition automatically, and will continue to boot to Recovery until the setting is removed from the VM’s .vmx file.

Screen Shot 2017 07 31 at 10 52 18 PM


La force des contraintes pour les startups

L’été dernier j’ai observé mes enfants jouer aux LEGO à 4 avec des amies. Ils ont passé des heures à inventer des histoires. Le truc, c’est que comme nous étions en vacances ils ne disposaient que d’un nombre limité de briques au lieu d’avoir à leur disposition leur immense bac à LEGO. Résultat : au lieu de perdre des heures à chercher la bonne pièce et à passer du temps à construire sans objectif et sans fin claire, ils ont utilisé le peu de pièces à leur disposition pour raconter des histoires et jouer ensemble. Autrement dit, la contrainte du faible nombre de pièces disponibles les a naturellement poussés à faire preuve de plus de créativité, à agir et finalement mieux utiliser les LEGO !

Ce qui vaut pour un groupe d’enfants vaut aussi pour un groupe d’adultes. Sans contraintes, notre esprit est comme perdu au milieu d’un océan de possibilités. Et lorsque notre cerveau fait face à trop de choix, il se produit un phénomène psychologique connu : il renonce à choisir ; autrement dit, il se bloque.

Que se passe-t-il ensuite ? La discussion remplace l’action. Les participants passent leur temps à échanger pendant tout le temps disponible, et 5 minutes avant la fin se rendent compte qu’ils n’ont pas avancé. Sous la contrainte du temps devenue bien réelle, ils se dépêchent de formaliser quelque chose. Pour réellement libérer l’intelligence collective et la créativité d’un groupe, il faut leur imposer les bonnes contraintes.

La société Nest est un bon exemple de ce qui se passe lorsqu’il n’y a pas de contraintes ; rachetée par Google, cette startup qui avait lancé un thermostat intelligent1 a bénéficié d’un budget “quasi illimité” pendant plusieurs années. Résultat ? Presque aucun nouveau produit n’est sorti, des décisions très stupides ont été prises par les dirigeants, et les problèmes des produits existants n’ont pas été corrigés.

À l’inverse, beaucoup de bons produits ont eu des contraintes fortes dès le départ. Par exemple les concepteurs du TGV ont toujours fait très attention de minimiser le nombre de composants complètement nouveaux pour limiter les problèmes potentiels. La taille du Palm Pilot a été définie comme une contrainte dès le départ. L’équipe de développement du Macintosh était incroyablement petite pour un projet de cette envergure ; même aujourd’hui le budget du département R&D d’Apple reste bien faible2 par rapport à ses concurrents directs.

Autre exemple : lors de réunions, il est facile de s’enthousiasmer et d’avoir plein de bonnes idées. Faisons trois sites web ! On pourrait aussi faire des podcasts toutes les semaines ! Et aussi des vidéos sur Youtube ! Alors que dans la réalité ces personnes n’arrivent même pas à écrire un article court chaque mois. Avoir des idées est important, mais savoir en éliminer en faisant des choix contraignants l’est encore plus.

Ce phénomène n’épargne pas les startups. Beaucoup d’entre elles s’imaginent avoir touché les jackpot après avoir levé 1 million (d’Euros, de Dollars, de Patates, ça n’a pas d’importance). Tout d’un coup, un grand nombre de contraintes disparaissent. Elles embauchent à tour de bras, lancent des tas d’actions au retour sur investissement incertain, et 1 an plus tard elles se retrouvent de nouveau en manque de liquidités, mais avec des frais fixes qui ont explosé ! Certaines startups très connues que le grand public prend pour des succès phénoménaux sont en réalité dans une situation toujours précaire.

Aussi si vous créez un produit, un service, une startup, un nouveau projet, une question essentielle à se poser est : « quelles sont les bonnes contraintes qui vont nous aider à atteindre l’objectif ? » Les bonnes contraintes vont focaliser la startup, l’aider à trouver sa voie et à avancer plus vite et dans la bonne direction.


  1. réfléchissez trois fois avant d’acheter un produit qui se vante d’être capable d’apprendre tout seul le comportement désiré de l’utilisateur. [return]
  2. le budget R&D d’Apple a toujours été historiquement faible par rapport à la moyenne de l’industrie, même s’il a substatiellement augmenté ces dernières années. [return]