Les serveurs Linux ont acquis une énorme popularité parmi les entreprises et les particuliers en raison de leur flexibilité, de leur rentabilité et de leurs performances puissantes. Cependant, assurer la sécurité de ces serveurs est d’une importance primordiale.

Dans cet article, nous allons explorer comment sécuriser les serveurs Linux à l’aide de CSF (ConfigServer Security & Firewall) ou d’un logiciel similaire, et vous fournir des liens et des exemples pour renforcer votre serveur.

Qu’est-ce que le FSC ?

CSF est un pare-feu puissant et dynamique spécialement conçu pour les serveurs Linux. Il fournit une interface facile à utiliser et des fonctionnalités de sécurité complètes, ce qui en fait un choix populaire parmi les administrateurs système.

CSF n’est pas seulement un pare-feu, mais aussi un système de détection d’intrusion, surveillant et bloquant activement les activités malveillantes.

Vous pouvez en savoir plus sur CSF et ses fonctionnalités sur leur site officiel : ConfigServer Security & Firewall .

Pourquoi choisir CSF ?

Il existe plusieurs raisons de choisir CSF plutôt que d’autres solutions de pare-feu pour votre serveur Linux :

  • Installation et configuration faciles
  • Mises à jour régulières et support communautaire actif
  • Compatibilité avec la plupart des distributions Linux et des panneaux de contrôle
  • Fonctions de sécurité complètes, y compris la détection des intrusions et le suivi des échecs de connexion
  • Options de configuration personnalisables

Comment installer et configurer CSF

Avant d’installer CSF, il est essentiel de désinstaller ou de désactiver tout autre pare-feu sur votre serveur. Suivez ces étapes pour installer et configurer CSF :

  1. Connectez-vous à votre serveur en tant qu’utilisateur root via SSH.
  2. Téléchargez la dernière version de CSF à l’aide de la commande :
1wget https://download.configserver.com/csf.tgz
  1. Extrayez l’archive téléchargée :
1tar -xzf csf.tgz
  1. Accédez au répertoire extrait et exécutez le script d’installation :
1cd csf
2sh install.sh
  1. Ouvrez le fichier de configuration dans /etc/csf/csf.conf avec votre éditeur de texte préféré (par exemple, nano ou vim). Personnalisez les paramètres en fonction de vos exigences de sécurité.
  2. Après avoir configuré CSF, testez la compatibilité de votre serveur en exécutant :
1perl /usr/local/csf/bin/csftest.pl
  1. Si le test réussit, activez CSF en modifiant le paramètre TESTING dans le fichier de configuration sur 0.
  2. Redémarrez CSF pour appliquer les modifications :
1csf -r

Pour des instructions plus détaillées et des options de configuration, reportez-vous à la documentation officielle CSF .

Configuration CSF optimale pour une sécurité renforcée

Voici quelques paramètres recommandés pour une configuration CSF optimale afin d’améliorer la sécurité de votre serveur Linux.

Gardez à l’esprit que ces paramètres peuvent ne pas convenir à tous les environnements de serveur, il est donc important de les adapter en fonction de vos besoins spécifiques. Testez toujours les modifications avant de les implémenter sur un serveur de production.

  1. Restreindre les connexions entrantes et sortantes

Limitez les connexions entrantes et sortantes aux seuls ports nécessaires en les spécifiant dans les sections TCP_IN, TCP_OUT, UDP_IN et UDP_OUT. Par exemple:

1TCP_IN = "22,80,443"
2TCP_OUT = "22,80,443,53"
3UDP_IN = "53"
4UDP_OUT = "53"
  1. Activer la détection d’échec de connexion

Assurez-vous que CSF suit les échecs de connexion en activant les options LF_* dans le fichier de configuration :

1LF_TRIGGER = "5"
2LF_SSHD = "5"
3LF_FTPD = "10"
4LF_SMTPAUTH = "5"
5LF_POP3D = "10"
6LF_IMAPD = "10"

Cet exemple définit un déclencheur pour un blocage temporaire après 5 tentatives de connexion infructueuses au cours de la période spécifiée pour SSH, FTP, SMTP, POP3 et IMAP.

  1. Activer le suivi des processus

Surveillez les processus du serveur pour toute activité suspecte en activant le suivi des processus :

1PT_LIMIT = "60"
2PT_USERMEM = "200"
3PT_USERTIME = "1800"
4PT_USERKILL = "1"

Cet exemple définit un intervalle de 60 secondes pour le suivi des processus, avec une limite d’utilisation de la mémoire de 200 Mo, une durée de traitement maximale de 1 800 secondes et la possibilité d’arrêter les processus qui dépassent ces limites.

  1. N’oubliez pas de redémarrer CSF après avoir apporté des modifications au fichier de configuration :
1csf -r

Utilisation de profils dans CSF pour une sécurité renforcée

Les profils dans CSF sont des ensembles prédéfinis d’options de configuration adaptés à des cas d’utilisation ou à des niveaux de sécurité spécifiques. Ils vous permettent de basculer rapidement entre différentes configurations sans ajuster manuellement les paramètres individuels.

Cela peut être particulièrement utile lorsque vous souhaitez appliquer des mesures de sécurité plus strictes ou assouplir temporairement les règles. Dans cette section, nous expliquerons ce que sont les profils, comment les utiliser et certaines considérations lors de leur mise en œuvre.

Que sont les profils CSF ?

Les profils CSF sont essentiellement des fichiers de configuration qui stockent des paramètres spécifiques pour différents scénarios. Ces profils peuvent être appliqués avec une seule commande, ce qui facilite le basculement entre différentes configurations de sécurité.

CSF est livré avec plusieurs profils par défaut, chacun conçu pour un usage particulier, tel qu’un serveur Web ou un serveur de messagerie.

Comment utiliser les profils CSF

  1. Tout d’abord, accédez au répertoire du profil CSF :
1cd /usr/local/csf/profiles
  1. Listez les profils disponibles :
1ls

Vous devriez voir une liste de profils par défaut, tels que webserver.conf, mailserver.conf et default.conf.

  1. Pour appliquer un profil, utilisez la commande suivante :
1csf --profile <profile_name>
  1. Par exemple, pour appliquer le profil webserver.conf, utilisez :
1csf --profile webserver
  1. Si vous souhaitez créer votre profil personnalisé, copiez le fichier de configuration existant dans le répertoire profiles :
1cp /etc/csf/csf.conf /usr/local/csf/profiles/my_custom_profile.conf

Ensuite, modifiez le fichier my_custom_profile.conf à l’aide de votre éditeur de texte préféré et ajustez les paramètres en fonction de vos besoins. Une fois que vous avez apporté les modifications, vous pouvez appliquer le profil personnalisé à l’aide de la même commande mentionnée précédemment.

Considérations lors de l’utilisation des profils CSF

  1. Sauvegardez votre configuration actuelle avant d’appliquer un nouveau profil. Cela garantit que vous pouvez facilement revenir aux paramètres précédents si nécessaire.
  2. Testez le nouveau profil dans un environnement hors production avant de l’appliquer à un serveur actif. Cela aide à identifier les problèmes ou conflits potentiels qui pourraient survenir.
  3. Lors de la création de profils personnalisés, assurez-vous de suivre les meilleures pratiques de sécurisation des serveurs Linux et tenez compte de votre cas d’utilisation et de votre environnement spécifiques.
  4. Révisez et mettez à jour régulièrement vos profils pour rester à jour avec les dernières recommandations de sécurité et les meilleures pratiques.
  5. Gardez à l’esprit que l’application d’un nouveau profil écrasera les paramètres actuels. Assurez-vous de revérifier le contenu du profil avant de l’appliquer, surtout si vous utilisez un profil personnalisé ou avez apporté des modifications aux profils par défaut.

En comprenant et en utilisant les profils CSF, vous pouvez gérer et basculer efficacement entre différentes configurations de sécurité pour votre serveur Linux. Cela permet non seulement de gagner du temps, mais garantit également que votre serveur reste protégé dans diverses circonstances.

Configuration de l’interface utilisateur CSF

CSF fournit une interface utilisateur (UI) basée sur le Web pour gérer et configurer le pare-feu. Cette interface graphique est particulièrement utile pour ceux qui ne sont pas à l’aise avec les outils de ligne de commande ou qui préfèrent une manière visuelle de gérer les paramètres.

Dans cette section, nous allons vous guider dans la configuration de l’interface utilisateur CSF et discuter de certaines considérations pour son utilisation.

Comment configurer l’interface utilisateur CSF

L’interface utilisateur CSF est disponible par défaut pour les panneaux de contrôle populaires tels que cPanel, DirectAdmin et Webmin. Si vous utilisez l’un de ces panneaux de contrôle, l’interface utilisateur CSF doit déjà être intégrée à votre panneau.

Pour d’autres panneaux de contrôle ou un serveur sans panneau de contrôle, vous pouvez configurer l’interface utilisateur CSF en procédant comme suit :

  1. Assurez-vous que les dépendances requises sont installées sur votre serveur :
  • Perle
  • Le module LWP (libwww-perl)
  • Le module GD (libgd)
  • Le module GD::Graph

Vous pouvez installer ces dépendances à l’aide de votre gestionnaire de packages. Par exemple, sur Ubuntu :

1sudo apt-get install perl libwww-perl libgd-dev libgd-perl libgd-graph-perl
  1. Ouvrez le fichier de configuration CSF dans /etc/csf/csf.conf avec votre éditeur de texte préféré (par exemple, nano ou vim).
  2. Localisez les paramètres suivants et modifiez-les comme suit :
1UI = "1"
2UI_PORT = "<your_desired_port>"
3UI_USER = "<your_username>"
4UI_PASS = "<your_password>"

Remplacez <your_desired_port> par un numéro de port inutilisé (par exemple, 8080), <your_username> par un nom d’utilisateur de votre choix et <your_password> par un mot de passe fort et unique.

  1. Enregistrez et fermez le fichier de configuration.
  2. Redémarrez CSF pour appliquer les modifications :
1csf -r

Accédez à l’interface utilisateur CSF en accédant à http://your_server_ip:<your_desired_port> dans votre navigateur Web et connectez-vous avec le nom d’utilisateur et le mot de passe que vous avez spécifiés dans le fichier de configuration.

Comment configurer HTTPS pour l’interface utilisateur CSF

Il est essentiel de sécuriser l’interface utilisateur CSF avec HTTPS pour protéger vos identifiants de connexion et la transmission de données. L’utilisation de HTTPS est fortement recommandée, en particulier lors de l’accès à l’interface utilisateur via Internet.

Dans cette section, je vais vous montrer comment configurer HTTPS pour l’interface utilisateur CSF à l’aide de Let’s Encrypt, ACME ou Certbot, et où placer les certificats générés afin que CSF puisse les lire.

HTTPS avec Certbot

  1. Assurez-vous que Certbot est installé sur votre serveur. Vous pouvez suivre les instructions pour votre distribution spécifique sur le site Web de Certbot .
  2. Générez un certificat pour votre domaine à l’aide de Certbot :
1sudo certbot certonly --standalone -d exemple.com

Remplacez exemple.com par votre domaine. Assurez-vous que le domaine pointe vers l’adresse IP de votre serveur.

  1. Après avoir généré le certificat, vous trouverez les fichiers de certificat dans le répertoire /etc/letsencrypt/live/exemple.com/. Les fichiers dont vous avez besoin sont fullchain.pem (le certificat) et privkey.pem (la clé privée).
  2. Copiez les fichiers de certificat dans un emplacement où CSF peut les lire :
1sudo cp /etc/letsencrypt/live/exemple.com/fullchain.pem /etc/csf/ui/ssl/cert.pem
2sudo cp /etc/letsencrypt/live/exemple.com/privkey.pem /etc/csf/ui/ssl/key.pem
  1. Ouvrez le fichier de configuration CSF dans /etc/csf/csf.conf avec votre éditeur de texte préféré (par exemple, nano ou vim).
  2. Modifiez les paramètres suivants :
1UI_SSL = "1"
2UI_CERT = "/etc/csf/ui/ssl/cert.pem"
3UI_KEY = "/etc/csf/ui/ssl/key.pem"
  1. Save and close the configuration file.
  2. Restart CSF to apply the changes:
1csf -r

Désormais, vous pouvez accéder à l’interface utilisateur CSF en toute sécurité via HTTPS en accédant à https://exemple.com:<your_desired_port> dans votre navigateur Web.

N’oubliez pas de renouveler le certificat Let’s Encrypt tous les 90 jours, car ils ont une courte période de validité. Vous pouvez automatiser ce processus à l’aide d’une tâche cron.

Gardez à l’esprit que HTTPS est nécessaire et fortement recommandé pour sécuriser l’interface utilisateur CSF. En suivant ces étapes, vous pouvez vous assurer que vos identifiants de connexion et la transmission de données restent à l’abri des menaces potentielles.

Considérations lors de l’utilisation de l’interface utilisateur CSF

  1. Choisissez un mot de passe fort et unique pour l’interface utilisateur CSF afin d’empêcher tout accès non autorisé. Assurez-vous de mettre à jour régulièrement le mot de passe et évitez d’utiliser le même mot de passe pour d’autres services.
  2. Limitez l’accès à l’interface utilisateur CSF en autorisant uniquement des adresses IP spécifiques à se connecter à l’interface utilisateur. Vous pouvez le faire en modifiant le paramètre UI_ALLOW dans le fichier de configuration CSF :
1UI_ALLOW = "192.168.1.1,192.168.1.2"

Remplacez les exemples d’adresses IP par celles auxquelles vous souhaitez autoriser l’accès à l’interface utilisateur CSF.

  1. Assurez-vous que le port choisi pour l’interface utilisateur CSF n’est pas déjà utilisé par d’autres services. De plus, il est recommandé de choisir un port non standard pour réduire les risques d’attaques automatisées.
  2. Mettez régulièrement à jour l’interface utilisateur CSF et ses dépendances pour vous protéger contre les vulnérabilités connues et les problèmes de sécurité.
  3. Surveillez les journaux d’accès pour identifier toute activité suspecte ou tentative de connexion non autorisée. Les journaux CSF peuvent être trouvés dans /var/log/lfd.log.

En configurant et en utilisant l’interface utilisateur CSF, vous pouvez gérer et configurer efficacement les paramètres de votre pare-feu via une interface graphique facile à utiliser.

Assurez-vous de suivre les meilleures pratiques et de tenir compte des points mentionnés ci-dessus pour maintenir un environnement sécurisé et fiable.

Protection CSF contre les attaques DDoS

CSF peut aider à protéger votre serveur contre les attaques par déni de service distribué (DDoS) en mettant en œuvre diverses configurations et mesures de sécurité.

Dans cette section, je vais expliquer comment CSF peut se défendre contre les attaques DDoS et fournir quelques exemples de configurations et de recommandations.

Protection contre les inondations SYN

Les attaques d’inondation SYN sont un type d’attaque DDoS où un attaquant envoie un grand nombre de paquets SYN à un serveur, ce qui l’amène à épuiser ses ressources tout en essayant d’établir des connexions.

Pour activer la protection contre les inondations SYN dans CSF, ajustez les paramètres suivants dans le fichier /etc/csf/csf.conf :

1SYNFLOOD = "1"
2SYNFLOOD_RATE = "100/s"
3SYNFLOOD_BURST = "150"

Ces paramètres activeront la protection contre les inondations SYN et configureront les limites de débit et de rafale pour les connexions entrantes.

Protection de limite de connexion

En limitant le nombre de connexions simultanées à votre serveur, vous pouvez atténuer les attaques DDoS ciblant des services spécifiques.

Pour activer la protection de la limite de connexion, configurez le paramètre CONNLIMIT :

1CONNLIMIT = "22;5,80;50,443;50"

Cet exemple limite le nombre de connexions à 5 pour SSH (22), 50 pour HTTP (80) et 50 pour HTTPS (443).

Protection contre les inondations portuaires

La protection contre les inondations de ports aide à se défendre contre les attaques DDoS qui ciblent des ports spécifiques sur votre serveur.

Pour activer la protection contre les inondations de ports, configurez le paramètre PORTFLOOD :

1PORTFLOOD = "22;tcp;5;300,80;tcp;30;5,443;tcp;30;5"

Cet exemple limite le taux de nouvelles connexions pour SSH (22) à 5 toutes les 300 secondes, et pour HTTP (80) et HTTPS (443) à 30 toutes les 5 secondes.

Listes de blocage

CSF peut s’intégrer à diverses listes de blocage IP pour empêcher les adresses IP malveillantes connues d’accéder à votre serveur.

Pour activer l’intégration de la liste de blocage, configurez les paramètres BLOCKLIST_* dans le fichier de configuration CSF :

1BLOCKLIST_DE = "1"
2BLOCKLIST_6DE = "1"
3BLOCKLIST_DE_URL = "https://lists.blocklist.de/lists/all.txt"
4BLOCKLIST_6DE_URL = "https://lists.blocklist.de/lists/ipv6/all.txt"

Cet exemple permet l’intégration avec les listes de blocage blocklist.de pour les adresses IPv4 et IPv6.

Blocage au niveau du pays

CSF vous permet de bloquer l’accès depuis des pays spécifiques à l’aide des paramètres CC_DENY et CC_ALLOW_FILTER. Bien que cette méthode ne convienne pas à toutes les situations, elle peut être utile dans les cas où vous souhaitez restreindre l’accès depuis des pays connus pour lancer des attaques DDoS.

1CC_DENY = "CN,IR,RU"
2CC_ALLOW_FILTER = "US,CA,GB"

Cet exemple bloque l’accès depuis la Chine (CN), l’Iran (IR) et la Russie (RU) et autorise uniquement les connexions entrantes depuis les États-Unis (US), le Canada (CA) et le Royaume-Uni (GB).

N’oubliez pas de redémarrer CSF après avoir apporté des modifications au fichier de configuration :

1csf -r

En mettant en œuvre ces configurations et recommandations, vous pouvez améliorer considérablement la protection de votre serveur contre les attaques DDoS.

Gardez à l’esprit qu’aucune mesure de sécurité n’est infaillible, il est donc crucial de surveiller régulièrement votre serveur pour détecter les menaces potentielles et d’adapter vos paramètres CSF en conséquence.

Solutions de sécurité alternatives

Bien que CSF soit un excellent choix pour la sécurité des serveurs Linux, vous pouvez envisager des solutions alternatives offrant des fonctionnalités similaires :

  • UFW (Uncomplicated Firewall)  : un pare-feu convivial pour les systèmes basés sur Ubuntu.
  • Firewalld  : un outil de gestion de pare-feu pour les distributions Linux qui utilisent systemd.
  • IPTables  : un puissant outil de ligne de commande pour le filtrage de paquets et la traduction d’adresses réseau sous Linux.

Conclusion

La sécurisation de votre serveur Linux est essentielle pour protéger vos données et maintenir l’intégrité de votre serveur. CSF fournit une solution puissante et conviviale pour atteindre cet objectif.

En suivant les étapes décrites dans cet article, vous pouvez facilement installer et configurer CSF sur votre serveur Linux. N’oubliez pas d’explorer des solutions de sécurité alternatives telles que UFW, Firewalld et IPTables si vous recherchez des options supplémentaires.

J’espère que vous avez trouvé cet article utile et informatif pour sécuriser votre serveur Linux avec CSF. Si vous avez apprécié cet article et que vous l’avez trouvé utile, n’hésitez pas à le partager avec d’autres personnes qui pourraient en bénéficier. Je vous encourage également à laisser un commentaire avec vos pensées ou vos questions, et je serai plus qu’heureux de vous aider. 😊

Restez vigilant et sécurisez vos serveurs en 2023 et au-delà !