Cinq bonnes pratiques pour sécuriser son site web

Cinq bonnes pratiques pour sécuriser son site web Indispensable pour quasiment toutes les entreprises quelle que soit leur taille, un site internet est la porte d'entrée de nombreuses attaques informatiques. Comment le sécuriser au maximum ?

Les attaques pirates visent particulièrement les sites des entreprises, y compris celles de taille réduite. Les principaux risques sont la défiguration, ou défaçage, où l'attaquant modifie le contenu du site, et le déni de service, où les utilisateurs ne peuvent plus accéder au site, celui-ci étant saturé de requêtes et donc plus capable d'accueillir de nouveaux visiteurs. Il est aussi possible de se servir d'un site web comme d'une porte d'entrée vers le système d'information, pour déposer des contenus illégaux, ou piéger les internautes. "Un site hacké provoque des conséquences importantes, même si ce n'est qu'un site vitrine, alerte Benoît Grunemwald, expert en cybersécurité chez l'éditeur d'antivirus et de programmes de sécurité Eset. Les pirates peuvent accéder aux logins et mots de passe, se servir du site piraté comme hébergement pour relayer des menaces, et par exemple mener des attaques de spear phishing, un phishing social, en donnant l'impression que les mails viennent d'un site sécurisé ". Pour s'en prémunir, il existe différents procédés, selon ses moyens techniques et financiers.

Mettre à jour

Bien qu'extrêmement simple, tout le monde n'y pense pas. Les mises à jour permettent aux logiciels de réparer les failles des versions précédentes qui permettent à des pirates de s'infiltrer. "Beaucoup de sites défacés ou abritant à leur insu des produits illicites le sont parce que le CMS n'est pas à jour, insiste Jérôme Notin, directeur général de cybermalveillance.gouv.fr, plateforme du groupement d'intérêt public ACYMA (pour Actions contre la cybermalveillance), rassemblant acteurs institutionnels et privés contre les cybermenaces. "Avec un CMS très populaire pas à jour, on peut être sûr que cela arrivera ".

Toutes les composantes de gestion du site doivent subir le même traitement, à commencer par les serveurs qui l'abritent, notamment leurs systèmes d'exploitation serveur, que le site soit hébergé en interne ou chez un prestataire. Jérôme Notin conseille également de veiller aux plugins : avant d'en installer, il faut vérifier qu'ils sont mis à jour régulièrement, et limiter leur nombre, car il y a toujours un risque qu'ils soient mal codés et vulnérables. Il indique également la possibilité de créer une version du site en "préprod", sur un serveur isolé afin de tester que les mises à jour ne causent pas de problèmes sur le site.

Limiter et sécuriser les accès

Plus les personnes qui ont les accès d'administration ou d'édition d'un site sont nombreuses, plus le risque de piratage est grand. Il faut donc s'assurer que les mots de passe des administrateurs comme des utilisateurs sont suffisamment sécurisés. Il faut éviter les mots de passe trop génériques ou identiques aux identifiants qui ne changent jamais et ne pas utiliser de comptes utilisateurs partagés par plusieurs personnes. Benoît Grunemwald recommande également "une authentification forte avec plusieurs facteurs", comme un mot de passe et un code secret ou un facteur matériel. Il plaide également pour les gestionnaires de mots de passe, pour sécuriser tous les mots de passe de l'entreprise et gérer facilement les accès. Penser aussi à  "revoir régulièrement les comptes à privilège pour vérifier que leur accès est justifié", ajoute Rachid Hammouda, chef de projet au Boston Consulting Group. Sur son site, la CNIL recommande d'ailleurs de "limiter l'accès aux outils et interfaces d'administration aux seules personnes habilitées".

Jérôme Notin incite également à "ne pas rendre publique l'URL d'accès à la console d'authentification, que ce soit pour les utilisateurs ou les administrateurs : il faut le laisser sur le réseau local, et pour les accès à distance passer par un VPN (pour virtual private network) ou un SSH (tunnel réseau d'accès distant chiffré, ndlr)".

Ajouter des couches de protection au serveur

Il est essentiel de contrôler les données qui transitent sur le site. C'est le rôle d'un pare-feu, qu'il est possible de paramétrer et ainsi définir ce qui soit être bloqué ou non. Il est aussi fondamental de mettre en place un protocole https. "C'est capital pour les sites marchands", assure Jérôme Notin. Ce protocole de communication client–serveur (entre une machine qui envoie des requêtes et une autre qui y répond, comme par exemple un navigateur web qui envoie des requêtes aux serveurs d'un site internet) est une variante du protocole de communication standard http, sécurisée par l'usage de protocoles de sécurisation TLS qui chiffrent les données, contrairement au http.

Mais il faut "s'assurer que les certificats de sécurité sont à jour et que leur renouvellement est anticipé et planifié", avertit Rachid Hammouda. La CNIL recommande d'ailleurs de mettre en place ce protocole TLS en remplacement de ses versions précédentes, SSL, et de "rendre l'utilisation de TLS obligatoire pour toutes les pages […] sur lesquelles sont affichées ou transmises des données à caractère personnel non publiques", ainsi que de " limiter les ports de communication (qui permettent de distinguer différents interlocuteurs et processus, ndlr) strictement nécessaires au bon fonctionnement des applications installées".

Jérôme Notin conseille également quand c'est possible "d'installer des reverse proxy pour filtrer les requêtes et éviter les injections SQL" : quand les formulaires web, ou tout autre dispositif permettant aux visiteurs de saisir des informations, ne sont pas protégés, des personnes malveillantes peuvent y insérer un code pour, par exemple, accéder à la base de données du site et insérer des balises de script malveillantes et de JavaScript dans le code, qui peut se propager. Il faut donc paramétrer les requêtes possibles afin d'empêcher ces saisies. Le reverse-proxy (ou relais inverse), placé entre les serveurs d'un site et internet, protège les serveurs d'une attaque provenant d'utilisateurs.

Faire auditer le code et l'infrastructure

Il est quasiment impossible aux non experts de savoir si l'architecture d'un site est configurée correctement pour résister aux attaques. C'est pourquoi le directeur général de Cybermalveillance recommande de "faire auditer son code et son infrastructure par des professionnels, afin de voir les vulnérabilités, a minima lors du déploiement, et ensuite idéalement dès qu'il y a un changement important dans l'infrastructure". Benoît Grunemwald recommande notamment les "pentests", ou tests d'intrusion, qui simulent une attaque afin de détecter les vulnérabilités.

Il conseille aussi de vérifier lors de la conception de son site que l'aspect cybersécurité est inclus dans la prestation. "Si on le fait soi-même, il existe des outils gratuits et open source pour y aider, en général plutôt bons dans la correction des failles, mais là encore il faut effectuer les mises à jour."

Surveiller l'activité des serveurs

Cela reste le meilleur moyen de repérer une activité suspecte : connexions à des heures anormales, trop fréquentes au vu du nombre d'autorisations, trafic extrêmement élevé à des endroits inhabituels….

"Maintenant, les grands prestataires offrent souvent des services de S.O.C. (ou security operation center, ndlr) externalisés", indique Alexandre Aractingi, directeur associé du Boston Consulting Group. "Ils assurent le monitoring des comportements suspects pour leurs clients ce qui permet d'avoir un professionnel qui suive quotidiennement l'activité ".

Par ailleurs, des sauvegardes régulières de l'ensemble des serveurs peuvent résoudre certains problèmes, notamment en cas d'attaques des serveurs.