blog alpha design joomla

Le blog d' Alpha Design Joomla et autres ...

Quelles sont les meilleures pratiques pour sécuriser votre site Joomla ?

Le système de gestion de Contenu (CMS) Joomla est d' un usage très rependu sur le web, c'est le résultat de sa simplicité d'utilisation & de sa popularité, il est ainsi le deuxième CMS le plus téléchargé au monde : plus de 110 million de Fois. Bien qu'il soit populaire, Joomla comme que tous les autres sites web, application, sites e-commerce et autres CMS, doit gérer des risques liés à la sécurité. Vous pouvez apprendre  les bonnes précautions/réflexes au plus tôt afin de sécuriser votre site.

Nous avons compilé  cette checklist exhaustive sur la sécurité de Joomla. Son but est de vous fournir une liste d'étapes faciles à suivre pour améliorer la  sécurité de votre site. Toutes ces recommandations  sont là pour s'assurer que vous mettrez en place les meilleurs pratiques de  sécurité et de maintenance afin de protéger votre plus important asset en ligne.

1. Choisissez des identifiants et mots de passe complexes

Soyez vigilants lors du choix de vos identifiants et vos mots de passe. N'utilisez pas "admin" comme identifiant et choisissez un mot de passe complexe. C'est fort probablement la façon la meilleure pour améliorer la sécurité de Joomla et, ironiquement c'est aussi la plus simple.

Utilisez un mot de passe sécurisé est nécessaire pour la bonne sécurité de Joomla. Assurez vous que votre mot de passe soit assez long (8 à 14 charactères) et  qu'il contienne des lettres, numéros, et symboles. Comme les mots de passe peuvent inclurent des majuscules et des minuscules faîtes en bon usage. Enfin, prenez l'habitude de changer votre mot de passe au moins une fois par mois.

2. Utilisez le principe du moindre privilège

Assurez-vous que vous compreniez les permissions des 3 différents groupes d'utilisateurs suivant :

  1. Gestionnaires : ont l'accès le plus restreint au backend de Joomla. Ils peuvent créer et éditer des catégories & articles.  ils ont accès au média manager & peuvent télécharger et supprimer des médias. Ils ne peuvent pas installer ou désinstaller des extensions.
  2. Administrateurs : ont les droits des Gestionnaires, mais aussi quelques permissions supplémentaires. Ils ont accès à la gestion des utilisateurs, le gestionnaire de menus, et le gestionnaire des Extensions. Il n'ont pas accès au menu de la configuration global de Joomla.
  3. Super Utilisateurs : ont un accès complet au backend de Joomla. Ils ont les droits des Gestionnaires et Administrateurs et ont accès à la configuration globale. Seuls les Super Utilisateurs peuvent ajouter, éditer et supprimer des Super Utilisateurs.

Il est important d'assigner ces rôles avec précautions à vos groupes d'utilisateurs. Toute personne assignée au groupe Super Utilisateurs peut accomplir n'importe quelle tache dans le système de Joomla. Si vous déléguez des taches à un membre de votre équipe qui à besoin de moins de permissions, assignez le au groupe avec le minimum de permission d'accès.

3. Utilisez l'authentification en 2 étapes de Joomla

Il est grandement recommandé d'activer l' authentification en deux étapes de Joomla qui ajoute une protection de sécurité supplémentaire à votre site Joomla. Traditionnellement  lorsque vous vous voulez connecter à votre site Joomla, vous devez fournir votre identifiant et mot de passe. Le gros problème avec cette approche est que votre identifiant et mot de passe peuvent être volés ou devinés. Le plugin d'authentification en 2 étapes de Joomla peut protéger votre site contre les hackers en ajoutant une 2ème couche de sécurité supplémentaire qui vous demande de saisir une code à 6 chiffres, après avoir saisie votre identifiant et mot de passe, ce code change toutes les 30 secondes ce qui rend quasiment impossible aux hackers de deviner ce code.

4. Restreindre l'accès à l'administration/backend de Joomla

Il est avisé de limiter l'accès à l'administration de Joomla en utilisant la technique de filtre d'IP. La technique décrite ci-dessous peut aussi être  appliquée  sur des dossiers critiques de Joomla.

Etape n°1 : Créer un fichier .htaccess si il n'est pas déjà présent dans le répertoire que vous souhaitez protéger.

 Etape n°2 : ajouter le code ci-dessous dans votre fichier .htaccess :  

Order Deny, Allow
Deny from all
Allow from xx.xx.xx.xx

 Etape n°3 : Saisissez  l' adresse IP pour laquelle vous souhaitez permettre l'accès en remplaçant  xx.xx.xx.xx par votre adresse IP.

Pour plus d'informations sur l'utilisation du .htaccess afin de restreindre  l' accès à des répertoires via l' adresse  IP  consultez cette page : How do you restrict directory access by IP address using htaccess?

5. Utilisez une connexion FTP sécurisée 

Assurez-vous que les connexions pour accéder au fichiers de votre site Joomla soient sécurisées. Vous devez utiliser SFTP, un protocole sécurisé si votre hébergement le permet ou sinon SSH. Si vous utilisez un client FTP le port par default pour SFTP est d'ordinaire 22.

Certains clients FTP enregistrent les mots de passe encryptés ou non sur votre ordinateur. Même les mots de passe encryptés peuvent être décryptés. Nous vous recommandons donc de ne pas sauver vos mots de passe dans votre client FTP pour éviter de vous faire pirater.

6. Faîtes des sauvegardes/backups régulièrement

Prenez le temps de vous préparer au pire des scénarios dans le cas ou votre site soit attaqué.  Il est important de créer une sauvegarde complète de votre site Joomla. Une sauvegarde fonctionnelle vous permet de restaurer votre site en quelques minutes après une cyber-attaque.

Les deux composants d'une sauvegarde sont :

  • Les fichiers de Joomla
  • La base de donnée.

Vous pouvez faire votre sauvegarde de 2 façons, manuel ou automatique : 

Sauvegarde manuelle

La sauvegarde manuelle d'un site Joomla se composent de deux composants : fichiers et base de donnée. Pour sauvegarder vos fichiers  & répertoires Joomla, utilisez un client FTP ou un gestionnaire de fichiers  de votre hébergement.

Les clients FTP peuvent télécharger les fichiers 1 par 1 sur votre ordinateur. Ce processus peut être long. Une fois que tous les fichiers sont téléchargés, comprimez le répertoire dans un seul fichier zippé et protégez par un mot de passe. 

La base de donnée peut être sauvegardée en l'exportant sur votre ordinateur. Accédez à la base de données que vous souhaitez exporter en utilisant phpMyAdmin. Cliquez sur le nom de la base de données à gauche de votre page. La page à laquelle  vous accédez doit contenir un onglet nommé "Exporter". Sélectionnez l'onglet Exporter puis cliquez sur le bouton "Exécuter". Puis sauvegardez la en lieu sûr.

Sauvegarde automatique

Pour créer une sauvegarde automatique vous pouvez utiliser une extensions Joomla comme Akeeba Backup. Téléchargez Akeeba Backup depuis le site https://www.akeeba.com/ et installez le comme toute extension Joomla. Une fois l'installation terminée ouvrez Akeeba Beackup puis faites la sauvegarde de votre site. Une fois la sauvegarde effectuée vous allez être rediriger vers une page, cliquez sur "Manage Backups". Vous accéderez ainsi à la page contenant tous vos backups. Depuis cette page vous pouvez télécharger votre sauvegarde pour la transférée sur votre ordinateur.

7. Maintenez votre site Joomla à jour

Maintenir votre site Joomla à jour vous permet de sécuriser votre site et d'améliorer sa stabilité . Toutes les mises à jour ne sont pas des mises à jour de version majeure, certaines sont des mises à jour mineures et adressent simplement le débogage de Joomla. 

Joomla a une équipe dédiée de sécurité qui crée rapidement des patchs de sécurité.  Ne pas mettre à  jour votre site Joomla rend le rend vulnérable au piratage.

Pour vérifier si votre site est à jour : 

  1. Connectez vous à l'administration de Joomla
  2. Rendez-vous dans Composants > Mise à Jour de Joomla!
  3. Joomla  va maintenant vérifier si il y a des mises à jours disponibles. Si il en détecte une cliquez sur le bouton "Installer la mise à jour"

 Avant de faire votre mise à jour de Joomla il y a certain points à vérifier :

  • Mise à jour du template : Vérifier que votre template est bien compatible avec la nouvelle version de Joomla. Si ce n'est pas le cas demandez au créateur du template de le mettre à jour  ou utiliser un autre template.
  • Mise à jour des extensions : Vérifiez que toutes les extensions sont compatibles avec la nouvelle version de Joomla. Pour mettre à jour vos extensions rendez-vous dans Extensions > Gérer> Mises à jour sélectionnez les extensions que vous souhaitez mettre à jour puis cliquez sur "Mise à jour "
  •  Vider la cache : Après avoir mis à jour Joomla, videz le cache de votre site. Pour ce faire vous pouvez utiliser la fonctionnalité de suppression du cache de Joomla.

8. Utilisez des extensions tierces & template fiables

Il est recommandé d'utiliser un minimum d'extensions afin d'optimiser le niveau de sécurité de votre site. L'utilisation d' extensions tierces ou templates non fiables, peut créer des vulnérabilités de sécurité et altérer la performance de votre site. Une partie mineur d' extensions peuvent poser problèmes, mais si vous pouvez vous passer d' extensions tierces, n'hésitez pas ! Choisissez des extensions & templates de sociétés fiables et tenez les à jour.

9. Mettez à jour la version de PHP de votre site Joomla

Protéger votre site d'attaques variées de piratage et améliorez en sa sécurité en mettant à  jour la version de PHP à sa dernière version stable. Assurez-vous que la version de PHP soit compatible avec votre template et extensions. Il y a différentes façons de mettre à jour la version de PHP. Les principales sont décrites dans l'article de septembre 2020 du Joomla Community Magazine : How do I update my PHP version ?

10. Renforcer les HTTP security headers

Il est fortement recommandé de mettre en place ou mettre à jour les HTTP security headers car ils ajoutent une couche de sécurité supplémentaire à votre site Joomla en minimisant les attaques et les vulnérabilités de sécurité. Ils ne nécessitent qu'une légère modification de votre serveur. Ces headers indique à votre navigateur comment réagir au contenu de votre site. Vous trouverez ci-dessous les six HTTP security headers communs à considérer : 

  • Content-Security Policy
  • X-XSS-Protection
  • Strict-Transport-Security
  • X-Frame-Options
  • Public-Key-Pins
  • X-Content-Type

11. Utiliser une extension de sécurité

Il est nécessaire de limiter le nombre de tentatives de connexion à l'administration/backend de votre site pour déjouer les cas d'attaque par force brute (brute force attacks). Ce type de protection peut être mis en place par diverses extensions, que vous pouvez trouver sur le  Joomla extension directory dans la rubrique security.

12. Choisissez un Hébergement sécurisé

Assurez-vous que votre hébergeur met en place les protections de sécurité de Joomla. Si vous avez choit un hébergement mutualisé assurez vous que le subnetting est mis en place pour prendre en compte la sécurité de Joomla. Acheter un hébergement mutualisé à bac coût n'est peut être pas le meilleur choix, votre site peut être plus lent, et peut être compromis si d'autres sites sur le même hébergement sont piratés.

13. Utiliser SSL pour booster la sécurité de Joomla

Il est fortement recommandé d'installer un certificat SSL (Secure Socket Layer) pour votre site, l'intérêt est qu' il permet de crypter les communications entre votre site et le navigateur de vos visiteurs. Obtenez ce certificat SSL d'une autorité certifiée et assurez-vous que votre trafic HTTP soit redirigé vers le HTTPS. Pour ce faire ajouter le code ci-dessous à votre fichier .htaccess :

# Redirect HTTP to HTTPS
RewriteEngine On RewriteCond %{HTTPS} off
RewriteCond %{HTTP:X-Forwarded-Proto} !https
RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]

14. Des audit de sécurité fréquents

Il est extrêmement important d'identifier les vulnérabilités avant tout pirate afin de garder votre site Joomla sûr & sécurisé. Ce peut être fait en choisissant un outil professionnel & méticuleux d'audit qui peut vous faire gagner beaucoup de temps  dans la gestion de vos sites web. Beaucoup de services le font en automatisant des taches comme la création de sauvegardes du site, le scan des signes d'intrusion, la mise à jour de l'ensemble des extensions en qui vous avez toute confiance. Ils peuvent aussi scanner votre site afin de s'assurer que les meilleurs pratiques de sécurité sont bien mises en place, et réaliser un scan en profondeurs pour rechercher une menace de sécurité. Ces services  utilisent un mix de scan manuel et automatique  afin d'identifier les vulnérabilités de votre site Joomla.

15. Vérifier les messages de post-installation

Il est fortement recommandé de lire tous les messages de post-installation,  en effet l'équipe de Joomla vous-y fourni d'importantes informations qui nécessitent toute votre attention, ces messages apparaissent après mise à jour ou après l'installation de Joomla. Ces messages adressent majoritairement la sécurité de la configuration de Joomla ou des changements de fichiers qui ne peuvent être faits que manuellement et qu'une mise à jour ne peut modifier.

16. Identifier les Extensions Vulnérables

Vérifiez toujours la lise d'extensions vulnérables (Vulnerable Extensions List) afin de découvrir les dernières extensions à risques et les potentiels patchs qui on été mis en place. Il vous est recommandé de désinstaller les extensions identifiées comme vulnérables pour lesquelles aucun patch n'existe. Mettez à jour votre extension vulnérable dès qu'un patch est disponible. Si votre  site utilise une  extension vulnérable pour laquelle aucun patch n'a été développé, il vous est recommandé de la remplacer. 

Conclusion

Comme il y a toujours un risque potentiel, la  sécurité de Joomla nécessite un processus de suivi continu, de fréquentes évaluations doivent être mises en place afin d'identifier des vulnérabilités potentielles qui  pourrait être  exploitées par des hackers. Les propriétaires de site & leurs administrateurs doivent toujours être vigilant afin d' améliorer la sécurité de leur site et de réduire le risquer d'être piraté.

Cet article est une traduction libre de l'article "Best Practices to Secure your Joomla Website" d' Ahmad Moussa

N'hésitez pas à nous contacter  :

  • Si votre site a été piraté
  • Pour nous confier la sécurité de votre site Joomla 

Ils nous ont fait confiance

Universités & organismes de recherche

L' INSERM - unité U999, Université Paris Sud - Centre Chirurgical Marie Lannelongue

The Center for Groundwater Studies - Australie

L 'ENSAE : École Nationale de la statistique et de l'administration

La Maison des Sciences de l'Homme Paris Nord , UMS de l'université Paris 8, de l'université Paris 13 et du CNRS

L' Institut Supérieur de Développement - ISD Flaubert

Monpellier RIO imaging (MRI), plate - Forme Technologique (PFT), labellisée IBiSA.

CNRS - INEE  Le Laboratoire d'Excellence Dispositif de Recherche Interdisciplinaire sur les Interactions Hommes-Milieux (LabEx DRIIHM)

Organismes publics

Ministère de la défense : État Major de la 3ème Brigade Mécanisée

La mairie de la ville de Marly le Roi

La mairie de la ville de Breuillet

La mairie de la ville de Thuir

L' Agence Locale de l'Energie de la métropole marseillaise

L' Institut de Formation en Masso-kinésithérapie de Montpellier - Centre Hospitalier Universitaire de Bellevue

Le Centre de Gestion de la fonction Publique Territoriale des Alpes de Haute Provence

La Capitelle - couveuse d'entreprises du Gard

Le Centre Social Intercommunal de Saint Quentin de la Poterie

Le collège & lycée Saint Charles

Le lycée Philippe Lamour

Le centre François Baclesse: Centre de Lutte Contre le Cancer (CLCC)

L' Etablissement Régional de Formations des Professions Paramédicale du Groupement d'Intérêt Public des Etablissement de Santé d'Avignon et du pays de Vaucluse

Entreprises

Astrium une filiale EADS No 1 européen et No 3 mondial de l'industrie spatiale

Messer France

Photonlines

Shânti Gestion

App-Line

Vincent et Mireille

Axiom Information

Galerie Art City

Le Château de Boisson

LM Control

Vagabonde International

Photonlines Energy

la Pisciculture la Croisière

FHSolution

NaturEditions

Etudions à l'étranger

E.P.A.

Microeconomix

Alatak

Jade Black Design

Une bague une destinée

Schmulb

Espace revêtements

Partenaire de réussite

Stylitek

Fun-Kart

The Crew Coach

Sanitval

Ateliers d'écriture de Virginie Lou

cam4you

SDB+

Armelle Bongrain - architecte d'intérieur

ECIM

Riveria Expat Consultants

Florence Thorez - Diététicienne Nutritionniste

Le Séchoir

Le Moulin de Bouydou

L' Espace de Formation Clinique et Psychanalytique

Cours de musique à Montpellier

Leads Planet

Agerix

Etudions à l'étranger

Biopreserv

Aloes RED

InfoTour

EverNew

Synalabs

Bureau d'Etudes Arlaud

Stage de musique été

Fermetures Neuvillaises

Linguapolis

Weblligence

ASD Protect

Véronique Crépaux

Françoise Léon

Inovtolerie

BlueSafe

Viasocial

Repco Marine

King Jouet

Dr Abbas

ER3M

Cryo'net

Vectoring Talents

Desir d'écrire

Dr Girardin

Installation yperreault

Viaortho

Viadentiste

Alice Sweet Home

Cannes property services

La méthode Silva

Les outils du mieux être

Pinceaux et Camaïeux

Viacoach

ASH Conciergerie

MC Coaching Pro

Argos communication 

Cpsforma

Hervé Graille - Architecte 

Adrien Baguet - Architecte

Ingelic

Coach du bonheur

ONG / Associations

UNESCO: International Music Council

L' Association de Recherche en Soins Infirmiers

L' Union Internationale Contre la Tuberculose et les maladies respiratoires

Le Centre National des Risques Industriels

L' Institut International des Hautes Études en Psychanalyse

SurdiFrance : Association nationale de malentendants

La fondation Internationale de l'Hôpital Albert Scmhweitzer à Lambaréné

La Maison des Professions Libérales Ile de France

Le Conseil National de l' Enseignement Agricole Privé

La ligue Dauphiné Savoie de tennis

Le Conseil Permanent Régional des Associations d’Environnement

Le Syndicat des Podologues d'Île de France

La compagnie aux grands pieds

L' Espace de l'Ouest Lyonnais

Les Courants d'Airs

Nîmes Volley Ball

Le Club photo de Saint-Laurent-du-Var 

En poursuivant votre navigation sur ce site, vous acceptez l'utilisation de cookies pour notamment réaliser des statistiques de visites