ConfigServer Firewall (CSF) est un pare-feu pour les serveurs Linux et les systèmes BSD permettant de contrôler le trafic entrant et sortant. Avant d'entrer dans des détails spécifiques sur CSF, comprenons ce qu'est un pare-feu et comment il fonctionne.
Un pare-feu agit comme un bouclier qui protège le système contre une attaque extérieure. Certains d'entre eux sont des pare-feu avec état, des passerelles au niveau du circuit, des pare-feu de filtrage UDP/ICMP ou des filtres de couche d'application.
Le pare-feu est livré avec un ensemble de règles pour filtrer le trafic entrant et sortant. Et selon le type de pare-feu que vous utilisez, il décide si une adresse IP est autorisée à accéder au réseau ou non. La liste des règles est définie pour un système particulier et le pare-feu filtre le trafic conformément aux règles.
ConfigServer Firewall (CSF) est l'un des pare-feu open source les plus utilisés sur les serveurs Linux. CSF est livré avec une liste de fonctionnalités qui peuvent être utilisées pour configurer les règles. Il est donc très puissant et facile à utiliser en même temps.
Prérequis
Pour installer et configurer CSF sur Debian 11, vous devez avoir :
- Un serveur exécutant Debian 11 et votre système doivent être connectés à Internet.
- Accès root au serveur.
Mise à jour de votre système
Avant d'installer ConfigServer Firewall, vous devez mettre à jour votre système. Exécutez la commande ci-dessous pour mettre à jour votre système.
sudo apt update
Une fois la mise à jour terminée, exécutez les commandes suivantes pour installer les dépendances requises.
sudo apt install libio-socket-inet6-perl libsocket6-perl -y
sudo apt install sendmail dnsutils unzip libio-socket-ssl-perl -y
sudo apt install libcrypt-ssleay-perl git perl iptables libnet-libidn-perl -y
Si une version précédente de CSF est installée sur votre système, exécutez d'abord la commande suivante pour la désinstaller. Comme Debian 11 utilise une nouvelle version de Perl, l'installation de CSF peut provoquer des conflits avec l'installation existante de CSF.
cd /etc/csf && sh uninstall.sh
Si vous utilisez un autre script de configuration de pare-feu comme UFW, vous devez les désactiver avant de continuer.
sudo ufw disable
Installation du pare-feu CSF sur Debian 11
Maintenant que vous avez installé tous les prérequis nécessaires, téléchargeons et installons le pare-feu CSF.
Le référentiel Debian 11 ne contient pas de packages CSF. Par conséquent, vous devez télécharger la dernière version du pare-feu ConfigServer à partir de leur site officiel.
Pour ce faire, lancez la commande suivante.
wget http://download.configserver.com/csf.tgz
Exécutez maintenant la commande ci-dessous pour extraire le fichier téléchargé.
sudo tar -xvzf csf.tgz
Une fois que vous avez extrait le fichier, installez CSF en utilisant la commande suivante.
cd csf && sh install.sh
Une fois l'installation terminée, le pare-feu devrait maintenant être installé. Pour démarrer le pare-feu CSF, exécutez la commande suivante.
sudo systemctl start csf
Exécutez la commande ci-dessous pour vous assurer que tout va bien.
perl /usr/local/csf/bin/csftest.pl
Vous obtiendrez une sortie comme indiqué ci-dessous. Cette sortie confirme que CSF est opérationnel.
Pour permettre au pare-feu CSF de démarrer au démarrage, exécutez la commande suivante.
sudo systemctl enable csf
Vous pouvez vérifier l'état de CSF en utilisant la commande ci-dessous.
sudo systemctl status csf
Cette sortie confirme que CSF est opérationnel. Configurons maintenant ce pare-feu.
Exemple de résultat :
Configuration du pare-feu CSF sur Debian 11
Une fois que vous avez installé le pare-feu CSF, les règles par défaut sont actives et sont fournies avec un fichier de configuration /etc/csf/csf.conf
Vous devriez examiner ce fichier de configuration pour vous assurer qu'il est configuré selon vos besoins. Dans ce fichier, vous pouvez voir toutes les règles par défaut qui sont actives du point de vue de votre système. Examinons de plus près certains d'entre eux.
sudo nano /etc/csf/csf.conf
Moins il y a de ports ouverts, plus le système est sécurisé. Mais vous devriez toujours avoir des ports communs ouverts. Vous pouvez voir tous les ports ouverts par défaut dans le fichier csf.conf comme indiqué ci-dessous.
Comme vous pouvez le voir dans le fichier de configuration, si vous souhaitez autoriser/bloquer un port, vous devez respectivement ajouter/supprimer le numéro de port dans la liste.
Par exemple, si vous souhaitez bloquer le port 80, supprimez-le de la liste, comme indiqué ci-dessous.
Si vous utilisez IPv6, vous devez également le mettre à jour dans le fichier de configuration, car la plupart des attaques actuelles se font via le protocole IPv6. Vous devez configurer TCP6_IN, TCP6_OUT de la même manière que nous avons configuré pour les ports IPv4 ci-dessus.
Exemple de résultat :
Configurons maintenant les paramètres CONNLIMIT. CONNLIMIT est une fonctionnalité de sécurité dans CSF qui vous permet de limiter le nombre de connexions simultanées qu'une connexion à distance peut avoir sur un port spécifique. Cela aide à atténuer le risque d'attaques DoS/DDoS.
Par exemple, si vous souhaitez limiter une adresse IP à 3 connexions simultanées au maximum, vous devez la mettre à jour comme indiqué ci-dessous. Ce paramètre n'autoriserait que 3 connexions simultanées sur le port 22 et 3 connexions simultanées sur le port 443.
Ensuite, configurons les paramètres PORTFLOOD. Cette option nous permet de configurer le nombre maximum de demandes de connexion autorisées sur un port dans un certain laps de temps.
Par exemple, si vous souhaitez bloquer une adresse IP si plus de 3 connexions sont établies sur le port 443 à l'aide du protocole TCP dans les 60 secondes, vous devez la mettre à jour comme indiqué ci-dessous. Le blocage sera automatiquement supprimé une fois le délai de 60 secondes écoulé depuis la dernière connexion.
La fonctionnalité la plus basique de tout pare-feu est de bloquer et d'autoriser les adresses IP. Vous pouvez ajouter l'adresse IP que vous souhaitez bloquer en les ajoutant manuellement dans le fichier csf.deny ou vous pouvez ajouter une plage entière d'adresses IP dans le fichier csf.deny.
Par exemple, vous pouvez bloquer toute la plage IP 192.168.1.0/24.
Ou
Vous pouvez bloquer une adresse IP unique de 192.168.2.0 en l'ajoutant dans le fichier csf.deny comme indiqué ci-dessous.
Ouvrez le fichier csf.deny avec la commande suivante.
sudo nano /etc/csf/csf.deny
Ajoutez les lignes suivantes au bas du fichier. Une ligne à la fois.
192.168.2.0
192.168.1.0/24
Exemple de résultat :
Une fois que vous avez terminé, enregistrez et fermez le fichier en appuyant sur CTRL+X ,O , et Entrée .
Contrairement au fichier csf.deny, le fichier csf.allow est utilisé pour exclure une adresse IP ou une plage d'adresses IP de tous les filtres. Notez que même si vous avez déjà ajouté une adresse IP au fichier csf.deny, l'adresse IP bloquée est toujours autorisée à accéder à votre serveur en l'ajoutant dans le fichier csf.allow.
sudo nano /etc/csf/csf.allow
CSF propose une grande variété d'options pour configurer votre propre pare-feu, ce qui dépasse le cadre de ce didacticiel. Vous pouvez consulter la documentation de ConfigServer sur les paramètres et leur fonctionnement.
Une fois que vous avez terminé de mettre à jour tous les paramètres requis, enregistrez et fermez le fichier csf.conf en appuyant sur CTRL+X ,O , et Entrée .
CSF offre également une fonctionnalité permettant d'ignorer une adresse IP de n'importe quel filtre. Contrairement à l'autorisation d'une adresse IP dans le fichier csf.allow, vous ne pouvez pas ignorer une adresse IP si elle figurait dans le fichier csf.deny.
sudo nano /etc/csf/csf.ignore
Maintenant que vous avez configuré tous les paramètres dans le fichier csf.conf, il est temps de mettre à jour l'ensemble de règles pour appliquer les modifications.
Pour ce faire, exécutez la commande suivante.
sudo csf -r
Une fois l'exécution de la commande ci-dessus terminée, vous pourrez voir un message comme indiqué dans la capture d'écran suivante. Si aucun message d'erreur ne s'affiche, félicitations ! La configuration du pare-feu de votre serveur est maintenant mise à jour et prête à être utilisée.
Conclusion
Dans ce tutoriel, vous avez appris à installer ConfigServer Security &Firewall (CSF) sur un serveur Debian 11. Vous avez également appris à créer des règles de pare-feu, en ajoutant des adresses IP aux listes autorisées et bloquées à l'aide des fichiers de configuration CSF.
Si vous rencontrez un problème, vous pouvez toujours consulter la documentation du pare-feu ConfigServer pour plus d'informations.