FreshRSS

🔒
❌ À propos de FreshRSS
Il y a de nouveaux articles disponibles, cliquez pour rafraîchir la page.
☐ ☆ ✇ IT-Connect

Security IC : Samsung veut renforcer la sécurité des cartes bancaires

Par : Florian Burnel

Samsung travaille sur un nouveau dispositif baptisé Security IC destiné à renforcer la sécurité des cartes bancaires. Faisons le point sur cette nouveauté.

Security IC : l'avenir de la protection pour les cartes bancaires ?

Avec le dispositif Security IC "S3B512C", Samsung espère renforcer la sécurité des cartes bancaires afin de lutter contre les fraudes et les actions malveillantes, notamment les vols d'argent par NFC. Sur une seule et même puce, Samsung souhaite regrouper deux puces de sécurité, à savoir un module Secure Element et un Secure Processor, ainsi qu'un lecteur d'empreintes digitales. D'après l'entreprise coréenne, c'est une première dans l'industrie.

On peut se demander quel est le rôle de chacun de ces éléments. Sans surprise, le lecteur d'empreintes va servir à lire les données biométriques pour vous authentifier, et ces données seront traitées par le Secure Processor. Quant au module Secure Element, il devra stocker et authentifier les données chiffrées, tout en étant inviolable. Afin de renforcer la sécurité de votre carte bancaire, la puce intègre un algorithme développé par Samsung qui va permettre de détecter l'utilisation d'empreintes digitales artificielles.

Pour mettre en avant sa solution et montrer qu'elle est blindée d'un point de vue de la sécurité, Samsung affirme que sa puce est conforme avec plusieurs certifications :

  • BEPS (Biometric Evaluation Plan Summary) de MasterCard
  • EMVCo
  • CC EAL (Common Criteria Evaluation Assurance Level) avec un niveau 6+

Ces certifications permettent d'évaluer le niveau de sécurité de la puce biométrique, mais aussi du dispositif dans son ensemble.

En positionnant un lecteur d'empreinte sur la carte bancaire, Samsung souhaite que les utilisateurs s'authentifient avec leur empreinte plutôt qu'avec leur code PIN à 4 chiffres. Ce serait un moyen de lutter contre les transactions frauduleuses, notamment car d'après certaines études, il n'est pas rare que le code PIN de la carte bancaire soit noté quelque part dans le portefeuille de la personne.

Même si Samsung évoque l'utilisation au sein des cartes bancaires, l'entreprise en profite pour évoquer la possibilité d'intégrer ce dispositif au sein de cartes qui nécessitent des authentifications hautement sécurisées, notamment pour que des employés puissent accéder à des bâtiments (contrôle d'accès).

Les nouvelles technologies au cœur des banques

Depuis quelques années maintenant, les nouvelles technologies sont au cœur des banques, notamment pour apporter des protections supplémentaires aux consommateurs. D'ailleurs, les banques traditionnelles proposent de nombreux services en ligne et l'on peut faire beaucoup d'opérations depuis son smartphone, à distance. Certaines banques, appelées néo-banques, sont totalement en ligne : c'est un peu comme des banques high-techs puisque tous les services reposent sur le numérique.

Généralement, ce sont aussi ces mêmes banques qui sont capables de proposer des avantages aux consommateurs, comme une offre de carte bancaire gratuite à vie ou renouvelable.

Au-delà de proposer un espace client en ligne, la majorité des banques s'appuie sur les smartphones pour renforcer l'authentification des utilisateurs, notamment en s'appuyant sur les données biométriques. Désormais, il n'est pas rare de devoir scanner son empreinte biométrique (touch ID, Face ID, etc.) afin de valider un paiement en ligne avec sa carte bancaire.

Sans oublier le paiement par mobile qui est pris en charge sur iOS et Android et qui continue à séduire les - jeunes - consommateurs. Cette méthode de paiement ne fonctionne pas partout, mais elle représente une alternative intéressante à l'utilisation de la carte bancaire physique. Il est intéressant de noter que le service Samsung Pay correspond au service de paiement mobile de Samsung, ce qui n'empêche pas le géant coréen de travailler sur son dispositif Security IC pour les cartes bancaires physiques.

The post Security IC : Samsung veut renforcer la sécurité des cartes bancaires first appeared on IT-Connect.
☐ ☆ ✇ IT-Connect

KB5008353 : une mise à jour Windows 11 pour corriger des bugs

Par : Florian Burnel

Microsoft a mis en ligne une nouvelle mise à jour optionnelle pour Windows 11 nommée KB5008353. L'objectif de cette mise à jour est de corriger certains bugs, mais elle n'intègre pas de correctifs de sécurité.

Si cette mise à jour est optionnelle et qu'elle est estampillée "Preview" sur le site Microsoft, ce n'est pas un hasard. En fait, cette mise à jour sera intégrée au Patch Tuesday de février 2022. L'intérêt, c'est de permettre aux entreprises de tester la mise à jour en amont, avant son déploiement massif. Dans le cas où l'un des bugs corrigés par cette mise à jour est bloquant sur une ou plusieurs machines, cela vous donne l'opportunité de corriger le problème sans attendre.

Suite à l'installation de la KB5008353, le numéro de Build de Windows 11 va changer et passer en 22000.649.

La KB5008353 inclut 39 améliorations et corrections de bugs, notamment :

  • Écran HDR : cette mise à jour corrige le problème de couleurs qui touche les écrans HDR, avec notamment le blanc qui devient jaune. Microsoft avait promis un correctif courant janvier, c'est chose faite !
  • Corrige le problème de connexion à un VPN L2TP suite à l'installation du correctif cumulatif de janvier
  • Corrige un problème qui affiche des pourcentages de batterie obsolètes pour les périphériques Bluetooth connectés et visibles dans les paramètres Bluetooth.
  • Corrige un problème qui pouvait empêcher les icônes d'apparaître dans la barre des tâches d'un écran secondaire.
  • Amélioration de la luminosité automatique afin de fournir une meilleure réponse dans des conditions de faible luminosité, sur tous les systèmes pris en charge.
  • Corrige un problème qui affecte la fonction permettant de masquer automatiquement la barre des tâches. La barre des tâches peut ne pas s'afficher correctement lorsque vous survolez l'écran principal ou secondaire.
  • Corrige un problème qui fait que le service audio cesse de répondre sur certains périphériques qui prennent en charge l'accélération matérielle de l'audio Bluetooth.
  • Etc.

Grâce à cette mise à jour, une nouveauté va être intégrée à Windows 11 : la section "Votre compte Microsoft" au sein des paramètres "Comptes" du système. J'ai évoqué cette nouveauté dans un précédent article.

  • Tous les détails de cette mise à jour sont disponibles sur le site Microsoft : KB5008353.

Si vous souhaitez installer cette mise à jour, rendez-vous dans Windows Update sur une machine Windows 11. Sinon, vous pouvez récupérer le package MSU à partir du site Microsoft Catalog pour réaliser une installation manuelle.

Windows 11 KB5008353

Par ailleurs, une mise à jour majeure de Windows 11 devrait sortir en février : je vous en reparle prochainement !

The post KB5008353 : une mise à jour Windows 11 pour corriger des bugs first appeared on IT-Connect.
☐ ☆ ✇ IT-Connect

Disque dur – Test Synology 8 To (HAT5300-8T)

Par : Florian Burnel

I. Présentation

Fondée en janvier 2000, l'entreprise Synology est connue et reconnue pour ses NAS notamment parce qu'ils sont équipés d'un système d'exploitation riche en fonctionnalités. Forcément, dans chaque NAS il faut ajouter un ou plusieurs disques, mais lequel choisir ? Faut-il préférer un disque Western Digital ? Seagate ? Ou encore Toshiba ? Ce qui sûr, c'est qu'il y a encore peu de temps, il n'était pas possible d'acheter un disque dur Synology pour mettre dans son NAS Synology.

En 2021, les choses ont changé puisque l'entreprise taïwanaise a lancé ses premiers disques durs estampillés Synology, dans la foulée de sa première expérience avec les disques SSD.

La gamme de disques durs HAT de Synology se décline en trois modèles de haute capacité : 8 To, 12 To et 16 To. Aujourd'hui, c'est le modèle 8 To correspondant à la référence HAT5300-8T que je vais vous présenter. Les deux autres modèles sont associés aux références HAT5300-12T et HAT5300-16T.

Voici quelques caractéristiques clés :

  • Interface : SATA 6 Gbit/s
  • Vitesse de rotation : 7 200 rpm (tr/min)
  • Taille de la mémoire tampon : 256 Mo (seul le modèle 16 To dispose de 512 Mo)
  • Temps moyen de fonctionnement avant panne : 2,5 millions d'heures
  • Charge de travail évaluée par an : 550 To transférés par an
  • Garantie : 5 ans

Même si les caractéristiques sont relativement classiques, on voit que nous avons affaire à un produit destiné aux entreprises, notamment avec la garantie de 5 ans et une valeur MTTF particulièrement élevée !

Sur le site Synology, retrouvez toutes les informations au sujet de la gamme HAT5300.

II. Disque dur SATA Synology 8 To

Avant de parler des performances, poursuivons la présentation de ces disques durs en regardant quelques photos. Chaque disque dur est emballé dans un sachet antistatique, scellé et lui-même protégé dans une boîte en plastique. Il ne me reste plus qu'à les déballer pour les insérer dans mon NAS Synology (tant qu'à faire), en l'occurrence un Synology DS220+.

Je ne vais pas commenter le design du disque dur, car cela n'aurait pas réellement de sens, mais au moins vous pouvez voir à quoi ils ressemblent. Sachez que Synology a collaboré avec Toshiba pour la conception de ses disques durs, et c'est d'ailleurs Toshiba qui est en charge de la fabrication. Comme on peut le voir ci-dessous, le disque dur est bien estampillé Synology.

Pour évaluer les performances, j'ai configuré les deux disques avec un RAID de type "SHR", ce qui correspond au système de RAID fait maison de chez Synology. Le volume sera partitionné en "Btfrs".

III. Benchmark Synology HAT5300-8T

Pour réaliser les tests de performance, j'ai effectué des transferts de fichiers via SMB entre mon PC et le NAS, via une connexion réseau 1 Gbit/s. En complément, j'ai configuré un LUN (formaté en NTFS) sur le NAS que j'ai connecté sur Windows via iSCSI afin d'effectuer un benchmark avec le logiciel ATTO Disk Benchmark.

Avec le volume monté en RAID hybride "SHR" (supporte la perte de 1 disque sur 2), j'obtiens les résultats suivants :

Benchmark Synology HAT5300-8T

En configurant un volume RAID-0 (donc on n'accepte pas la perte d'un disque), on obtient des débits un peu plus élevés et c'est logique.

Sur ce même volume RAID-0, voici les résultats avec le logiciel ATTO Disk Benchmark (dans les mêmes conditions) :

Puisque DSM permet d'effectuer un Benchmark sur un disque dur (un seul disque à la fois), j'en ai profité pour réaliser ce test afin de vous donner des informations supplémentaires. Cela permet d'avoir un aperçu des performances pures, en local, sur un seul disque.

Voici les résultats obtenus suite à ce test de performance qui dure environ 15 minutes :

On obtient des résultats conformes à ceux annoncés par Synology, on pourrait même dire très légèrement supérieur puisque Synology annonce 230 Mo/s. Ici, on atteint 237 Mo/s en lecture et 236 Mo/s en écriture. En mettant le disque dur dans un ordinateur directement plutôt que dans un NAS, c'est ce bon niveau de performance que l'on pourra obtenir.

  • Un NAS Synology et un disque Synology = une intégration améliorée

Au-delà des performances, je souhaitais attirer votre attention sur la compatibilité renforcée des disques durs Synology avec le système DSM, en comparaison des autres marques de disques durs. Déjà, il faut savoir que les disques durs de la gamme HAT5300 sont compatibles avec l'ensemble des NAS Synology. Ensuite, ce qui est intéressant (et exclusif aux disques Synology), c'est que l'on peut mettre à jour le firmware du disque dur directement depuis l'interface de DSM via le Gestionnaire de stockage.

Comme vous pouvez le voir sur l'image ci-dessous, un bouton d'action permet d'effectuer la mise à jour sur chaque disque.

Synology - Mise à jour du firmware du disque dur via DSM
Synology - Mise à jour du firmware du disque dur via DSM

IV. Conclusion

Les disques durs Synology de la gamme HAT5300 proposent de bonnes performances et ils sont bien positionnés par rapport aux autres fabricants du marché. Même si Synology travaille avec Toshiba pour la fabrication de ses disques, on peut se demander s'ils sont fiables ? Je pense qu'avec une garantie de 5 ans et un MTTF estimé à 2,5 millions d'heures, on peut être rassuré !

L'atout majeur de ces disques durs, c'est leur compatibilité avec l'ensemble des NAS Synology, mais aussi la possibilité de mettre à jour le firmware des disques durs directement depuis l'interface de DSM (en version 6 ou 7). Même si ce n'est clairement pas une opération que l'on effectue tous les mois (je me demande si j'ai déjà eu besoin de le faire), ce sera appréciable au moment venu. Désormais, il est possible d'acheter un package comprenant un NAS Synology et des disques durs Synology, et c'est probablement ce que recherchait Synology !

Le petit bémol de ces disques durs, c'est le bruit que je trouve un peu élevé en comparaison de certains modèles que j'ai pu croiser... En soi, ce n'est pas super gênant, car si le NAS est hébergé dans une salle serveur, cela n'a pas d'importance en fait.

Si vous souhaitez acheter ce disque dur, voici quelques liens :

The post Disque dur – Test Synology 8 To (HAT5300-8T) first appeared on IT-Connect.
☐ ☆ ✇ IT-Connect

PwnKit : vieille de 12 ans, cette faille Linux permet de devenir root !

Par : Florian Burnel

La commande pkexec de Polkit contient une faille de sécurité qui permet à l'attaquant de devenir "root" sur une machine Linux. Associée à la référence CVE-2021-4034, cette vulnérabilité a été baptisée PwnKit.

L'équipe de chercheurs en sécurité de Qualys a détecté une vulnérabilité de type "corruption de mémoire" au sein de pkexec, une commande associée à Polkit (PolicyKit). Pour rappel, Polkit est un composant intégré par défaut à Linux et qui va permettre de gérer les règles d'autorisation pour permettre la communication entre des processus non privilégiés et des processus privilégiés. En s'appuyant sur pkexec, Polkit peut être utilisé pour exécuter des commandes avec des privilèges élevés.

En exploitant la vulnérabilité PwnKit, un utilisateur local standard de la machine Linux peut obtenir les droits "root". Cette faille de sécurité est exploitable sur différentes distributions Linux. Les chercheurs de Qualys ont pu devenir "root" sur Ubuntu, Debian, Fedora et CentOS à partir d'une installation par défaut. Ils précisent également que d'autres distributions Linux sont surement vulnérables à cette faille de sécurité. En fait, cette vulnérabilité existe dans Polkit depuis plus de 12 ans et elle affecte toutes les versions de pkexec depuis sa première version en mai 2009.

Si l'annonce de cette faille de sécurité tombe aujourd'hui, ce n'est pas un hasard : Qualys a découvert cette vulnérabilité en 2021 et a remonté l'information le 18 novembre 2021 dernier. Cela fait plusieurs semaines que les équipes de développement des différentes distros Linux ont entre leurs mains les informations nécessaires pour patcher cette faille sur leur système.

Par exemple, Ubuntu dispose déjà de mises à jour pour Polkit afin de patcher la faille PwnKit, au sein de plusieurs versions d'Ubuntu : 14.04 et 16.04 ESM (Extended Security Maintenance) mais aussi pour les versions plus récentes : 18.04, 20.04, et 21.04. Après avoir mis à jour le système (de façon classique), il ne restera plus qu'à redémarrer la machine.

Par ailleurs, il existe une manière de se protéger en modifiant les droits sur le binaire "pkexec" de cette façon :

chmod 0755 /usr/bin/pkexec

L'équipe de chercheurs de Qualys n'a pas publié de PoC permettant d'exploiter cette faille de sécurité, et pourtant quelques heures ont suffi pour qu'un PoC public soit disponible. Cela est la preuve que cette faille est facile à exploiter, même si cela requiert un accès sur la machine via un utilisateur local.

Ce n'est pas la première fois qu'une faille présente depuis plusieurs années est découverte au sein de Polkit : l'année dernière, la CVE-2021-3560 avait été découverte et elle touchait aussi plusieurs distributions Linux.

Source

The post PwnKit : vieille de 12 ans, cette faille Linux permet de devenir root ! first appeared on IT-Connect.
☐ ☆ ✇ IT-Connect

Le malware Trickbot est capable de détecter les analyses des chercheurs

Par : Florian Burnel

Le malware Trickbot est présent sur le devant de la scène depuis plusieurs années, et il continue d'être amélioré par ses créateurs, notamment pour que les chercheurs en sécurité aient plus de mal à analyser son code, son comportement.

Pour rappel, Trickbot est un logiciel malveillant qui permet aux attaquants de réaliser divers types d'activités malveillantes, en fonction de la charge utile qui sera déployée. Par exemple, Trickbot peut être utilisé pour dérober des informations bancaires, mais il est aussi utilisé dans le cadre d'attaques par ransomware notamment par le groupe Conti. Bien souvent, Trickbot infecte une machine par l'intermédiaire d'un e-mail de phishing et d'une pièce jointe malveillante.

Suite à l'analyse d'échantillons de Trickbot, les chercheurs en sécurité d'IBM Trusteer ont publié un rapport qui contient des informations intéressantes. Le moins que l'on puisse dire, c'est que les développeurs de Trickbot souhaitent challenger les chercheurs en sécurité ! Autrement dit, les chercheurs en sécurité ne sont pas les bienvenus. 🙂

Tout d'abord, et c'est une méthode classique, Trickbot s'appuie sur différentes couches d'encodage en base64 et d'obfuscation pour rendre le code illisible. Cela passe par la minification du code (suppression de tous les espaces inutiles et sauts de lignes), suppression et remplacement de caractères, intégration de dead code (bout de code qui n'affecte pas le fonctionnement global du script mais qui complexifie sa compréhension), etc. Avec Trickbot, c'est la multitude de couches utilisées pour répéter ces actions qui rend la tâche difficile... Mais ce n'est pas tout.

Ensuite, lors de l'injection de scripts malveillants au sein de pages Web pour voler des informations d'identification, les ressources locales de la machine ne sont pas utilisées puisque tout repose sur les serveurs distants des attaquants. Des communications chiffrées par HTTPS sont utilisées pour ces communications. À cause de ce mode de fonctionnement, les chercheurs ne peuvent pas récupérer d'éléments en mémoire pour les analyser.

Enfin, Trickbot intègre un script anti-debug dans le code JavaScript. Qu'est-ce que cela signifie ? En se basant sur différents paramètres, notamment la résolution de l'écran, Trickbot peut déterminer si une analyse est en cours, et si c'est le cas, il fait planter le navigateur sur le poste. Il est capable de voir également s’il y a un embellissement du code, c'est-à-dire s'il y a eu un travail pour décoder le code afin de le rendre compréhensible par un humain. Là encore, s'il détecte ce type de manipulation, le navigateur plante afin de mettre fin à l'analyse.

Source

The post Le malware Trickbot est capable de détecter les analyses des chercheurs first appeared on IT-Connect.
☐ ☆ ✇ IT-Connect

Lenovo ThinkPad : la puce Pluton est là, mais désactivée par défaut !

Par : Florian Burnel

À l'occasion du CES 2022, Lenovo a dévoilé ses nouveaux modèles ThinkPad Z Series et ils présentent la particularité d'intégrer la puce de sécurité Microsoft Pluton. Le problème, c'est que cette puce sera désactivée par défaut. Étonnant.

Les nouveaux ordinateurs portables ThinkPad, notamment les modèles Z13 et Z16, doté d'un processeur AMD Ryzen 6000 Series, sont les premiers ordinateurs à intégrer le processeur de sécurité Microsoft Pluton. Ce sont eux qui devaient permettre à Microsoft de mettre en lumière cette nouvelle puce dédiée à la sécurité.

Cependant, Lenovo a fait une annonce surprenant au site The Register : "Pluton sera désactivé par défaut sur les modèles Lenovo ThinkPad 2022. Précisément les modèles Z13, Z16, T14, T16, T14s, P16s et X13 qui utilisent un processeur AMD Ryzen 6000 Series. Les utilisateurs auront la possibilité d'activer Pluton eux-mêmes."

C'est une nouvelle étonnante puisque la puce Pluton devait représenter un atout commercial supplémentaire pour ces nouveaux modèles Lenovo. Est-ce qu'il y a des problèmes de stabilité ? de fonctionnement ? On peut se poser des questions, d'autant plus que Microsoft imaginait surement les choses différemment. De cette façon, la puce Pluton est mise en retrait.

Pour rappel, l'objectif de Microsoft Pluton est de stocker des informations sensibles telles que des clés de chiffrement au sein de la puce qui est intégrée au niveau du matériel de l'ordinateur. On peut dire que Pluton est une sorte de puce TPM améliorée grâce à des fonctions supplémentaires.

Source

The post Lenovo ThinkPad : la puce Pluton est là, mais désactivée par défaut ! first appeared on IT-Connect.
☐ ☆ ✇ IT-Connect

Le suivi d’une connexion TCP avec Wireshark

Par : Florian Burnel

I. Présentation

Dans ce tutoriel, nous allons voir comment les numéros de séquence et d'acquittement permettent d'effectuer le suivi d'une connexion TCP, en analysant une capture Wireshark.

La fiabilité est l'un des atouts du protocole de transport TCP, notamment en comparaison de l'UDP. Pour assurer un bon suivi des échanges entre les deux hôtes, le protocole TCP a besoin que des informations soient présentent au sein de chaque segment TCP des différents paquets : le numéro de séquence et le numéro d'acquittement. Nous allons voir comment il fonctionne au travers d'un exemple simple, mais concret, afin d'explorer un peu plus le protocole TCP.

Pour générer une connexion TCP, c'est tout simple : à partir d'une machine Windows 11 avec l'adresse IP 192.168.100.101, je me suis connecté à mon serveur Web avec l'adresse IP 192.168.100.120, via un navigateur. Cette connexion à la page Web, via le protocole HTTP, a été capturée dans une trace Wireshark.

Avant de suivre ce tutoriel, je vous recommande de lire cet article (ou de regarder la vidéo associée) en guise d'introduction : Les protocoles UDP et TCP. Cet article est en quelque sorte une suite.

Ressources :

II. Wireshark : numéro de séquence, numéro d'acquittement, taille des segments TCP

Suite à la capture du trafic, j'obtiens une trace Wireshark avec 11 paquets correspondants à l'initialisation de la connexion TCP, le transfert des données entre les deux hôtes, et la fermeture de la connexion TCP.

Ce qui donne le résultat suivant dans Wireshark, tout en sachant que :

  • Les paquets surlignés en noir correspondent aux paquets du poste client vers le serveur Web
  • Les paquets surlignés en vert correspondent aux paquets du serveur Web vers le poste client
Wireshark : capture de trafic HTTP avec le protocole de transport TCP
Wireshark : capture de trafic HTTP avec le protocole de transport TCP

Le numéro de séquence, le numéro d'acquittement et la taille du segment TCP sont visibles au sein de chaque paquet. Il suffit de sélectionner un paquet et de regarder au sein de l'en-tête TCP :

  • TCP Segment Len : taille du segment TCP en octets
  • Sequence Number : numéro de séquence relatif
  • Acknowledgment Number : numéro d'acquittement
Wireshark : Voir le numéro de séquence, le numéro d'acquittement et la taille du segment TCP
Wireshark : Voir le numéro de séquence, le numéro d'acquittement et la taille du segment TCP

Pour que ce soit plus pratique, nous allons ajouter trois colonnes supplémentaires pour afficher directement ces informations. Effectuez un clic droit sur "Sequence Number" et cliquez sur "Appliquer en Colonne". Répétez l'opération pour les deux autres champs.

Wireshark : ajouter une nouvelle colonne
Wireshark : ajouter une nouvelle colonne

Afin de pouvoir condenser un peu plus l'affichage (comme sur l'image ci-dessous), nous allons renommer ces trois nouvelles colonnes. Effectuez un clic droit sur la colonne "Sequence Number" et cliquez sur "Edit Column" afin de donner un nouveau nom. Là encore, répétez l'opération pour les deux autres colonnes.

Wireshark : modifier le nom d'une colonne
Wireshark : modifier le nom d'une colonne

Dans mon cas :

  • TCP Segment Len devient "TCP - Lenght"
  • Sequence Number devient "# Seq"
  • Acknowledgment Number devient "# Ack"

Comme ceci :

Voilà, un bon point de départ : Wireshark affiche désormais des informations indispensables pour permettre de suivre la connexion TCP. Même si ces informations sont visibles via la colonne "Info", c'est plus pratique de cette façon.

III. TCP : fonctionnement des numéros de séquence et d'acquittement

Le protocole TCP s'appuie sur un numéro de séquence qui lui permet d'indiquer le début du segment TCP et un numéro d'acquittement qui indique la taille des données reçues.

A. Analyse de l'initialisation de la connexion TCP

Commençons par l'analyse des trois premiers paquets puisqu'ils correspondent à l'initialisation de la connexion TCP entre les deux hôtes. Je vous rappelle que ce processus s'appelle le three-way handshake.

Sur l'image ci-dessous, je vous propose une représentation des paquets n°1, n°2 et n°3 de la capture Wireshark afin que l'on puisse analyser les numéros de séquence (SEQ), les numéros d'acquittement (ACK) et la taille du segment (LEN) de ces trois paquets.

Le paquet n°1 correspond à la demande d'initialisation du client vers le serveur, donc nous avons : le flag SYN, un numéro de séquence à 0 correspondant au premier segment, un numéro d'acquittement à 0 et une taille de segment à 0 (aucune donnée transférée). Le numéro d'acquittement est à 0, car il n'y a pas eu d'échange de données entre les deux hôtes : nous sommes en phase d'initialisation.

Le paquet n°2 correspond à la réponse du serveur au client : la présence des flags "ACK" et "SYN" permet d'affirmer que le serveur a bien reçu la demande de connexion du client et qu'il souhaite également établir une connexion avec le client. Comme il s'agit du premier segment, nous avons un numéro de séquence à 0 également. Par contre, ce que l'on peut voir, c'est que le numéro d'acquittement (ACK) est égal à 1.

Pourquoi est-il égal à 1 alors que le client n'a pas transféré le moindre octet vers le serveur ? Bonne remarque. En fait, pour le serveur c'est une manière de dire au client qu'il a bien reçu sa demande de connexion TCP (SYN). Vous devez retenir que le numéro d'acquittement est incrémenté de 1 lorsqu'une réponse à un segment TCP contient le flag SYN.

Le paquet n°3 correspond à l'acquittement (flag ACK) du client à destination du serveur, pour lui indiquer qu'il a bien reçu la demande d'initialisation d'une connexion. Le numéro d'acquittement étant positionné à "1" par le serveur, le client doit suivre cette valeur pour le numéro de segment : c'est pour cette raison que le numéro de segment est à 1 pour le troisième paquet. Si le client réutilise le numéro de segment "0", le serveur pourrait croire que le client n'a pas reçu sa réponse.

C'est la fin du processus three-way handshake : la connexion TCP est établie entre les deux hôtes.

B. Analyse du transfert de données via TCP

La connexion TCP étant établie, nos deux hôtes vont pouvoir échanger des données via le protocole TCP. Puisque le client accède au serveur Web, il souhaite obtenir le contenu de la page Web. Au sein de notre trace ouverte dans Wireshark, cela correspond aux paquets n°4 à n°7.

Le schéma évolue également pour intégrer ces 4 paquets supplémentaires, avec à chaque fois les trois valeurs à analyser (numéro de séquence, numéro d'acquittement et taille du segment TCP).

Le paquet n°4 correspond à la requête HTTP émise par le client au serveur Web : une manière de lui demander le contenu de la page Web. Les numéros de séquence et d'acquittement restent identiques du côté du client puisqu'il n'a pas reçu de nouveaux segments TCP de la part du serveur. Par contre, on peut voir que le segment TCP n'est pas à 0, mais cette fois-ci il est égal à 368 octets.

Le paquet n°5 est une réponse du serveur Web au client pour lui confirmer qu'il a bien reçu sa demande. Cette réponse avec le flag ACK contient des informations importantes. En effet, le numéro de séquence est resté à 1, ce qui est normal puisque le serveur n'a pas encore envoyé de données au client depuis que la connexion TCP est ouverte. Par contre, le numéro d'acquittement est passé de "ACK = 1" à "ACK = 369" pourquoi ? Le serveur a reçu 368 octets de la part du client suite au dernier segment envoyé, donc cette information est ajoutée à la valeur actuelle (1), ce qui donne un total de 369 octets. Grâce au numéro d'acquittement, le serveur va communiquer cette information au client, ce qui va permettre au client de savoir si le serveur a bien reçu l'ensemble des données transférées ou non.

Imaginons que le serveur retourne au client un numéro d'acquittement égal à 300, alors que le client s'attend à recevoir la valeur 369. Cela permettrait au client d'identifier qu'il y a eu un incident lors du transfert des données et que le segment reçu par le serveur est incomplet puisqu'il manque 69 octets. Grâce à cette vérification, le client pourrait réémettre les données manquantes au serveur : voici l'une des forces de TCP.

Le paquet n°6 est toujours en direction du serveur vers le client, et cette fois-ci il correspond à l'envoi des données (contenu de la page Web) au client. Nous reprenons les numéros de séquence et d'acquittement précédents puisque le client n'a pas émis de segment TCP vers le serveur entre temps. Par contre, puisque nous envoyons des données, la taille du segment TCP est égale à 426 octets.

Le paquet n°7 correspond à la réponse du client au serveur pour lui indiquer qu'il a reçu des données de sa part. Le client utilise un nouveau numéro de séquence qui est "369" afin de reprendre l'échange là où il s'est arrêté dans le sens "client vers serveur". Le numéro d'acquittement est égal à 427 (1 + 426) : le serveur aura la confirmation que le client a bien reçu l'ensemble des données. Ce paquet étant un acquittement de la part du client, il est logique que la taille du segment soit de 0.

Il est à noter que les numéros de séquence et d'acquittement entre le client et le serveur sont différents. Le client gère son numéro de séquence et sa valeur évoluera en fonction des octets transférés dans le sens client vers serveur. Cela s'applique aussi au serveur pour les octets transférés dans le sens serveur vers client.

C. Analyse de la fermeture de la connexion TCP

Les données sont transmises et notre serveur souhaite fermer la connexion TCP avec le client, nous allons voir comment se traduit la fermeture de la connexion TCP au niveau des paquets capturés. Au sein de notre trace ouverte dans Wireshark, la fermeture de la connexion TCP correspond aux paquets n°8 à 11.

Le schéma évolue une dernière fois afin d'inclure ces nouveaux paquets correspondants à la fin de la connexion TCP entre notre poste client et notre serveur.

Le paquet n°8 correspond à une demande de fermeture de connexion TCP émise par le serveur à destination du poste client. Nous le savons, car ce paquet contient deux flags TCP : FIN et ACK. Le numéro de séquence "427" est utilisé dans la continuité des précédents échanges et le numéro d'ACK n'évolue pas, car le serveur n'a pas reçu d'octet supplémentaire de la part du client. La taille du segment est égale à 0, car il s'agit d'une demande de fermeture de connexion TCP.

Le paquet n°9 correspond à la réponse du client afin de préciser que la demande de fermeture de connexion TCP a bien été reçue. Même si le serveur n'a pas envoyé de données, on peut voir que le numéro d'acquittement est passé de 427 à 428, soit +1. Sur le même principe qu'avec le flag SYN lors de l'initialisation de la connexion TCP, le flag FIN implique que le numéro d'acquittement soit incrémenté de 1.

Le paquet n°10 est envoyé dans la foulée et il contient les flags "FIN + ACK" : le client indique au serveur qu'il est d'accord pour que la connexion TCP soit fermée. Effectivement, pour qu'une connexion TCP soit correctement fermée, il faut un accord des deux hôtes.

Le paquet n°11 est la confirmation de la part du serveur : la connexion TCP doit être fermée des deux côtés. Il est intéressant de voir que le numéro de séquence est passé à "428" puisqu'il suit le numéro d'acquittement du client. Quant au numéro d'acquittement envoyé par le serveur, il est passé de 369 à 370, ce qui est normal puisque le segment TCP émit par le client contient le flag "FIN".

Voilà, nous venons d'analyser un échange HTTP entre deux hôtes basés sur une connexion TCP, avec le fonctionnement des numéros de séquence et d'acquittement. Enfin, j'ai encore des choses à vous dire au sujet du numéro de séquence.

IV. TCP et le numéro de séquence initial (ISN)

Si l'on se réfère aux informations affichées par Wireshark, on pourrait croire que le numéro de séquence débute à 0 sur chacun des deux hôtes. C'est aussi ce que je vous ai dit, mais en fait, cela est faux !

Le numéro de séquence relatif (comme il est appelé dans Wireshark) est positionné à 0 pour faciliter la lecture et la compréhension lorsqu'un humain analyse la capture de paquets. En réalité, chaque hôte s'appuie sur un ISN, pour Initial Sequence Number, en français numéro de séquence initial, comme première valeur pour le numéro de séquence.

Ce numéro de séquence initial est généré aléatoirement par chaque hôte. Si l'on sélectionne les deux premiers paquets de notre trace ouverte dans Wireshark, et que l'on regarde l'en-tête TCP, on peut récupérer la valeur de l'ISN en regardant le champ "Sequence Number (raw)".

Voici l'ISN du client (en haut) et l'ISN du serveur (en dessous).

Wireshark - TCP : le numéro de séquence initial (ISN)
Wireshark - TCP : le numéro de séquence initial (ISN)

Cet ISN est codé sur 4 octets (32 bits), comme on peut le voir sur la copie d'écran ci-dessous.

L'objectif de ce numéro de séquence initial est d'éviter les conflits, les erreurs et les superpositions entre les connexions TCP.

En cas de plantage complet de l'un des deux hôtes liés par une connexion TCP, cela permet d'être sûr qu'une nouvelle connexion TCP sera initialisée si les deux hôtes cherchent à communiquer ensemble lorsque l'hôte HS est de nouveau opérationnel. Sinon, il pourrait y avoir comme une sorte d'incompréhension entre les deux hôtes : un hôte cherche à établir une nouvelle connexion, tandis que l'autre croit que c'est toujours la connexion précédente qui est en cours. Grâce au numéro ISN généré aléatoirement, les probabilités de retrouver les mêmes numéros de séquence sont faibles.

La vérité au sujet du numéro de séquence étant rétablie, je peux publier cet article l'esprit tranquille. 😉

The post Le suivi d’une connexion TCP avec Wireshark first appeared on IT-Connect.
☐ ☆ ✇ IT-Connect

Office 365 : activer le MFA avec PowerShell

Par : Florian Burnel

I. Présentation

Dans ce tutoriel, nous allons apprendre à activer ou désactiver le MFA (authentification multifacteur) sur les comptes utilisateurs Office 365 avec PowerShell.

Il s'agit du troisième article au sujet du MFA avec Office 365 puisque j'ai déjà publié les deux tutoriels suivants :

Cette fois-ci encore, nous allons utiliser le module MSOnline. Je vous rappelle que même si ce module est plutôt en fin de vie, et qu'il serait mieux d'utiliser le module Microsoft Graph, je n'ai pas trouvé de commandes permettant de gérer le MFA via ce module. Lorsque ce sera pris en charge par Microsoft Graph, cet article sera actualisé.

II. Activer le MFA avec PowerShell

Ouvrez une console Windows PowerShell afin d'exécuter la commande ci-dessous pour établir une connexion à Office 365. Le prérequis c'est bien sûr de disposer du module MSOnline.

Connect-MsolService

Une fenêtre va s'ouvrir, authentifiez-vous. Ensuite, il ne reste plus qu'à s'amuser avec PowerShell pour gérer le MFA sur les comptes utilisateurs.

Il est nécessaire de créer un objet de type "Microsoft.Online.Administration.StrongAuthenticationRequirement" avec plusieurs propriétés pour activer le MFA au sein d'un compte utilisateur. Cela nous donne les lignes suivantes :

$Mfa = New-Object -TypeName Microsoft.Online.Administration.StrongAuthenticationRequirement
$Mfa.RelyingParty = "*"
$Mfa.State = "Enabled"
$MfaStatus = @($Mfa)

La variable $MfaStatus contient notre objet et ses propriétés. Cette variable va être utilisée au sein de la commande Set-MsolUser pour activer (ou désactiver) le MFA sur un utilisateur.

Voici un exemple :

Set-MsolUser -UserPrincipalName [email protected] -StrongAuthenticationRequirements $MfaStatus

Voilà, le MFA est désormais activé pour cet utilisateur et il n'aura plus qu'à configurer un second facteur d'authentification.

Office 365 - Activer MFA avec PowerShell

Prenons un autre exemple : on souhaite activer le MFA sur tous les membres d'un groupe de sécurité Active Directory. Pour cela, il faut que l'on commence à récupérer les membres de notre groupe "O365-Licence-E3" dans l'AD :

$Users = Get-ADGroupMember -Identity "O365-Licence-E3" | Foreach{ Get-ADUser -Identity $_.SamAccountName } | Select-Object UserPrincipalName

La commande ci-dessus récupère l'attribut UserPrincipalName car il s'agit de comptes synchronisés via Azure AD Connect donc il s'agit de l'attribut de référence pour l'identifiant du compte Office 365. Vous pouvez sélectionner un autre attribut, comme le champ "mail" par exemple.

Ensuite, il suffit de traiter chaque compte afin d'activer le MFA (en réutilisant l'objet déclaré précédemment) :

$Users | Set-MsolUser -StrongAuthenticationRequirements $MfaStatus

En résumé, voici les différentes lignes de commande PowerShell :

Connect-MsolService

$Mfa = New-Object -TypeName Microsoft.Online.Administration.StrongAuthenticationRequirement
$Mfa.RelyingParty = "*"
$Mfa.State = "Enabled"
$MfaStatus = @($Mfa)

$Users = Get-ADGroupMember -Identity "O365-Licence-E3" | Foreach{ Get-ADUser -Identity $_.SamAccountName } | Select-Object UserPrincipalName
$USers | Set-MsolUser -StrongAuthenticationRequirements $MfaStatus

Nous pourrions imaginer le même type d'exemple avec un fichier CSV en entrée.

III. Désactiver le MFA avec PowerShell

Pour désactiver le MFA, il ne faut pas reprendre le bout de code précédent et remplacer "Enabled" par "Disabled" car cela ne fonctionnera pas. Par contre, si l'on initialise notre variable $MfaStatus sans lui attribuer la moindre propriété, cela va supprimer la configuration MFA sur l'utilisateur et donc désactiver le MFA.

Il suffira de faire :

$MfaStatus = @()

Puis, de mettre à jour le compte :

Set-MsolUser -UserPrincipalName [email protected] -StrongAuthenticationRequirements $MfaStatus

Si vous avez besoin de désactiver le MFA sur tous les comptes utilisateurs de votre tenant (ou de l'activer sur tous les comptes), je vous invite à utiliser le script fourni par Microsoft et disponible sur cette page (testé et approuvé !) :

The post Office 365 : activer le MFA avec PowerShell first appeared on IT-Connect.
☐ ☆ ✇ IT-Connect

Une attaque supply chain cible WordPress : 93 thèmes et plugins infectés !

Par : Florian Burnel

C'est une attaque massive de type "supply chain" qui touche les webmasters de sites WordPress ! Au total, 93 thèmes et plugins sont infectés et contiennent une porte dérobée ajoutée par les pirates informatiques. Environ 360 000 sites actifs seraient vulnérables !

Une porte dérobée intégrée à 93 thèmes et plugins

Cette attaque a été découverte par les créateurs du célèbre outil Jetpack pour WordPress et voici ce qu'ils ont trouvé : une porte dérobée PHP ajoutée à de nombreux thèmes et de nombreux plugins attribués au développeur AccessPress. D'après Jetpack, le site d'AccessPress aurait été compromis afin de permettre l'ajout de la porte dérobée aux fichiers d'installation des différents plugins et thèmes.

Suite à cette attaque, les pirates informatiques ont pu compromettre 40 thèmes et 53 plugins WordPress développés par AccessPress. Au total, il y aurait environ 360 000 sites actifs qui s'appuient sur les thèmes ou plugins d'AccessPress, ce qui les rend vulnérables.

WordPress : une backdoor intégrée à 93 plugins et thèmes

La version infectée par la backdoor d'un plugin ou d'un thème peut être récupérée lors d'une mise à jour ou lors de l'installation initiale sur son site WordPress. Suite à cela, un nouveau fichier nommé "initial.php" est mis en place à la racine du thème et il est chargé via le fichier "functions.php" principal. Le fichier "initial.php" contient un bout de code encodé en base64 et correspondant à un webshell, ce dernier étant déployé ensuite au sein du fichier "./wp-includes/vars.php". Le webshell permet à l'attaquant de prendre le contrôle du site WordPress !

D'après les chercheurs de Sucuri, les pirates utilisent les sites infectés pour rediriger les visiteurs vers des sites malveillants, où sont distribués des malwares.

Mon site est-il infecté ?

Pour tous les propriétaires de sites WordPress, la même question : mon site est-il infecté ? Pour le savoir, commencez par regarder la liste des thèmes et plugins infectés sur le site Jetpack. Si vous utilisez un ou plusieurs éléments de cette liste, effectuez les mises à jour immédiatement pour récupérer une version saine. S'il n'y a pas de mises à jour disponibles, il faut songer à remplacer le thème/plugin par un autre (même si c'est facile à dire !).

Ce qui peut être fait également, c'est vérifier le contenu du fichier "wp-includes/vars.php" afin de voir si la fonction "wp_is_mobile_fix" contient du code obfusqué.

L'origine de l'attaque : septembre 2021

C'est en septembre 2021 que l'équipe de Jetpack a découverte la porte dérobée pour la première fois. À partir du 15 octobre, le portail de téléchargement officiel ne permettait plus de télécharger les différents thèmes et plugins, puisque l'enquête a permis d'identifier que c'était lui qui était compromis.

Depuis le 17 janvier 2022, AccessPress a mis en ligne des versions nettoyées et saines de quasiment tous les plugins ! Par contre, ce n'est pas encore le cas pour les thèmes... ce qui met les webmasters dans une situation embarrassante : prendre le risque d'attendre une mise à jour du thème ou changer immédiatement de thème.

Source

The post Une attaque supply chain cible WordPress : 93 thèmes et plugins infectés ! first appeared on IT-Connect.
☐ ☆ ✇ IT-Connect

Le malware MoonBounce persiste après un formatage du disque !

Par : Florian Burnel

Le malware MoonBounce est particulièrement furtif et difficile à supprimer puisqu'il se cache dans la puce du BIOS ! Cette méthode lui permet de persister sur la machine même après une réinstallation du système d'exploitation, le formatage du disque dur, voire même un remplacement de disque dur !

Pour persister sur la machine, le malware est mis en place directement au sein de la puce du BIOS, au niveau de la mémoire flash SPI (Serial Peripheral Interface) de la carte mère. Même si la méthode pourrait sembler nouvelle, ce n'est visiblement pas le cas. L'éditeur Kaspersky précise que ce n'est pas le premier logiciel malveillant à persister sur une machine via la mémoire flash SPI. Avant MoonBounce, d'autres malwares comme LoJax et MosaicRegressor ont suivi le même chemin.

Malgré tout, Kaspersky avoue que MoonBounce va plus loin et montre une avancée significative, notamment parce que son flux d'attaque est plus complexe, et qu'il serait capable d'infecter une machine à distance. Sur la machine, il parvient à détourner certaines fonctions afin que la souche malveillante soit chargée au démarrage du système d'exploitation. Lorsque Windows est démarré, le malware se retrouve injecté dans un processus svchost.exe, ce qui le rend d'autant plus invisible et difficile à détecter.

Que fait le malware une fois qu'il est en place sur une machine ? Bien sûr, les chercheurs de Kaspersky se sont posé la question et pour l'instant, c'est assez flou. En fait, MoonBounce cherche à se connecter à une URL distante pour récupérer une charge utile afin de l'exécuter en mémoire. Néanmoins, cet appel n'aurait pas abouti et comme il semble travailler uniquement en mémoire, sans s'appuyer sur des fichiers, l'analyse est plus difficile. Suite à cet échec, on pourrait même croire que le malware était en phase de test lorsqu'il a été détecté.

Toujours d'après Kaspersky, ce serait le groupe APT41 qui serait à l'origine du malware MoonBounce. D'après les nombreux signalements, le groupe APT41 s'exprimerait en chinois, ce qui est indicateur quant à sa provenance.

Afin de vous protéger, Kaspersky recommande de veiller à ce que le firmware UEFI de votre machine soit bien à jour, d'activer la puce TPM, et d'autres fonctions de sécurité comme Boot Guard chez Intel.

Source

The post Le malware MoonBounce persiste après un formatage du disque ! first appeared on IT-Connect.
☐ ☆ ✇ IT-Connect

Windows 11 : quel avenir pour le raccourci ncpa.cpl ?

Par : Florian Burnel

Sous Windows, le raccourci "ncpa.cpl" permet d'ouvrir directement le panneau de configuration des connexions réseau. À l'avenir, il pourrait rediriger les utilisateurs vers les nouveaux paramètres.... ou pas ! Explications.

Depuis que Windows 10 est sorti, Microsoft a commencé à mettre en place une nouvelle interface de gestion des paramètres. Petit à petit, de nouveaux paramètres sont ajoutés à cette interface, et elle devrait, à terme, remplacer totalement l'interface "Panneau de configuration" classique, que l'on connait tous, et que l'on aime tous ! 🙂

D'ailleurs, Microsoft a commencé à rediriger les utilisateurs vers cette nouvelle interface "Paramètres". Par exemple, si l'on clique sur "Système" dans "Panneau de configuration", on se retrouve directement dans "Paramètres" au sein de la section "Système > Informations systèmes".

Windows 11 ncpa.cpl

Lentement, mais surement, Microsoft va tuer le panneau de configuration. Au sein des dernières build de Windows 11 disponibles via le programme Windows Insider, c'est l'avenir du panneau de configuration "Connexions réseau" qui semble se jouer. Je fais référence à l'interface de gestion des cartes réseau accessible avec un raccourci que beaucoup d'entre nous utilisent : ncpa.cpl.

En effet, au sein de l'une des dernières build, ce raccourci ne renvoie plus vers "Connexions réseau", mais les paramètres de connexion avancés au sein de la nouvelle interface des paramètres. Sauf qu'au sein de la dernière build, Microsoft semble avoir fait machine-arrière puisqu'il permet d'ouvrir de nouveau l'interface "Connexion réseau". Visiblement, Microsoft hésite.

Certaines personnes suggèrent que les développeurs ont besoin d'accéder à "Connexions réseau" pour le moment, car la nouvelle interface ne contient pas encore toutes les options équivalentes. Cela pourrait être une explication, mais ce n'est qu'une hypothèse.

Quoi qu'il en soit, il y a de fortes chances que le raccourci "ncpa.cpl" continue d'exister, mais qu'il redirige plutôt vers la nouvelle interface des paramètres. Ce n'est qu'une question de temps. Alors, pas trop triste ? 🙂

Source

The post Windows 11 : quel avenir pour le raccourci ncpa.cpl ? first appeared on IT-Connect.
☐ ☆ ✇ IT-Connect

Office 365 : obtenir le statut du MFA avec PowerShell

Par : Florian Burnel

I. Présentation

Dans ce tutoriel, nous allons apprendre à obtenir le statut du MFA (authentification forte) sur les comptes utilisateurs Office 365 avec PowerShell.

Précédemment, nous avons vu comment mettre en place le MFA sur Office 365 et comment l'activer sur les utilisateurs à partir de l'interface graphique.

Pour obtenir le statut du MFA sur les utilisateurs, c'est-à-dire pour savoir s'il est actif ou non et visualiser le second facteur actif, nous allons utiliser le module MSOnline. Même si ce module est plutôt en fin de vie, il reste d'actualité pour manipuler le MFA dans le sens où le module Microsoft Graph ne permet pas, à ce jour, de gérer le MFA. Enfin, en tout cas je n'ai pas trouvé la solution de mon côté...

II. Obtenir le statut du MFA avec PowerShell

Ouvrez une console Windows PowerShell et exécutez la commande ci-dessous pour établir une connexion à Office 365 (le module MSOnline doit être présent sur votre machine).

Connect-MsolService

Une fenêtre va s'ouvrir, authentifiez-vous. Pour obtenir le statut du MFA pour un utilisateur, il faut regarder la propriété "StrongAuthenticationMethods" de son compte via la commande Get-MsolUser.

On va commencer par stocker les informations dans une variable, en spécifiant l'identifiant de l'utilisateur :

$User = Get-MSolUser -UserPrincipalName [email protected]

Puis, nous allons pouvoir afficher l'état du MFA sur ce compte :

$User.StrongAuthenticationMethods

Si la commande ci-dessus ne retourne aucun résultat, c'est que le MFA est désactivé sur cet utilisateur ou qu'il est activé mais pas encore configuré (aucun second facteur actif).

Dans le cas où le MFA est actif et configuré, la liste des méthodes disponibles pour le second facteur s'affiche. La méthode par défaut est visible via la propriété "IsDefault" qui prend la valeur "True".

Exemple - Office 365 : StrongAuthenticationMethods
Exemple - Office 365 : StrongAuthenticationMethods

Sur l'image ci-dessus, on peut voir que le MFA est actif et configuré pour cet utilisateur et que le second facteur par défaut est "OneWaySMS", c'est-à-dire un code unique envoyé par SMS.

Pour éviter de le faire en deux temps, on peut sélectionner le nom d'affichage de l'utilisateur, son identifiant et créer une propriété calculée avec PowerShell, nommée MFAStatus, pour afficher directement le second facteur par défaut. Dans le cas où le MFA est désactivé sur l'utilisateur, on précisera "Disabled". Voici la commande complète :

Get-MsolUser -UserPrincipalName [email protected] | Select DisplayName,UserPrincipalName,@{N="MFAStatus"; E={ if( $_.StrongAuthenticationMethods.IsDefault -eq $true) {($_.StrongAuthenticationMethods | Where IsDefault -eq $True).MethodType} else { "Disabled"}}}

Dans le même esprit, on peut obtenir le statut du MFA pour tous les utilisateurs du tenant. Pour cela, il suffit de retirer le paramètre "-UserPrincipalName" de la commande Get-MsolUser et de préciser "-All" à la place.

Ce qui donne :

Get-MsolUser -All | Select DisplayName,UserPrincipalName,@{N="MFAStatus"; E={ if( $_.StrongAuthenticationMethods.IsDefault -eq $true) {($_.StrongAuthenticationMethods | Where IsDefault -eq $True).MethodType} else { "Disabled"}}}

Voici le résultat obtenu :

La méthode "PhoneAppNotification" visible sur l'image ci-dessus correspond à l'utilisation d'une application comme Microsoft Authenticator.

Si l'on souhaite obtenir le statut du MFA uniquement sur les comptes qui ont le rôle "Administrateur général", c'est possible aussi. Il faut commencer par récupérer la liste de ces comptes (en prenant uniquement ceux sous licence) :

$AdminUsers = Get-MsolRoleMember -RoleObjectId $(Get-MsolRole -RoleName "Company Administrator").ObjectId | Where-Object {$_.isLicensed -eq $true}

Il ne reste plus qu'à appliquer une boucle Foreach et réutiliser la commande étudiée précédemment pour obtenir le statut du MFA sur les comptes admins :

$AdminUsers | Foreach{ Get-MsolUser -UserPrincipalName $_.EmailAddress | select DisplayName,UserPrincipalName,@{N="MFA Status"; E={ if( $_.StrongAuthenticationMethods.IsDefault -eq $true) {($_.StrongAuthenticationMethods | Where IsDefault -eq $True).MethodType} else { "Disabled"}}}}

Avec ces quelques commandes PowerShell, vous êtes en mesure de vérifier le statut du MFA sur vos comptes Office 365 !

The post Office 365 : obtenir le statut du MFA avec PowerShell first appeared on IT-Connect.
☐ ☆ ✇ IT-Connect

Vie privée : ProtonMail bloque les pixels de suivi et cache votre IP

Par : Florian Burnel

Toujours dans l'objectif de protéger un peu plus la vie privée de ses utilisateurs et de renforcer la sécurité de sa solution, ProtonMail vient d'annoncer deux nouvelles fonctionnalités pour lutter contre le tracking dans les e-mails.

Avec ces nouveautés, ProtonMail annonce la couleur dans son communiqué officiel : "Vous pouvez désormais lire vos courriers électroniques sans laisser les annonceurs vous observer, établir un profil sur vous ou vous proposer des publicités basées sur votre activité de courrier électronique."

Concrètement, voici les deux changements apportés par ProtonMail :

  • Bloquer les pixels de suivi : ces fameux pixels de suivi sont très fréquents dans les e-mails promotionnels ou les newsletters et permettent aux entreprises de savoir ce que vous faites avec leur e-mail (par exemple : l'avez-vous ouvert ?)
  • Cacher votre adresse IP : l'adresse IP que vous utilisez sera cachée afin qu'elle ne remonte pas à l'entreprise qui vous a envoyé l'e-mail, notamment pour éviter de partager votre emplacement géographique

Dans tous les cas, cette protection supplémentaire n'empêche pas de pouvoir consulter les e-mails. Par contre, l'entreprise émettrice de l'e-mail ne pourra pas savoir si vous l'avez ouvert ou non, combien de fois vous l'avez ouvert, et à partir de quel emplacement.

Cette protection est activée par défaut pour tous les utilisateurs au sein de l'application Web de ProtonMail. Par contre, il n'est pas mentionné si la protection s'applique sur les applications mobiles.

Une excellente nouvelle pour finir la semaine ! Personnellement, j'utilise ProtonMail depuis plusieurs années, dans sa version gratuite, et c'est un service que je ne peux que vous recommander si vous cherchez une alternative à Gmail, Outlook.com, Yahoo, etc.

Source

The post Vie privée : ProtonMail bloque les pixels de suivi et cache votre IP first appeared on IT-Connect.
☐ ☆ ✇ IT-Connect

Gestion de Windows Update : voici 18 paramètres de GPO à éviter !

Par : Florian Burnel

Microsoft a partagé une liste de 18 paramètres de GPO qu'il est préférable de ne pas utiliser sur Windows 10 et Windows 11. Pourquoi ? Et bien parce que vous pouvez obtenir un résultat inattendu ou alors il existe un nouveau paramètre plus efficace.

C'est par l'intermédiaire d'un article publié par Aria Carley sur le site Microsoft TechCommunity que j'ai pu apprendre l'existence de ces 18 paramètres de GPO à éviter lorsque l'on configure Windows Update sur Windows 10 et Windows 11.

Pour établir cette liste, Microsoft s'est appuyé sur les feedbacks de ses clients, à la fois sur Windows 10 et sur Windows 11, mais la firme de Redmond a aussi tenu compte des évolutions dans le processus de mises à jour de Windows.

Résultat, il y a certains paramètres de GPO qui sont devenus obsolètes : soit ils ne fonctionnent pas comme ils devraient, soit ils ne fonctionnent plus du tout, ou alors ils existent des paramètres plus récents et plus optimisés qu'il est préférable d'utiliser.

Pour vous permettre d'identifier facilement les paramètres à éviter, Microsoft a modifié les fichiers ADMX de Windows 11 afin d'inclure la section suivante :

Configuration ordinateur > Stratégies > Modèles d'administration > Composants Windows > Windows Update > Stratégies héritées

En parcourant les paramètres de GPO à l'aide de la console habituelle, et en suivant ce chemin, on obtient la liste de paramètres suivante :

Windows Update : voici les paramètres de GPO à éviter
Windows Update : voici les paramètres de GPO à éviter

La liste ci-dessus contient 18 paramètres, mais l'article de Microsoft parle de 25 paramètres : pourquoi ? En fait, certains paramètres sont disponibles uniquement sur la partie stratégie via Microsoft 365, d'où cette différence.

Au sein de son article, Microsoft explique pour chacun des paramètres, pourquoi il ne faut plus l'utiliser : Why you shouldn’t set these 25 Windows policies

Afin de télécharger et importer les fichiers ADMX pour Windows 11, suivez ce tutoriel :

Vous allez me dire, comment je fais pour voir ces paramètres dans ma console GPMC avec un parc sous Windows 10 ? C'est vrai, que l'on ne va pas forcément intégrer les fichiers ADMX Windows 11 si l'on ne l'utilise pas en production... Une autre question qui se pose c'est "Si j'ai un parc qui mixe à la fois du Windows 10 et du Windows 11, quelle version des modèles ADMX dois-je choisir ?" : une bonne question puisque l'on peut avoir qu'une seule version des fichiers ADMX au sein du magasin central.

Dans un environnement mixe, si l'on commence à mettre du Windows 11, c'est surement pour basculer à terme vers Windows 11. Dans ce cas, il vaut mieux installer les fichiers ADMX Windows 11. Ensuite, il existe une astuce pour visualiser uniquement les paramètres Windows 10, qui consiste à installer la console GPMC sur Windows 10 et à activer la clé de Registre "EnableLocalStoreOverride" pour utiliser les modèles de la machine locale. Tout cela est expliqué dans cet article :

Maintenant, il est temps de réviser vos GPO "Windows Update" ! 

The post Gestion de Windows Update : voici 18 paramètres de GPO à éviter ! first appeared on IT-Connect.
☐ ☆ ✇ IT-Connect

Roidmi Eva : un prix attractif sur Indiegogo pour ce nouveau robot !

Par : Florian Burnel

Sur la lancée de la sortie de son premier modèle en 2021, le Roidmi Eve Plus, le fabricant Roidmi ne compte pas s'arrêter là puisqu'un second modèle devrait sortir en mars 2022 : le Roidmi Eva.

En ce début d'année 2022, l'actualité est riche dans le domaine des aspirateurs robots. Pour ceux qui, comme moi, ont l'habitude de suivre les nouveautés de tout ce qui touche à la maison connectée et intelligente, c'est plutôt cool. En décembre dernier, le constructeur Roidmi (étroitement lié à Xiaomi), a lancé une campagne de financement participatif pour son deuxième aspirateur robot : le Roidmi Eva.

Résultat, il y a eu plus de 100 000 dollars collectés en seulement 3 heures, et aujourd'hui, la campagne a atteint presque 500 000 euros, soit 5592% de l'objectif initial. Comment expliquer un tel engouement ? Et bien, le modèle Roidmi Eve Plus présente un très bon rapport qualité/prix, ce qui rassure les clients potentiels pour la suite. Le fait que Roidmi soit lié à Xiaomi doit aider aussi, mais il faut dire aussi que le Roidmi Eva a des arguments à faire valoir !

Sa station de charge intègre deux réservoirs : un avec de l'eau propre, et le second pour collecter l'eau usée. En fait, le robot intègre deux patins rotatifs (et antibactériens) qui vont permettre de frotter et nettoyer le sol. Ce système avec les deux réservoirs permet de nettoyer automatiquement les patins. Plusieurs fabricants commencent à adopter ce nouveau système pour nettoyer le sol, qui semble fait pour s'imposer en 2022 ! Grâce à ce système, le robot compte bien aspirer et laver votre domicile en un seul passage ! Vous pouvez voir ce système en action sur cette vidéo :

En complément, il intègre un troisième réservoir, ou plutôt un sac, qui lui servira à collecter les poussières automatiquement. Cette réserve devrait vous permettre de tenir 60 jours, mais tout dépend de l'usage, et notamment de la présence éventuelle d'animaux à la maison.

Pour faciliter la gestion et la maintenance de l'appareil, des voyants d'état sont visibles sur la façade de la station de charge. Ainsi, s'il faut vider le réservoir avec l'eau usée ou vider le sac à poussière, ce sera facilement visible !

Pour la partie applicative, Roidmi reprend le même principe que pour le modèle Eve Plus, avec la création d'une carte de votre domicile grâce au capteur laser du robot. Par exemple, cela va permettre de faire du nettoyage par zone, ou de créer des zones virtuelles à exclure du nettoyage.

Le Roidmi Eva sera commercialisé au prix de 999 dollars, mais à l'occasion de sa campagne sur Indiegogo.com, il y a deux offres proposées :

  • Une offre avec l'aspirateur robot Roidmi Eva pour 799 dollars (soit 704 euros) + la livraison gratuite
  • Une offre avec deux aspirateurs robots Roidmi Eva pour 1 348 dollars (soit 1 188 euros) + la livraison gratuite

Soit 20% de réduction sur la première offre et 33% de réduction sur la seconde offre. Pour en profiter, voici le lien vers la campagne Indiegogo : Roidmi Eva. Vous pouvez aussi le découvrir via le site officiel.

The post Roidmi Eva : un prix attractif sur Indiegogo pour ce nouveau robot ! first appeared on IT-Connect.
☐ ☆ ✇ IT-Connect

Windows 11 va permettre de gérer son compte Microsoft ou Office

Par : Florian Burnel

Au sein d'une future version de Windows 11, il sera possible de gérer directement son compte Microsoft ou Office à partir des paramètres du système d'exploitation.

Si l'on se réfère au journal des modifications de Windows 11 Build 22000.466, disponible par l'intermédiaire des canaux "Dev" et "Preview" du programme Windows Insider, on peut lire : "We added a new Your Microsoft Account page to the Accounts category in Windows Settings for Home and Professional editions."

Cela signifie que la section "Comptes" des paramètres Windows 11 va intégrer une nouvelle section nommée "Votre compte Microsoft" qui permettra de gérer son compte sans passer par un navigateur. Cette nouveauté est prévue pour les éditions Famille et Professionnel.

Les utilisateurs seront en mesure de consulter l'historique de leur compte Microsoft, notamment pour voir les achats, les récompenses, mais aussi gérer l'abonnement Office 365 s'il est rattaché à ce même compte Microsoft. Voici un aperçu proposé par le site allemand "DeskModder" :

Dans le même temps, Microsoft travaille sur l'intégration d'un nouveau gestionnaire des tâches qui devrait intégrer des fonctions supplémentaires, mais aussi, et surtout, bénéficier d'une interface Fluent Design comme Windows 11. Comme beaucoup d'autres outils et composants du système, le gestionnaire des tâches va bénéficier d'un lifting pour que Windows 11 soit plus harmonieux.

Source

The post Windows 11 va permettre de gérer son compte Microsoft ou Office first appeared on IT-Connect.
☐ ☆ ✇ IT-Connect

Par sécurité, Excel va bloquer par défaut les macros XML

Par : Florian Burnel

Pour des raisons de sécurité, Microsoft va bloquer par défaut l'exécution des macros Excel 4.0 (XML) au sein du logiciel Excel. Une opération prévue depuis plusieurs mois.

Lorsque l'on souhaite automatiser des tâches au sein d'un tableur Excel, on peut s'appuyer sur les macros. Très répandues au sein des entreprises, elles représentent aussi un danger puisqu'un document Excel peut permettre d'exécuter un logiciel malveillant sur la machine locale.

Excel supporte deux types de macros : les macros Excel 4.0 (XML) et les macros VBA. Même si les macros VBA peuvent représenter un danger, Microsoft estime qu'il faut à tout prix bloquer les macros XML et basculer sur des macros VBA. Une manière de réduire la surface d'attaque sur la machine locale.

Alors qu'un paramètre du "Centre de la gestion de la confidentialité" d'Excel permet déjà de gérer les macros, et notamment de désactiver les macros XML, cela va devenir la configuration par défaut. Dans l'idéal, le paramètre "Activer les macros Excel 4.0 lorsque les macros VBA sont activées" ne doit pas être coché. Comme ceci :

Sur son site, Microsoft explique qu'il est possible d'activer ou de désactiver les macros en configurant une stratégie à déployer sur les postes, notamment par l'intermédiaire d'une GPO.

Le déploiement est en cours au sein des différentes versions d'Excel, notamment via Microsoft 365 Apps. Actuellement, c'est le canal "Entreprise semi-annuel (preview)" qui est ciblé tandis que pour "Entreprise semi-annuel", c'est prévu pour juillet 2022.

The post Par sécurité, Excel va bloquer par défaut les macros XML first appeared on IT-Connect.
☐ ☆ ✇ IT-Connect

Windows 11 : première version beta pour Google Play Games

Par : Florian Burnel

Les travaux d'intégration des applications Android sur Windows 11 avancent bien ! Google a dévoilé une première version bêta de Google Play Games pour Windows 11 (et Windows 10) !

Si Amazon pensait avoir l'exclusivité des jeux et applications Android sur Windows 11, c'est raté ! C'était à prévoir que Google n'allait pas laisser le champ libre à la firme de Jeff Bezos. Comme pour l'accès au magasin d'applications Amazon sur Windows 11, cette première version de Google Play Games n'est pas disponible en France ! C'est dommage, mais cela devrait bien finir par arriver en France et en Europe : ce n'est qu'une question de temps.

Pour le moment, le programme d'inscription pour cette version bêta est disponible en Asie, au sein de quelques pays comme la Corée du Sud, Hong Kong et Taïwan.

Windows 11 Google Play Games

Grâce à l'installation de Google Play Games sur Windows 11, il va être possible de jouer à des jeux populaires sur mobile et tablette directement à partir de son ordinateur sous Windows. Puisque le compte Google est utilisé au sein de ces jeux, la progression sera synchronisée entre les différents appareils Windows et Android. La mauvaise nouvelle, c'est qu'il faudra installer une application supplémentaire sur son PC : ce ne fera qu'une de plus pour ceux déjà au taquet sur les différentes plateformes et jeux. 😉

Dans les prochains mois, de nouvelles régions auront accès à Google Play Games et des jeux supplémentaires seront compatibles. Google précise qu'une version stable sera disponible courant 2022.

Il est intéressant de noter que Google Play Games serait compatible avec Windows 11, mais aussi Windows 10. Visiblement, cette solution ne s'appuie pas sur WSA (Windows Subsystem for Android), ce qui permet la compatibilité avec d'autres versions de Windows. A suivre.

Source

The post Windows 11 : première version beta pour Google Play Games first appeared on IT-Connect.
☐ ☆ ✇ IT-Connect

PowerShell : comment se connecter à Microsoft Graph API ?

Par : Florian Burnel

I. Présentation

Dans ce tutoriel, nous allons voir comment utiliser le module Microsoft Graph PowerShell pour s'authentifier sur son environnement Azure AD, Microsoft 365 ou Office 365.

À partir du 30 juin 2022, Microsoft ne supportera plus l'Active Directory Authentication Library (ADAL) et l'Azure Active Directory Graph API, deux composants utilisés pour s'authentifier sur Azure Active Directory. Autrement dit, ils permettent de s'authentifier sur Azure AD et Office 365 afin de réaliser toutes les opérations d'administration une fois la connexion établie, comme la création, la suppression et la modification de comptes sur Office 365. Les applications qui s'appuient sur ADAL ne pourront plus s'authentifier du tout, tandis que de façon générale il n'y aura plus de support et donc plus de mises à jour de sécurité.

Microsoft souhaite que les entreprises s'appuient sur le SDK Microsoft Graph qui permet de s'authentifier sur les services Cloud et les tenants Office 365 via Microsoft Graph API. Cette API est développée par Microsoft depuis plusieurs années et elle permet l'administration de l'ensemble des services Cloud, de façon un peu plus moderne.

Afin de préparer l'avenir, dans ce premier article je vais vous expliquer comment établir une connexion à Azure AD ou Office 365 via le module Microsoft Graph. Nous verrons les deux méthodes de connexion, ainsi que quelques astuces pour bien débuter avec ce module que moi-même je continue de découvrir.

II. PowerShell : l'avenir des modules AzureAD et MSOnline

Allons droit au but : si vous utilisez des scripts PowerShell qui s'appuient sur les modules AzureAD pour l'Azure Active Directory et MSOnline pour la partie Office 365, il va falloir mettre à jour ces scripts pour basculer sur Microsoft Graph. C'est indispensable, si vous ne souhaitez pas que vos scripts arrêtent de fonctionner à partir du 30 juin 2022.

À terme, ces deux modules vont être remplacés par Microsoft Graph, et le nom du module c'est "Microsoft.Graph" pour être précis. Puisque ce nouveau module est déjà disponible, cela vous permet de commencer ce travail de mise à jour de vos scripts et outils.

Toutes les commandes PowerShell vont évoluer puisque ce module contient son propre jeu de commandes. Par exemple, la commande New-MsolUser qui permet de créer un nouvel utilisateur Office 365 va être remplacée la commande New-MgUser.

Avant même de parler des commandes pour interagir avec les objets (utilisateurs, groupes, etc...) de votre tenant, il faut savoir que la connexion aux services va évoluer aussi. Oubliez les deux commandes Connect-AzureAD et Connect-MsolService disponible via les deux modules AzureAD et MSOnline. La connexion à votre environnement avec le module Microsoft Graph s'appuie sur Connect-MgGraph. D'ailleurs, cette nouvelle commande fonctionne différemment, comme nous allons voir dans la suite de ce tutoriel.

Pour le moment, nous avons encore plusieurs mois devant nous pour mettre à jour nos scripts PowerShell, donc il n'est pas nécessaire de paniquer. De mon côté, je vais travailler sur l'actualisation de mes articles PowerShell qui parlent Office 365 et Azure pour vous aider également.

II. Microsoft Graph : les deux modes de connexion

Lors de l'utilisation du module Microsoft Graph et du cmdlet Connect-MgGraph pour établir une connexion à votre tenant, vous avez le choix entre deux modes de connexion :

  • Une connexion avec un accès délégué

Avec le mode "accès délégué", il faut préciser les permissions dont vous avez besoin au moment de la connexion au tenant, et c'est en se connectant avec un compte qui a les droits que vous allez pouvoir créer cette délégation et permettre l'accès aux ressources.

  • Une connexion avec un accès application

Avec le mode "accès application", il est nécessaire d'inscrire une nouvelle application dans Azure Active Directory afin de créer un point de connexion. Ensuite, il faudra accorder des autorisations à cette application pour que les scripts qui l'utilisent soient en mesure d'effectuer les actions déclarées dans votre code PowerShell. Pour se connecter via cette méthode, il faudra spécifier plusieurs informations : ID du tenant, ID de l'application et un nom de certificat ou une empreinte de certificat (qu'il faudra générer en amont).

Il faut savoir qu'au-delà du mode de connexion, il y a deux points de terminaison disponibles côté Microsoft : Microsoft Graph v1.0 et Microsoft Graph Beta. Sans surprise, le point de terminaison permet de bénéficier des dernières fonctionnalités en avant-première.

Avant d'établir la connexion à Microsoft Graph, vous pouvez choisir le point de terminaison que vous souhaitez utiliser. Par défaut, Microsoft Graph v1.0 est utilisé.

Pour basculer sur le profil bêta, il faudra exécuter cette commande :

Select-MgProfile -Name "beta"

À l'inverse, pour sélectionner de nouveau la V1.0, il faudra exécuter :

Select-MgProfile -Name "v1.0"

Pour ce tutoriel, je vais utiliser Microsoft Graph v1.0 comme point de terminaison.

Il est temps de passer à la pratique, en commençant par l'installation du module.

III. Installer le module PowerShell Microsoft Graph

Le module Microsoft Graph est disponible sur la PowerShell Gallery (voir ici) et il s'installe avec la commande "Install-Module" comme les autres modules.

Si vous souhaitez l'installer uniquement pour l'utilisateur en cours, utilisez le scope "CurrentUser" et pour l'installer au niveau de la machine précisez "AllUsers" (droits administrateur requis).

Ce qui donne :

Install-Module Microsoft.Graph -Scope CurrentUser
Install-Module Microsoft.Graph -Scope AllUsers
Install-Module Microsoft.Graph
Install-Module Microsoft.Graph

L'installation de ce module global prend généralement plusieurs minutes car il installe tous les sous-modules. Une fois que c'est fait, vous pouvez vérifier avec cette commande que le module est installé :

Get-InstalledModule Microsoft.Graph
Get-InstalledModule Microsoft.Graph
Get-InstalledModule Microsoft.Graph

Pour ma part et à titre indicatif, c'est la version 1.9.1 qui est installée (dernière en date).

IV. PowerShell : Microsoft Graph via l'accès délégué

Commençons par étudier le principe de connexion via l'accès délégué, à partir de la commande Connect-MgGraph. Je vous rappelle que cette commande sert à établir une connexion à Microsoft Graph via PowerShell.

Lors de la connexion à Microsoft Graph, il faut spécifier un ou plusieurs scopes (étendues) en fonction de ce que vous cherchez à effectuer. Afin de pouvoir utiliser les étendues sélectionnées, une délégation d'accès sera créée au moment de la connexion.

Par exemple, si l'on souhaite récupérer la liste des utilisateurs de notre tenant, on a besoin d'un accès en lecture aux utilisateurs. Cela se traduit par le nom d'étendue suivant :

User.Read.All

Dans le cas où l'on aurait besoin de créer un nouvel utilisateur, l'étendue serait différente puisqu'il faudrait des droits d'écriture. L'étendue à utiliser serait :

User.ReadWrite.All

Je vais vous donner quelques astuces par la suite pour identifier les étendues. Il faut savoir que l'on peut sélectionner plusieurs étendues, et que ce n'est pas anormal d'en sélectionner entre 5 et 10.

Continuons sur l'idée suivante : récupérer la liste des utilisateurs, à partir de l'étendue "User.Read.All". La commande Connect-MgGraph à exécuter sera :

Connect-MgGraph -Scopes "User.Read.All"

Cette commande va ouvrir un navigateur sur votre machine afin d'effectuer la connexion et d'accorder l'accès à l'application "Microsoft Graph PowerShell". Cela nécessite un accès avec des droits administrateur. Il faudra accepter la requête, comme sur l'exemple ci-dessous.

Connexion à Microsoft Graph via PowerShell
Connexion à Microsoft Graph via PowerShell

Ensuite, un message s'affiche pour indiquer que la fenêtre peut être fermée : Authentication complete. You can return to the application. Feel free to close this browser tab.

Retour dans la console PowerShell. Un message "Welcome To Microsoft Graph!" doit être visible !

Pour lister les utilisateurs, on va tout simplement utiliser cette commande :

Get-MgUser

Comme le montre l'image ci-dessous, la liste des utilisateurs est retournée. Parfait !

Get-MgUser
Exemple - Get-MgUser

Si l'on essaie de lister les groupes, on peut voir que l'on obtient un message d'erreur : Insufficient privileges to complete the operation. En bref, nous n'avons pas les droits, ce qui est normal puisque l'on a pas précisé l'étendue qui permet de lire les groupes au moment de la connexion !

Get-MgGroup
Microsoft Graph - PowerShell : exemple de privilèges insuffisants
Microsoft Graph - PowerShell : exemple de privilèges insuffisants

Dans la console PowerShell en cours, on peut exécuter une seconde fois Connect-MgGraph pour ajouter l'étendue "Group.Read.All" qui permettra de lire les informations des groupes.

Connect-MgGraph -Scopes "Group.Read.All"

Cela va venir s'ajouter à la session déjà ouverte et donc conserver l'étendue "User.Read.All". Suite à l'exécution de cette commande, il faut de nouveau approuver la connexion via le navigateur. Désormais, on peut récupérer la liste des groupes.

La prochaine fois, vous pouvez appeler directement les deux étendues :

Connect-MgGraph -Scopes "User.Read.All","Group.Read.All"

Du fait que cette méthode nécessite une interaction et une validation via le navigateur, elle n'est pas faite pour être utilisée dans des scripts. La seconde méthode que nous allons voir dès maintenant sera plus adaptée.

Juste avant cela, on va se déconnecter proprement de Microsoft Graph :

Disconnect-MgGraph

V. PowerShell : Microsoft Graph via l'accès application

Nous devons inscrire une nouvelle application au sein d'Azure Active Directory, puis ensuite lui accorder des autorisations. Cette application sera notre point d'entrée avec PowerShell.

À partir du portail Azure, dans Azure Active Directory, cliquez sur "Inscriptions d'applications" à gauche puis sur le bouton "Nouvelle inscription".

Azure AD : inscription d'une nouvelle application
Azure AD : inscription d'une nouvelle application

Donnez un nom à cette application, par exemple "Script-PowerShell-Graph". Conserver l'option "Comptes dans cet annuaire d'organisation uniquement" pour l'option "Types de comptes pris en charge" et pour l'URI de redirection, laissez vide.

Cliquez sur le bouton "S'inscrire".

L'application est inscrite. Il y a deux informations qu'il faudra récupérer par la suite, car nous en aurons besoin lors de la connexion avec PowerShell : ID d'applications (client) et ID de l'annuaire (locataire).

Désormais, nous devons accorder des autorisations à notre application.

B. Attribuer des autorisations Microsoft Graph à l'application

Toujours sur le portail Azure, au sein de notre application, cliquez sur "API autorisées" à gauche puis au centre sur "Ajouter une autorisation".

Ajouter des autorisations Microsoft Graph API à l'application
Ajouter des autorisations Microsoft Graph API à l'application

Nous souhaitons ajouter une autorisation "Microsoft Graph" et cela tombe bien c'est proposé directement.

Cliquez sur "Autorisations de l'application".

Ensuite, il faut rechercher les autorisations. Cela fonctionne sur le même principe que les étendues de la première méthode de connexion étudiée. Pour trouver l'autorisation qui permet de consulter la liste des groupes, il suffit de rechercher "group" et de cocher l'option "Group.Read.All". Pour les utilisateurs, suivez le même principe.

Cliquez sur "Ajouter des autorisations" pour ajouter toutes les autorisations sélectionnées.

Il faut que l'on accorde un consentement administration au niveau de l'organisation pour pouvoir bénéficier de ces droits dans notre application, à savoir notre script PowerShell. Cliquez sur le bouton "Accorder un consentement d'administrateur pour IT-Connect" et validez.

Tous les feux sont au vert :

Passons à la troisième étape : la gestion du certificat.

C. Générer un certificat auto-signé avec PowerShell

Nous allons créer un certificat auto-signé puis l'exporter au format CER puis PFX.

Le format PFX est intéressant pour transférer le certificat et sa clé privée sur un autre serveur : une étape indispensable si vous souhaitez vous authentifier auprès de votre application depuis plusieurs serveurs différents. Le certificat (et sa clé privée) devra être déployé sur chaque machine devant se connecter à l'application.

Grâce à la commande ci-dessous, nous allons créer un certificat auto-signé et le stocker dans le magasin de certificat personnel local. Remplacez seulement "IT-Connect" par le nom de votre organisation.

$cert = New-SelfSignedCertificate -Subject "CN=IT-Connect" -CertStoreLocation "Cert:\CurrentUser\My" -KeyExportPolicy Exportable -KeySpec Signature -KeyLength 2048 -KeyAlgorithm RSA -HashAlgorithm SHA256

Ensuite, il faut exporter ce certificat sur notre machine, car il va falloir le charger sur Azure AD. En PowerShell toujours, c'est faisable avec la commande "Export-Certificate". Pour ma part, je l'exporte dans "C:\TEMP" mais adaptez le chemin dans la commande ci-dessous.

Export-Certificate -Cert $cert -FilePath "C:\TEMP\IT-Connect.cer"
Exporter un certificat avec PowerShell
Exporter un certificat avec PowerShell

Si vous avez besoin d'utiliser ce certificat sur d'autres serveurs (ce qui sera le cas si un autre serveur doit s'authentifier sur Microsoft Graph via PowerShell), vous devez l'exporter au format PFX. Si vous n'avez pas ce besoin, vous pouvez ignorer les deux commandes qui suivent.

Commençons par créer un mot de passe pour la clé privée associée à notre certificat :

$mdp = ConvertTo-SecureString -String "MotDePasse" -Force -AsPlainText

Ensuite, on exporte au format PFX avec Export-PfxCertificate en précisant le certificat via $cert, le mot de passe via $mdp et le chemin vers le fichier de sortie au format PFX.

Export-PfxCertificate -Cert $cert -FilePath "C:\temp\IT-Connect.pfx" -Password $mdp

Une fois que c'est fait, il suffira de copier le PFX sur les autres serveurs et de l'importer. Pensez à stocker le mot de passe de la clé privée dans votre gestionnaire de mots de passe préféré...

Retournez sur l'interface Azure AD, toujours dans notre application, et cliquez sur "Certificats & secrets" sur la gauche. Ensuite, cliquez sur "Télécharger le certificat" et chargez le fichier CER. Validez et il va apparaître dans la liste des certificats comme ceci :

Copiez la valeur "Empreinte numérique" (Thumbprint), car nous allons en avoir besoin pour la suite.

D. Connexion à Microsoft Graph avec le certificat

Voilà, la configuration est prête : nous allons pouvoir nous connecter à Microsoft Graph via PowerShell. Pour cela, il nous faut trois informations :

  • L'ID d'applications (client) pour le paramètre -ClientID
  • L'ID de l'annuaire (locataire) pour le paramètre -TenantId
  • L'empreinte numérique du certificat pour le paramètre -CertificateThumbprint

Ce qui donne la commande Connect-MgGraph suivante :

Connect-MgGraph -ClientID a8615473-xxxx-yyyy-zzzz-123456789123 -TenantId 806d3d28-aaaa-bbbb-cccc-123456789123 -CertificateThumbprint A3FA9DEE117D49EC8F2A1CFF4567FABC3

Exécutez cette commande, et là, c'est magique on est directement authentifié ! Aucune action n’est nécessaire, c'est la combinaison de ces trois valeurs (et la présence du certificat sur la machine) qui permet de s'authentifier sur Microsoft Graph.

En termes de droits, on est limité à ce qui est déterminé au niveau des autorisations de l'application. Si l'on ajoute des droits à notre application via le portail Azure, il faudra se déconnecter et se reconnecter pour que ce soit pris en compte.

Disconnect-MgGraph
Connect-MgGraph -ClientID a8615473-xxxx-yyyy-zzzz-123456789123 -TenantId 806d3d28-aaaa-bbbb-cccc-123456789123 -CertificateThumbprint A3FA9DEE117D49EC8F2A1CFF4567FABC3

Il ne reste plus qu'à interagir avec notre environnement Microsoft ! Cette méthode d'authentification est idéale pour vos scripts PowerShell.

VI. Microsoft Graph : comment identifier les permissions ?

Sur le principe, Microsoft Graph est prometteur notamment sur la gestion très fine des permissions, mais cela peut rapidement devenir un casse-tête pour trouver les bonnes permissions. Je crois que chez Microsoft ils en ont conscience, car il y a un cmdlet qui permet de rechercher plus facilement des permissions : Find-MgGraphPermission.

Si l'on souhaite obtenir toutes les permissions Microsoft Graph relatives à Microsoft Teams, on pourra exécuter la requête suivante (cela ne nécessite pas d'être authentifié auprès de Microsoft Graph).

Find-MgGraphPermission teams

Vous allez voir que cette commande retourne deux sections : Delegated pour l'accès délégué et Application pour l'accès application. En fonction de ce que vous recherchez, précisez le type de permissions, car le nom peut varier :

Find-MgGraphPermission teams -PermissionType Delegated

ou

Find-MgGraphPermission teams -PermissionType Application

Grâce à la sortie de cette commande et le filtre, on peut trouver plus facilement le nom des permissions. Pour les groupes, les utilisateurs, etc... On peut rechercher.

Find-MgGraphPermission groups
Find-MgGraphPermission user

En complément, vous pouvez retrouver des informations sur cette page qui référence l'ensemble des permissions (un CTRL+F sera inévitable pour rechercher dans la page) :

Les permissions c'est une chose, mais ensuite il faut trouver la bonne commande, ou en tout cas la commande de remplacement vis-à-vis de ce que l'on connait avec les modules MSOnline et AzureAD. Pour cela, on peut s'aider de Get-Command avec un filtre sur un mot clé. Par exemple :

Get-Command -Module Microsoft.Graph* *team*

À vous de jouer ! Pour ma part, cet article d'introduction me servira de point de départ pour les prochains d'articles qui parleront de cas particuliers : création d'utilisateurs, manipulation d'équipes Teams, de boites aux lettres, etc... N'hésitez pas à partager votre retour d'expérience avec Microsoft Graph en postant un commentaire.

The post PowerShell : comment se connecter à Microsoft Graph API ? first appeared on IT-Connect.
❌