Recherche de site Web

Installer et configurer ConfigServer Security & Firewall (CSF) sous Linux


Si vous consultez les offres d'emploi liées à l'informatique, vous remarquerez une demande constante de professionnels de la sécurité. Cela signifie non seulement que la cybersécurité est un domaine d’étude intéressant, mais aussi très lucratif.

Dans cet esprit, nous expliquerons dans cet article comment installer et configurer ConfigServer Security & Firewall (également connu sous le nom de CSF), une suite de sécurité complète pour Linux, et partageons quelques cas d'utilisation typiques. Vous pourrez alors utiliser CSF comme pare-feu et système de détection d’intrusion/échec de connexion pour renforcer les serveurs dont vous avez la responsabilité.

Sans plus attendre, commençons.

Installation et configuration de CSF sous Linux

Pour commencer, veuillez noter que Perl et libwww sont des prérequis pour installer CSF sur l'une des distributions prises en charge (RHEL et CentOS, openSUSE, Debian et Ubuntu). Puisqu'il devrait être disponible par défaut, aucune action n'est requise de votre part sauf si l'une des étapes suivantes renvoie une erreur fatale (dans ce cas, utilisez le système de gestion de packages pour installer les dépendances manquantes).

yum install perl-libwww-perl
apt install libwww-perl

Étape 1 – Téléchargez CSF

cd /usr/src
wget https://download.configserver.com/csf.tgz

Étape 2 – Extraire l’archive tar CSF

tar xzf csf.tgz
cd csf

Étape 3 – Exécutez le script d’installation CSF

Cette partie du processus vérifiera que toutes les dépendances sont installées, créera les structures de répertoires et les fichiers nécessaires pour l'interface Web, détectera les ports actuellement ouverts et vous rappellera de redémarrer csf et lfd<. démons une fois que vous avez terminé la configuration initiale.

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

Le résultat attendu de la commande ci-dessus est le 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

Étape 4 : désactiver le pare-feu et configurer CSF

Désactivez firewalld s'il est en cours d'exécution et configurez CSF.

systemctl stop firewalld
systemctl disable firewalld

Remplacez TESTING="1" par TESTING="0" (sinon, le démon lfd ne démarrera pas) et listez les entrées et sorties autorisées. ports sous forme de liste séparée par des virgules (TCP_IN et TCP_OUT, respectivement) dans /etc/csf/csf.conf comme indiqué dans le résultat ci-dessous :

Testing flag - enables a CRON job that clears iptables incase of
configuration problems when you start csf. This should be enabled until you
are sure that the firewall works - i.e. incase you get locked out of your
server! Then do remember to set it to 0 and restart csf when you're sure
everything is OK. Stopping csf will remove the line from /etc/crontab
#
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"

Une fois que vous êtes satisfait de la configuration, enregistrez les modifications et revenez à la ligne de commande.

Étape 5 – Redémarrer et tester CSF

systemctl restart {csf,lfd}
systemctl enable {csf,lfd}
systemctl is-active {csf,lfd}
csf -v

À ce stade, nous sommes prêts à commencer à configurer des règles de pare-feu et de détection d'intrusion comme indiqué ci-dessous.

Configuration des règles CSF et de détection d'intrusion

Tout d’abord, vous souhaiterez inspecter les règles de pare-feu actuelles comme suit :

csf -l

Vous pouvez également les arrêter ou les recharger avec :

csf -f
csf -r

respectivement. Assurez-vous de mémoriser ces options – vous en aurez besoin au fur et à mesure, notamment pour vérifier après avoir apporté des modifications et redémarré csf et lfd.

Exemple 1 – Autoriser et interdire les adresses IP

Pour autoriser les connexions entrantes depuis 192.168.0.10.

csf -a 192.168.0.10

De même, vous pouvez refuser les connexions provenant de 192.168.0.11.

csf -d 192.168.0.11

Vous pouvez supprimer chacune des règles ci-dessus si vous le souhaitez.

csf -ar 192.168.0.10
csf -dr 192.168.0.11

Notez comment l'utilisation de -ar ou -dr ci-dessus supprime les règles d'autorisation et de refus existantes associées à une adresse IP donnée.

Exemple 2 – Limiter les connexions entrantes par source

En fonction de l'utilisation prévue de votre serveur, vous souhaiterez peut-être limiter les connexions entrantes à un numéro sûr par port. Pour ce faire, ouvrez /etc/csf/csf.conf et recherchez CONNLIMIT. Vous pouvez spécifier plusieurs ports ; paires de connexions séparées par des virgules. Par exemple,

CONNLIMIT = "22;2,80;10"

n'autorisera que 2 et 10 connexions entrantes de la même source vers les ports TCP 22 et 80, respectivement.

Exemple 3 – Envoi d'alertes par e-mail

Vous pouvez choisir plusieurs types d'alertes. Recherchez les paramètres EMAIL_ALERT dans /etc/csf/csf.conf et assurez-vous qu'ils sont définis sur "1" pour recevoir l'alerte associée. Par exemple,

 
LF_SSH_EMAIL_ALERT = "1"
LF_SU_EMAIL_ALERT = "1"

entraînera l'envoi d'une alerte à l'adresse spécifiée dans LF_ALERT_TO chaque fois que quelqu'un se connectera avec succès via SSH ou passera à un autre compte à l'aide de la commande su.

Options de configuration et utilisation du CSF

Ces options suivantes sont utilisées pour modifier et contrôler la configuration csf. Tous les fichiers de configuration de csf se trouvent dans le répertoire /etc/csf. Si vous modifiez l'un des fichiers suivants, vous devrez redémarrer le démon csf pour prendre en compte les modifications.

  • csf.conf : Le fichier de configuration principal pour contrôler CSF.
  • csf.allow : La liste des adresses IP et CIDR autorisées sur le pare-feu.
  • csf.deny : La liste des adresses IP et CIDR refusées sur le pare-feu.
  • csf.ignore : La liste des adresses IP et CIDR ignorées sur le pare-feu.
  • csf.*ignore : La liste des différents fichiers ignorés des utilisateurs, IP.

Supprimer le pare-feu CSF

Si vous souhaitez supprimer complètement le pare-feu CSF, exécutez simplement le script suivant situé dans le répertoire /etc/csf/uninstall.sh.

/etc/csf/uninstall.sh

La commande ci-dessus effacera complètement le pare-feu CSF avec tous les fichiers et dossiers.

Résumé

Dans cet article, nous avons expliqué comment installer, configurer et utiliser CSF comme pare-feu et système de détection d'intrusion. Veuillez noter que d'autres fonctionnalités sont décrites dans csf.conf.

Par exemple, si vous travaillez dans le secteur de l'hébergement Web, vous pouvez intégrer CSF à des solutions de gestion telles que Cpanel, WHM ou le célèbre Webmin.

Avez-vous des questions ou des commentaires sur cet article? N'hésitez pas à nous envoyer un message en utilisant le formulaire ci-dessous. Nous avons hâte d'avoir de tes nouvelles!