PROJET AUTOBLOG


IT-Connect

Site original : IT-Connect

⇐ retour index

Installer WSL 2 sur Windows 10

mardi 4 août 2020 à 09:30

I. Présentation

Linux est disponible sur Windows 10 depuis plusieurs années par l'intermédiaire de la fonctionnalité Windows for Linux Subsystem qui permet d'utiliser un shell Unix sur un environnement Microsoft sans créer une VM. Suite à la sortie de Windows 10 "2004", Microsoft a introduit une nouvelle version de WSL et l'on parle désormais de WSL 2, tout simplement.

Dans ce tutoriel, je vais vous expliquer comment installer WSL 2 sur Windows 10 et comment déployer sa première distribution Linux, par exemple Debian, Ubuntu ou Kali Linux.

Il est à noter que WSL 2 s'appuie sur de la virtualisation ce qui rend plus compliqué son utilisation au sein d'une machine virtuelle VirtualBox ou VMware, par exemple. Il faudrait avoir recours à de la nested virtualization mais pour le moment cela ne semble pas possible. Par contre, cela est intéressant car nous avons accès à un véritable noyau Linux complet.

Cette page officielle compare WSL 1 et WSL 2 : Compare Versions WSL

II. Prérequis et activation WSL

Vous devez exécuter à minima Windows 10 version 2004 (build 19041 ou ultérieure). Pour le vérifier, vous pouvez exécuter la commande "winver" dans la barre de recherche Windows 10 et appuyer sur "Entrée". Une fenêtre va s'ouvrir.

Ensuite, nous allons devoir activer deux fonctionnalités :

La Virtual Machine Platform doit être activée pour WSL 2, pour WSL 1 ce n'était pas utile puisque le système ne s'appuyait pas sur de la virtualisation. Il est à noter que si le rôle Hyper-V ou Windows Sandbox est déjà opérationnel sur votre PC, il n'est pas nécessaire d'installer ce composant (il l'est déjà).

Pour activer Virtual Machine Platform :

Enable-WindowsOptionalFeature -Online -FeatureName VirtualMachinePlatform

Pour activer Windows Subsystem for Linux :

Enable-WindowsOptionalFeature -Online -FeatureName Microsoft-Windows-Subsystem-Linux

Il est à noter que sur Windows Server, l'activation de WSL passe par cette commande : Install-WindowsFeature -Name Microsoft-Windows-Subsystem-Linux.

Suite à l'exécution de ces deux commandes s'effectue sans problème, redémarrez le PC.

Dès lors que le PC est redémarré, vous pouvez passer à la suite...

III. Définir WSL 2 par défaut

WSL 2 est comme une surcouche de WSL 1 sur lequel il s'appuie, ce qui laisse la possibilité d'utiliser soit WSL 1 ou WSL 2. Pour définir WSL 2 par défaut sur votre machine, il va falloir exécuter cette commande :

wsl.exe --set-default-version 2

Si vous avez le message "WSL 2 nécessite une mise à jour de son composant noyau" qui s'affiche, il est nécessaire de télécharger le paquet de mise à jour du kernel Linux et de l'installer sur votre PC (voir ci-dessous). Une fois que c'est fait, ré-exécutez la commande ci-dessus.

Le téléchargement de la mise à jour du kernel s'effectue sur cette page : WSL 2 Kernel - L'installation s'effectue en quelques clics....

IV. Télécharger une distribution Linux

Pour télécharger et déployer une distribution Linux sur sa machine Windows 10, il y a deux possibilités :

La page suivante recense les distributions disponibles et donne accès au téléchargement des packages APPX associés : Linux - APPX

Pour le téléchargement, soit vous passez par votre navigateur, soit directement en PowerShell via une commande de ce type (URL à adapter en fonction de la distribution que vous souhaitez récupérer) :

Invoke-WebRequest -Uri https://aka.ms/wsl-debian-gnulinux -OutFile Debian.appx -UseBasicParsing

Lorsque vous avez obtenu le package APPX, il faudra le déployer sur votre PC. Pour cela, nous allons utiliser le cmdlet Add-AppPackage suivi du nom du fichier .appx. Exemple :

Add-AppPackage Debian.appx

Il suffit de patienter pendant l'installation...

Lorsque l'installation est terminée, la distribution Linux doit être accessible dans le menu Démarrer de votre PC Windows 10 :

Sinon, pour réaliser une installation à partir du Microsoft Store, si vous recherchez "Linux", vous allez pouvoir afficher la liste des distributions Linux disponibles pour Windows 10.

Il ne reste plus qu'à rechercher l'application dans le menu Démarrer de Windows 10 et à réaliser le premier démarrage de votre environnement Unix basé sur WSL 2 👍

Je prévois de publier d'autres articles sur l'utilisation de cet environnement Unix sous Windows 10.

La documentation officielle Microsoft recense quelques codes d'erreurs, si vous avez besoin : WSL 2 Microsoft

Bureau à distance : modifier le port d’écoute RDP

lundi 3 août 2020 à 09:30

I. Présentation

Le protocole RDP est utilisé par le service "Bureau à distance" de Windows pour se connecter à distance sur un poste. Par défaut, le port RDP est 3389. Pour des raisons de sécurité, il est recommandé de personnaliser ce port d'écoute afin de ne pas exposer le service RDP.

Dans ce tutoriel, je vais vous expliquer comment modifier le port d'écoute du RDP pour utiliser un autre port que 3389. Ce tutoriel s'applique à Windows 10, mais aussi aux versions précédentes, ainsi qu'à Windows Server (Windows Server 2012 R2, Windows Server 2016, Windows Server 2019, etc.).

Prérequis : activer l'accès Bureau à distance sur sa machine ou son serveur.

Dans cet exemple, je vais utiliser le port d'écoute 13389 au lieu de 3389. Je vous recommande d'utiliser un numéro de port supérieur à 10 000.

Ce tutoriel est disponible au format vidéo :

II. Créer la règle de pare-feu RDP

Nous devons créer une règle dans le pare-feu Windows pour autoriser les flux sur le port TCP/13389. Pour gagner du temps, je vous propose de le faire en PowerShell grâce au cmdlet "New-NetFirewallRule".

La règle ci-dessous s'applique seulement sur le profil domaine (ce que je recommande), et pour préciser le port personnalisé on doit utiliser le paramètre -LocalPort. Par ailleurs, cette règle se nommera "Autoriser le RDP sur un port personnalisé".

New-NetFirewallRule –Name "RDP-13389" -DisplayName "Autoriser le RDP sur un port personnalisé" -Profile Domain -Enabled True -Protocol TCP -LocalPort 13389 -Action Allow

Via le panneau de configuration de Windows, si vous accédez aux paramètres avancés du pare-feu, vous pourrez visualiser la règle que l'on vient de créer, et l'éditer à tout moment si cela est nécessaire.

La règle de pare-feu étant créée, nous pouvons passer à la suite...

III. Modifier le port d'écoute RDP

Maintenant, nous allons modifier le port d'écoute du RDP en éditant le registre de la machine. Via l'invite "Exécuter", vous pouvez exécuter "regedit" pour accéder à l'éditeur de registre.

Naviguez ensuite dans l'arborescence du registre de cette façon :

HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\Terminal Server\WinStations\RDP-Tcp\

Il s'agit d'un paramètre au niveau de la machine d'où la recherche dans la ruche HKEY_LOCAL_MACHINE.

Dans la clé "RDP-Tcp", vous devez avoir une valeur nommée "PortNumber" : c'est elle qu'il faut modifier pour utiliser un autre port. Double-cliquez dessus.

Basculez la valeur en décimale pour que ce soit lisible et facile à modifier. Vous verrez le numéro "3389" s'afficher dans le champ valeur : modifiez ce numéro pour mettre celui que vous souhaitez utiliser.

Validez et fermez l'éditeur de registre.

IV. Redémarrer le service RDP

Pour finir et dans le but que le système prenne en compte ce changement au niveau du port d'écoute, il est nécessaire de redémarrer le service "Services Bureau à distance" de Windows. Je vous invite à le faire en PowerShell, tout simplement grâce à cette commande :

Restart-Service "TermService" -Force

Il ne reste plus qu'à tester.

V. Tester l'accès RDP sur un port personnalisé

Depuis un hôte distant, ouvrez votre gestionnaire de connexion RDP ou tout simplement l'utilitaire "Connexion Bureau à distance" natif de Windows (mstsc), et essayez de vous connecter... Pour cela, il est nécessaire de préciser l'adresse IP ou le nom de l'hôte suivi de ":13389".

Puisque nous utilisons un port spécifique, il est indispensable de le préciser.

La connexion doit se monter et le serveur vous demander vos identifiants de connexion... Si ce n'est pas le cas, vérifiez que le Bureau à distance est bien actif sur l'hôte et que le pare-feu est bien configuré.

Windows 10 : modifier l’emplacement par défaut des apps

vendredi 31 juillet 2020 à 08:30

I. Présentation

Sous Windows 10, lorsqu'une application est installée à partir du Microsoft Store, elle s'installe directement sur le disque système sans demander à l'utilisateur où il souhaite l'installer. Cela est contraire aux logiciels avec un installeur classique où généralement on laisse le contrôle à l'utilisateur, ce qui permet d'installer des logiciels sur un disque différent du disque système.

Dans ce tutoriel, je vais vous expliquer comment déplacer une application Microsoft Store déjà installée sur votre système vers un autre disque, et aussi comment modifier l'emplacement par défaut des applications du Microsoft Store.

II. Modifier emplacement par défaut apps Microsoft Store

Sur votre PC Windows 10, ouvrez le menu Démarrer et accédez aux Paramètres. Ensuite, cliquez sur "Système".

À gauche, cliquez sur "Stockage" et sur la page qui s'ouvre, descendez, afin de trouver "Modifier l'emplacement d'enregistrement du nouveau contenu".

Dans cette partie de la configuration, on peut définir le nouvel emplacement pour les photos, les films, etc... Et les applications : une bonne nouvelle. Par défaut, "Local Disk C:" est sélectionné, vous pouvez modifier et sélectionner un autre lecteur. Cela va créer un dossier WindowsApps sur ce nouveau volume pour stocker les futures applications.

Le tour est joué concernant les futures applications installées sur votre système. Maintenant, voyons comment faire pour les applications déjà installées.

III. Déplacer une application déjà installée sous Windows 10

Prenons le cas de l'application Netflix, disponible sur le Microsoft Store, au même titre que des milliers d'autres. Voyons comment déplacer l'application Netflix sur une autre partition, notamment parce que la mise en cache des téléchargements peut s'avérer gourmande.

Toujours dans le panneau des paramètres, cette fois-ci, accédez au menu "Applications".

Dans la liste des applications, recherchez "Netflix" (ou une autre application) et cliquez sur le bouton "Déplacer" propre aux applications du Microsoft Store.

Un autre menu va s'afficher, sélectionner le lecteur vers lequel déplacer cette application et cliquez sur le bouton "Déplacer" pour valider l'opération.

Voilà, vous êtes désormais capable de gérer le stockage pour les applications modernes déjà installées et pour les applications qui seront installées par la suite 🙂

BootHole : une vulnérabilité qui touche Linux et Windows

jeudi 30 juillet 2020 à 17:26

Les systèmes Linux et Windows sont affectés par une attaque commune. Cela s'explique par le fait que cette attaque cible directement le GRUB2 et qu'elle affecte aussi le Secure Boot.

Cette vulnérabilité baptisée BootHole (CVE-2020-10713) permet aux hackers d'altérer directement le processus de démarrage qui précède le boot de l'OS. Nous parlerons alors de bootkit.

Ce sont des chercheurs en sécurité d'Eclypsium qui ont découvert cette vulnérabilité au sein du fichier grub.cfg et celle-ci permettrait à l'attaquant d'injecter du code malveillant pendant le processus de démarrage : de quoi cibler le système d'exploitation qui va démarrer.

Le schéma ci-dessous explique de façon synthétique le fonctionnement de l'attaque BootHole. Le fichier grub.cfg va être utilisé pour exécuter des commandes malveillantes au sein de GRUB2 lorsque celui-ci va charger le fichier de configuration.

D'après les chercheurs en sécurité, l'exécution du malware pourrait permettre de remplacer complètement le bootloader pour utiliser une version malveillante.

Au début de l'article, je mentionnais également le Secure Boot car cette attaque fonctionne aussi lorsque cette fonctionnalité est activée puisqu'elle va permettre de contourner cette protection. Pour rappel, le Secure Boot sert à sécuriser le démarrage du système en vérifiant que les composants de firmware chargés sont bien signés.

Pour réaliser cette attaque, il est nécessaire d'avoir un accès administrateur sur la machine afin de modifier le fichier grub.cfg. Cette barrière n'est pas incontournable puisque le système et ses composants systèmes, notamment lorsqu'ils ne sont pas patchés, contiennent de nombreuses failles permettant l'élévation de privilèges.

D'après les experts en sécurité, plus de 80 shims sont affectés par cette vulnérabilité. Le shim est un composant qui intègre un certificat et qui va être utilisé pour vérifier le bootloader GRUB2 : s'il est affecté par la faille BootHole, alors le GRUB2 de la machine peut être altéré. D'ailleurs, quand je parle de machine, il faut savoir que cette faille touche aussi bien les postes de travail que les serveurs.

Désormais, Eclypsium attend à une réaction de la part des éditeurs afin d'obtenir des correctifs de sécurité, notamment du côté de chez Microsoft, Debian, VMware, Oracle, Citrix, HP ou encore Red Hat.

Cette faille est critique puisqu'elle a reçu un score CVSS de 8.2, ce qui signifie qu'elle permet d'obtenir un accès quasi total sur la machine ciblée. Cette faille touche aussi bien Linux que Windows puisque sur une machine, le bootloader GRUB2 peut-être utilisé pour charger ces deux systèmes, notamment dans le cadre d'un dual-boot. Autrement dit, des millions de systèmes sont concernés par cette vulnérabilité.

📌 Lire le rapport complet d'Eclypsium

Voici le top 20 des langages de programmation

jeudi 30 juillet 2020 à 11:39

Plusieurs fois par an, la société RedMonk réalise un classement des langages de programmation les plus populaires. Un nouveau classement est sorti récemment, faisons le point sur ce classement ainsi que ceux de l'IEEE Spectrum et Tiobe.

Le langage Python est désormais le deuxième langage le plus populaire, ce qui n'est pas anodin ! En effet, depuis 2012, le langage Java occupait soit la première, soit la deuxième place. Une tendance qui se confirme puisque lors du précédent classement publié en mars 2020, Java et Python étaient déjà au coude à coude pour la deuxième place, alors que JavaScript était déjà en tête de ce classement.

Les classements de popularité publiés par RedMonk s'appuient sur les données de StackOverFlow et de GitHub. Par ailleurs, le dernier classement de popularité publié par l'IEEE Spectrum donne un résultat différent. Le langage Python est positionné en première position, ce qui confirme sa popularité auprès des développeurs, et derrière nous avons dans l'ordre : Java - C - C++ - Java. Un troisième classement est à prendre en compte, c'est celui de Tiobe publié ce mois-ci. Celui de Tiobe place C en tête, suivi par Java, Python, C++ et C#.

Avec ces trois classements, nous avons une idée des langages les plus populaires, et pour le reste, avons-nous des progressions intéressantes ? La réponse est "Oui" ! En effet, deux langages montrent une belle progression : Rust et Kotlin alors que TypeScript continue d'être à la mode.

- Rust :

Ce langage de programmation créé par Mozilla il y a 5 ans, a franchi une nouvelle étape. Pourquoi ? Parce que pour la première fois il se positionne à la 20ème position du classement de RedMonk et entre donc dans le top 20. Au niveau du classement de Tiobe, il est positionné à la 18ème place. En 5 ans, Rust est passé de la 48ème place à la 20ème.

Rust est notamment utilisé par les géants d'Internet tels qu'Amazon, Dropbox, Google, Facebook ou encore Microsoft pour la création de leurs plateformes. Microsoft l'utilise pour ses fonctions liées à la sécurité de la mémoire.

- Kotlin :

Kotlin est un langage de programmation Open Source supporté par Google pour les applications Android. Il a réalisé une très belle progression également sur les cinq dernières années puisqu'il est passé de la 68ème position à la 19ème chez RedMonk.

- TypeScript

Développé par Microsoft, le langage TypeScript montre une belle stabilité puisqu'il a conservé sa 9ème place dans le classement. Certains experts estiment que TypeScript pourrait avoir le potentiel pour se hisser dans le top 5 car il s'agit d'un langage en plein essor.

Le langage TypeScript agit comme une surcouche de JavaScript puisqu'il a pour objectif d'améliorer et de sécuriser du code JavaScript.

- PowerShell

Le graphique ci-dessous montre le classement de RedMonk entre 2012 et 2020, avec les changements de position année par année. Il montre notamment que PowerShell est à la 17ème position depuis 2018. Il a fait son entrée dans le classement en 2017, à la 18ème position.

Il est à noter que PowerShell n'est pas dans le top 20 chez Tiobe et l'IEEE Spectrum.

- Classement RedMonk - Juin 2020

1. JavaScript
2. Python
3. Java
4. PHP
5. C++
5. C#
7. Ruby
7. CSS
9. TypeScript
10. C
11. Swift
11. Objective-C
13. R
14. Scala
15. Go
15. Shell
17. PowerShell
18. Perl
19. Kotlin
20. Rust

📌 Voir le classement de Tiobe

📌 Voir le classement de l'IEEE Spectrum