Pare-feu du serveur de configuration/CSF est une suite d'applications de pare-feu pour les serveurs Linux. CSF est également une détection de connexion/intrusion pour des applications telles que SSH, SMTP, IMAP, Pop3, la commande "su" et bien d'autres. Le CSF peut par ex. détecte quand quelqu'un se connecte au serveur via SSH et vous alerte lorsque cet utilisateur essaie d'utiliser la commande "su" sur le serveur pour obtenir des privilèges plus élevés. Il vérifie également les échecs d'authentification de connexion sur les serveurs de messagerie (Exim, IMAP, Dovecot, uw-imap, Kerio), les serveurs OpenSSH, les serveurs FTP (Pure-ftpd, vsftpd, Proftpd), le serveur cPanel pour remplacer les logiciels comme fail2ban. CSF est une bonne solution de sécurité pour l'hébergement de serveurs et peut être intégrée à l'interface utilisateur (UI) de WHM/cPanel, DirectAdmin et Webmin.
Prérequis
- CentOS 7 (mon serveur utilise l'IP 192.168.1.101).
- privilèges racine.
Ce que nous allons faire dans ce didacticiel :
- Installez les dépendances pour CSF.
- Installez CSF.
- Configurer CSF.
- Commandes CSF de base.
- Configuration avancée.
Étape 1 - Installation des dépendances CFS
CSF est basé sur Perl, vous devez donc d'abord installer Perl sur notre serveur. Vous avez besoin de wget pour télécharger le programme d'installation CSF et vim (ou un éditeur de votre choix) pour éditer le fichier de configuration CSF. Installez les packages avec la commande yum :
yum install wget vim perl-libwww-perl.noarch perl-Time-HiRes
Étape 2 - Installer CSF
Veuillez accéder à "/usr/src/" répertoire et téléchargez CSF avec la commande wget.
cd /usr/src/
wget https://download.configserver.com/csf.tgz
Extrayez le fichier tar.gz et allez dans le répertoire csf, puis installez-le :
tar -xzf csf.tgz
cd csf
sh install.sh
Vous devriez obtenir les informations indiquant que l'installation de CSF est terminée à la fin.
Vous devez maintenant vérifier que CSG fonctionne vraiment sur ce serveur. Accédez au "/usr/local/csf/bin/" répertoire et exécutez "csftest.pl" .
cd /usr/local/csf/bin/
perl csftest.pl
Si vous voyez les résultats du test comme indiqué ci-dessous, alors CSF fonctionne sans problème sur votre serveur :
RESULT: csf should function on this server
Étape 3 - Configurer CSF sur CentOS 7
Avant d'entrer dans le processus de configuration du CSF, la première chose que vous devez savoir est que "CentOS 7" a une application de pare-feu par défaut appelée "firewalld". Vous devez arrêter firewalld et le supprimer du démarrage.
Arrêtez le pare-feu :
systemctl stop firewalld
Désactiver/supprimer le pare-feu du démarrage :
systemctl disable firewalld
Accédez ensuite au répertoire de configuration CSF "/etc/csf/" et éditez le fichier "csf.conf" avec l'éditeur vim :
cd /etc/csf/
vim csf.conf
Modifier ligne 11 "TEST" à "0" pour appliquer la configuration du pare-feu.
TESTING = "0"
Par défaut, CSF autorise le trafic entrant et sortant pour le port standard SSH 22, si vous utilisez un port SSH différent, veuillez ajouter votre port à la configuration dans ligne 139 "TCP_IN" .
Démarrez maintenant CSF et LFD avec la commande systemctl :
systemctl start csf
systemctl start lfd
Et ensuite, activez les services csf et lfd à démarrer au démarrage :
systemctl enable csf
systemctl enable lfd
Vous pouvez maintenant voir la liste des règles par défaut de CSF avec la commande :
csf -l
Étape 4 - Commandes CSF de base
1. Démarrez le pare-feu (activez les règles du pare-feu) :
csf -s
2. Vider/Arrêter les règles du pare-feu.
csf -f
3. Rechargez les règles de pare-feu.
csf -r
4. Autorisez une adresse IP et ajoutez-la à csf.allow.
csf -a 192.168.1.109
Résultats :
Adding 192.168.1.109 to csf.allow and iptables ACCEPT...
ACCEPT all opt -- in !lo out * 192.168.1.109 -> 0.0.0.0/0
ACCEPT all opt -- in * out !lo 0.0.0.0/0 -> 192.168.1.109
5. Supprimez et supprimez une adresse IP de csf.allow.
csf -ar 192.168.1.109
Résultats :
Removing rule...
ACCEPT all opt -- in !lo out * 192.168.1.109 -> 0.0.0.0/0
ACCEPT all opt -- in * out !lo 0.0.0.0/0 -> 192.168.1.109
6. Refuser une IP et l'ajouter à csf.deny :
csf -d 192.168.1.109
Résultats :
Adding 192.168.1.109 to csf.deny and iptables DROP...
DROP all opt -- in !lo out * 192.168.1.109 -> 0.0.0.0/0
LOGDROPOUT all opt -- in * out !lo 0.0.0.0/0 -> 192.168.1.109
7. Supprimez et supprimez une adresse IP de csf.deny.
csf -dr 192.168.1.109
Résultats :
Removing rule...
DROP all opt -- in !lo out * 192.168.1.109 -> 0.0.0.0/0
LOGDROPOUT all opt -- in * out !lo 0.0.0.0/0 -> 192.168.1.109
8. Supprimez et débloquez toutes les entrées de csf.deny.
csf -df
Résultats :
DROP all opt -- in !lo out * 192.168.1.110 -> 0.0.0.0/0
LOGDROPOUT all opt -- in * out !lo 0.0.0.0/0 -> 192.168.1.110
DROP all opt -- in !lo out * 192.168.1.111 -> 0.0.0.0/0
LOGDROPOUT all opt -- in * out !lo 0.0.0.0/0 -> 192.168.1.111
csf: all entries removed from csf.deny
9. Recherchez une correspondance de modèle sur iptables, par exemple :IP, CIDR, numéro de port
csf -g 192.168.1.110
Étape 5 - Configuration avancée
Voici quelques ajustements concernant CSF, afin que vous puissiez configurer selon vos besoins.
Revenez au répertoire de configuration csf et modifiez le fichier de configuration csf.conf :
cd /etc/csf/
vim csf.conf
1. Ne bloquez pas les adresses IP qui se trouvent dans les fichiers csf.allow.
Par défaut, lfd bloquera également une adresse IP sous les fichiers csf.allow, donc si vous voulez qu'une adresse IP dans les fichiers csf.allow ne soit jamais bloquée par lfd, veuillez aller à la ligne 272 et changez "IGNORE_ALLOW" à "1" . Ceci est utile lorsque vous avez une adresse IP statique à la maison ou au bureau et que vous souhaitez vous assurer que votre adresse IP ne sera jamais bloquée par le pare-feu de votre serveur Internet.
IGNORE_ALLOW = "1"
2. Autoriser ICMP entrant et sortant.
Allez à la ligne 152 pour le ping/ICMP entrant :
ICMP_IN = "1"
Et la ligne 159 pour le ping sortant ping/ICMP :
ICMP_OUT = "1"
3. Bloquer certains pays
CSF offre une option pour autoriser et refuser l'accès par pays en utilisant le CIDR (Code postal). Allez à la ligne 836 et ajoutez les codes pays qui seront autorisés et refusés :
CC_DENY = "CN,UK,US"
CC_ALLOW = "ID,MY,DE"
4. Envoyez le journal de connexion Su et SSH par e-mail.
Vous pouvez définir une adresse e-mail utilisée par LFD pour envoyer un e-mail à propos de "Connexion SSH" les événements et les utilisateurs qui exécutent le "su" commande, allez à la ligne 1069 et changez la valeur en "1".
LF_SSH_EMAIL_ALERT = "1"
...
LF_SU_EMAIL_ALERT = "1"
Et puis définissez l'adresse e-mail que vous souhaitez utiliser à la ligne 588 .
LF_ALERT_TO = "[email protected]"
Si vous voulez plus de réglages, lisez les options dans le "/etc/csf/csf.conf" fichier de configuration.
Conclusion
CSF est un pare-feu applicatif pour iptables fourni pour les serveurs Linux. CSF possède de nombreuses fonctionnalités et peut prendre en charge des outils de gestion Web tels que cPanel / WHM, DirectAdmin et Webmin. CSF est facile à installer et à utiliser sur le serveur, il simplifie la gestion de la sécurité pour les administrateurs système.