Trucs et astuces pour Webmasters
Faire fonctionner un site Internet, exposé à un public varié ou non, n'est pas toujours facile. Il est important de penser à votre sécurité personnelle ainsi qu'à celle des visiteurs. Souvent, les webmasters sont surpris quand leurs sites sont inopinément bloqués dans un certain pays. Si un grand nombre de visiteurs sont dans l'incapacité d'y accéder, l'opérateur de celui-ci peut aussi faire face à des problèmes économiques. Perdre le contenu ou le serveur de votre site, ou avoir à en installer un autre peut aussi être dérangeant et frustrant.
Ce chapitre tente de dresser une liste de bonnes pratiques et de conseils à avoir en tête lors de la mise en place de votre site Web.
Protéger votre site Web
- Toujours planifier des sauvegardes automatiques (fichiers et bases de données) au moins sur une autre machine physique. Soyez sûr de la démarche pour les restaurer.
- Surveillez votre trafic pour apprendre depuis quel pays viennent vos visiteurs. Vous pouvez utiliser des bases de données de géolocalisation pour deviner depuis quel pays vient une adresse IP. Si vous remarquez une chute importante de trafic depuis un certain pays, votre site web a peut-être été bloqué dans celui-ci. Vous pouvez partager votre observation sur une base de données regroupant les sites Web bloqués comme Herdict (https://www.herdict.org/web).
- Sécurisez votre site Web, surtout si vous utilisez un CMS (Content Management System). Il faut toujours installer les dernières mises à jour stables pour corriger les failles de sécurité.
- Sécurisez le logiciel de votre serveur Web en le paramétrant pour un haut niveau de sécurité (vous pouvez trouver une quantité importante de ressources sur Internet pour sécuriser des serveurs Web tournant sous Linux).
- Enregistrez (ou transférez) votre nom de domaine vers un autre fournisseur de nom de domaines qui n'est pas votre aussi hébergeur Web. Dans le cas d'une attaque à l'encontre de votre fournisseur d'hébergement Web, vous pourrez facilement faire pointer votre nom de domaine vers un autre hébergeur Web.
- Vous pouvez aussi créer un serveur miroir tournant en mode standby vers lequel vous pouvez basculer très facilement. Apprenez à basculer facilement vos entrées DNS vers le site miroir.
- Il peut être intéressant d'héberger votre site Web dans un pays étranger, où le contenu sera moins soumis à la controverse et sera explicitement protégé légalement. Ce choix peut induire un petit délai supplémentaire lors de l'affichage des pages, en général quelques millisecondes, pour vos visiteurs mais vous évitera beaucoup de soucis si vous résidez dans un pays où le contenu de votre site Web est considéré comme litigieux.
- Testez et optimisez votre site Web avec les principaux outils de contournement que vos visiteurs utilisent en général. Vérifier et corriger la moindre page ou fonctionnalité cassée. Idéalement, rendez votre site utilisable par vos utilisateurs sans utiliser JavaScript ou un plugin puisque ceux-ci peuvent être bloqués si vos utilisateurs utilisent des serveurs proxy.
- Evitez de transférer vos fichiers par FTP. Le protocole FTP envoie les mots de passe en clair (c'est à dire non chiffrés) sur Internet, exposant vos informations de connexion une interception sur le réseau. Utilisez plutôt des protocoles comme SFTP (File Transfer Protocol over SSH), SCP ou du WebDAV sécurisé (sur HTTPS).
- Utilisez des ports d'écoute différents pour accéder à vos interfaces d'administration. Les hackers utilisent, en général, des scans automatiques de ports sur une plage de ports standards pour détecter des vulnérabilités. Vous devriez utiliser des valeurs de ports non-standard (comme pour SSH) pour minimiser les risques d'attaque.
- Pour protéger votre serveur contre les attaques par force brute, installez des outils comme DenyHosts http://denyhosts.sourceforge.net. Celui-ci permet de le protéger en utilisant des listes noires contenant les adresses IP ayant effectué trop de tentatives de connexions infructueuses.
Protégez-vous
Vous trouverez ci-dessous des astuces pour vous protéger personnellement, si l'anonymat en tant que webmaster est important pour vous.
- Utilisez une adresse électronique anonyme qui n'est jamais utilisée en association avec votre identité réelle.
- Si vous avez acheté un nom de domaine, vous pouvez saisir de fausses informations dans la base de données publique WHOIS en utilisant un service souvent appelé « WHOIS proxy », « WHOIS protect » ou « domain privacy »
- Utilisez un service come TOR pour rester anonyme quand vous mettez à jour votre site Web.
Protégez vos visiteurs
Outre la protection de votre site Web et de votre personne, il est aussi important de protéger vos visiteurs contre une potentielle détection d'une tierce partie, surtout s'ils soumettent du contenu sur votre site Web.
- Mettez en place le protocole HTTPS pour que vos utilisateurs puissent accéder à votre site au moyen d'une connexion chiffrée, ce qui rendra difficile de regarder automatiquement quel contenu est transféré et pour protéger les identités des différents utilisateurs (y compris la vôtre). Assurez-vous que la configuration de votre site Web utilise bien HTTPS chiffrer l'ensemble des échanges et suivez les autres bonnes pratiques de configuration d'HTTPS. Vous pouvez trouver des informations à propos de son bon déploiement sur https://www.eff.org/pages/how-deploy-https-correctly. Vous pouvez, aussi, utiliser des tests automatiques sur https://www.ssllabs.com/ pour contrôler beaucoup de paramètres techniques.
- Minimisez la quantité d'information conservée dans vos fichiers journaux. Evitez de conserver des adresses IP ou toute autre information personnelle concernant vos visiteurs plus longtemps que nécessaire.
- Chiffrez les données critiques des utilisateurs que vous conservez, comme les mots de passe, en utilisant, par exemple des salted hashes.
- Les services extérieurs comme Google Analytics ou tout autre contenu tiers comme les services publicitaires sont difficiles à contrôler. Evitez-les.
- Créez une version épurée et sécurisée de votre site Web, sans Flash ou code JavaScript embarqué, respectueux de TOR et des connexions bas débit.
Eduquez vos visiteurs
- Apprenez à vos utilisateurs comment utiliser des outils de contournement et comment améliorer leur sécurité sur Internet.
- Créez des checklists, accessibles à vos utilisateurs, concernant la sécurité, pour qu'ils puissent être sûrs de ne pas être surveillés ou attaqués.
Partagez les outils de contournement avec vos utilisateurs
- Hébergez des serveurs proxy Web, comme SabzProxy ou Glype Proxy. Donnez-en l'accès à vos visiteurs, par email ou au moyen des réseaux sociaux.
- Envoyez des invitations psiphon si vous avez un compte sur un nœud privé.
- Installez d'autres types de proxy Web et d'applications si vous disposez d'un serveur dédié et partagez-les.
- Postez une référence à ce guide ou tout autre outil de contournement pertinent sur votre site Web.
Multipliez les canaux de distribution
Les webmasters peuvent et devraient utiliser différentes action pour répandre leurs contenus le plus possible pour éviter qu'ils ne soient rendus indisponibles ou bloqués.
- Mettez en place une liste de diffusion et envoyez régulièrement par email des informations concernant les nouveaux contenus créés. Vous pourrez toujours échanger avec des utilisateurs même si votre site Web n'est plus du tout accessible.
- Mettez en place un flux RSS et vérifiez qu'il contienne les articles en entiers et pas seulement des résumés de ceux-ci. Ainsi, votre contenu peut être interprété très facilement par des sites Web tiers ou par des applications comme Google Reader, qui permet de lire votre contenu même depuis un endroit où il est habituellement bloqué. Partagez vos contenus sur des réseaux sociaux populaires comme Facebook ou Twitter, qui seront difficilement bloqués.
- Diffusez vos contenus le plus possible. Rendez votre contenu téléchargeable. Wikipedia, par exemple distribue gratuitement les exports du contenu de ses bases de données qui peuvent être facilement utilisés pour créer un site miroir, avec le même contenu dans un lieu différent.
- Pensez à diffuser vos contenus sous une licence libre (comme GPL ou Creative Commons) qui permettent à tout le monde de les réutiliser et de créer des miroirs.
- Enregistrez en miroir vos fichiers sur des services de partage de fichiers gratuits comme RapidShare.com ou MegaUpload.com et grâce à des logiciels de partage peer to peer comme Bittorrent.
- Configurez votre serveur Web autorisé l'accès à votre contenu des ports différents des ports standards (80 pour HTTP et 443 pour HTTPS).
- Donnez accès à une API (Application Programming Interface) qui permette aux autres utilisateurs d'accéder à votre contenu depuis des applications tierces comme Twitter ou Wikipedia qui le permettent.
Réduisez les temps de chargement de vos pages
Réduire le temps de chargement de vos pages Web ne va pas seulement vous faire économiser de la bande passante et de l'argent mais aussi aider vos visiteurs des pays en voie de développement à accéder plus facilement à l'information que vous mettez à disposition. Une liste de bonnes pratiques pour accélérer votre site Web est disponible à cette adresse http://developer.yahoo.com/performance/rules.html et https://code.google.com/speed/page-speed/.
- Choisissez un style minimaliste. Conservez le minimum d'images et utilisez CSS pour gérer le style et la mise en page de votre site Web. Une bonne introduction à CSS est disponible sur http://www.w3schools.com/css/css_intro.asp.
- Optimisez vos images. Utilisez des logiciels comme OptiPNG (http://optipng.sourceforge.net/) pour créer des images plus rapides à charger en les optimisant pour une utilisation Web. Ne réduisez jamais vos images grâce à HTML, sauf si vous en avez besoin (par exemple, si vous avez besoin d'une image de 60x60, réduisez là directement, plutôt que d'utiliser HTML).
- Réduisez au maximum l'utilisation de Java, JavaScript, Flash et de tout autre contenu exécuté sur l'ordinateur client. Souvenez-vous que certains cybercafés désactivent ce type de contenus pour des raisons de sécurité. Assurez-vous que l'information que vous souhaitez mettre à disposition est affichée en utilisant du HTML pur uniquement.
- Utilisez des fichiers séparés pour vos styles CSS et vos scripts JavaScript. Si vous utilisez un même style CSS ou un même code JavaScript sur plusieurs pages de votre site Web, transférez ce style ou ce code dans des fichiers séparés de celui de la page. Appelez ces fichiers dans l'entête du fichier HTML de chaque page en ayant besoin. Cette technique permet au navigateur internet de votre visiteur de mettre ces fichier en cache ce qui évite de recharger cette portion de code à chaque changement de page sur votre site Web.
- Minimisez votre code : Supprimez tous les retours à la ligne et tous les espaces inutiles. Certains outils le faisant de façon automatique sont disponibles sur http://javascriptcompressor.com.
- Réduisez au minimum le nombre de requête serveur. Si vous avez un site Web dynamique mais que le contenu n'évolue pas souvent, vous pouvez installer des extensions pour mettre en place un cache coté serveur. Celles-ci fourniront une version statique de vos contenus ce qui réduira drastiquement le nombre de requêtes sur votre base de données.