Comment sécuriser une nouvelle installation de Joomla?

34

Quelles sont les actions à entreprendre après une nouvelle installation de Joomla afin de le garder en sécurité? Tant sur des serveurs d'hébergement partagés que sur des serveurs dédiés.

ilias
la source
1
@ Admins: Qu'en est-il d'un wiki de communauté pour cette question ??
MattAllegro le

Réponses:

36

Garder un site Web Joomla sécurisé

  1. Utilisez des mots de passe forts.
  2. Réduisez le nombre de comptes d'administrateur.
  3. Désactiver ou supprimer les comptes utilisateur inutilisés.
  4. Réduisez le nombre d'extensions tierces et, lorsque des extensions tierces sont nécessaires, utilisez des extensions bien prises en charge provenant de développeurs établis et de confiance.
  5. Appliquez régulièrement les dernières mises à jour aux extensions Joomla et tierces, y compris les correctifs de sécurité pour les versions de Joomla EOL, le cas échéant.
  6. Abonnez-vous au flux Joomla Security News pour rester informé des dernières mises à jour de sécurité Joomla.
  7. Abonnez-vous à la liste des extensions vulnérables (VEL) de Joomla afin de pouvoir résoudre rapidement les nouvelles vulnérabilités. Faites défiler le lien vers le bas de la page jusqu'au bas de la page . Vous pouvez également suivre le VEL sur Twitter .
  8. Utilisez un hébergement Web sécurisé de bonne qualité, y compris un gestionnaire de fichiers PHP approprié tel que suPHP ou FastCGI, ainsi que des extensions de sécurité telles que mod_security. Utilisez une version prise en charge de PHP .
  9. Plutôt que de vous fier uniquement aux sauvegardes de votre société d'hébergement Web, effectuez régulièrement vos propres sauvegardes du site Web, copiez les fichiers de sauvegarde hors site et exécutez régulièrement des restaurations tests à un emplacement test pour vérifier la qualité de vos sauvegardes.
  10. Activer https.
  11. Implémentez un pare-feu pour une application Web tel que celui fourni avec la version professionnelle d’Akeeba Admin Tools.
  12. N'utilisez pas le préfixe de table standard.
  13. Remplacez le nom d'utilisateur et l'ID par défaut du super administrateur par un autre. La version professionnelle d'Akeeba Admin Tools dispose d'un outil permettant de modifier l'ID de super administrateur.
  14. Restreindre l'accès à l'administrateur Joomla par IP. Autoriser uniquement les adresses IP de confiance.
  15. Activer l'authentification à 2 facteurs pour les comptes d'administrateur (s'applique à Joomla 3.2 et versions ultérieures).
  16. Répétez les étapes ci-dessus pour les autres sites Web partageant le même compte d'hébergement ou, idéalement, séparez les sites Web de leurs propres comptes d'hébergement Web pour éviter la contamination croisée.
  17. Assurez-vous que les ordinateurs personnels des administrateurs de sites Web sont également sécurisés. Par exemple, implémentez un scanner de virus et de programmes malveillants de bonne qualité. Cela permet de protéger les informations d'identification de site Web stockées sur des ordinateurs personnels. Idéalement, utilisez un outil ou une application de cryptage pour stocker le site Web et d'autres informations d'identification.
  18. Lisez les 10 astuces les plus stupides des administrateurs pour savoir ce qu’il ne faut pas faire.

Pour des instructions plus détaillées, voir la liste de contrôle de sécurité officielle .

Neil Robertson
la source
Cette liste peut probablement être ajoutée à (n'hésitez pas à éditer). :)
Neil Robertson
2
Peut-être pourriez-vous créer un lien vers la "liste des extensions vulnérables"? (Je n'arrive pas à modifier votre réponse pour une raison quelconque; je peux en modifier d'autres?)
MrWhite
Merci @ w3d - J'ai ajouté un lien vers la page d'abonnement VEL et également vers le flux Joomla Security News.
Neil Robertson
14

Il est très important de stocker les sauvegardes sur un serveur séparé. Je vois beaucoup de gens qui exécutent fidèlement Akeeba Backups ... et qui sont stockés sur le même serveur dans le même répertoire racine. Pas très utile si vous êtes piraté de manière sérieuse, et certainement pas utile pour récupérer d'un échec d'hébergement.

Akeeba Backup Pro vous permet de stocker et de gérer des fichiers de sauvegarde sur un stockage externe, comme le cloud Amazon.

Deb Cinkus
la source
4
Il est également important de vérifier que vos sauvegardes ne sont pas compressées après le transfert à partir de votre répertoire d'hébergement. Une sauvegarde corrompue n'est pas une sauvegarde. Cela vaut pour tous les systèmes de sauvegarde, Akeeba, CPanel, etc.
UhlBelk le
7

Au lieu de bloquer le fichier .htaccess ou de le verrouiller par IP, vous pouvez également utiliser jSecure pour sécuriser votre connexion administrateur.

Une chose qui n’a pas été mentionnée est l’utilisation d’un fournisseur d’hébergement réputé. Vous voulez un système qui non seulement respecte la sécurité, mais qui fonctionne également avec vous si vous êtes piraté ou en cas de problème (la base de données est corrompue, par exemple). L'idée est de limiter les dommages causés par votre site tout en vous permettant de le nettoyer.

L'idée de base, vous voulez quelqu'un qui ..

  • sera autour
  • n'est pas une opération aérienne
  • travaillera avec vous
  • et fournit un environnement solide.

Si vous voulez une liste de questions à poser à un hôte pour avoir une meilleure impression, faites le moi savoir.

J'espère que cela t'aides.

Donald Champion
la source
6

Essayez ceci aussi,

  • Gardez votre Joomla à jour avec ses extensions.
  • Gardez régulièrement des sauvegardes de votre site dans les nuages .
  • Ne pas ouvrir robots.txtpour les dossiers sécurisés.
  • Pour les dernières versions de Joomla, l'utilisation de l'authentification à deux facteurs sera plus sécurisée.
  • Assurez-vous que les dossiers et les fichiers disposent des autorisations appropriées.
  • Utilisez Cloudfare pour Joomla .

J'espère que ça aide ..

Jobin Jose
la source
5

D'après mon expérience, avec la taille de Joomla, il n'y a aucun moyen de le sécuriser complètement. Donc, plutôt que de mettre en place une politique de sécurité parfaite qui arrête tout, son mieux est de réduire vos attentes pour tenter d’atténuer les dégâts.

Cela peut être fait avec une politique de sauvegarde extrêmement fréquente afin que le site puisse être annulé à chaque intrusion, ainsi que les analyses de logiciels malveillants. Jusqu'à présent, pas un seul hack que nous ayons eu n'est dû au fait que notre panel d'administrateurs a été forcé brutalement.

Nous constatons que la plupart des piratages proviennent de composants tiers ou du noyau de Joomla. Nous avons même vu des piratages arriver à se loger dans les dernières versions de Joomla. En effet, le piratage peut ressembler à une requête normale, en utilisant un filtrage incorrect pour envoyer un fichier sur le serveur. Une fois qu'un fichier est sur le serveur, tout est en règle, il peut être sur TOUT site de tout un serveur partagé et tout en affectant le vôtre; ainsi, si une personne sur un serveur partagé ne se tient pas à jour, cela peut vous concerner.

C’est peut-être un peu extrême, mais, en fonction de l’expérience personnelle, il est préférable de se préparer au pire, mais trop confiant pour que votre politique prévienne tout.

Ainsi, le meilleur moyen de sécuriser une nouvelle installation de Joomla est de sauvegarder souvent et d'activer les analyses de logiciels malveillants. Si le scanner de logiciels malveillants peut vous envoyer un e-mail dès qu'il trouve quelque chose, vous pouvez revenir à la dernière sauvegarde dans un délai très court.

Jordan Ramstad
la source
"amenez vos standards" ??? Cela aurait-il dû être "améliorer vos normes?"
chesedo
J'ai pensé que cela ferait l'objet d'un vote négatif, je ne veux tout simplement pas que quiconque pense que s'il suit les directives, il est en sécurité. Cela veut dire abaisser vos normes car ne vous attendez pas à ne pas être piraté, mais plutôt préparez-vous à ce que cela se produise. La plupart des gens que je connais peuvent effectuer des sauvegardes une fois par semaine ou une fois par mois, car ils pensent que se faire pirater est rare, mais ce n'est pas le cas.
Jordanie Ramstad
Ensuite, vous devriez probablement avoir utilisé "réduisez vos attentes " (de ne pas être piraté) :)
chesedo
Bonne note, édité ça, merci. N'essayant pas de dire quoi que ce soit de mauvais à propos de Joomla, j'adore ça, c'est juste que se battre avec des hackers ne va jamais disparaître, alors il vaut mieux être préparé :).
Jordanie Ramstad
Tout à fait correct - parfois, le meilleur moyen d’aider est d’être honnête :).
Chesedo
4
  1. Changez le nom d'utilisateur et conservez le mot de passe de l'administrateur, utilisez une authentification à deux facteurs (intégré pour les versions 3.3+, pour les autres http://www.readybytes.net/labs/two-factor-authentication.html ).

  2. Installez kSecure ( http://extensions.joomla.org/extensions/access-a-security/site-security/login-protection/12271 )

  3. Protégez votre site Web contre diverses attaques en utilisant cet htaccess http://docs.joomla.org/Htaccess_examples_(security)

Shyam
la source
3

Empruntant cette liste d'un livre blanc "Test de Pen sur un site Joomla" disponible sur le blog. Je pense que cette liste est un guide détaillé des bases de la sécurité de Joomla.

  1. Tenez-vous toujours à jour Joomla. Installez la dernière mise à niveau dès sa publication.
  2. Quelles que soient les extensions utilisées, elles doivent être correctement corrigées avec les dernières versions de mise à niveau. Toute ancienne extension peut donner à l’attaquant un moyen de compromettre le site.
  3. N'utilisez pas de rallonges qui n'ont pas été utilisées ou qui n'ont pas été testées correctement.
  4. Toutes les entrées utilisateur doivent être correctement validées. Ces entrées peuvent être des entrées dans des formulaires, des URI, des images, etc. Si un bouton BROWSE permet à l’utilisateur de télécharger une image, il doit seulement lui permettre de télécharger une image et non un shell PHP qui peut ensuite fonctionner comme une porte dérobée. le serveur.
  5. Utilisez des mots de passe forts pour toutes les connexions. Au moins 8 caractères, un caractère spécial, un chiffre et une lettre sensible à la casse. Cela protégera votre installation d'une force brute.

  6. Gardez toujours une trace des «Derniers visiteurs» dans les fichiers journaux du serveur Web pour détecter les attaques potentielles. Ne considérez jamais vos fichiers journaux comme une simple information. C'est très utile pour suivre et surveiller les utilisateurs.

  7. Mettez un peu de pression pour implémenter plus de sécurité sur l’ensemble du serveur sur lequel votre site basé sur Joomla est hébergé; qu'il soit hébergé sur un serveur partagé ou dédié.

  8. Faites une liste de toutes les extensions que vous utilisez et continuez à les surveiller.

  9. Tenez-vous au courant des dernières vulnérabilités et informations divulguées dans divers avis de sécurité. Exploit-db, osvdb, CVE, etc. sont quelques-unes des bonnes ressources.

  10. Modifiez l'autorisation sur votre fichier .htaccess telle qu'elle est par défaut à l'aide des autorisations d'écriture (car Joomla doit le mettre à jour). La meilleure pratique consiste à utiliser 444 (r-xr-xr-x).

  11. Des autorisations de fichier appropriées sur les répertoires publics doivent être données afin que tout fichier malveillant ne puisse être ni téléchargé ni exécuté. La meilleure pratique dans ce contexte est 766 (rwxrw-rw-), c'est-à-dire que seul le propriétaire peut lire, écrire et exécuter. D'autres ne peuvent que lire et écrire.

  12. Personne ne doit avoir la permission d'écrire dans des fichiers PHP sur le serveur. Ils doivent tous être réglés avec 444 (r —r—r--), tout le monde ne peut lire que.

  13. Déléguer les rôles. Cela sécurise votre compte administrateur. Au cas où quelqu'un piraterait votre ordinateur, celui-ci doit avoir accès uniquement à l'utilisateur respectif, et non au compte d'administrateur.

  14. Les utilisateurs de la base de données doivent uniquement être autorisés à donner des commandes telles que les lignes INSERT, UPDATE et DELETE. Ils ne doivent pas être autorisés à DROP des tables.

  15. Modifiez les noms des dossiers principaux, par exemple, vous pouvez changer / administrateur en / admin12345. 16. Dernier point mais non le moindre, restez à jour avec les dernières vulnérabilités.

FFrewin
la source
Suggestion supplémentaire ad 12: personne à l'exception du serveur Web ne doit également être autorisé à lire les fichiers PHP sur le serveur. Définissez l'utilisateur sur l'utilisateur du serveur Web (www-data ou http) et définissez-le sur 400 ou 600 pour les fichiers modifiables via backend (css, ...).
Tom Kuschel
3

Votre première ligne de défense est votre service d'hébergement

  • Louez un serveur dédié auprès d'un service d'hébergement fiable
  • Assurez-vous d'activer 2FA sur votre serveur et utilisez un mot de passe 'TRÈS FORT'
  • Installez un pare-feu fiable sur votre serveur - J'utilise ConfigServer
  • Installer / Configurer un programme anti-virus, j'utilise ClamAV
  • Assurez-vous que chaque nom d'utilisateur de site Web n'utilise PAS les 8 premiers caractères du nom de domaine et utilise un mot de passe «TRÈS FORTE».
  • Assurez-vous qu'un certificat SSL est installé sur chaque site Web.
  • Assurez-vous que chaque site Web est «En prison», ce qui signifie qu'ils n'ont pas d'accès root, à moins que vous n'ayez besoin d'accéder à la racine du serveur. Dans ce cas, assurez-vous que Secure Shell (SSH) est installé et configuré. J'utilise le site Web de mon domaine serveur, mais tous les autres sites sont 'En prison'.
  • Assurez-vous que toutes les mises à jour du serveur sont installées rapidement !!!!

Votre prochaine ligne de défense est votre cPanel

  • Utilisez un mot de passe "TRÈS FORT"
  • Configurer la force du mot de passe utilisateur pour les utilisateurs
  • Configurez un travail cron pour effectuer une sauvegarde complète de cPanel et l'enregistrer sur une source externe
  • Assurez-vous que cPanel a été configuré pour utiliser SSL pour l'accès.
  • Exécutez la «Vérification de la sécurité du site» pour voir quels autres réglages pourraient être nécessaires.
  • Assurez-vous que toutes les mises à jour de cPanel sont installées rapidement !!!!

Votre prochaine ligne de défense est votre panneau d'administrateur

  • Modifiez les exigences de format de mot de passe pour garantir des mots de passe forts (majuscules / minuscules, chiffres et au moins un signe de ponctuation de 18 caractères au minimum).
  • Activer 2FA pour les utilisateurs - Utiliser pour les comptes super utilisateur et administrateur
  • Limitez le nombre de comptes de super utilisateur (il est préférable d’en avoir un seul)
  • Limitez le nombre de comptes d'administrateur (le moins sera le mieux)
  • Limite les zones accessibles aux administrateurs
  • Limitez le nombre de zones accessibles aux éditeurs, aux éditeurs et aux auteurs.
  • Installer et configurer AdminTools
  • Configurer un mot de passe d'URL administrateur via AdminTools
  • Assurez-vous que les fichiers critiques (HTACCESS, ROBOTS.TXT, WEBCONFIG, INDEX.PHP (racine et modèle) sont définis sur 444. Vous pouvez toujours modifier les fichiers via cPanel pr. Gestionnaire de fichiers du panneau de contrôle Plesk
  • Installer et configurer AkeebaBackup
  • Configurer AkeebaBackup pour sauvegarder les sauvegardes en externe, hors site
  • Installez uniquement les modules complémentaires via les pages Extension Joomla. N'installez jamais de module complémentaire à partir d'une tierce partie ne figurant pas sur la page Extension Joomla.
  • Désactiver et / ou désinstaller les add-ons qui ne sont pas utilisés et ne sont pas nécessaires pour la fonctionnalité Joomla
  • Installez Joomla et les mises à jour complémentaires rapidement !!!

Je suis sûr qu'il y a d'autres étapes, mais ce sont les principales que j'utilise sur mon serveur hébergeant plus de 70 sites Web de partout au pays. J'ai récemment eu une attaque massive similaire à une attaque DDoS et aucun site Web n'a été consulté. Je me sentais un peu à l’avant et à l’épreuve des balles, mais je sais que je ne peux pas être complaisant, car demain sera un autre jour! LOL

Luke Douglas
la source
-4
  1. Je ne suis pas un partisan de l'authentification à deux facteurs

  2. Installez Akeeba Admin Tools, activez le htaccess avancé, vérifiez les options et le pare-feu logiciel

https://www.akeebabackup.com/download/admin-tools.html

  1. Activer le mot de passe de l'URL du serveur
Anibal
la source
1
Souhaitez-vous dire pourquoi vous n'êtes pas fan de l'authentification à deux facteurs?
Chesedo
2
Je vois - cela a du sens. Mais pourquoi ne pas l'utiliser parmi les points d'aide à la sécurité? Si vous le voulez dans votre message, pourquoi ne pas l'avoir comme note secondaire avec la raison?
Chesedo
1
Vous avez raison. Je suis en train d'apprendre à répondre aux questions ici ;-) BTW Cette réponse a été reçue -2 :-(
Anibal
4
Laissons-le comme une première réponse naïve sur le système de cet auteur. Il a du charme à sa manière.
Anibal
1
Hé hé! En réalité, le système SE a pour objectif «d'obtenir les meilleures réponses» ou de mieux répondre à de bonnes réponses - je suggérerais que votre réponse, avec son explication, puisse être supprimée et ajoutée en tant que commentaire car, avec l'explication, elle améliore la compréhension de l'utilisateur. l'impact de l'authentification à 2 facteurs en matière de sécurité.
NivF007