Sécurité d’un site Internet Joomla!

Joomla! est une plateforme très utilisée pour la création de sites dynamiques. Néanmoins, l’utilisation d’un outil « packagé » ne met pas à l’abri des risques de piratage et d’intrusion dans le système. Voici quelques failles à surveiller et à corriger pour assurer une protection de votre site Joomla!

La première (et plus simple) faille du produit est l’URL d’accès à son interface d’administration bien connue des administrateurs du site mais également des pirates potentiels. Il est donc primordial d’avoir un mot de passe fort pour l’administrateur car les pirates vont essayer les mots de passe classiques, les plus utilisés par les internautes peu soucieux de la sécurité.

Ensuite, les pirates vont utiliser les failles des composants, plus que celles du noyau de joomla! Vous devez donc veiller à toujours utiliser la dernière version stable du noyau afin de garantir une prise en compte des dernières failles de sécurité. La dernière version stable est la 1.5.15.

Le piratage se fait donc le plus souvent via une vulnérabilité dans un composant ou un module et en utilisant des méthodes classiques :
– Injection SQL, technique qui consiste à modifier une requête SQL existante pour afficher des données cachées, ou pour écraser des valeurs importantes, ou encore exécuter des commandes dangereuses pour la base.
– Injection de fichier, technique qui consiste à introduire un fichier étranger sur le serveur.
– Vulnérabilité du type cross-site scripting (XSS) et cross-site request forgery (XSRF), autorisant des utilisateurs à effectuer certaines actions par le biais de requêtes HTTP sans vérification de celles-ci. Ces erreurs peuvent être exploitées pour, par exemple, ajouter un nouvel super administrateur de Joomla!.

Donc, pensez à utliser des modules et des composants fiables, testés et n’hésitez pas à consulter la liste des failles répertoriées sur le site http://docs.joomla.org/Vulnerable_Extensions_List

En revanche, sachez qu’il existe également des composants Joomla! qui peuvent sécuriser votre site et même détecter toutes tentatives d’injection !…

Sécurité : le vol de session

Lorsque vous vous connectez à un site Internet pour y saisir votre nom d’utilisateur et votre mot de passe, celui-ci ouvre une session qui va rester ouverte jusqu’au moment où vous cliquez sur « déconnexion » ou fermez le navigateur. La gestion des sessions se fait suivant plusieurs techniques, la plus utilisée utilise les cookies, petites variables nommées, associées à des URLs et possédant une limite de validité dans le temps. Le serveur produit le cookie et le navigateur le transmet à chaque requête HTTP. Ainsi, si votre connexion n’est pas chiffrée, un attaquant qui vous dérobe ces fameux cookies accède simplement à votre session.

Pour obtenir cette information, l’attaquant capture (par différentes méthodes) tout ou partie du trafic entre le serveur HTTP et le client pour ensuite faire apparaître les transactions qui comportent une transmission de cookie et enfin déterminer quel est le cookie de session. Le service Google Mail, comme iGoogle utilise par exemple un seul cookie appelé GX pour identifier la session.

Sous Firefox 3, les cookies sont désormais stockés dans un fichier SQLite 3 sur lequel il est très facile de procéder à tous types de requête SQL. Un script permet ensuite la transposition d’un hôte cible à un autre en insérant un enregistrement adéquat dans la table et hop, le tour est joué ! l’attaquant est désormais identifié comme étant l’utilisateur de la session ouverte.

La solution pour éviter un tel vol est d’imposer systématiquement le chiffrement des communications (HTTPS pour le web, VPN pour les autres applications nomades,…). Il est également important de penser à « effacer ses traces » de navigation.