
(Portion d’une photo de Nathan Wright)
Technique très, très avancée – mais très, très efficace. Bien que ce devrait être le fonctionnement de base de Windows (et donc mieux géré, comme Linux ou le Mac), intégrer une identité double sous Windows requiert du travail et de nouvelles habitudes. C’est une technique utilisée en grande entreprise pour protéger les systèmes Windows depuis longtemps. |
C’est quoi le problème ?
Une très, très mauvaise évolution du modèle de sécurité de Windows.
Les réseaux ont changé
Dans une autre vie, Windows était clairement scindé en deux :
- les environnements de bureau, où les ordinateurs étaient attachés entre eux en vase clos, et où le risque était plus ou moins facile à contrôler
- les environnements résidentiels, où le type de connexion à un réseau externe était très limité, typiquement sur un lien téléphonique via modem, lien via lequel les informations transigeaient via des systèmes très limités – les Bulletin Board Systems
Bref, la menace venait plutôt de tatas qui téléchargeaient des logiciels piratés et les exécutaient directement sur leur PC.
Laisser l’utilisateur être maître chez lui et tout bousiller n’était pas si catastrophique. Windows ne se préoccupait donc pas de restreindre les droits utilisateurs.
Mais aujourd’hui, l’ancien réseau en vase close est maintenant un réseau mondial connecté en permanence, et ce même au niveau résidentiel. Les communications se passent entre des machines directement et non par l’entremise d’un système hyper-limité.
Accéder à un site web, c’est établir une communication directe entre son PC et un serveur quelque part, duquel on ne connaît absolument rien.
Sans parler du pourriel, du malware, ransomware et autres cochonneries qui se promènent sur ce fameux Internet.
La menace est directe
Un rapport indique que 80% des vulnérabilités Windows disparaissent si l’utilisateur n’a plus de droits administrateurs.
Il est pratique courante dans les environnements d’entreprise de retirer les droits universels des utilisateurs de base dans Windows :
- l’accès à la base de registre
- la capacité de créer des fichiers, des dossiers un peu partout
- la liberté d’installer des logiciels de n’importe où
Le pouvoir absolu sur son PC permet de faire tout ce qu’on veut, moyennant un écran achalant de Windows qui nous demande de lui donner des autorisations.
Ça devrait suffire, non ?
Le problème, c’est que cet écran-là, ben il se contourne. L’approche préconisée par Windows est de lancer un utilisateur avec tous les droits mais de tenter de les contrôler pour empêcher les pas fins de s’en servir pour tout bousiller.
Ce qui n’est pas sans rappeler une certaine technique de gestion du parti républicain américain qui a mal tourné récemment…
Alors, ta solution ?
Faut tout d’abord ré-activer l’utilisateur Administrateur qui est fourni avec Windows, mais désactivé. Beurk.
On utilise donc alors deux utilisateurs ; notre utilisateur régulier (qui n’a plus tous les pouvoirs) et l’utilisateur administrateur de Windows, qui lui les garde.
Bah, ça fait déjà ça !
Eh, ben, non. Rappelons-nous que la technique actuelle de Windows est de fonctionner avec les capacités administratives accessibles en permanence, ce qui permet aux pas fins de contourner les limites artificielles de Windows et de rouler du code en administrateur, afin d’installer des cochonneries en sourdine.
Ok, on fait quoi alors ?
On réactive l’utilisateur administrateur
Via powershell (version anglaise de Windows – le nom de l’utilisateur varie selon la langue):
Enable-LocalUser -Name Administrator
Set-LocalUser -Name -Password (Get-Credential) -PasswordNeverExpires $True
… faut maintenant fournir un mot de passe différent de celui de l’utilisateur principal, complexe (8 caractères ou plus, lettres, chiffres, etc) mais facile à retenir.
Ensuite, on retire son utilisateur des administrateurs :
Remove-LocalGroupMember -Name Administrators -Member {{notre_utilisateur}}
Et … voilà ! Un tas, tas, tas de vulnérabilité de sécurité de retirées de Windows, et un mode d’opération beaucoup plus près du modèle *nix qui marche depuis des lunes…
Cependant…
Ayant fortifié notre environnement Windows, y’a quelques impacts :
- Demander une élévation va exiger l’utillisateur administrateur et son mot de passe (Windows est gentil et trouve l’utilisateur admin tout seul, nous faut que fournir le mot de passe)
- Ce ne sont pas tous les logiciels qui sont écrits de manière à demander une élévation lors de leur exécution ; si vous utilisez, comme moi, Cairo Desktop en mode shell, faudra parfois lancer une copie de l’invite de commande en administrateur, en roulant :
runas /user:Administrator pwsh
ou (plus simplement, si vous avez l’outil)nircmd elevate pwsh
.
Voilà ! Je roule de cette manière sur toutes mes machines personnelles depuis quelques années, et j’y suis plus qu’habitué ; ça limite énormément la portée de virus et autres pourrigiciels potentiels, puisqu’il leur est presqu’impossible de prendre le contrôle du système à partir de mon compte utilisateur (sans, bien sûr, exploiter une faille directe du système, et puisque mes mises à jour Windows Update sont immédiates à leur sortie, je ne crois pas pouvoir faire beaucoup plus à part ne pas connecter ni d’écran, ni de réseau, ni de clavier à mon PC).