GNU/Linux >> Tutoriels Linux >  >> Linux

Comment installer Config Server Firewall (CSF) sur Rocky Linux 8

CSF, également appelé "Pare-feu du serveur de configuration" est un pare-feu Stateful Packet Inspection (SPI) pour les systèmes d'exploitation Linux. Il fournit des fonctionnalités de pare-feu de base ainsi que d'autres fonctionnalités de sécurité, notamment la connexion, l'intrusion et la détection d'inondation. Vous pouvez également intégrer CSF à DirectAdmin, cPanel et Webmin. À l'aide de CSF, vous pouvez détecter de nombreux types d'attaques telles que les analyses de port, les inondations SYN et les attaques par force brute de connexion sur de nombreux services.

Dans cet article, nous allons vous montrer comment installer et configurer le pare-feu CSF sur Rocky Linux 8.

Prérequis

  • Un serveur exécutant Rocky Linux 8 sur la plate-forme cloud Atlantic.Net
  • Un mot de passe root configuré sur votre serveur

Étape 1 - Créer un serveur cloud Atlantic.Net

Tout d'abord, connectez-vous à votre serveur Atlantic.Net Cloud. Créez un nouveau serveur en choisissant Rocky Linux 8 comme système d'exploitation avec au moins 2 Go de RAM. Connectez-vous à votre serveur cloud via SSH et connectez-vous à l'aide des informations d'identification mises en évidence en haut de la page.

Une fois connecté à votre serveur, exécutez la commande suivante pour mettre à jour votre système de base avec les derniers packages disponibles.

dnf update -y

Étape 2 - Installer CSF sur Rocky Linux 8

CSF est écrit en Perl, vous devrez donc installer tous les modules Perl requis sur votre système. Vous pouvez tous les installer avec la commande suivante :

dnf install @perl perl-libwww-perl.noarch perl-LWP-Protocol-https.noarch -y

Après avoir installé tous les modules requis, téléchargez la dernière version de CSF à l'aide de la commande suivante :

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

Une fois le téléchargement terminé, extrayez le fichier téléchargé avec la commande suivante :

tar xzf csf.tgz

Ensuite, accédez au répertoire extrait et installez CSF avec la commande suivante :

cd csf
sh install.sh

Une fois CSF installé, vous obtiendrez la sortie suivante :

Don't forget to:
1. Configure the following options in the csf configuration to suite your server: TCP_*, UDP_*
2. Restart csf and lfd
3. Set TESTING to 0 once you're happy with the firewall, lfd will not run until you do so

Adding current SSH session IP address to the csf whitelist in csf.allow:
Adding 27.61.171.115 to csf.allow only while in TESTING mode (not iptables ACCEPT)
*WARNING* TESTING mode is enabled - do not forget to disable it in the configuration
'lfd.service' -> '/usr/lib/systemd/system/lfd.service'
'csf.service' -> '/usr/lib/systemd/system/csf.service'
Created symlink /etc/systemd/system/multi-user.target.wants/csf.service → /usr/lib/systemd/system/csf.service.
Created symlink /etc/systemd/system/multi-user.target.wants/lfd.service → /usr/lib/systemd/system/lfd.service.
Created symlink /etc/systemd/system/firewalld.service → /dev/null.
'/etc/csf/csfwebmin.tgz' -> '/usr/local/csf/csfwebmin.tgz'

Installation Completed

Ensuite, vérifiez que tous les modules iptables requis sont disponibles.

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

Si tout est configuré correctement, vous obtiendrez le résultat suivant :

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

Vous pouvez maintenant vérifier la version CSF à l'aide de la commande suivante :

csf -v

Vous obtiendrez le résultat suivant :

csf: v14.12 (generic)
*WARNING* TESTING mode is enabled - do not forget to disable it in the configuration

Étape 3 - Configurer CSF

nano /etc/csf/csf.conf

Remplacez TESTING ="1" par TESTING ="0" et ajoutez les ports entrants et sortants autorisés selon vos besoins :

 
# lfd will not start while this is enabled
TESTING = "0"

# Allow incoming TCP ports
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"

Enregistrez et fermez le fichier lorsque vous avez terminé, puis démarrez et activez les services CSF et LFD :

systemctl start csf lfd
systemctl enable csf lfd

Vous pouvez vérifier l'état de CSF avec la commande suivante :

systemctl status csf

Vous devriez voir le résultat suivant :

● csf.service - ConfigServer Firewall & Security - csf
   Loaded: loaded (/usr/lib/systemd/system/csf.service; enabled; vendor preset: disabled)
   Active: active (exited) since Wed 2021-11-17 08:41:05 UTC; 3s ago
  Process: 13236 ExecStart=/usr/sbin/csf --initup (code=exited, status=0/SUCCESS)
 Main PID: 13236 (code=exited, status=0/SUCCESS)
    Tasks: 0 (limit: 11411)
   Memory: 0B
   CGroup: /system.slice/csf.service

Nov 17 08:41:05 rockylinux csf[13236]: ACCEPT  all opt    in * out lo  ::/0  -> ::/0
Nov 17 08:41:05 rockylinux csf[13236]: LOGDROPOUT  all opt    in * out !lo  ::/0  -> ::/0
Nov 17 08:41:05 rockylinux csf[13236]: LOGDROPIN  all opt    in !lo out *  ::/0  -> ::/0
Nov 17 08:41:05 rockylinux csf[13236]: csf: FASTSTART loading DNS (IPv4)
Nov 17 08:41:05 rockylinux csf[13236]: csf: FASTSTART loading DNS (IPv6)
Nov 17 08:41:05 rockylinux csf[13236]: LOCALOUTPUT  all opt -- in * out !lo  0.0.0.0/0  -> 0.0.0.0/0
Nov 17 08:41:05 rockylinux csf[13236]: LOCALINPUT  all opt -- in !lo out *  0.0.0.0/0  -> 0.0.0.0/0
Nov 17 08:41:05 rockylinux csf[13236]: LOCALOUTPUT  all opt    in * out !lo  ::/0  -> ::/0
Nov 17 08:41:05 rockylinux csf[13236]: LOCALINPUT  all opt    in !lo out *  ::/0  -> ::/0
Nov 17 08:41:05 rockylinux systemd[1]: Started ConfigServer Firewall & Security - csf.

Vous pouvez également vérifier les ports ouverts lorsque CSF est en cours d'exécution à l'aide de la commande suivante :

csf -p

Exemple de sortie :

Ports listening for external connections and the executables running behind them:
Port/Proto Open Conn  PID/User             Command Line                            Executable
22/tcp     4/6  1     (709/root)           /usr/sbin/sshd -D -oCiphers=aes256-g... /usr/sbin/sshd
80/tcp     4/6  -     (8954/root)          /usr/sbin/httpd -DFOREGROUND            /usr/sbin/httpd
80/tcp     4/6  -     (8957/apache)        /usr/sbin/httpd -DFOREGROUND            /usr/sbin/httpd
80/tcp     4/6  -     (8958/apache)        /usr/sbin/httpd -DFOREGROUND            /usr/sbin/httpd
80/tcp     4/6  -     (8959/apache)        /usr/sbin/httpd -DFOREGROUND            /usr/sbin/httpd
80/tcp     4/6  -     (9172/apache)        /usr/sbin/httpd -DFOREGROUND            /usr/sbin/httpd
323/udp    -/-  -     (552/chrony)         /usr/sbin/chronyd                       /usr/sbin/chronyd

Étape 4 - Comment utiliser le CSF

Pour vider toutes les règles CSF, exécutez la commande suivante :

csf -f

Pour recharger le pare-feu CSF, exécutez la commande suivante :

csf -r

Pour autoriser les connexions entrantes à partir de l'adresse IP spécifique, exécutez la commande suivante :

csf -a remote-ip-address

Pour refuser les connexions à partir de l'adresse IP spécifique, exécutez la commande suivante :

csf -d remote-ip-address

Vous pouvez également modifier le csf.deny et csf.allow fichier pour définir la liste des adresses IP autorisées et refusées sur le pare-feu.

Étape 5 :Activer l'interface utilisateur CSF

CSF fournit également une interface Web pour gérer le pare-feu. Il est désactivé par défaut.

Avant d'activer l'interface utilisateur CSF, installez les modules requis avec la commande suivante :

dnf install perl-IO-Socket-SSL perl-Net-SSLeay perl-IO-Socket-INET6 perl-Socket -y

Ensuite, modifiez le fichier de configuration CSF :

nano /etc/csf/csf.conf

Activez l'interface utilisateur, définissez le port d'écoute et définissez le nom d'utilisateur et le mot de passe de l'administrateur comme indiqué ci-dessous :

# 1 to enable, 0 to disable web ui 
UI = "1"

# Set port for web UI. The default port is 6666, but
# I change this to 1025 to easy access. Default port create some issue
# with popular chrome and firefox browser (in my case) 

UI_PORT = "8080"

# Leave blank to bind to all IP addresses on the server 
UI_IP = ""

# Set username for authetnication 
UI_USER = "admin"

# Set a strong password for authetnication 
UI_PASS = "securepassword"

UI_ALLOW = "0"

Enregistrez et fermez le fichier puis redémarrez le service CSF et LFD pour appliquer les modifications :

systemctl restart lfd
systemctl restart csf

Étape 6 – Accéder à l'interface utilisateur CSF

Maintenant, ouvrez votre navigateur Web et accédez à l'interface utilisateur CSF à l'aide de l'URL https://your-server-ip:8080 . Vous devriez voir la page de connexion CSF :

Fournissez votre nom d'utilisateur et votre mot de passe d'administrateur et cliquez sur Connexion bouton. Vous devriez voir l'interface Web CSF sur l'écran suivant :

Étape 7 - Supprimer le pare-feu CSF

Si vous souhaitez supprimer complètement le pare-feu CSF de votre serveur, exécutez simplement le script suivant :

bash /etc/csf/uninstall.sh

Cela supprimera le pare-feu CSF avec tous les fichiers, répertoires et règles créés par CSF.

Conclusion

Dans le guide ci-dessus, nous avons expliqué comment installer CSF et CSF UI sur Rocky Linux 8. Nous avons également expliqué comment interdire et débannir des adresses IP spécifiques avec CSF. Vous pouvez maintenant implémenter CSF sur votre serveur et le sécuriser contre divers types d'attaques. Essayez-le sur votre VPS d'Atlantic.Net !


Linux
  1. Comment installer Config Server Firewall (CSF) sur Debian 11

  2. Comment installer et configurer le pare-feu CSF sous Linux

  3. Comment installer Python 3.10 sur Rocky Linux 8

  4. Comment installer ConfigServer Firewall dans Linux VPS ?

  5. Comment installer Virtualization Linux Server

Comment installer Webmin sur Rocky Linux 8

Comment installer la pile LEMP sur Rocky Linux 8

Comment installer la dernière ligne principale de Nginx sur Rocky Linux 8

Comment installer et configurer le pare-feu CSF pour Linux

Comment installer Jenkins sur Rocky Linux 8

Comment installer Nginx sur Rocky Linux 9