La sécurité des sites en questions
Mon site s’est fait Hacké ! Que faire ?
Joomla est-il vulnérable ?
Wordpress est-il fiable ?
Les forums et les blogs regorgent de messages tous aussi inquiétants les uns que les autres. Voici quelques pistes pour décrypter tout ceci et se prémunir contre les risques.
Qu’est-ce que le piratage de site ?
Pour la majorité des internautes, le piratage de sites Internet (ou hacking) ne concerne que les grosses entreprises ou les organismes d’état pour le vol de données (encore récemment, l'affaire Wikileaks a fait grand bruit). Les plus de 30 ans auront peut-être en tête le film « War games » avec un jeune garçon (doué, certes) qui lance une guerre mondiale depuis son petit ordinateur personnel. La réalité est moins sexy et (heureusement) moins dangereuse, mais beaucoup plus courante.
Le piratage Internet s’apparente assez facilement aux dégâts sur les voitures : de la petite rayure (pas grave mais très agaçante) à la casse, en passant par le au vol de grosse berline pour la revente. Le vol de données est en fait le cas le plus rare. Souvent, les cas de piratage sont assez similaires aux rayures de voiture : un petit malin dépose un fichier sur votre site qui affiche son nom « Machin a piraté ce site » (défiguration). Dans bien des cas, ce qui est recherché par les pirates, c’est d’utiliser votre site pour stocker des fichiers malins : fishing, transport de virus… Donc, même si votre site ne contient pas de données sensibles, il peut être la cible de personnes mal-intentionnées.
Qui est exposé au piratage ?
A peu près tous les sites. Oui, même les sites dits statiques, bien que le risque soit minime et dépendant alors surtout de la qualité de l’hébergement. La complexité d’un site en augmente la vulnérabilité potentielle. Tous les CMS (oui, tous), sont potentiellement vulnérables par le simple fait qu’ils utilisent des langages dynamiques tels que le PHP. Ce n’est pas la technologie elle-même qui est en cause, ce seront les connaissances des développeurs et la surveillance qu’on met en place de ces technologies.
Quels sont les facteurs de risques ?
La technologie va être un facteur, mais souvent infime par rapport à d’autres :
- L’hébergement. Attention, un serveur dédié peut être une bonne idée uniquement si vous avez les compétences pour gérer sa sécurité
- Un site très complexe. Multiplier les fonctionnalités multiplie les failles potentielles
- La qualité du code. Contrairement à certaines idées reçues, un CMS open-source peut être moins vulnérable qu’un CMS maison. Des équipes de développeurs sont en action et des process de surveillance et de mise en place de correctifs sont d’autant plus efficaces que le CMS existe depuis longtemps.
- La maintenance du site. Si un éditeur ou une communauté de développeurs publie un patch correctif, encore faut-il l’appliquer pour qu’il soit effectif sur votre site
- La mise à jour. Tout CMS évolue. En plus des nouvelles fonctionnalités, la plupart des équipes en profitent pour améliorer la sécurité des systèmes.
- L’utilisation même du site. Ce n’est pas le moindre des facteurs ! Les utilisateurs du site ont-ils un vrai mot de passe ? Sont-ils informés un minimum des questions de sécurité ?
Comment sécuriser mon site ?
Tout est question de compromis. Renforcer la sécurité du site ne doit pas nuire à l’utilisabilité du site : imposer des règles trop strictes de complexité des mots de passe risque de faire fuir vos utilisateurs. De même, se passer de CMS pour éviter les risques reviendrait à se couper du potentiel de ces outils. Dommage, non ?
Il ne vous viendrait pas à l’idée de partir en week-end en laissant votre porte ouverte ni d’attendre de sortir de la route pour changer vos pneus. (Si ?! ohhhh...) :)
Alors voici quelques règles à suivre, quel que soit le CMS que vous utilisez :
- N’installez que des fonctionnalités dont vous avez besoin, désinstallez tout ce que vous n’utilisez pas (à faire régulièrement).
- Mettez à jour vos extensions, plugins et modules. Consultez régulièrement les sites de leurs auteurs.
- Analysez l’offre de votre hébergeur et comparez ce qu’il propose en matière de sécurité. Tous ne se valent pas, loin de là.
- Veillez à ne jamais utiliser un compte nommé « admin ». Si vous en avez un, modifiez son statut de « super admin » à « public » puis désactivez-le (technique du « honeypot »).
- Apprenez à gérer les ACLs afin que les accès soient strictement ceux requis.
- Masquez les informations sur votre système. Moins l’attaquant en sait sur votre site, plus difficile sera pour lui de cibler une attaque fructueuse.
- Evitez de stocker un fichier contenant vos mots de passe sur le ftp (si si, on a déjà vu ça !).
- Faites des sauvegardes régulières de tout le site (fichiers + base de données. Votre hébergeur en fait peut-être automatiquement : renseignez-vous)
- Evitez d’utiliser des extensions /plugins de gestion de fichier.
- Changez les préfixes de votre base de données (manipulation réservée aux utilisateurs avancés).
- Limitez les permissions sur les fichiers et répertoires (voir l'entrée Wikipédia sur le CHMOD).
- Mettez à jour votre CMS (après avoir vérifié la compatibilité de votre installation).
- Ne copiez-collez pas de texte provenant d'un autre site dans vos articles sans nettoyer le code.
- Limitez autant que possible l'utilisation des iFrames.
Que faire en cas de piratage ?
Selon le type d’attaque, il est possible que votre hébergeur désactive l’accès à votre site avant qu’il y ait des dégâts. Dans ce cas, il vous envoie une notification en vous invitant à corriger le problème.
Si ce n’est pas le cas, désactivez votre site.
L’audit complet du site à la recherche du problème peut être fastidieux et long. Dans le cas où vous avez une sauvegarde récente, le plus simple peut-être alors de la remettre en place pour repartir sur une base saine.
Faites vite la mise à jour de votre CMS et des extensions installées afin de réduire les risques de failles.
Si vous n’avez pas de sauvegarde récente de votre site ou si celle-ci date d’après l’attaque, vous n’aurez pas d’autre choix que de contrôler tout votre site. Dans les cas extrêmes (sites trop anciens, non maintenus depuis longtemps,…) une refonte du site sera peut-être encore la solution la plus intéressante !
Conclusion
La vigilance est le mot d’ordre. Sauvegardez régulièrement votre site et n’attendez pas d’avoir un problème pour mettre à jour ce dernier.
Pour reprendre la comparaison avec la voiture : entretenez-la régulièrement, vérifiez les voyants, changez les courroies avant qu'elles ne tuent le moteur... mais ne vous trompez pas : soit vous avez des connaissances en mécanique et votre véhicule va rouler sans problème, soit vous ne les avez pas et mieux vaut vous rendre chez le garagiste pour l'entretien touchant à la sécurité.
En bref : faites les opérations de maintenance de votre site si vous maîtrisez le domaine, ou confiez-les à un prestataire dont c'est le métier, qui vous prémunira de la plupart des problèmes et pourra au moins vous réparer les dégâts si l'attaque a quand-même eu lieu !