Comment installer le pare-feu CSF sur Ubuntu 20.04 LTS

Dans ce tutoriel, nous allons vous montrer comment installer le pare-feu CSF sur Ubuntu 20.04 LTS. Pour ceux d’entre vous qui ne le savaient pas, ConfigServer Security & Firewall (CSF) est un outil de sécurité populaire et open source Stateful Packet Inspection (SPI) pour Linux. De plus, il fournit une interface simple pour les iptables afin de protéger les serveurs Linux. Le CSF dispose de plusieurs fonctionnalités telles qu’un pare-feu d’inspection de paquets avec état, une détection d’intrusion, un démon d’échec de connexion, une protection DDOS et une intégration au panneau de commande.

Cet article suppose que vous avez au moins des connaissances de base sur Linux, que vous savez utiliser le shell et, plus important encore, que vous hébergez votre site sur votre propre VPS. L’installation est assez simple et suppose que vous utilisez le compte root, sinon vous devrez peut-être ajouter ‘sudo‘ aux commandes pour obtenir les privilèges root. Je vais vous montrer l’installation étape par étape de ConfigServer Security & Firewall (CSF) sur Ubuntu 20.04 (Focal Fossa). Vous pouvez suivre les mêmes instructions pour Ubuntu 18.04, 16.04 et toute autre distribution basée sur Debian comme Linux Mint.

Installer le pare-feu CSF sur Ubuntu 20.04 LTS Focal Fossa

Étape 1. Tout d’abord, assurez-vous que tous vos packages système sont à jour en exécutant ce qui suit apt commandes dans le terminal.

sudo apt update
sudo apt upgrade

Étape 2. Installation du pare-feu CSF sur Ubuntu 20.04.

Maintenant, nous téléchargeons le dernier code source de l’archive CSF à partir de son site officiel :

wget https://download.configserver.com/csf.tgz

Ensuite, extrayez le fichier téléchargé, puis exécutez son script d’installation :

tar -xvzf csf.tgz
cd csf
sudo bash install.sh

Après cela, exécutez le csftest.pl Script Perl pour vérifier si tous les modules iptables requis sont installés sur votre système pour le faire fonctionner correctement :

sudo perl /usr/local/csf/bin/csftest.pl

Sortir:

Testing ip_tables/iptable_filter...OK
Testing ipt_LOG...OK
Testing ipt_multiport/xt_multiport...OK
Testing ipt_REJECT...OK
Testing ipt_state/xt_state...OK
Testing ipt_limit/xt_limit...OK
Testing ipt_recent...OK
Testing xt_connlimit...OK
Testing ipt_owner/xt_owner...OK
Testing iptable_nat/ipt_REDIRECT...OK
Testing iptable_nat/ipt_DNAT...OK

RESULT: csf should function on this server

Étape 3. Configurez le CSF.

Configurez maintenant CSF selon votre norme de sécurité. Vous pouvez le configurer en éditant le fichier /etc/csf/csf.conf:

nano /etc/csf/csf.conf

Modifiez la ligne suivante selon vos besoins :

TESTING = "0"
RESTRICT_SYSLOG = "3"
TCP_IN = "20,21,22,25,53,80,110,143,443,465,587,993,995"

# Allow outgoing TCP ports
TCP_OUT = "20,21,22,25,53,80,110,113,443,587,993,995"

# Allow incoming UDP ports
UDP_IN = "20,21,53,80,443"

# Allow outgoing UDP ports
# To allow outgoing traceroute add 33434:33523 to this list
UDP_OUT = "20,21,53,113,123"

# Allow incoming PING. Disabling PING will likely break external uptime
# monitoring
ICMP_IN = "1"

Save et close le fichier, puis redémarrez le CSF avec la commande suivante :

csf -r
csf -l

Sortir:

iptables mangle table
=====================
Chain PREROUTING (policy ACCEPT 55 packets, 3332 bytes)
num pkts bytes target prot opt in out source destination

Chain INPUT (policy ACCEPT 48 packets, 3054 bytes)
num pkts bytes target prot opt in out source destination

Chain FORWARD (policy ACCEPT 0 packets, 0 bytes)
num pkts bytes target prot opt in out source destination

Chain OUTPUT (policy ACCEPT 24 packets, 15822 bytes)
num pkts bytes target prot opt in out source destination

Chain POSTROUTING (policy ACCEPT 24 packets, 15822 bytes)
num pkts bytes target prot opt in out source destination

iptables raw table
==================
Chain PREROUTING (policy ACCEPT 51 packets, 3321 bytes)
num pkts bytes target prot opt in out source destination

Chain OUTPUT (policy ACCEPT 24 packets, 15966 bytes)
num pkts bytes target prot opt in out source destination

iptables nat table
==================
Chain PREROUTING (policy ACCEPT 12 packets, 1410 bytes)
num pkts bytes target prot opt in out source destination

Chain INPUT (policy ACCEPT 0 packets, 0 bytes)
num pkts bytes target prot opt in out source destination

Chain OUTPUT (policy ACCEPT 1 packets, 69 bytes)
num pkts bytes target prot opt in out source destination

Chain POSTROUTING (policy ACCEPT 1 packets, 23 bytes)
num pkts bytes target prot opt in out source destination

Étape 4. 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 = ""

Save et close le fichier lorsque vous avez terminé. Ensuite, vous devrez modifier le /etc/csf/ui/ui.allow fichier et ajoutez 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 votre machine distante :

your-server-ip
remote-machine-ip

Save et close 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 :

https://your-server-ip:8080

Toutes nos félicitations! Vous avez correctement installé CSF. Merci d’avoir utilisé ce didacticiel pour installer ConfigServer Security and Firewall sur votre système Ubuntu 20.04 LTS Focal Fossa. Pour une aide supplémentaire ou des informations utiles, nous vous recommandons de vérifier le site officiel du CSF.