GNU/Linux >> Tutoriels Linux >  >> Debian

Comment configurer un pare-feu avec CSF sur Debian 9

Dans cet article, nous allons vous montrer comment installer et configurer le pare-feu CSF sur un VPS Debian 9, ainsi que quelques conseils sur l'utilisation de CSF.

ConfigServer Security &Firewall (CSF) est un outil de gestion de pare-feu gratuit et avancé basé sur iptables. CSF offre un haut niveau de sécurité sur votre serveur et est très simple, ce qui facilite la configuration et l'installation sur toutes les distributions Linux prises en charge. Nous utiliserons Debian 9 qui fait partie des distributions Linux prises en charge. CSF possède de nombreuses fonctionnalités intéressantes telles que l'analyse des ports, les inondations SYN et les attaques par force brute pour de nombreux services qui peuvent vous aider à protéger votre serveur. L'une des fonctionnalités très intéressantes de CSF est qu'il fournit une interface utilisateur Web intégrée pour gérer le pare-feu à partir d'un navigateur Web. Cette intégration de l'interface utilisateur est prise en charge par cPanel, DirectAdmin, et fonctionne indépendamment sur votre serveur.

L'installation CSF est également fournie avec un autre service appelé Login Failure Daemon (LFD). LFD est en fait un processus qui surveille les fichiers journaux et envoie des notifications par e-mail en fonction des règles de configuration CSF. Commençons par l'installation.

Étape 1 :Connectez-vous à votre serveur

Avant de commencer, vous devez vous connecter à votre serveur via SSH en tant qu'utilisateur root. Alternativement, vous pouvez utiliser un compte d'utilisateur avec des privilèges sudo si vous n'avez pas accès à l'utilisateur root. Pour cela, utilisez la commande suivante :

ssh root@IP_Address -p Port_Number

bien sûr, vous devrez remplacer IP_Address et Port_Number avec l'adresse IP réelle de votre serveur et le numéro de port SSH.

Une fois connecté, assurez-vous que votre serveur est à jour en exécutant les commandes suivantes :

apt updateapt upgrade

Étape 2 :Installer CSF/LFD

Une fois que vous avez mis à jour votre serveur avec succès, vous pouvez exécuter les commandes suivantes pour changer le répertoire actuel en /opt, télécharger le dernier code source CSF et le décompresser dans le même répertoire.

cd /opt/wget http://download.configserver.com/csf.tgztar xzf csf.tgz

Avant de procéder à l'installation, assurez-vous que vous n'utilisez pas un autre pare-feu tel que UFW. Les deux commandes suivantes changeront le répertoire en /opt/csf/ et exécuteront le script d'installation.

cd /opt/csfsh install.sh

L'installation du pare-feu est terminée, mais il est préférable de vérifier si les modules iptables nécessaires au bon fonctionnement sur CSF sont disponibles. Vous pouvez le faire avec la commande :

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

Sortie :

Test ip_tables/iptable_filter...OKTest ipt_LOG...OKTest ipt_multiport/xt_multiport...OKTest ipt_REJECT...OKTest ipt_state/xt_state...OKTest ipt_limit/xt_limit...OKTest ipt_recent...OKTest xt_connlimit.. .OKTesting ipt_owner/xt_owner...OKTesting iptable_nat/ipt_REDIRECT...OKTesting iptable_nat/ipt_DNAT...OKRESULT :csf devrait fonctionner sur ce serveur

Si aucune erreur fatale n'a été signalée lors de vos tests, le pare-feu CSF fonctionnera correctement.

Étape 3 :configuration de base

Si vous souhaitez configurer le pare-feu CSF, vous devez modifier le fichier de configuration "csf.conf". Dans ce didacticiel, nous utiliserons nano comme éditeur, mais vous pouvez librement utiliser votre éditeur préféré pour modifier le fichier de configuration.

nano /etc/csf/csf.conf

La première chose que nous devons vérifier dans les fichiers de configuration sont les ports ouverts sur votre serveur. Généralement, par défaut, les ports les plus couramment utilisés sont déjà ouverts, mais nous devons parfois ouvrir un port spécifique sur le serveur. La liste suivante répertorie les ports ouverts par défaut par CSF :

# Autoriser les ports TCP entrantsTCP_IN ="20,21,22,25,53,80,110,143,443,465,587,993,995"# Autoriser les ports TCP sortantsTCP_OUT ="20,21,22,25,53,80,110,113,443,587,993,995"# Autoriser les ports UDP entrantsUDP_IN ="20 21,53"# Autoriser les ports UDP sortants# Pour autoriser le traceroute sortant, ajoutez 33434:33523 à cette listeUDP_OUT ="20,21,53,113,123"

Si certains des services répertoriés par défaut ne sont pas utilisés sur votre serveur, la meilleure pratique consiste à les fermer. Moins il y a d'accès aux ports de votre serveur, meilleure est la sécurité de votre serveur.

CSF offre de nombreuses options différentes dans les fichiers de configuration. Mais nous ne couvrirons que certains des paramètres les plus couramment utilisés.

ICMP_IN – Cette option permet de contrôler la disponibilité de votre serveur depuis PING. Par défaut, ce paramètre est défini sur 1 afin qu'il puisse autoriser toutes les requêtes PING entrantes. Si vous choisissez de désactiver cette option, vous ne pourrez pas utiliser de système de surveillance externe.

IGNORE_ALLOW – Si vous activez cette option, LFD ignorera toutes les adresses IP répertoriées dans csf.allow dossier. Cette option peut être utile si vous utilisez une adresse IP statique à la maison ou au bureau et vous pouvez être sûr que cette adresse IP ne sera jamais bloquée par le pare-feu du serveur.

SYNFLOOD , SUNFLOOD_RATE et SYNFLOOD_BURST – Cette option ne doit être utilisée que si votre serveur subit une attaque par inondation SYN. Veuillez noter qu'il n'est pas recommandé d'activer cette option car cela ralentirait considérablement votre serveur et certains visiteurs pourraient avoir un problème de connexion.

LF_ALERT_TO et LF_ALERT_FROM – C'est ici que vous définissez les adresses e-mail que vous souhaitez utiliser pour les alertes.

TEST – Par défaut, TESTING est défini sur 1. Cela signifie que CSF active une tâche CRON qui efface votre configuration iptables en cas de problèmes de configuration lorsque vous démarrez CSF. Il s'agit d'une mesure de précaution qui devrait vous aider à éviter d'être bloqué sur votre serveur. Une fois que vous êtes complètement sûr que tous les paramètres sont corrects, vous pouvez définir la valeur sur zéro, ce qui activera le service LFD.

Une fois que vous avez défini tous les paramètres que vous préférez, vous pouvez enregistrer le fichier de configuration et redémarrer et activer les services CSF et LFD, ce qui les fait démarrer automatiquement au démarrage.

systemctl restart csfsystemctl enable csfsystemctl restart lfdsystemctl enable lfd

Étape 4 :Notifications CSF/LFD

L'une des nombreuses options du LFD CSF sont les diverses notifications qui peuvent vous aider à surveiller les événements sur votre serveur. Dans cette section de l'article, nous allons vous montrer comment activer ou désactiver certaines de ces notifications.

Nous commencerons par les alertes d'intégrité du système qui vérifient les changements dans certains fichiers système. Ces notifications aident à détecter les fichiers compromis, mais vous recevrez également des e-mails lorsque des modifications sont apportées avec des mises à jour système légitimes.

Vous pouvez laisser ces types de notifications si vous souhaitez suivre les modifications apportées à votre système. Si vous avez décidé de ne pas recevoir ces notifications, vous pouvez les désactiver en trouvant le LF_INTEGRITY paramètre dans le fichier csf.conf et définissez sa valeur sur 0, ou vous pouvez simplement exécuter la commande suivante :

sed -i 's/LF_INTEGRITY ="3600"/LF_INTEGRITY ="0"/g' /etc/csf/csf.conf

Le deuxième type de notification dont nous aimerions parler est l'alerte d'utilisation excessive des ressources. Ces types de notifications sont probablement les plus courants. LFD a une fonctionnalité qui peut surveiller les processus en cours d'exécution sur votre serveur et vous envoyer des e-mails s'ils utilisent trop de ressources. Le but de ces notifications est de suivre les processus les plus intensifs qui peuvent causer des problèmes de chargement sur le serveur. Si vous avez décidé de ne pas recevoir ces notifications, vous pouvez les désactiver en trouvant le PT_USERMEM et PT_USERTIME paramètre dans le fichier csf.conf et définissez sa valeur sur 0 ou vous pouvez simplement exécuter les commandes suivantes :

sed -i 's/PT_USERTIME ="1800"/PT_USERTIME ="0"/g' /etc/csf/csf.confsed -i 's/PT_USERMEM ="512"/PT_USERMEM ="0"/g' /etc/csf/csf.conf

L'option de suivi des processus examine les fichiers exécutables suspects ou les ports réseau ouverts sur votre serveur. Ces notifications aident à détecter les processus potentiellement exploitables, même si ces processus apparaissent comme des services système. Si vous avez décidé de ne pas recevoir ces notifications, vous pouvez les désactiver en trouvant le PT_LIMIT paramètre dans le fichier csf.conf et définissez sa valeur sur 0 ou vous pouvez simplement exécuter la commande SSH suivante :

sed -i 's/PT_LIMIT ="60"/PT_LIMIT ="0"/g' /etc/csf/csf.conf

Le dernier type de notifications que nous aborderons dans cet article sont les alertes concernant le blocage IP.

CSF/LFD a le pouvoir de bloquer les adresses IP pour certaines raisons. Chaque fois que le système bloque une adresse IP, vous serez averti par e-mail contenant l'adresse IP qui a été bloquée et la raison pour laquelle elle a été bloquée. Si vous souhaitez gérer ces types de notification, vous pouvez ouvrir votre fichier csf.conf et trouver les options suivantes :

LF_EMAIL_ALERT – Envoyer une alerte par e-mail si une adresse IP est bloquée par l'un des déclencheurs [*]

LF_PERMBLOCK_ALERT – Si une adresse IP a été bloquée plusieurs fois (pour la configuration, utilisez LF_PERMBLOCK_COUNT ) alors cette option enverra une notification par e-mail lorsque l'adresse IP est définitivement bloquée.

LF_NETBLOCK_ALERT – Si une classe de réseau IP a été bloquée, vous recevrez une notification par e-mail.

LF_DISTFTP_ALERT – Si LF_DISTFTP est déclenché, vous recevrez une notification par e-mail avec les adresses IP qui ont été bloquées en raison de leur implication dans une attaque distribuée FTP.

LF_DISTSMTP_ALERT – Si LF_DISTSMTP est déclenché, vous recevrez une notification par e-mail avec les adresses IP qui ont été bloquées en raison de leur implication dans une attaque distribuée SMTP.

LT_EMAIL_ALERT – Si un compte dépasse le nombre de connexions quotidiennes par adresse IP, vous recevrez une alerte par e-mail.

CT_EMAIL_ALERT – Si une adresse IP est bloquée en raison du suivi de la connectivité, vous recevrez une alerte par e-mail. Ces types d'alertes par e-mail sont déclenchés par le CT_LIMIT caractéristique. Le CT_LIMIT L'option est destinée à protéger votre serveur des attaques DOS.

Si vous choisissez de ne pas recevoir ces notifications, vous pouvez les désactiver en les trouvant dans le fichier csf.conf et en définissant leurs valeurs sur 0, ou vous pouvez simplement exécuter les commandes suivantes :

sed -i 's/LF_EMAIL_ALERT ="1"/LF_EMAIL_ALERT ="0"/g' /etc/csf/csf.confsed -i 's/LF_PERMBLOCK_ALERT ="1"/LF_PERMBLOCK_ALERT ="0"/g' /etc/csf/csf.confsed -i 's/LF_NETBLOCK_ALERT ="1"/LF_NETBLOCK_ALERT ="0"/g' /etc/csf/csf.confsed -i 's/LF_DISTFTP_ALERT ="1"/LF_DISTFTP_ALERT ="0 "/g' /etc/csf/csf.confsed -i 's/LF_DISTSMTP_ALERT ="1"/LF_DISTSMTP_ALERT ="0"/g' /etc/csf/csf.confsed -i 's/LT_EMAIL_ALERT ="1"/ LT_EMAIL_ALERT ="0"/g' /etc/csf/csf.confsed -i 's/CT_EMAIL_ALERT ="1"/CT_EMAIL_ALERT ="0"/g' /etc/csf/csf.conf

Une fois les modifications apportées, vous devez redémarrer CSF et LFD à l'aide des commandes systemctl suivantes :

systemctl redémarrer csf systemctl redémarrer lfd

Étape 5 :Gérer le CSF à partir de la ligne de commande

Vous pouvez gérer CSF à partir de la ligne de commande ou via l'interface utilisateur Web intégrée. Dans cette partie du didacticiel, nous allons dresser une courte liste de commandes utiles qui peuvent vous aider à gérer CSF à partir de votre ligne de commande.

Démarrer, arrêter et redémarrer/recharger CSF :

csf -s :Démarrer csf
csf -f :Arrête csf
csf -r :Recharger/Redémarrer csf

Autoriser une adresse IP et l'ajouter à csf.allow (liste blanche d'une adresse IP) :

csf -a 123.45.67.89

Sortie :

Ajout de 123.45.67.89 à csf.allow et iptables ACCEPT...ACCEPT all opt -- in !lo out * 123.45.67.89 -> 0.0.0.0/0 ACCEPT all opt -- in * out !lo 0.0.0.0 /0 -> 123.45.67.89

Supprimer et supprimer une IP de csf.allow :

csf-ar 123.45.67.89

Sortie :

Removing rule...ACCEPT all opt -- in !lo out * 123.45.67.89 -> 0.0.0.0/0 ACCEPT all opt -- in * out !lo 0.0.0.0/0 -> 123.45.67.89 

Refuser une IP et ajouter à csf.deny (Blacklister une IP):

csf -d 123.45.67.89

Sortie :

Ajout de 123.45.67.89 à csf.deny et iptables DROP...DROP all opt -- in !lo out * 123.45.67.89 -> 0.0.0.0/0 LOGDROPOUT all opt -- in * out !lo 0.0.0.0 /0 -> 123.45.67.89

Supprimer et supprimer une adresse IP de csf.deny (débloquer l'adresse IP) :

csf-dr 123.45.67.89

Sortie :

Suppression de la règle...DROP all opt -- in !lo out * 123.45.67.89 -> 0.0.0.0/0 LOGDROPOUT all opt -- in * out !lo 0.0.0.0/0 -> 123.45.67.89 

Supprimez et débloquez toutes les adresses IP de csf.deny :

csf-df

Sortie :

DROP all opt -- in !lo out * 123.45.67.88 -> 0.0.0.0/0 LOGDROPOUT all opt -- in * out !lo 0.0.0.0/0 -> 123.45.67.88 DROP all opt -- in ! lo out * 123.45.67.89 -> 0.0.0.0/0 LOGDROPOUT all opt -- in * out !lo 0.0.0.0/0 -> 123.45.67.89 csf :toutes les entrées supprimées de csf.deny

Recherchez une correspondance de modèle dans iptables, par exemple :IP, CIDR, numéro de port :

csf-g 123.45.67.89

Sortie :

Table Chain num pkts bytes target prot opt ​​in out source destinationfilter DENYIN 1 0 0 DROP all -- !lo * 123.45.67.89 0.0.0.0/0filter DENYOUT 1 0 0 LOGDROPOUT all -- * !lo 0.0.0.0/0 123.45.67.89

Affiche la liste actuelle des entrées IP temporaires d'autorisation et de refus avec leur TTL et un commentaire :

csf-t

Vérifiez les mises à jour de csf et mettez à niveau si disponible :

csf-u

Désactivez complètement CSF et LFD :

csf-x

Activer CSF et LFD si précédemment désactivé :

csf-e

Afficher la version CSF :

csf -v

Sortie :

csf :v13.04 (générique)

Pour plus d'options, vous pouvez cocher la commande suivante :

csf -h

Étape 6 :Activer l'interface utilisateur Web du pare-feu CSF

Dans cette étape, nous vous montrerons comment activer l'interface utilisateur Web CSF. Cette étape est facultative et ne doit être utilisée que si vous n'utilisez pas un panneau de configuration prenant en charge l'interface utilisateur CSF (par exemple, WHM/cPanel, DirectAdmin, Webmin, etc.)

L'interface utilisateur CSF nécessite l'installation de plusieurs modules Perl sur votre serveur. Vous pouvez répondre à ces exigences en installant les modules Perl avec la commande suivante :

apt installer libio-socket-ssl-perl libcrypt-ssleay-perl libnet-libidn-perl libio-socket-inet6-perl libsocket6-perl

Ensuite, activez l'interface utilisateur Web CSF. Vous pouvez activer l'interface Web CSF en modifiant le fichier csf.conf :

nano /etc/csf/csf.conf

et mettez à jour les valeurs suivantes :

# 1 pour activer, 0 pour désactiver l'interface utilisateur Web ="1"# Définir le port pour l'interface utilisateur Web. Le port par défaut est 6666, mais # je le change en 7171 pour un accès facile. Le port par défaut crée un problème# avec les navigateurs chrome et firefox (dans mon cas)UI_PORT ="7171"# Laisser vide pour se lier à toutes les adresses IP sur le serveur UI_IP =""# Définir le nom d'utilisateur pour l'authentification UI_USER ="admin"# Définissez un mot de passe fort pour l'authentification UI_PASS ="Str0n9_PasSw0rD"

N'hésitez pas à changer les valeurs de notre exemple avec des valeurs appropriées. Une fois que vous avez effectué et enregistré les modifications, vous pouvez ajouter votre adresse IP publique à la liste blanche en modifiant le fichier de configuration ui.allow.

Remplacez le 'Your_Public_IP_Address ‘ avec votre adresse IP réelle et exécutez la commande :

sudo echo "Your_Public_IP_Address">> /etc/csf/ui/ui.allow

Pour appliquer les modifications que vous avez apportées, vous devez redémarrer le service LFD. Redémarrez le démon LFD sur votre serveur en utilisant la commande suivante :

redémarrage lfd du service sudo

Vous devriez maintenant pouvoir accéder à l'interface utilisateur CSF sur votre navigateur avec l'adresse IP de votre serveur et le port spécifique que vous avez utilisé dans le fichier csf.conf. Dans notre exemple, nous avons utilisé le port 7171.

https://Your_Public_IP_Address:7171

Une fois la connexion réussie, vous devriez pouvoir afficher l'interface utilisateur CSF.

Quick Allow, Quick Deny ou Quick Unblock peuvent être des options très utiles de l'interface utilisateur CSF.

Dans cet article, nous vous avons montré comment installer et configurer un pare-feu avec CSF sur Debian 9, ainsi que brièvement l'utilisation de CSF. Vous pouvez maintenant utiliser les connaissances de ce guide et commencer à créer vos propres règles de pare-feu CSF qui vous aideront à protéger votre serveur.

Bien sûr, si vous êtes l'un de nos clients d'hébergement Debian, vous n'avez pas besoin de configurer votre pare-feu avec CSF sur votre serveur - demandez simplement à nos administrateurs, asseyez-vous et détendez-vous. Nos administrateurs configureront immédiatement pour vous les règles de pare-feu sur votre serveur.

PS. Si vous avez aimé cet article sur la configuration d'un pare-feu avec CSF sur Debian 9, partagez-le avec vos amis sur les réseaux sociaux en utilisant les boutons de partage ci-dessous, ou laissez simplement un commentaire dans la section des commentaires. Merci.


Debian
  1. Comment configurer un pare-feu avec UFW sur Debian 10

  2. Comment configurer un pare-feu avec UFW sur Debian 9

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

  4. Comment configurer un pare-feu avec UFW sur Debian 9

  5. Comment installer et configurer le pare-feu CSF sur Debian 11

Comment installer Config Server Firewall (CSF) sur Debian 11

Comment configurer LAMP avec Debian 11

Comment configurer la liaison avec Debian 11

Comment configurer le serveur Samba avec Debian 11

Comment installer Nginx avec PHP-FPM sur Debian 11

Comment configurer le pare-feu CSF sur Debian 10