Comment bloquer automatiquement les attaquants dans Imunify360 sur le serveur LiteSpeed dans WHM/cPanel (Script avancé)
Meta Description : Maximisez votre pare-feu Imunify360 en intégrant un analyseur de logs personnalisé en temps réel. Apprenez comment déposer automatiquement et instantanément les IP et sous-réseaux malveillants sur les serveurs LiteSpeed tout en évitant les faux positifs.
Imunify360 est sans doute la meilleure suite de sécurité pour les serveurs cPanel, offrant un WAF avancé et une défense proactive. Cependant, lors d'un “Log Flood” massif - où les bots génèrent des milliers d'erreurs 404 ou 403 par seconde - attendre que les règles standard se déclenchent peut parfois être trop lent pour les serveurs LiteSpeed soumis à une forte charge.
Dans ce tutoriel, nous allons combler le fossé en créant un fichier Script d'intégration de Pro-Grade (v19). Ce script analyse les logs LiteSpeed en temps réel, extrait les données détaillées de l'attaque, et commande à Imunify360 de DROP l'attaquant instantanément.
Utilisation du CSF ? Si votre serveur utilise CSF au lieu d'Imunify360, veuillez vous référer à notre Guide d'auto-blocage des CCA.
L'avantage “v19
Contrairement aux scripts de base, cette édition présente les caractéristiques suivantes
-
Filtre de sécurité : Il ignore automatiquement les IP privées (comme
10.0.6.2) pour éviter que le script ne bannisse accidentellement votre propre passerelle ou équilibreur de charge. -
Optimisation du processeur : Il vérifie la liste blanche d'Imunify seulement après qu'une adresse IP a été confirmée comme étant malveillante, ce qui permet d'économiser d'importantes ressources système.
-
Enregistrement précis : Le commentaire de bloc dans Imunify vous indiquera exactement quel domaine a été ciblé et le type d'attaque.
Conditions préalables
-
Un serveur avec Serveur Web LiteSpeed.
-
Imunify360 installé et en cours d'exécution.
-
Accès SSH racine.
Étape 1 : Créer le script d'intégration
-
Accédez à votre serveur via SSH.
-
Créer le fichier de script :
nano /root/imunify_blocker.sh -
Coller le Professionnel v19 (Edition Imunify) ci-dessous :
#!/bin/bash # ================================================================= # LiteSpeed/Apache Advanced Defense Blocker - v19 (IMUNIFY SAFE) Fonctionnalité de # : Ignore automatiquement les IP privées/locales (10.x, 192.x, 127.x) # ================================================================= ACCESS_LOG="/usr/local/apache/logs/access_log" ERROR_LOG="/usr/local/apache/logs/error_log" STRIKE_FILE="/tmp/imunify_strikes.tmp" IMUNIFY="/usr/bin/imunify360-agent" # S'assurer que le fichier de grève existe et le nettoyer au démarrage toucher "$STRIKE_FILE" écho "" > "$STRIKE_FILE" queue -Fn0 "$ACCESS_LOG" "$ERROR_LOG" | alors que lire -r ligne ; faire [[ "$line" == "==>"* ]] && continuer si [[ "$line" == *"] ["* ]]; puis log_type="Erreur"; autre log_type="Accès"; fi # 1. Extraction IP ip=$(écho "$line" | grep -oE '[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}' | tête -1) # --- FILTRE DE SÉCURITÉ (Ignorer les IP privées) --- si [[ -z "$ip" || "$ip" == "127.0.0.1" || "$ip" == "::1" ]]; puis continuer; fi si [[ "$ip" == 10.* || "$ip" == 192.168.* || "$ip" == 172.1[6-9].* || "$ip" == 172.2[0-9].* || "$ip" == 172.3[0-1].* ]]; puis continuer; fi # ------------------------------------------ subnet=$(écho "$ip" | cut -d. -f1-3).0 # 2. Extraction du chemin si [[ "$log_type" == "Accès" ]]; puis path=$(écho "$line" | grep -oP '"(GET|POST|HEAD|PUT) \K[^ ]+' | head -1 | cut -c1-35) autre path=$(écho "$line" | grep -oP '(?<=contexte \N[)[^\N]]+|(?<=trouvé \N[)[^\N]]+')' | tête -1) [[ -z "$path" ]] && path=$(écho "$line" | grep -oP '(GET|POST|HEAD) [^ ]+' | tête -1) fi [[ -z "$path" ]] && path="/" domain=$(écho "$line" | grep -oP '(?<=APVH_)[a-zA-Z0-9.-]+' | tête -1) [[ -z "$domaine" ]] && domain="Inconnu" # --- CAS A : ATTAQUES CRITIQUES --- si écho "$line" | grep -qE "RECAPTCHA|ACL|Accès au contexte|ModSecurity"; puis trigger=$(écho "$line" | grep -oE "RECAPTCHA|ACL|ModSecurity" | tête -1) écho "SEC_IP :$ip" >> "$STRIKE_FILE" écho "SEC_SUB :$subnet" >> "$STRIKE_FILE" si [ $(grep -c "SEC_IP :$ip" "$STRIKE_FILE") -ge 3 ] ; puis si ! $IMUNIFY liste d'ip local list --purpose white | grep -wq "$ip"; puis $IMUNIFY liste d'ip local add --purpose drop "$ip" --commentaire "LS_Block : Critique (3) | 1TP6Déclencheur | $domaine | $path" > /dev/null 2>&1 sed -i "/SEC_IP :$ip/d" "$STRIKE_FILE" fi fi si [ $(grep -c "SEC_SUB :$subnet" "$STRIKE_FILE") -ge 10 ] ; puis si ! $IMUNIFY liste d'ip local list --purpose white | grep -wq "$ip"; puis $IMUNIFY liste d'ip local add --purpose drop "$subnet/24" --commentaire "LS_Block : Sous-réseau critique (10) | 1TP6Déclencheur" > /dev/null 2>&1 sed -i "/SEC_SUB :$subnet/d" "$STRIKE_FILE" fi fi # --- CAS B : SCANNERS --- elif écho "$line" | grep -qE "400 | 401 | 403 | 404 | 405 | 500 |Fichier non trouvé"; puis code=$(écho "$line" | grep -oE "\s(40[0-9]|4[1-4][0-9]|50[0-9])\s" | tr -d ' ' | tête -1) écho "SCAN_IP :$ip" >> "$STRIKE_FILE" écho "SCAN_SUB :$subnet" >> "$STRIKE_FILE" si [ $(grep -c "SCAN_IP :$ip" "$STRIKE_FILE") -ge 7 ] ; puis si ! $IMUNIFY liste d'ip local list --purpose white | grep -wq "$ip"; puis $IMUNIFY liste d'ip local add --purpose drop "$ip" --commentaire "LS_Block : Scan (7) | Code $code | $domaine | $path" > /dev/null 2>&1 sed -i "/SCAN_IP :$ip/d" "$STRIKE_FILE" fi fi si [ $(grep -c "SCAN_SUB :$subnet" "$STRIKE_FILE") -ge 20 ] ; puis si ! $IMUNIFY liste d'ip local list --purpose white | grep -wq "$ip"; puis $IMUNIFY liste d'ip local add --purpose drop "$subnet/24" --commentaire "LS_Block : Scanner le sous-réseau (20)" > /dev/null 2>&1 sed -i "/SCAN_SUB :$subnet/d" "$STRIKE_FILE" fi fi fi fait -
Sauvegarder et quitter (
Ctrl+X->Y->Entrer).
Étape 2 : Définir les autorisations
Rendre le script exécutable :
chmod +x /root/imunify_blocker.sh
Étape 3 : Automatiser avec Systemd
Nous allons créer un service pour que ce script fonctionne en arrière-plan.
-
Créer le fichier de service :
nano /etc/systemd/system/imunify-blocker.service -
Collez les éléments suivants :
[Unité] Description=LiteSpeed Advanced Imunify Bridge Après=réseau.cible lsws.service [Service] ExecStart=/bin/bash /root/imunify_blocker.sh Redémarrage=toujours Utilisateur=root [Installer] WantedBy=multi-user.target -
Sauvegarder et quitter.
Étape 4 : Activer le service
Exécutez les commandes suivantes pour lancer immédiatement la protection :
systemctl daemon-reload
systemctl permettre imunify-blocker
systemctl start imunify-blocker
Vérifier l'état pour confirmer qu'il fonctionne :
systemctl status imunify-blocker
Étape 5 : Maintenance horaire
Pour éviter que le fichier de mémoire temporaire ne s'agrandisse à l'infini, nous devons le vider toutes les heures.
-
Modifiez le fichier cron de la racine :
nano /var/spool/cron/root -
Ajoutez cette ligne en bas de page :
0 * * * * écho "" > /tmp/imunify_strikes.tmp -
Sauvegarder et quitter.
-
Important : Rechargez le service cron pour que la modification prenne effet instantanément.
service crond reload
Conclusion
Votre serveur LiteSpeed envoie maintenant des adresses IP malveillantes directement dans la liste “Drop” d'Imunify360 en temps réel. En implémentant ce pont avancé, vous vous assurez que les attaques à haut volume sont stoppées au niveau du réseau, gardant votre trafic légitime en sécurité et l'utilisation de l'unité centrale de votre serveur faible.
Protégez vos actifs avec Hébergement VPS géré en Inde ou s'étendre à l'échelle mondiale grâce à nos Hébergement en nuage à l'adresse myglobalHOST.


