Config Server Firewall (CSF) est un pare-feu gratuit et open source utilisé pour protéger les serveurs Linux des utilisateurs non authentifiés. Les services tels que SSH, SMTP, HTTP, IMAP, POP3 et FTP ainsi que de nombreux autres protocoles sont surveillés en permanence par CSF.
Ce pare-feu vous permet de bloquer et de débloquer temporairement ou définitivement des adresses IP spécifiées. Il dispose également d'une interface Web pour cPanel, Webmin et DirectAdmin qui vous permet de gérer votre pare-feu à partir d'un navigateur Web.
Chez LinuxAPT, dans le cadre de nos services de gestion de serveur, nous aidons régulièrement nos clients à effectuer des requêtes de sécurité liées au pare-feu Linux.
Dans ce contexte, nous examinerons le processus d'installation et de configuration du pare-feu de Config Server sur Ubuntu 20.04.
Étapes pour configurer CSF (Config Server Firewall) sur Ubuntu
1. Supprimer le pare-feu UFW
Par défaut, Ubuntu est livré avec le pare-feu UFW déjà installé. La première chose à faire est de le supprimer avant d'installer le pare-feu CSF. Par conséquent, exécutez la commande :
$ sudo apt remove ufw
2. Installez les dépendances requises
CSF Web est livré avec une interface Web basée sur Perl qui nécessite l'installation de certaines dépendances. Installez les dépendances requises avec la commande ci-dessous :
$ sudo apt-get install sendmail dnsutils unzip git perl iptables libio-socket-ssl-perl libcrypt-ssleay-perl libnet-libidn-perl libio-socket-inet6-perl libsocket6-perl -y
3. Téléchargez le pare-feu du serveur de configuration (CSF)
Téléchargez le fichier d'archive CSF depuis son site officiel car il n'est pas disponible dans les référentiels Ubuntu. Exécutez la commande wget suivante pour télécharger CSF :
$ sudo wget http://download.configserver.com/csf.tgz
Une fois le téléchargement terminé, extrayez le fichier archive avec la commande :
$ tar -xvzf csf.tgz
4. Installez le pare-feu du serveur de configuration (CSF)
Ensuite, accédez au répertoire CSF et installez-le en exécutant le script suivant :
$ cd csf
$ sh install.sh
Une fois l'installation terminée, un message de réussite s'affichera sur le terminal. Pour confirmer que CSF est installé et fonctionne correctement, exécutez la commande ci-dessous :
$ sudo perl /usr/local/csf/bin/csftest.pl
5. Configurer le pare-feu du serveur de configuration
CSF peut être configuré en éditant son fichier de configuration qui se trouve dans le chemin /etc/csf/csf.conf :
$ sudo nano /etc/csf/csf.conf
Modifiez les lignes suivantes au début du fichier de configuration :
TESTING = "0"
RESTRICT_SYSLOG = "3"
Enregistrez et rechargez CSF à l'aide des commandes ci-dessous :
$ sudo csf -ra
Vous pouvez également vérifier l'état de CSF avec la commande suivante :
$ sudo systemctl status csf
Ici, le service CSF est opérationnel.
Le fichier de configuration CSF offre une large gamme de paramètres. Les paramètres par défaut sont généralement satisfaisants et peuvent être utilisés sur pratiquement n'importe quel serveur. Les attaques courantes telles que les analyses de port, les attaques par inondation et les tentatives d'accès non autorisées sont bloquées par les paramètres par défaut du fichier.
Si vous souhaitez affiner encore votre configuration, lisez les commentaires dans le fichier /etc/csf/csf.conf et apportez les modifications nécessaires.
6. Gérer CSF avec la ligne de commande
Vous pouvez gérer le pare-feu CSF à l'aide de la ligne de commande. Vous pouvez autoriser, refuser ou interdire une adresse IP. Vous trouverez ci-dessous des exemples d'utilisation de la commande csf.
Autorisez une adresse IP spécifique avec la commande ci-dessous :
$ csf -a ip_address
Refuser une adresse IP en utilisant l'option -d suivie de l'adresse IP avec la commande ci-dessous :
$ csf -d ip_address
Pour supprimer une adresse IP bloquée d'une règle CSF, exécutez :
$ csf -dr ip_address
Pour afficher toutes les règles de pare-feu, exécutez :
$ csf -l
7. Accéder à l'interface Web CSF
CSF fournit une interface Web pour gérer le pare-feu à partir d'un navigateur Web.
Tout d'abord, modifiez le fichier de configuration principal CSF avec la commande suivante :
$ nano /etc/csf/csf.conf
Ajoutez les lignes suivantes :
#Enable Web UI
UI = "1"
#Listening Port
UI_PORT = "8080"
#Admin username
UI_USER = "admin"
#Admin user password
UI_PASS = "your-password"
#Listening Interface
UI_IP = ""
Enregistrez et fermez le fichier lorsque vous avez terminé. Ensuite, vous devrez modifier le fichier /etc/csf/ui/ui.allow et ajouter l'adresse IP de votre serveur et l'adresse IP de la machine distante à partir de laquelle vous souhaitez accéder à l'interface utilisateur Web CSF.
$ nano /etc/csf/ui/ui.allow
Ajoutez l'IP de votre serveur et l'IP de la machine distante :
your-server-ip
remote-machine-ip
Enregistrez et fermez le fichier, puis redémarrez le service CSF et LFD pour appliquer les modifications :
$ csf -r
$ service lfd restart
Enfin, ouvrez votre navigateur Web et recherchez l'adresse IP du serveur suivie du port 8080 :
http://your-server-ip:8080