PROJET AUTOBLOG


IT-Connect

Site original : IT-Connect

⇐ retour index

Comment bloquer les attaques Brute Force RDP avec EvlWatcher ?

mardi 28 septembre 2021 à 11:30

I. Présentation

Dans ce tutoriel, nous allons voir comment bloquer les attaques Brute Force sur le service RDP (Bureau à distance) d'une machine Windows avec l'outil gratuit EvlWatcher.

Les attaques par brute force sont très courantes sur les services populaires comme le RDP ou le SSH. C'est d'autant plus vrai si vous décidez d'exposer sur Internet le service RDP d'un serveur. Bien souvent, lorsque l'on se connecte sur un serveur Windows pour l'administrer, on le fait à partir du client "Bureau à distance" et du protocole RDP. Donc, cela représente une porte d'entrée potentielle pour les pirates.

Si l'attaque est effectuée sur un compte utilisateur existant au sein de l'Active Directory, il y a des chances pour que le compte soit verrouillé au bout d'un certain nombre de tentatives. Encore que, ça dépend de votre politique à ce sujet.

Pour protéger son serveur Windows contre les attaques de type "Brute Force" sur le service RDP, il y a plusieurs pistes à explorer :

La question que l'on peut se poser, c'est "pourquoi EvlWatcher et pas un autre outil ?". Pour faire simple, il est gratuit, son code source est disponible sur GitHub, il s'installe très rapidement et il fonctionne suffisamment bien pour que je vous en parle !

EvlWatcher va permettre de détecter les attaques par Brute Force sur votre machine Windows en analysant les journaux d'événements de Windows et en bloquant les adresses IP malveillantes à l'aide du pare-feu de Windows. C'est en quelque sorte un fail2ban pour Windows qui surveille le service RDP.

J'aurais pu également vous proposer ma propre solution basée sur PowerShell puisque l'on peut lire les logs avec Get-EventLog et que l'on peut agir sur le pare-feu avec Set-NetFirewallRule. Mais, pour le moment, elle n'existe pas et je suis tombé sur EvlWatcher.

II. Prise en main d'EvlWatcher

Commençons par télécharger EvlWatcher sur GitHub, tout en sachant qu'il est mis à jour de temps en temps. Ce qui est rassurant.

Vous obtiendrez un exécutable très léger : procédez à l'installation, deux trois clics suffisent. Il faut savoir que par défaut l'outil s'installe dans "C:\Program Files (x86)\EvlWatcher" et qu'il crée un service nommé "EvlWatcher service" sur la machine.

Dans le menu Démarrer, vous allez trouver un raccourci nommé "EvlWatcherConsole" qui donne accès à l'interface de gestion du logiciel. Voici à quoi elle ressemble :

Aperçu de la console d'EvlWatcher
Aperçu de la console d'EvlWatcher

L'onglet "Currently banned" se découpe en trois parties :

Il est possible d'ajouter ou supprimer des adresses IP manuellement dans chaque section. C'est simple, mais efficace pour visualiser rapidement l'état des bannissements sur son serveur.

Au sein des règles de trafic entrant du pare-feu Windows, vous allez retrouver une règle nommée "EvlWatcher" qui est utilisée par le logiciel pour bloquer l'accès (sur tous les ports) aux adresses IP bannies.

La règle de pare-feu d'EvlWatcher
La règle de pare-feu d'EvlWatcher

L'onglet "Live" permet de suivre en live l'activité du logiciel. Lorsqu'une adresse IP est bannie, de nouveaux messages vont s'afficher :

Temporarily banning 192.168.100.12, this is strike 2
Banned 192.168.100.12

Cela signifie que l'adresse IP "192.168.100.12" a été bannie de façon temporaire pour la deuxième fois. Au bout de trois fois (selon la configuration par défaut), elle sera bannie définitivement.

L'onglet "Global Settings" donne accès à quelques paramètres pour gérer les logs : niveau de log, nombre d'entrées dans le journal "Live" ainsi que l'intervalle d'actualisation des logs.

Enfin, l'onglet "Rule Tester" permet de tester une règle de détection. Vous choisissez une règle, vous collez le contenu du log à analyser au format XML (récupéré à partir de l'observateur d'événements) et vous pouvez tester si EvlWatcher détecte bien l'adresse IP.

C'est surtout utile si vous cherchez à ajouter au logiciel de nouvelles capacités de détection, car par défaut, pour le RDP, il s'appuie déjà sur 3 types d'événements différents (divers ID).

Voyons ce que donne EvlWatcher dans la pratique.

III. Tester l'efficacité d'EvlWatcher

Le logiciel est installé sur ma machine et il est actif. Pour vérifier qu'il fonctionne bien, je vais simuler une attaque sur mon serveur protégé par EvlWatcher.

Pour cela, il me suffit d'ouvrir le client Bureau à distance et d'essayer de me connecter en RDP sur mon serveur en utilisant de mauvais identifiants.

Comme c'est la troisième fois que j'effectue une attaque à partir de ce serveur (IP = 192.168.100.12), je suis banni définitivement ! En temps normal, lors de la première attaque, l'hôte est banni temporairement. Par défaut, la durée du bannissement est de 3600 secondes, c'est-à-dire 1 heure.

Pour qu'une adresse IP soit considérée comme bannie, il faut effectuer 5 tentatives de connexion en échec dans un délai de 3 minutes. Cela est modifiable, comme nous allons le voir dans la prochaine partie de ce tutoriel.

IV. Configurer EvlWatcher

Le logiciel EvlWatcher est préconfiguré, mais on peut personnaliser la configuration grâce au fichier XML suivant :

C:\Program Files (x86)\EvlWatcher\config.xml

À l'intérieur, nous retrouvons plusieurs sections où chaque section correspond à une règle de détection. Par exemple, nous avons la section "<Task Name="BlockRDPBrutersBySecurity4625" Active="true">" et chaque section contient sa propre configuration pour définir la durée du bannissement, etc.

Note : à l'heure actuelle, EvlWatcher est fourni avec 3 règles de détection pour le RDP et une règle pour le SSH.

Concrètement, il y a les paramètres suivants :

<LockTime>
3600
</LockTime>
<EventAge>
120
</EventAge>
<TriggerCount>
5
</TriggerCount>
<PermaBanCount>
3
</PermaBanCount>

Après modification du fichier de configuration, redémarrez le service d'EvlWatcher. Voici la commande PowerShell :

Restart-Service EvlWatcher

L'outil EvlWatcher est en place et en plus vous savez comment le configurer ! Votre serveur est désormais capable de gérer les attaques par Brute Force RDP. Même s'il y a surement mieux, il présente l'avantage d'être léger, fonctionnel et gratuit.

Il n'est pas possible de mutualiser la base des adresses IP bannies entre plusieurs machines, et il n'est pas non plus possible de recevoir une alerte par e-mail lorsqu'une nouvelle adresse IP est bannie. Lorsque CrowdSec sera compatible Windows, il y a des chances qu'il apporte une réponse encore plus pertinente à cette problématique.

The post Comment bloquer les attaques Brute Force RDP avec EvlWatcher ? first appeared on IT-Connect.