Comment installer CSF dans Ubuntu 18.04 /20.04 / 22.04

installation CSF sur Ubuntu 18.04 /20.04 / 22.04 LTS

ConfigServer Security & Firewall (CSF) est un outil de pare-feu qui permet de configurer facilement les paramètres de sécurité de votre serveur. Ce guide vous guidera dans l’installation et la configuration du pare-feu CSF sur Ubuntu.

CSF offre plusieurs fonctionnalités pour protéger votre VPS. Parmi celles-ci, citons

  • Démon d’échec d’authentification de connexion : CSF vérifie les tentatives non autorisées d’accès à votre serveur cloud et vous permet de définir l’action à entreprendre après un nombre spécifié de tentatives. Cette fonction prend en charge diverses applications et vous permet de définir vos propres fichiers de connexion.
  • Suivi des processus : CSF peut suivre les processus afin de détecter les processus suspects ou les ports réseau ouverts et d’en informer l’administrateur du système.
  • Surveillance des répertoires : CSF surveille les dossiers pertinents à la recherche de scripts malveillants et avertit l’administrateur du système lorsqu’il en détecte un.
  • Service de messagerie : L’activation de cette fonction fournit plus d’informations au client et peut éviter la frustration en cas d’échec de connexion. Cependant, elle permet également à un pirate d’attaquer plus facilement votre SDV.
  • Protection contre l’inondation des ports : Ce paramètre offre une protection contre les attaques par inondation des ports, telles que les attaques par déni de service (DoS), et vous permet de spécifier le nombre de connexions autorisées sur chaque port pendant une période de temps de votre choix.
  • Port knocking : Cette fonction permet aux clients d’établir des connexions sans qu’aucun port ne soit ouvert et n’autorise les connexions aux ports principaux qu’après une séquence réussie d’ouverture de port.
  • Protection contre les limites de connexion : Cette fonction limite le nombre de connexions actives simultanées d’une adresse IP vers chaque port et peut empêcher les abus sur le serveur.
  • Redirection port/adresse IP : CSF peut rediriger les connexions vers un IP/port vers un autre IP/port.
  • Intégration de l’interface utilisateur : CSF offre une intégration d’interface utilisateur pour cPanel et Webmin en plus de l’interface de ligne de commande.
  • Listes de blocage IP : Cette fonction permet à CSF de télécharger automatiquement des listes d’adresses IP bloquées à partir de sources que vous aurez définies.

Étape 1 : Mise à jour de votre système

Avant d’installer un nouveau logiciel, il est toujours bon de mettre à jour les paquets de votre système. Exécutez la commande suivante pour mettre à jour votre système Ubuntu :

$ sudo apt update
$ sudo apt upgrade

Étape 2 : Installer le pare-feu CSF

Une fois le système mis à jour, nous pouvons procéder à l’installation de CSF Firewall. Les étapes suivantes vous guideront tout au long du processus :

  • Téléchargez la dernière version de CSF Firewall depuis leur site officiel en utilisant la commande suivante :
$ wget https://download.configserver.com/csf.tgz

Pour télécharger la dernière version de CSF Firewall

  • Extraire le fichier téléchargé à l’aide de la commande suivante :
$ tar -xzf csf.tgz
  • Se rendre dans le répertoire extrait :
$ cd csf
  • Exécutez le script d’installation :
$ sudo sh install.sh
  • Vérifiez l’installation en exécutant la commande suivante :
$ sudo csf -v

Avec ces étapes, vous avez installé avec succès CSF Firewall sur votre système Ubuntu.

Étape 3 : Configuration de paramètres supplémentaires

CSF offre un large éventail d’options de configuration qui peuvent être utilisées pour affiner le pare-feu en fonction de vos besoins spécifiques. Voici quelques-uns des paramètres les plus couramment utilisés que vous pouvez configurer.

ICMP_IN

La valeur 1 pour ICMP_IN permet d’autoriser les requêtes ICMP entrantes, telles que ping, vers votre serveur. Si vous hébergez des services publics, il est recommandé d’autoriser les requêtes ICMP car elles peuvent être utilisées pour vérifier la disponibilité de vos services. La valeur 0 de ICMP_IN bloque toutes les requêtes ICMP entrantes.

ICMP_IN_LIMIT

ICMP_IN_LIMIT définit le nombre de requêtes ICMP entrantes autorisées à partir d’une seule adresse IP dans un laps de temps donné. La valeur par défaut de 1/s est généralement suffisante, mais vous pouvez l’ajuster si nécessaire.

DENY_IP_LIMIT

DENY_IP_LIMIT définit le nombre maximum d’adresses IP bloquées dont CSF garde la trace. Il est recommandé de limiter le nombre d’adresses IP bloquées, car un trop grand nombre de blocages peut affecter les performances du serveur.

DENY_TEMP_IP_LIMIT

DENY_TEMP_IP_LIMIT est similaire à DENY_IP_LIMIT, mais s’applique aux blocs d’adresses IP temporaires. Il est recommandé de maintenir cette valeur inférieure à DENY_IP_LIMIT.

PACKET_FILTER

PACKET_FILTER est une fonction puissante qui filtre les paquets non valides, indésirables et illégaux avant qu’ils n’atteignent votre serveur. L’activation de cette fonction peut améliorer la sécurité du serveur en réduisant le nombre d’attaques potentielles.

SYNFLOOD, SYN_FLOOD_RATE and SYN_FLOOD_BURST

Ces paramètres offrent une protection contre les attaques de type SYN flood, qui peuvent ralentir ou même bloquer votre serveur. L’activation de ces paramètres ralentira l’initialisation de chaque connexion, c’est pourquoi vous ne devez les activer que si vous savez que votre serveur fait l’objet d’une attaque.

CONNLIMIT

CONNLIMIT limite le nombre de connexions actives simultanées sur des ports spécifiques. Par exemple, la valeur :

22;5;443;20

autorise jusqu’à 5 connexions simultanées sur le port 22 et jusqu’à 20 connexions simultanées sur le port 443. Vous pouvez ajouter d’autres ports en les séparant par des virgules.

PORTFLOOD

PORTFLOOD limite le nombre de connexions par intervalle de temps pendant lequel de nouvelles connexions peuvent être établies vers des ports spécifiques. Par exemple, la valeur :

22;tcp;5;250

Bloque une adresse IP si plus de 5 connexions sont établies sur le port 22 à l’aide du protocole TCP en l’espace de 250 secondes. Le blocage est levé une fois que 250 secondes se sont écoulées après le dernier paquet envoyé par le client sur ce port. Vous pouvez ajouter d’autres ports en les séparant par des virgules, comme ceci :

port1;protocol1;connection_count1;time1,port2;protocol2;connection_count2;time2

Étape 4 : Configuration des ports

Pour renforcer la sécurité de votre SPV, il est recommandé de limiter le nombre de ports ouverts. Cependant, certains ports doivent rester ouverts pour permettre aux clients d’accéder à vos services. Par défaut, les ports suivants sont ouverts :

TCP_IN = "20,21,22,25,53,80,110,143,443,465,587,993,995"
TCP_OUT = "20,21,22,25,53,80,110,113,443"
UDP_IN = "20,21,53"
UDP_OUT = "20,21,53,113,123"

Ces ports sont utilisés par divers services tels que FTP, SSH, SMTP, DNS, HTTP, etc. Il est possible que vous n’utilisiez pas tous ces services. Il est donc recommandé de fermer les ports qui ne sont pas utilisés. Il est préférable de supprimer tous les numéros de port de la liste et de n’ajouter que ceux dont vous avez besoin.

Vous trouverez ci-dessous les jeux de ports qu’il est recommandé d’ouvrir pour des services spécifiques :

Pour tout serveur :

TCP_IN: 22,53
TCP_OUT: 22,53,80,113,443
UPD_IN: 53
UPD_OUT: 53,113,123

Apache:

TCP_IN: 80,443

An FTP server:

TCP_IN: 20,21
TCP_OUT: 20,21
UPD_IN: 20,21
UPD_OUT: 20,21

A mail server:

TCP_IN: 25,110,143,587,993,995
TCP_OUT: 25,110

Pour un serveur MySQL (si un accès à distance est nécessaire) :

TCP_IN: 3306
TCP_OUT: 3306

Étape 5 : Bloquer et autoriser des adresses IP

Le blocage et l’autorisation des adresses IP est l’une des fonctions les plus élémentaires d’un pare-feu. Pour bloquer ou autoriser des adresses IP dans le pare-feu CSF, vous pouvez éditer les fichiers de configuration csf.deny et csf.allow respectivement. En outre, vous pouvez également exclure des adresses IP des filtres du pare-feu en éditant le fichier csf.ignore.

Blocage des adresses IP

Pour bloquer une adresse ou une plage d’adresses IP, ouvrez le fichier csf.deny à l’aide d’un éditeur de texte tel que nano :

$ sudo nano /etc/csf/csf.deny

Chaque adresse IP ou plage d’adresses IP que vous souhaitez bloquer doit être ajoutée sur une nouvelle ligne du fichier. Par exemple, pour bloquer l’adresse IP 1.2.3.4 et la plage IP 2.3.0.0/16, vous devez ajouter les lignes suivantes :

1.2.3.4
2.3.0.0/16

Les plages IP sont représentées à l’aide de l’élément CIDR notation.

Autoriser les adresses IP

Pour autoriser une adresse IP ou une plage d’adresses à contourner tous les blocages et filtres, vous pouvez l’ajouter au fichier csf.allow. Veuillez noter que les adresses IP autorisées le seront même si elles sont explicitement bloquées dans le fichier csf.deny.

Pour autoriser une adresse IP ou une plage d’adresses, ouvrez le fichier csf.allow à l’aide d’un éditeur de texte :

$ sudo nano /etc/csf/csf.allow

Chaque adresse IP ou plage d’adresses IP que vous souhaitez autoriser doit être ajoutée sur une nouvelle ligne du fichier. Par exemple, pour autoriser l’adresse IP 1.2.3.4 et la plage IP 2.3.0.0/16, vous devez ajouter les lignes suivantes :

1.2.3.4
2.3.0.0/16

Ignorer les adresses IP

Vous pouvez exclure des adresses IP des filtres du pare-feu en les ajoutant au fichier csf.ignore. Les adresses IP répertoriées dans le fichier csf.ignore contournent les filtres du pare-feu et ne peuvent être bloquées que si elles sont répertoriées dans le fichier csf.deny.

Pour ignorer une adresse ou une plage d’adresses IP, ouvrez le fichier csf.ignore à l’aide d’un éditeur de texte :

$ sudo nano /etc/csf/csf.ignore

Chaque adresse IP ou plage d’adresses IP que vous souhaitez ignorer doit être ajoutée sur une nouvelle ligne du fichier. Par exemple, pour ignorer l’adresse IP 1.2.3.4 et la plage IP 2.3.0.0/16, vous devez ajouter les lignes suivantes :

1.2.3.4
2.3.0.0/16

Redémarrage du CSF

Après avoir modifié l’un des fichiers ci-dessus, vous devez redémarrer CSF pour que les modifications soient prises en compte. Vous pouvez redémarrer CSF à l’aide de la commande suivante :

$ sudo csf -r

Cette opération permet de recharger les règles du pare-feu et d’appliquer toutes les modifications apportées aux fichiers de configuration.

Mode de test

Par défaut, CSF est en mode test, ce qui signifie qu’il ne bloque aucune adresse IP de façon permanente. Une fois que vous avez vérifié que vos paramètres sont corrects, vous devez changer le paramètre TESTING à 0 :

TESTING = "0"

Configuration des tests

Une fois les modifications apportées au fichier csf.conf, vous pouvez tester la configuration en exécutant la commande suivante :

$ sudo csf --check

S’il y a des erreurs dans votre configuration, CSF les signalera et vous suggérera comment les corriger.

Redémarrage du pare-feu CSF

Une fois les modifications apportées à la configuration, vous pouvez redémarrer le pare-feu CSF en exécutant la commande suivante :

$ sudo csf -r

Conclusion

Dans ce guide, nous avons passé en revue l’installation et la configuration du pare-feu CSF sur Ubuntu. En configurant le pare-feu CSF, vous pouvez sécuriser votre système Ubuntu et vous assurer que seul le trafic autorisé est autorisé à passer.

Laisser un commentaire