Installer et configurer ConfigServer Firewall (CSF) sur CentOS 7

Intentions principales
- Installer et vérifier CSF sur CentOS 7
- Configurer CSF pour un usage serveur en production
- Commandes d’administration courantes et dépannage
Variantes d’intention utiles
- installer CSF CentOS 7
- configurer CSF WHM/cPanel
- CSF vs fail2ban
- sécuriser serveur SSH avec CSF
Prérequis
- Un serveur CentOS 7 (exemple dans ce guide : IP 192.168.1.101)
- Accès root ou équivalent (sudo)
- Connexion Internet pour télécharger les paquets et CSF
Important: Ce guide suppose que vous avez accès à la console et que vous pouvez arrêter firewalld si installé. Conservez un accès alternatif (console KVM/IPMI) si vous modifiez les règles réseau à distance.
Résumé rapide des étapes
- Installer les dépendances (Perl, wget, éditeur)
- Télécharger et installer CSF
- Vérifier le fonctionnement avec csftest.pl
- Désactiver firewalld et activer csf + lfd
- Ajuster csf.conf (TESTING, ports SSH, etc.)
- Tests et recettes de dépannage
1. Installation des dépendances
CSF est écrit en Perl; installez donc Perl et quelques utilitaires. Sur CentOS 7, exécutez :
yum install wget vim perl-libwww-perl.noarch perl-Time-HiRes
Explication rapide: wget sert à télécharger l’archive CSF, vim (ou tout autre éditeur) sert à modifier /etc/csf/csf.conf, et les modules Perl permettent à CSF de fonctionner pleinement.
2. Télécharger et installer CSF
Placez-vous dans /usr/src/ et téléchargez l’archive officielle :
cd /usr/src/
wget https://download.configserver.com/csf.tgz
Puis extrayez et installez :
tar -xzf csf.tgz
cd csf
sh install.sh
À la fin de l’installation, vous devriez recevoir une confirmation indiquant que l’installation est terminée.
3. Vérifier que CSF fonctionne
Exécutez le script de test fourni :
cd /usr/local/csf/bin/
perl csftest.pl
Résultat attendu :
RESULT: csf should function on this server
Important: Ce test ne garantit pas que la politique appliquée est correcte pour votre production — il valide uniquement la compatibilité système.
4. Préparer CentOS 7: arrêter firewalld
CentOS 7 installe souvent firewalld par défaut. CSF fonctionne avec iptables/xtables ; il est recommandé d’arrêter et désactiver firewalld avant d’activer CSF :
systemctl stop firewalld
systemctl disable firewalld
Remarque: Si vous utilisez firewalld pour des raisons spécifiques (zones, rich rules), documentez la configuration avant de la supprimer et assurez-vous d’avoir des sauvegardes ou une sortie de secours.
5. Configuration initiale de CSF
Éditez le fichier principal :
cd /etc/csf/
vim csf.conf
- Désactivez le mode test pour appliquer les règles (modifier la ligne TESTING) :
TESTING = "0"
- Si SSH n’utilise pas le port 22, ajoutez votre port dans TCP_IN (ligne ~139) :
TCP_IN = "22,2222"
- Pour que CSF démarre et surveille les logs, lancez et activez les services :
systemctl start csf
systemctl start lfd
systemctl enable csf
systemctl enable lfd
Vérifiez les règles en place :
csf -l
6. Commandes CSF de base
- Activer le pare-feu (appliquer les règles) :
csf -s
- Vider/arrêter le pare-feu :
csf -f
- Recharger la configuration :
csf -r
- Autoriser une IP de manière permanente (ajout à csf.allow) :
csf -a 192.168.1.109
- Supprimer une IP de csf.allow :
csf -ar 192.168.1.109
- Bloquer une IP (ajout à csf.deny) :
csf -d 192.168.1.109
- Retirer une IP de csf.deny :
csf -dr 192.168.1.109
- Vider csf.deny :
csf -df
- Rechercher une règle par motif (IP, CIDR, port) :
csf -g 192.168.1.110
Note: Les exemples ci-dessus affichent les entrées iptables associées au moment des opérations.
7. Configuration avancée et réglages utiles
Ouvrez à nouveau /etc/csf/csf.conf pour ces réglages courants :
- Ne pas bloquer les IP listées dans csf.allow
Par défaut, lfd peut bloquer une IP même si elle est dans csf.allow. Pour éviter cela :
IGNORE_ALLOW = "1"
Utile si vous avez des IP fixes d’administrateurs que vous ne voulez jamais voir bloquées.
- Autoriser ICMP entrant et sortant (ping)
ICMP_IN = "1"
ICMP_OUT = "1"
- Filtrage par pays (CIDR via codes pays)
CC_DENY = "CN,UK,US"
CC_ALLOW = "ID,MY,DE"
Attention: Le géoblocage peut générer des faux positifs et compliquer l’accès légitime (API, CDN). Tester avant déploiement massif.
- Alertes par email pour connexions SSH et commandes su
Activez les alertes et définissez la destination :
LF_SSH_EMAIL_ALERT = "1"
LF_SU_EMAIL_ALERT = "1"
LF_ALERT_TO = "[email protected]"
Ces alertes aident à détecter des escalades de privilèges ou des connexions suspectes.
8. Durcissement et bonnes pratiques de sécurité
- Utilisez une liste blanche d’adresses IP pour l’administration (csf.allow) et limitez l’accès SSH aux adresses connues si possible.
- Changez le port SSH et limitez les tentatives via LF* variables (ex : LF_SSH* dans csf.conf).
- Activez la journalisation et configurez la rotation des logs (logrotate) pour éviter de remplir le disque.
- Vérifiez l’interaction avec SELinux : CSF fonctionne avec SELinux activé, mais testez les règles applicatives.
- Faites une sauvegarde de /etc/csf/csf.conf avant tout changement majeur.
- Intégration avec WHM/cPanel, DirectAdmin, Webmin : CSF propose des modules/plug-ins pour ces UI, utilisez-les si vous gérez des environnements hébergés.
9. Playbook d’installation (SOP) court
- Étape 0 : Accès console phys/virt et sauvegarde instantanée (snapshot).
- Étape 1 : Installer dépendances (yum …).
- Étape 2 : Télécharger et installer CSF.
- Étape 3 : Exécuter perl csftest.pl.
- Étape 4 : Arrêter firewalld si présent.
- Étape 5 : Modifier TESTING = “0” et configurer TCP_IN/TCP_OUT.
- Étape 6 : Lancer csf et lfd, vérifier csf -l.
- Étape 7 : Exécuter tests d’accès réseau depuis une autre machine.
- Étape 8 : Monitorer les logs pendant 24–48 heures, ajuster.
Rollback rapide :
- Pour revenir en arrière immédiatement :
csf -f
systemctl stop lfd
systemctl stop csf
Puis restaurer la sauvegarde de csf.conf et redémarrer si besoin.
10. Cas de test et critères d’acceptation
- csftest.pl renvoie “RESULT: csf should function on this server”.
- SSH restant accessible depuis une IP autorisée après activation de TESTING=0.
- Les ports ouverts dans TCP_IN apparaissent dans csf -l.
- Les alertes email (si activées) sont reçues pour connexions SSH et commandes su.
- Aucune interruption de service constatée sur les services critiques (web, mail, base de données).
11. Dépannage courant
- Problème : Perte d’accès SSH après activation de CSF — Solution : Utilisez console directe pour ajouter votre IP à csf.allow (csf -a
) ou exécutez csf -f pour vider les règles. - Problème : lfd bloque des IP dans csf.allow — Vérifiez IGNOREALLOW et les réglages LF* (p.ex. LF_TRIGGER).
- Problème : Géoblocage trop strict — retirez ou ajustez CC_DENY/CC_ALLOW et testez avec csf -g pour voir les règles.
12. Comparaison rapide avec fail2ban
- CSF : pare-feu applicatif + LFD (intégration iptables), conçu pour serveurs d’hébergement, interface d’administration, large ensemble d’options.
- fail2ban : système de bannissement basé sur des expressions régulières dans les logs, léger et modulaire.
Choix heuristique : pour un hébergement mutualisé avec cPanel/WHM, CSF est souvent préféré car il offre une intégration UI et une gestion centralisée. Pour des scénarios simples et dédiés, fail2ban peut suffire.
13. Checklist rôles (Admin / Support)
- Administrateur système : vérifier TESTING, sauvegarder csf.conf, automatiser sauvegardes et monitoring.
- Support niveau 1 : connaître les commandes csf -l, csf -a, csf -d, csf -r pour déverrouiller rapidement un accès client.
- Sécurité/Opérations : configurer alertes email, surveiller logs LFD et ajuster règles géo/ports.
14. Glossaire (une ligne chacun)
- CSF : ConfigServer Firewall, pare-feu applicatif pour serveurs Linux.
- LFD : Login Failure Daemon, composant de détection d’intrusion lié à CSF.
- TCP_IN / TCP_OUT : variables de csf.conf listant les ports TCP entrants/sortants autorisés.
15. FAQ
Q : CSF est-il compatible avec SELinux ? R : Oui, CSF fonctionne avec SELinux activé, mais testez vos règles car SELinux peut restreindre certains comportements applicatifs.
Q : Peut-on utiliser CSF et firewalld ensemble ? R : Ce n’est pas recommandé. Désactivez firewalld avant d’activer CSF pour éviter des règles conflictuelles.
Q : CSF remplace-t-il fail2ban ? R : CSF inclut des fonctionnalités similaires à fail2ban (lfd). Beaucoup d’équipes utilisent CSF comme alternative, surtout sur des panneaux d’hébergement.
Conclusion
CSF est une solution robuste et pratique pour renforcer la sécurité réseau des serveurs CentOS 7, spécialement dans des environnements d’hébergement intégrés (cPanel/WHM, DirectAdmin, Webmin). Suivez la checklist d’installation, testez en environnement non productif puis surveillez les logs après déploiement. En cas de problème, conservez un plan de rollback et un accès console de secours.
Résumé des actions prioritaires : sauvegarder, tester, configurer TESTING=0, autoriser les IP administrateur, surveiller.
Matériaux similaires

Regarder TF1 depuis les États-Unis — 4 méthodes fiables

Résoudre l'erreur Origin 65546:0 rapidement

Corriger le bug 0 abonnés Feedburner

Transférer des fichiers entre iPad et Android

Escaliers colimaçon et cercles — Conan Exiles
