Comment sécuriser un serveur cPanel / WHM

Comment sécuriser votre serveur cPanel / WHM

Mis à jours 16 juillet 2024

La sécurité de votre serveur cPanel et WHM est essentielle pour protéger vos données sensibles, maintenir la confiance de vos clients et assurer la continuité de vos services. En tant qu’administrateur, il est crucial de mettre en place des mesures de sécurité robustes pour prévenir les cyberattaques et les vulnérabilités.

Ce guide vous présente des astuces pratiques et des configurations avancées pour renforcer la sécurité de votre serveur cPanel et WHM. De la mise à jour des logiciels à la configuration des pare-feu, en passant par la sécurisation des accès SSH et la gestion des mots de passe, suivez ces étapes pour maintenir un environnement sécurisé et fiable.

1. Mettre à jour cPanel et WHM

Les mises à jour régulières de cPanel et WHM sont cruciales pour corriger les vulnérabilités de sécurité et garantir un fonctionnement optimal. Une version à jour inclut les derniers correctifs et améliorations de sécurité. Les mises à jour fréquentes réduisent les risques d’attaques exploitant des failles connues.

Instructions pour mettre à jour

  1. Mise à jour de la dernière version :
Activer les mises à jour automatiques

Connectez-vous à WHM et allez dans « cPanel », puis « Mise à niveau vers la dernière version ». Alternativement, utilisez la ligne de commande suivante pour forcer une mise à jour :

# /scripts/upcp –force
  1. Activer les mises à jour automatiques :

Allez dans « WHM > Configuration du serveur > Préférences de mise à jour ». Activez les mises à jour automatiques quotidiennes pour garantir que votre serveur reste à jour.

2. Sécuriser l’accès cPanel et WHM

Utiliser SSL

L’utilisation d’un certificat SSL pour sécuriser les connexions à cPanel et WHM est essentielle pour protéger vos identifiants de connexion et vos données contre les interceptions et les attaques de type man-in-the-middle.

  1. Activer SSL :
  • Allez dans “WHM > Configuration du serveur > Paramètres de réglage ».
  • Assurez-vous que « Toujours rediriger vers SSL » est activé. Cela garantit que toutes les connexions à cPanel, WHM et Webmail utilisent SSL.
  1. Configurer les redirections HTTPS :

Configurez les redirections HTTPS pour que toutes les connexions non sécurisées soient automatiquement redirigées vers des connexions sécurisées. Cela peut être fait dans « WHM > Configuration du service SSL/TLS > Gérer les redirections SSL ».

Configurer l’accès IP

Configurer l'accès IP avec CSF
  1. Restreindre l’accès à des IP spécifiques :

Configurez des règles de pare-feu pour restreindre l’accès à WHM et cPanel uniquement à partir d’adresses IP spécifiques. Cela peut être fait avec des outils comme ConfigServer Security & Firewall (CSF).

  1. Configurer une liste blanche d’IP :

Dans « WHM > ConfigServer Security & Firewall > WHM > Manage IP Access », ajoutez les adresses IP autorisées à accéder à votre serveur. Cela ajoute une couche de sécurité supplémentaire en restreignant l’accès aux IP approuvées.

3. Sécuriser SSH

Changer le port par défaut

Changer le port SSH par défaut
  1. Modifier le fichier de configuration SSH :

Ouvrez le fichier de configuration SSH /etc/ssh/sshd_config avec un éditeur de texte comme vi ou nano. Recherchez la ligne #Port 22 et changez-la en Port 2222 ou un autre numéro de port non standard. Enregistrez et fermez le fichier. Vous n’avez pas à utiliser le port 222 comme mentionné ci-dessus. Reportez-vous à cette liste de ports TCP/UDP communs pour trouver un port qui n’est pas déjà en cours d’utilisation.

  1. Redémarrer le service SSH :

Appliquez les modifications en redémarrant le service SSH avec la commande :

systemctl restart sshd

Désactiver l’accès root direct

  1. Modifier les paramètres de configuration SSH :

Dans le fichier /etc/ssh/sshd_config, recherchez la ligne #PermitRootLogin yes et changez-la en PermitRootLogin no. Enregistrez et fermez le fichier.

  1. Redémarrer le service SSH :

Redémarrez le service SSH pour appliquer les modifications :

systemctl restart sshd

Utiliser des clés SSH pour l’authentification

  1. Générer une paire de clés SSH :

Sur votre machine locale, générez une paire de clés SSH avec la commande :

 ssh-keygen -t rsa -b 4096

Suivez les instructions pour enregistrer la clé publique et privée.

  1. Ajouter la clé publique au serveur :

Copiez la clé publique générée sur votre serveur avec la commande :

ssh-copy-id user@votre-serveur

En changeant le port SSH par défaut, en désactivant l’accès root direct et en utilisant des clés SSH pour l’authentification, vous renforcez la sécurité de vos connexions SSH et protégez votre serveur contre les attaques courantes.

4. Sécuriser Apache et PHP

En configurant Apache et PHP avec EasyApache, suPHP et open_basedir, vous améliorez significativement la sécurité de votre serveur en limitant les actions des scripts PHP et en renforçant les paramètres de sécurité.

Utiliser EasyApache

  1. Configurer EasyApache :
Configurer EasyApache

Allez dans « WHM > Logiciel > EasyApache 4 ». Ensuite, sélectionnez les modules et extensions appropriés pour votre serveur. Assurez-vous d’activer les modules de sécurité nécessaires comme ModSecurity et Suhosin.

  1. Configurer les paramètres PHP :
Configurer les paramètres PHP :

Accédez à « WHM > Logiciel > MultiPHP INI Editor ». Modifiez les paramètres PHP pour renforcer la sécurité, tels que disable_functions, open_basedir, et display_errors.

Configurer suPHP et open_basedir

  1. Activer suPHP :
Activer suPHP

Allez dans « WHM > Service Configuration > Configure PHP and suEXEC ». Sélectionnez suPHP comme gestionnaire de PHP pour renforcer la sécurité des scripts PHP en les exécutant avec les permissions de leur propriétaire.

  1. Configurer open_basedir :

Allez dans « WHM > Home > Service Configuration > PHP open_basedir Tweak ». Activez open_basedir pour restreindre les scripts PHP à leur propre répertoire, empêchant ainsi l’accès à d’autres parties du système de fichiers.

5. Désactiver l’accès FTP anonyme

Permettre l’accès FTP anonyme présente un risque de sécurité majeur, car il permet à quiconque de se connecter à votre serveur sans authentification. Cela peut mener à des abus tels que l’injection de fichiers malveillants, l’accès non autorisé à des données sensibles et l’exploitation de votre serveur pour des activités illégales.

Instructions pour désactiver FTP anonyme

Instructions pour désactiver FTP anonyme
  1. Accéder à WHM : Connectez-vous à WHM et allez dans « Service Configuration > FTP Server Configuration ».
  2. Désactiver FTP anonyme : Recherchez l’option « Allow Anonymous Logins » et définissez-la sur « No ». Recherchez également « Allow Anonymous Uploads » et définissez-la sur « No ».
  3. Enregistrer les modifications :

En désactivant l’accès FTP anonyme, vous renforcez la sécurité de votre serveur en empêchant les utilisateurs non authentifiés de se connecter et de télécharger des fichiers.

6. Augmenter la complexité des mots de passe

Configurer des mots de passe forts

  1. Politique de mots de passe :
Politique de mots de passe :

Allez dans « WHM > Sécurité du compte > Politique de mots de passe ». Configurez des règles strictes pour les mots de passe, comme une longueur minimale, l’utilisation de caractères spéciaux, de chiffres, et de majuscules.

  1. Forcer les utilisateurs à changer leur mot de passe régulièrement :
Forcer les utilisateurs à changer leur mot de passe régulièrement :

Configurez WHM pour exiger des changements de mot de passe périodiques afin de minimiser les risques liés aux mots de passe compromis ou anciens.

Utiliser la politique de mots de passe

  1. Configurer les politiques de complexité :

Dans « WHM > Sécurité du compte > Politique de mots de passe », définissez des politiques de complexité, comme l’exigence de caractères spéciaux et de majuscules.

  1. Configurer l’expiration des mots de passe :

Configurez une période d’expiration des mots de passe pour forcer les utilisateurs à mettre à jour leurs mots de passe régulièrement.

En configurant des politiques de mots de passe fortes et en forçant les utilisateurs à changer leurs mots de passe régulièrement, vous renforcez la sécurité de votre serveur en réduisant les risques associés aux mots de passe faibles ou compromis.

7. Activer cPHulk

cPHulk est une protection intégrée dans WHM contre les attaques Brute Force. Il détecte et bloque les tentatives de connexion répétées et non autorisées, protégeant ainsi vos comptes cPanel et WHM contre les attaques par force brute.

Configuration cPHulk

Configuration et gestion

  1. Activer cPHulk :

Connectez-vous à WHM et allez dans « Sécurité du serveur > Protection Brute Force cPHulk ». Activez cPHulk en cliquant sur « Activer » et configurez les paramètres pour bloquer les IP après un certain nombre de tentatives échouées.

  1. Configurer les options de blocage :

Définissez le nombre de tentatives de connexion échouées avant de bloquer une IP. Configurez la durée pendant laquelle une IP reste bloquée.

  1. Surveiller les tentatives de connexion :

Utilisez l’interface cPHulk pour surveiller les tentatives de connexion et gérer les IP bloquées. Vous pouvez débloquer des IP manuellement si nécessaire.

8. Installer un antivirus (ClamAV)

Installer un antivirus (ClamAV)

Un antivirus est essentiel pour détecter et supprimer les fichiers malveillants qui peuvent compromettre la sécurité de votre serveur. ClamAV est un antivirus open-source largement utilisé pour protéger les serveurs Linux contre les virus, les malwares, et autres menaces.

Instructions pour installer et configurer ClamAV

  1. Installer ClamAV :

Connectez-vous à WHM et allez dans « cPanel > Gérer les modules supplémentaires ». Recherchez « ClamAV » et cliquez sur « Installer ».

  1. Configurer ClamAV :

Une fois installé, configurez ClamAV en accédant à « WHM > ConfigServer Security & Firewall ». Activez les analyses régulières et configurez les alertes pour être informé de toute détection de virus.

  1. Planifier des analyses régulières :

Configurez des tâches Cron pour exécuter ClamAV à des intervalles réguliers afin de scanner les fichiers et les répertoires critiques.

9. Installer un chasseur de rootkit

Les rootkits sont des logiciels malveillants conçus pour se cacher sur votre serveur et offrir un accès non autorisé. Un chasseur de rootkit, comme Rootkit Hunter (rkhunter), aide à détecter et à éliminer ces menaces, renforçant ainsi la sécurité de votre serveur.

Utiliser Rootkit Hunter

  1. Installation de Rootkit Hunter :

Connectez-vous à votre serveur via SSH. Installez Rootkit Hunter avec les commandes suivantes

yum install epel-release 
yum install rkhunter
  1. Configurer Rootkit Hunter :

Modifiez le fichier de configuration /etc/rkhunter.conf pour ajuster les paramètres selon vos besoins. Par exemple, activez les mises à jour automatiques des définitions de rootkits.

  1. Exécuter des analyses régulières :

Planifiez des tâches Cron pour exécuter Rootkit Hunter à des intervalles réguliers afin de détecter toute activité suspecte.

0 3 * * * /usr/bin/rkhunter --check --skip-keypress

10. Installer un pare-feu (CSF)

Un pare-feu est essentiel pour protéger votre serveur contre les accès non autorisés, les attaques DDoS et autres menaces de sécurité. ConfigServer Security & Firewall (CSF) est un pare-feu complet et facile à configurer pour les serveurs Linux, offrant une protection avancée et des fonctionnalités de gestion des connexions.

Instructions pour installer et configurer CSF

  1. Installer CSF :

Connectez-vous à votre serveur via SSH. Téléchargez et installez CSF avec les commandes suivantes.

cd /usr/src 
wget https://download.configserver.com/csf.tgz 
tar -xzf csf.tgz 
cd csf 
sh install.sh
  1. Configurer CSF :

Modifiez le fichier de configuration /etc/csf/csf.conf pour ajuster les paramètres de sécurité selon vos besoins. Par exemple, configurez les ports ouverts, les limites de connexion et les règles de blocage.

  1. Activer et tester CSF :

Activez CSF avec la commande

Copy codecsf -e

Testez la configuration pour vous assurer qu’elle fonctionne correctement et qu’elle ne bloque pas les services essentiels.

Gestion des règles et des alertes

  1. Ajouter des règles personnalisées :

Utilisez csf -a [IP_ADDRESS] pour ajouter des adresses IP à la liste blanche et csf -d [IP_ADDRESS] pour les bloquer.

  1. Configurer les alertes par email :

Dans le fichier de configuration, configurez les alertes par email pour être informé des tentatives d’accès non autorisées et des attaques.

Jacques Tremblay
Suivez moi
Les derniers articles par Jacques Tremblay (tout voir)

Check Also

Comment rediriger une URL sur cPanel

Comment créer une redirection URL sur cPanel

Mis à jours 15 juillet 2024 Les redirections URL sont essentielles pour gérer le trafic …