Comment sécuriser votre serveur cPanel

Mis à jour le 8 octobre, 2015

La sécurité du serveur est quelque chose qui ne devrait jamais être négligé. Un jour ou l'autre, il y a des chances que votre serveur soit l'objet d'attaques et que l'intégrité de vos données soit à risque, sans mentionner que vous risquez de perdre des clients potentiels et existants dans le même temps.

Voici 10 choses que vous pouvez faire pour sécuriser votre serveur web contre les attaques:

1. Mettre à jour cPanel

La première chose que vous voulez faire est de vous assurer que vous avez la dernière version de cPanel. Vous pouvez mettre à jour cPanel en allant dans "WHM> cPanel> Mise à Niveau Vers la Dernière Version". Vous pouvez également obtenir la même chose en utilisant cette ligne de commande:

# /scripts/upcp –force

Afin d'avoir votre serveur automatiquement mis à jour, je vous recommande d'activer les mises à jour quotidiennes en allant dans "WHM> Configuration Serveur> Préférences de mise à jour":

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

Lorsque vous utilisez une connexion non sécurisée à cPanel et WHM, votre nom d'utilisateur et mot de passe sont envoyés en texte clair sur Internet. Il est conseillé d'utiliser SSL pour sécuriser tous les accès aux deux panneaux de contrôle. À partir de WHM, cliquez sur "Configuration du serveur> Paramètres de réglage" et configurer les paramètres de redirection comme suit:

3. Sécuriser SSH

SSH est parmi les services surtout vulnérables aux attaques par force brute. La configuration de SSH par défaut permet un accès root sur le port par défaut (22). Voici comment sécuriser le démon (processus) SSH:

1. Établissez une connexion SSH à votre serveur et connectez-vous en tant que root.

2. Éditez le fichier de configuration du démon SSH:

# nano /etc/ssh/sshd_config

3. Définissez un port différent pour les connexions SSH entrantes en modifiant cette ligne:

Port 22

À:

Port 22200

Vous n'avez pas à utiliser le port 22200 comme mentionné ci-dessus. Reportez-vous à cette liste de ports TCP/UDP communs pour trouver un numéro de port qui n'est pas déjà en cours d'utilisation.

4. Désactivez le login root de SSH en modifiant cette ligne:

#PermitRootLogin yes

À:

PermitRootLogin no

5. Sauvegardez le fichier et redémarrez le démon SSH:

# service sshd restart

Pour obtenir un accès root via SSH, vous devez maintenant vous connecter en tant qu'utilisateur normal, puis en tant que root en exécutant la commande:

# su – root

Notez que vous devrez d'abord ajouter les utilisateurs souhaités au groupe de roue (WHM> Centre de sécurité> Gérer les utilisateurs du groupe wheel).

4. Sécurisation d'Apache et PHP

cPanel permet de créer et compiler facilement Apache et PHP en utilisant EasyApache. La première étape dans la sécurisation d'Apache et PHP est de mettre à jour les deux composants :

1. Connectez-vous à WHM et allez à "Logiciels> EasyApache (Mise à jour) Apache".

2. Sur la première page, sélectionnez "Ancienne Sauvegarde de Configuration" pour que vous puissiez réutiliser les paramètres actuels de votre serveur.

3. Cliquez sur "Lancer la personnalisation en fonction du profil".

4. Lorsque vous êtes invité à sélectionner la version Apache pour construire, sélectionnez la dernière version stable. Au moment d'écrire ces lignes, la dernière version est la 2.4.6.

5. Sur la page des Versions PHP, sélectionnez la dernière version stable (PHP 5.4.20 en ce moment).

6. Sur la page suivante, cliquez sur "Liste exhaustive des options".

7. Vérifiez les options suivantes: Mod SuPHP, Mod Security et "Enregistrer mon profil avec les options PHP 5 appropriés ...". Laissez les autres options définies comme telles.

8. Cliquez sur "Enregistrer et créer".

À ce stade, la reconstruction d'Apache et PHP peut prendre jusqu'à 30 minutes selon la vitesse de votre serveur.

Ensuite, vous devez configurer suPHP comme gestionnaire de PHP. En activant suPHP, les fichiers créés par les scripts PHP seront détenus par le compte d'utilisateur du site à la place du compte exécutant le processus Apache. Pour activer suPHP allez à "WHM> Configuration du service> Configurer PHP et suEXEC", sélectionnez "suphp" et cliquez sur "Enregistrer la nouvelle configuration":

Afin d'éviter que des scripts PHP malicieux ouvrent des fichiers en dehors de leur répertoire d'origine, il est recommandé d'activer open_basedir:

1. Connectez-vous à WHM et allez dans "Centre de sécurité> Centre de sécurité> Configuration PHP open_basedir".

2. Cochez la case "Activer la protection php open_basedir".

3. Cliquez sur "Enregistrer".

Le serveur Apache devrait redémarrer automatiquement une fois cela fait.

Afin de permettre à open_basedir de fonctionner correctement, vous devrez créer un fichier nommé "php.ini" pour chaque compte et le placer dans leur répertoire "public_html" avec le contenu suivant:

open_basedir = "/home/[utilisateur]/public_html/:/chemin/vers/autres/dossiers/"

Cela permettra d'empêcher les scripts PHP d'accéder aux fichiers situés à l'extérieur des dossiers définis.

Enfin, voici quelques paramètres recommandés pour PHP. Allez dans "WHM> Configuration du Service > Éditeur de configuration PHP" et sélectionnez "Mode avancé". Configurer les paramètres suivants:

  • register_globals: Off
  • disable_functions: show_source, system, shell_exec, passthru, exec, phpinfo, popen, proc_open, allow_url_fopen

Cliquez sur "Enregistrer" lorsque vous avez terminé. Les nouveaux réglages ne prendront effet qu'au redémarrage d'Apache. Allez à "services WHM> Redémarrer> Serveur HTTP (Apache)" pour redémarrer le service.

5. Désactivation de l’accès FTP anonyme

Pour empêcher des utilisateurs anonymes d'uploader des fichiers sur votre serveur, allez dans "WHM> Configuration de Service> Configuration du serveur FTP" et réglez "Permettre Logins Anonymes" et "Permettre Uploads Anonymes" à "Non".

6. Augmenter force de mot de passe requise

Vous pouvez forcer vos utilisateurs à utiliser des mots de passe plus complexes en allant dans "WHM> Centre de sécurité> Configuration du niveau de sécurité du mot de passe".

7. Activer cphulk

cPHulk protège vos serveurs Web des attaques Brute Force en bloquant les adresses IP suspectes pour une période prédéterminée. Pour l'activer, allez dans "WHM> Centre de Sécurité> Protection cPHulk Brute Force » et cliquez sur «Activer».

Si vous vous connectez à partir d'une adresse IP statique, vous pouvez l'ajouter à la liste blanche cPHulk pour éviter de vous exclure de votre propre serveur.

8. Installer l'antivirus ClamAV

Alors que les serveurs Linux ne sont pas sujets à autant de virus que les serveurs Windows, il est néanmoins de bonne pratique d'installer un antivirus. Même si votre serveur web n'est pas infecté, il pourrait quand même accueillir un virus destiné à infecter les visiteurs de votre site Web.

ClamAV est disponible pour les serveurs cPanel comme un plugin. Voici comment l'activer:

1. Aller à "WHM> cPanel> Plugins".

2. Sélectionnez "Installer et tenir à jour" à côté de ClamAV et cliquez sur "Enregistrer".

3. Une fois l'installation du plugin ClamAV terminée, rafraîchissez votre panneau de contrôle de WHM afin que le menu principal soit mis à jour.

4. Cliquez sur "WHM> Plugins> Configurer ClamAV Scanner" et sélectionnez toutes les quatre (4) options:

Cliquez sur "Enregistrer".

9. Installer un chasseur de rootkit

Un «rootkit» est essentiellement un programme informatique malveillant qui s'exécute sur votre serveur en mode "stealth". Le rootkit permet à l'attaquant d'obtenir un accès root sur votre serveur sans que vous vous en aperceviez.

Afin de détecter un rootkit sur un serveur cPanel, vous aurez besoin d'installer un scanner de rootkit comme le Rootkit Hunter:

1. Connectez-vous à votre serveur via SSH en tant qu'utilisateur normal et ensuite, devenez root:

# su – root

2. Télécharger la dernière version de rkhunter de http://sourceforge.net/projects/rkhunter/files/latest/download?source=files:

# wget http://downloads.sourceforge.net/project/rkhunter/rkhunter/1.4.0/rkhunter-1.4.0.tar.gz

3. Extrayez le contenu de l'archive:

# tar xvzf rkhunter-1.4.0.tar.gz

4. Lancez le programme d'installation:

# cd rkhunter-1.4.0# ./installer.sh –install

5. Remplissez les propriétés de base de données du fichier:

# rkhunter –propupd

6. Pour rechercher les rootkits en tant que root, exécutez la commande suivante:

# rkhunter –check

10. Installation d'un pare-feu

C'est peut-être la partie la plus critique du blindage d'un serveur cPanel. L'un des logiciels de pare-feu les plus populaires pour les serveurs cPanel est ConfigServer Security and Firewall. CSF agit non seulement comme pare-feu en balayant divers fichiers journaux d'authentification, il va également analyser l'ensemble de votre système et vous donner des recommandations quant à ce que vous pouvez faire pour améliorer la sécurité.

Installer CSF est assez facile:

rm -fv csf.tgzwget http://www.configserver.com/free/csf.tgztar -xzf csf.tgzcd csfsh install.sh

Consulter ce tutoriel pour plus amples détails. Une fois que vous avez installé CSF, aller à "WHM> Plugins> ConfigServer Security and Firewall" et cliquez sur "Tester Sécurité du Serveur» pour obtenir une liste de conseils pour sécuriser votre serveur web.

N'oubliez pas d'ouvrir le nouveau port SSH que vous avez défini précédemment sinon CSF le bloquera. Pour ce faire, allez dans "WHM> Plugins> ConfigServer Security & Firewall> Configuration du pare-feu". Trouvez le paramètre nommé "TCP_IN" et ajouter le port SSH à la liste.



Installation OpenVPN sur Centos

L’une des manières les plus sûres d’envoyer des données sur internet est via un VPN, aussi connu sous le nom de « Virtual Private Network ». Lorsque l’on utilise un VPN, les données sont encryptées et envoyées à travers un réseau virtuel privé qui utilise un réseau public (internet par exemple).  C … Continuer

Mis à jour le 15 septembre, 2020

2 Commentaires

Comment nettoyer un .htaccess hacké

Dans cet article nous allons discuter de mesures que vous pouvez prendre pour nettoyer et réparer un fichier .htaccess piraté. Le fichier .htaccess est utilisé pour configurer principalement des règles pour contrôler la façon dont on accède à votre site. Vous ne remarquerez peut-être pas que votre … Continuer

Mis à jour le 17 septembre, 2020

0 Commentaires

Comment installer Configserver sur un serveur cPanel

Vous venez de créer votre tout premier VPS ou serveur dédié, et vous êtes impatients de commencer à installer votre logiciel, avoir des utilisateurs cPanel et faire de la revente d’hébergement. En bref vous n’attendez qu’une chose : vous mettre au travail. Pas si vite ! Avant tout, vous devez effect … Continuer

Mis à jour le 29 décembre, 2014

2 Commentaires

Comment utiliser le gestionnaire de fichiers cPanel

Le gestionnaire de fichiers vous permet de gérer votre site via HTTP plutôt qu’avec un outil FTP ou toute autre application tierce. Vous pouvez télécharger, créer ou supprimer des fichiers, organiser les fichiers en dossiers et de modifier les permissions des fichiers. Même s'il n'est pas aussi soph … Continuer

Mis à jour le 7 octobre, 2015

0 Commentaires

Comment bloquer une IP dans cPanel

De nos jours, le nombre d’araignées du Web  (robots d’indexation) malveillants ne cesse d’augmenter. Ces robots ont comme objectif de collecter les emails et les failles des sites web pour organiser des attaques par la suite. À chaque fois qu’ils visitent un site web, ils puisent dans les ressources … Continuer

Mis à jour le 7 octobre, 2015

0 Commentaires

Comment rediriger une URL dans cPanel

L'outil de redirections dans cPanel vous permet de rediriger les visiteurs de votre site à partir d'une URL source vers une URL cible. Attention: ne jamais créer une redirection pour domaine.com à www.domaine.com ou de domain.com à domain.com/index. En utlilisant l’une ou l’autre, vous risquez de p … Continuer

Mis à jour le 2 octobre, 2015

0 Commentaires

Comment protéger un répertoire dans Cpanel

Vous pouvez protéger des répertoires (dossiers) par un mot de passe via le panneau de contrôle cPanel. Ceci vous permet de protéger tous les fichiers contenus dans les dossiers sécurisés par mot de passe. Note : cPanel ne peut protéger que des répertoires mais pas les fichiers individuels. Tout fic … Continuer

Mis à jour le 3 décembre, 2019

1 Commentaires

Comment créer un compte FTP dans cPanel

Un compte FTP est utilisé pour transférer et gérer des fichiers sur votre site web. Vous pouvez donner différents niveaux d'accès à différents utilisateurs en les assignant à un répertoire spécifique. Vous devez créer un compte FTP pour chaque utilisateur. Note: Par défaut, vous disposez déjà d'un … Continuer

Mis à jour le 26 septembre, 2015

0 Commentaires