Récemment, le blog de Sucuri a publié un article sur les possibles utilisations malveillantes du manager de balises de Google. C'est une occasion de rappeler, une fois de plus, que la sécurité doit rester votre priorité, particulièrement lorsque vous utilisez des outils aussi puissants dans un site Joomla!®, ou n'importe quel autre CMS.
Si (presque) tout le monde connaît Google Analytics, l'outil d'analyse de trafic Internet de Google, beaucoup de propriétaires de sites n'ont pas entendu parler de ce gestionnaire de balises. Le Google Tag Manager est un outil gratuit qui permet aux gestionnaires d'insérer (assez) facilement une multitude de balises sur les pages de leurs sites.
En effet, si vous voulez en même temps :
vous devez chaque fois insérer un script sur la ou les pages correspondantes, ce qui peut rapidement s'avérer fastidieux ou très compliqué.
Avec le gestionnaire de balises, vous avez une seule ligne de code à insérer dans votre template, tout le reste est configuré au sein du gestionnaire, par vous-même ou par un administrateur que vous désignez et qui n'aura pas besoin d'avoir accès à votre site.
Une fois le code du gestionnaire de balises ajouté dans le template du site, l'avantage principal est de pouvoir insérer rapidement n'importe quel code dans les pages sans avoir accès au site lui-même : tout se fait dans la console du gestionnaire. Il s'agit d'un gain de temps considérable, mais aussi d'une source de danger, tout aussi considérable, si les mesures de sécurité appropriées ne sont pas appliquées.
En effet, si une personne mal intentionnée arrive à prendre le contrôle du gestionnaire, elle peut injecter virtuellement n'importe quel code dans votre site, depuis les publicités pour les produits pharmaceutiques jusqu'aux scripts de minage de bitcoins ou les tentatives de phishing. Ce n'est donc pas une utilisation à prendre à la légère, mais il existe des moyens d'éviter le pire.
Il y a en gros deux modes d'attaque à considérer :
Dans les deux situations décrites ci-dessus, une protection supplémentaire est possible via la mise en place d'une CSP : Content Security Policy. Il s'agit d'une liste de tous les domaines autorisés à injecter du contenu (JavaScript, images, css, iframe) dans un site. Le contenu provenant de domaines ne figurant pas dans cette liste est rejeté par le navigateur. Cette CSP peut être ajoutée au site via le fichier .htacces situé à la racine de l'installation Joomla!, mais si un pirate gagne l'accès au serveur, il pourra modifier le contenu du fichier et supprimer la protection. Dans notre formule d'hébergement sécurisé pour Joomla!, nous insérons la CSP au niveau du serveur pour éviter ce type de modification. Vous pouvez tester la présence (ou l'absence) d'une CSP sur le site Security headers.
Si vous avez besoin d'aide pour configurer le Google Tag Manager ou installer une Content Security Policy, n'hésitez pas à nous contacter. Et quoi qu'il arrive, restez vigilants !
Le nom Joomla!® est utilisé sous licence limitée d'Open Source Matters, le propriétaire mondial de la marque de commerce. Better Web n'est ni affilié ni soutenu par Open Source Matters ou le projet Joomla!.