DonkeyCode
Menu

Le blog Conseil & Marketing EntrepriseIngénierie

Une application Mac sur mesure pour analyser la sécurité des postes

Notre application Mac analyse la sécurité des postes toutes les 15 minutes. Nous développons la vôtre, pour vos contrôles de conformité ou vos automatisations.

Un ordinateur portable dont le menu d'analyse de sécurité affiche le chiffrement, le pare-feu et macOS au vert, la sauvegarde en alerte, relié au suivi, aux automatisations et aux alertes

Points clés de cet article :

  • Nous avons développé une application Mac qui vérifie toutes les 15 minutes le chiffrement du disque, le pare-feu, la version de macOS et la sauvegarde de nos postes.
  • Nous développons le même type d'application pour vous, sur Mac comme sur PC, dès qu'une tâche doit s'exécuter sur l'ordinateur lui-même.
  • Le résultat remonte dans un outil d'administration, qui signale aussi les postes qui ne donnent plus de nouvelles.
  • Le socle (connexion au compte de l'entreprise, mises à jour signées, permissions du système) est déjà écrit et se réutilise d'un projet à l'autre.

Chez DonkeyCode, nous avons développé une application Mac qui vérifie en continu la sécurité de nos postes : chiffrement du disque, pare-feu, mises à jour, sauvegarde. Elle vit dans la barre de menus et remonte le résultat dans notre outil d'administration. La première version tournait le jour même où nous avons écrit la spécification.

La fenêtre de l'application : les contrôles au vert, sauf le pare-feu désactivé en rouge, avec le chemin du réglage à corriger

Et vous, quelle tâche devrait tourner directement sur les ordinateurs de vos équipes ? Nous développons ce type d'application sur mesure, sur Mac comme sur PC, pour contrôler vos postes avec vos propres critères ou pour automatiser ce qu'une application web ne peut pas atteindre.

Pourquoi développer une application directement sur PC ou Mac ?

Parce que certaines tâches doivent s'exécuter sur le poste lui-même, là où une application web ne peut pas intervenir :

  • accéder à ce qu'une application web n'atteint pas : fichiers locaux, logiciels installés, ports USB, imprimantes, scanners, balances, lecteurs de codes-barres ;
  • automatiser un logiciel métier sans API : récupérer ou exporter ses données, lancer des traitements, les synchroniser avec le CRM ou l'ERP, comme dans nos cas d'usage d'automatisation ;
  • faire tourner un service en permanence sur le poste : surveillance, synchronisation, collecte, alertes ;
  • fonctionner sans Internet ou avec une connexion instable, dans un atelier, sur un chantier, dans un entrepôt, en avion ou chez un commercial sur la route ;
  • traiter les données sur place, sans les envoyer dans le cloud, pour la confidentialité ou la vitesse ;
  • contrôler et configurer le poste lui-même : sécurité, logiciels, certificats, sauvegardes, conformité ;
  • faire le lien entre le matériel ou les fichiers du poste et vos applications en ligne.

Ce que notre application vérifie sur chaque Mac

Chaque contrôle appelle la commande que macOS fournit pour ça (fdesetup pour FileVault, socketfilterfw pour le pare-feu, softwareupdate pour les mises à jour) et classe le résultat en vert, jaune ou rouge. L'analyse tourne au démarrage, toutes les quinze minutes, au réveil du Mac et à la demande.

Contrôle Rouge quand Jaune quand
Chiffrement du disque (FileVault) FileVault désactivé, ou déchiffrement en cours chiffrement en cours
Pare-feu pare-feu désactivé mode furtif désactivé
Version de macOS version majeure inférieure à macOS 14 une mise à jour est disponible
Sauvegarde Backblaze absente, arrêtée, ou dernière sauvegarde de plus de 7 jours dernière sauvegarde de plus de 48 h
Compte Google de l'entreprise aucune session sur le poste
Version de l'application une version plus récente est publiée mises à jour impossibles à vérifier

L'icône de la barre de menus prend la couleur du pire résultat : noire quand tout est en ordre, jaune pour un avertissement, rouge pour une erreur. Un clic ouvre la fenêtre, avec pour chaque contrôle le réglage à corriger et son chemin dans les réglages du Mac. Quand macOS refuse un accès, l'application l'affiche comme une permission manquante, avec l'autorisation à accorder.

Un poste sans session Google ne remonte rien : il passe au rouge et ouvre sa fenêtre au lancement. Une application en retard ne fait pas tourner les contrôles ajoutés depuis, elle passe aussi au rouge.

Le suivi des postes dans l'administration

Chaque rapport porte l'identifiant matériel, le numéro de série, le modèle, le nom de l'ordinateur, la version de macOS et le résultat de chaque contrôle. L'application l'envoie dès qu'un résultat change, et au moins une fois par jour pour signaler qu'elle tourne.

Dans l'administration, le Mac apparaît sur la fiche de la personne, avec l'heure du dernier rapport et, pour chaque contrôle en rouge, le réglage à corriger. Un Mac qui n'a rien envoyé depuis 72 heures, hors congés validés, remonte dans les alertes.

Seul l'état de sécurité quitte le poste : les métadonnées qui servent de preuve remontent, le contenu du travail reste sur l'ordinateur. Chacun peut en vérifier la liste dans la fenêtre, sous « Données envoyées à l'admin ».

Analyser la sécurité de vos postes avec vos propres critères

Votre application vérifie ce que votre politique de sécurité exige : antivirus ou EDR présent, VPN actif, verrouillage de l'écran, version minimale d'un logiciel métier, certificat installé.

Le résultat remonte là où vous le regardez déjà : votre outil d'administration, votre intranet, un tableau de bord ou un simple tableur partagé, avec les alertes qui vont avec. Elle complète un MDM, qui reste l'outil pour verrouiller ou effacer à distance un poste perdu : l'application apporte la preuve de l'état des postes, et se distribue par votre MDM si vous en avez un, ou par un lien de téléchargement.

La sécurité de l'application elle-même

La personne se connecte avec son compte Google @donkeycode.com. L'application suit le parcours standard d'une application de bureau (OAuth avec PKCE et redirection locale), et garde son jeton dans le Trousseau de macOS, qui le chiffre. Le serveur vérifie chaque jeton reçu : signature Google, domaine de l'entreprise, expiration. Un rapport n'est accepté que si la fiche de la personne est active.

Au départ d'un collaborateur, on désactive sa fiche. Ses rapports sont refusés et son poste sort des alertes. La fermeture de son compte Google lui retire aussi l'accès aux mises à jour.

Chaque version est construite et signée par notre intégration continue, puis déposée sur un Drive partagé que seuls les comptes de l'entreprise peuvent lire. L'application vérifie la signature avant de se remplacer et rejette toute archive qui ne vient pas de cette chaîne.

L'application est construite avec Tauri : le cœur en Rust, l'interface en HTML et TypeScript. Rust refuse à la compilation les erreurs de gestion de la mémoire, une source classique de failles dans les logiciels système. Le binaire reste léger, il tourne sur les Mac Apple Silicon comme sur les Mac Intel, et la barre de menus, les mises à jour et l'image disque d'installation sont fournies par le framework.

Chaque contrôle tient dans un fichier. La commande est lancée d'un côté, sa sortie est lue de l'autre par une fonction testée sur des sorties réelles enregistrées. Un contrôle ne plante jamais : une commande absente ou une sortie illisible donne un statut explicite. Les suivants sont prévus : mises à jour automatiques activées, verrouillage de l'écran à la sortie de veille, Gatekeeper et la protection de l'intégrité du système.

Faire développer votre propre application, sur Mac ou PC

Le temps de développement part dans tout ce qui entoure la tâche : la connexion au compte de l'entreprise, la signature, les mises à jour, les permissions du système. Cette partie est écrite chez nous et se réutilise d'un projet à l'autre, et l'application livrée vous appartient. Une application installée sur tous les postes se maintient aussi : Apple publie une version majeure de macOS chaque automne, et la sortie d'une commande peut changer avec elle. Nous la suivons comme les autres applications que nous exploitons et optimisons.

Ce type d'application se commande comme une demande de notre agence d'automatisation IA sur abonnement, à prix ferme une fois l'estimation validée avec votre product owner (voir les tarifs), ou comme un projet de conception d'application métier quand elle s'inscrit dans un ensemble plus large. Si la question de départ est la conformité de vos postes, elle rejoint notre travail de gouvernance, traçabilité et conformité IA.

Questions fréquentes

Faut-il garder un MDM ?

Si vous en avez un, oui : il reste l'outil pour configurer les postes, et pour verrouiller ou effacer à distance un Mac perdu. L'application vérifie en continu que les réglages tiennent et vous en donne la preuve, poste par poste. Sans MDM, elle vous donne déjà l'état réel de votre parc.

L'application peut-elle tourner sur des PC Windows ?

Oui. Tauri produit des applications Mac, Windows et Linux à partir du même code. L'interface, la connexion au compte de l'entreprise et les mises à jour se reprennent telles quelles, seuls les contrôles sont réécrits, puisqu'ils appellent les commandes de chaque système.

Combien de temps pour une première version ?

Quelques jours, parce que la connexion au compte de l'entreprise, la signature et les mises à jour sont déjà écrites. La suite dépend des contrôles ou des tâches à automatiser, que votre product owner estime avec vous avant de commencer.

À qui appartient le code ?

À vous, dès la mise en production. Si vous arrêtez de travailler avec nous, nous vous remettons le code, les accès, la documentation et la marche à suivre pour reprendre l'application.

Pourquoi Tauri plutôt que Swift ?

Swift, le langage d'Apple, ne produit que des applications pour ses appareils. Tauri produit un binaire léger, au cœur écrit en Rust, et fournit la barre de menus, les mises à jour signées et l'installateur. Pour une application qui vérifie des réglages ou automatise une tâche, il couvre le besoin, sur Mac comme sur PC.

Décrivez-nous la tâche qui devrait tourner sur les postes de vos équipes. Dites-nous où vous en êtes.

En parler avec nous

Vous vous posez la même question ?

Racontez-nous votre situation. On vous dira dans le même échange si c'est un sujet pour nous, et par quoi on commencerait.

ou choisissez un créneau tout de suite, ou appelez le 06 01 91 57 40