Brute Force Attack: Protecting Your Website

Last updated: October 19, 2023

Attaque par force brute est une attaque très basiques, contrairement à ce que l’on peut penser, il est devenu très facile de réaliser ce type d’attaque grâce à des outils simple à utiliser comme Fireforce, Cain & Abel and John the Ripper.

Brute force attack: how does it work?

The principle of the attack is to try several times to trouver le mot de passe d’un fichier ou d’une application en testant toutes les combinaisons de caractères possibles jusqu’à la découverte du mot de passe .

L’attaque par force brute peut être aussi assainie à l’aide d’un dictionnaire avec le même principe. Les données sont tirées dans une liste qui contient tous les valeurs possibles d’un mot de passe, c’est pour cela,  il faut toujours éviter l’utilisation des mots d’un dictionnaire dans vos mots de passe.

Pour faire fonctionner cette attaque, les hackers vont souvent utiliser un logiciel qui automatise l’essai de combinaisons de mots de passe jusqu’à ce qu’une combinaison correcte soit trouvée.

Avec l’augmentation de la puissance de calcul des ordinateurs, les attaques par force brute sont devenues plus efficaces, les hackers es peuvent effectuer des milliers de tentatives de connexion par seconde. C’est pourquoi il est important de prendre des mesures pour protéger votre site web contre ce type d’attaque.

Protéger votre site web d’une attaque par brute force

There are several methods to protect a website against brute force attacks:

Identify the attacker

The solution to identify the attacker is to mark him by giving him a cookie, or using his IP address. But unfortunately these two techniques are no longer sufficient, because the hacker can change his IP address using a proxy, or a VPN or simply by restarting the connection modem.

Bloquer l’adresse IP de l’attaquant

If you notice an IP address making an extreme number of bad connection attempts, then configure your Apache server to block that IP address.

Apache has commands to deny access to these addresses using directives ,> and , that's why you can use User agent, or the information available in the HTTP headers.

To prohibit access to an IP address you can use: deny from 20.1.2.3

Or for all IP addresses starting with 10.0: deny from 10.1

This is the most effective method to block a remote user thanks to the web server which is in charge of processing HTTP requests.

Bloquer l’attaquant avec le Cookie

Si un attaquant a entré dix tentatives, on crée un cookie qui nous permettra de le marquer lorsqu’il reviendra sur le site. Ce cookie devra le bloquer pendant X minutes. C’est une petite protection qui est simple et qui pourra vous épargner quelques situations difficiles.

The script is as follows:

<?php
if ($_COOKIE[‘compteur’] 10) {
header(« HTTP/1.0 404 Not Found » quot;);
die();
}
setcookie(‘compteur’,$_COOKIE[‘compteur’] + 1, time() + 3600) ; ?>

Certes, le script est basique mais terriblement efficace contre ce type d’attaques !

What can I say that the attack by Brute Force is more likely to fail if you react faster.

To make it harder for hackers to do their jobs, you can also add timing, an extra layer of protection.

Time delay

La temporisation est une technique complémentaire qui consiste à empêcher de tenter plus de 2 tentatives d’affilée par n secondes. Vos visiteurs ne verront aucune modification si vous prenez une marge de 2 secondes, tandis que le robot qui doit rentrer des centaines de tentatives par seconde sera retardé. Alors comme ça vous réduisez la vitesse d’attaque.

To add the time delay, there are functions sleep () et drag () from PHP

Function sleep () is expressed second and drag () in microsecond.

Here is an example:

sleep(1); // pause for a second
usleep(1000000); //pause for a second

Other methods to protect your site from brute force attacks

Voici d’autres méthodes pour protéger votre site web contre les attaques par force brute:

Limit connection attempts

You can limit the number of login attempts to an account or login form by using security plugins for your content management system (CMS) or by writing custom code.

Using a firewall

You can use a firewall to block IP addresses that make too frequent connection attempts. There are security plugins for CMS that include this functionality or cloud firewall services.

Utilisation de l’authentification à deux facteurs

L’utilisation de l’authentification à deux facteurs (2FA) rend les comptes plus difficiles à pirater car elle nécessite un deuxième facteur d’authentification, comme un code envoyé par SMS ou une application d’authentification à utiliser en plus du mot de passe.

Strengthen passwords

En utilisant des règles de complexité pour les mots de passe et en incitant vos utilisateurs à choisir des mots de passe forts et uniques, vous pouvez réduire les risques d’une attaque par force brute.

Use of captchas

L’utilisation des captchas peut aider à prévenir les attaques automatisées. Ils sont des outils utilisés pour distinguer les utilisateurs humains des programmes automatisés, comme les robots ou les scripts malveillants. En effet, les captchas peuvent être efficaces pour bloquer les attaques par force brute et la plupart des autres formes d’automatisation.

Conclusion

It is important to note that no security measure can guarantee absolute protection against brute force attacks, so it is important to continue to regularly monitor your site's login activities and update security measures regularly. square.