Sécurité mot de passe danger

Conseils pour sécuriser efficacement un site internet

Les sites professionnels sont devenus des proies de choix pour les pirates. Non pas pour leurs données financière, car la majorité d’entre eux ne contiennent aucun numéro de carte, laissant cette tâche aux sites bancaire, mais pour la richesse de leur base de données utilisateurs, et celle de leur fichiers d’application, notamment si le site développe une technologie unique.

Trois forces sont en présence :

1 – Le pirate, pour qui obtenir l’accès à un serveur professionnel permet de mettre la main sur des informations cruciales qui se revendront à prix d’or sur le Dark Web.

2 – La victime, pour qui une attaque peut mettre un terme à une belle aventure.

3 – Le législateur Européen, qui vient d’adopter une réglementation – en avril 2016 – sanctionnant les entreprises laissant filer les données confidentielles de leur utilisateurs, avec des peines allant jusqu’à 100 millions d’euros et 5 % du chiffre d’affaires.

C’est pourquoi il est nécessaire de prévenir, plutôt que de guérir.

La sécurisation d’un site professionnel doit, selon l’auteur, être basée sur 5 lignes de défense :

1 – Connexions HTTPS
2 – Pare-feu
3 – Mise à jour Régulière
4 – Scan Antivirus
5 – Vérification Régulière de la Sécurité

Passage en revue de ces cinq niveaux qui doivent être appliqués les uns après les autres, afin de bâtir un site qui puisse apporter sécurité et donner confiance à ses utilisateurs. Enfin, les sauvegardes sont abordées dans un bonus spécial, car elles entrent elles-aussi dans une gestion saine d’un site professionnel.

1 – Connexion HTTPS

Derrière ce terme générique, se cache toute une philosophie. Tout d’abord, le responsable sécurité aura à cœur de se connecter à son serveur sur un port sécurisé, oubliant de ce fait le port 21, généralement utilisé pour une connexion FTP classique, non-sécurisée, pour préférer le port 22, généralement utilisé pour une connexion SCP, qui elle, est sécurisée.

Ensuite, ce professionnel connaît les impératifs de sécurisation HTTPS, qui sont essentiellement la mise à jour des algorithmes de cryptage, afin d’assurer un niveau de sécurité élevé à ses visiteurs.

En fait, depuis le lancement en 2014 du projet Google « HTTPS Everywhere », que l’on peut traduire par « Sécurisation Globale de l’Internet », un cortège de détracteurs se fait jour, affirmant qu’une connexion HTTPS ne garantie pas la sécurisation du flux de données voyageant sur Internet. Ce qui est parfaitement vrai, mais seulement si le professionnel du Web décide unilatéralement de ne pas mettre à jour les algorithmes de cryptage de son serveur, comme dans les cas Heartbleed ou POODLE. Alors, oui, dans ce cas-ci, les connexions HTTPS ne sont pas sécurisées, et le serveur possédera autant de trous de sécurité que d’algorithmes périmés.

D’un autre côté, si ces algorithmes sont à jour, alors la connexion est réellement sécurisée.

Le seul moyen de s’assurer de cette sécurisation, est de tester son serveur. Le site https://ssllabs.com permet de connaître le niveau de sécurisation d’un serveur Web, dont la note la plus basse est « T », et la note la plus élevée qui est « A+ ».

Entre ses deux extrêmes vit un monde où se côtoie le pire (T) et le meilleur (A+). À chacun de choisir son côté : Non mis à jour, et non sécurisé, avec une note D, ou pire encore, T. Ou bien, entièrement mis à jour et sécurisé, avec une note A, ou mieux encore, A+. Lire le chapitre 3 « Mise à jour régulière ».

2 – Pare-feu

Vient ensuite le pare-feu. Unique et basique pour les sites lambda, il est préférable d’ajouter des couches de sécurité supplémentaires dans le cas d’un site professionnel, et d’opter pour la superposition de trois pare-feu successifs : 1° Logiciel. 2° Matériel. 3° WAF.

Il est nécessaire d’utiliser ces 3 types de pare-feu dans une optique de sécurisation à 360° d’un serveur professionnel. Ils agiront de concert, ajoutant une couche de sécurité les uns à la suite des autres.

1° Pare-feu Logiciel. C’est le plus connu et le plus simple à mettre en œuvre. Cependant, il est hébergé sur le serveur même, et en cas de pics d’activité, il puisera d’importantes ressources machine pour répondre à la demande, ce qui peut impacter les performances du site.

2° Pare-feu Matériel. Idéal en cas d’affluence, car il est indépendant, partageant ainsi la charge de travail avec le serveur. Cependant, il nécessite un investissement plus important, mais il se révèle indispensable dans les conditions extrêmes ou délicates.

3° Pare-feu WAF. Ce troisième type de pare-feu, WAF, pour Web Application Firewall, est une sorte de pare-feu hybride. Il est étudié pour bloquer les attaques que ces deux prédécesseurs ne connaissent pas. La différence entre le pare-feu WAF et ces deux confrères, tient à ses fonctions verticales évoluées, directement mises en place afin de protéger l’application Web. Par exemple, les deux premiers pare-feu laisseront passer une attaque SQL Injection, tandis que le WAF l’arrêtera, pouvant alors secourir un code défaillant.

3 – Mise à jour régulière

C’est pourquoi, après avoir sécurisé les connexions et installé les pare-feu, il est nécessaire de mettre à jour les logiciels et applications du serveur. Tout d’abord, il est obligatoire de maintenir le système d’exploitation de son serveur à jour 24 heures sur 24, spécialement si celui-ci est très connu, ou très utilisé, comme par exemple Windows, ou une distribution Linux très connue, car leur failles de sécurité enflamment le Web à la vitesse de la lumière.

Ensuite, il faut prendre les mêmes précautions avec les extensions du serveur, comme par exemple mettre à jour le serveur Web (Apache, IIS, etc.) et notamment leur algorithmes de cryptage, comme vu au chapitre N° 1 « Connexions HTTPS », les langages de programmation (PHP, ASP, etc.), le moteur de base de données (SQL Server, MySQL, etc.).

Bien entendu, l’application sur laquelle fonctionne le site (Prestashop, WordPress, etc.) est a surveiller avec une attention toute particulière, notamment si les mises à jour ne sont pas automatique. Il arrive même que ces mises à jour restent confidentielles, uniquement connues par les utilisateurs qui se sont abonnés à une liste de diffusion restreinte, dont très souvent, seuls les développeurs s’abonnent. Évidement, le pirate professionnel, lui, est abonné à cette liste, prêt à tirer profit de la moindre faille.

Les conséquences pourraient être pénibles pour la société gérante du site, pouvant aller, par exemple, d’une campagne dévastatrice sur les réseaux sociaux, jusqu’au bannissement des moteurs de recherches pour causes de présence de fichiers nuisibles. C’est pourquoi il est préférable d’effectuer des scannes antivirus journaliers afin de s’assurer de l’innocuité du site.

Attention ! Prenez soin de mettre à jour les extensions de l’application de base, car elles sont trop souvent oubliées. Ces extensions, dont la dénomination peut changer selon l’application utilisée, comme par exemple Addon, Module, Theme, etc., sont généralement créées par tout un chacun dans le but d’aider l’ensemble de la communauté. Cependant, cette intention altruiste est quelquefois détournée pour une destination bien moins philanthropique. Cette dernière pourrait ouvrir – intentionnellement ou non – une faille de sécurité, ou encore, receler en son sein un fichier indésirable qui explosera, non pas sur le serveur, mais sur l’appareil du visiteur.

5 – Scan Antivirus

Pareillement aux logiciels antivirus disponibles sur un poste de travail, il existe des services en ligne de scan antivirus pour les sites Internet, fournis par les mêmes géants de la sécurité. Évidemment, cette tâche quotidienne a un coût, et certains professionnels du Web se passent de ce genre de détecteurs.

Certaines compagnies de bus longue distances font le même choix, et se passent de détecteurs de crevaison lente. Victime d’une telle avarie, le professionnel derrière le volant peut encore rouler, mais s’il n’agit pas rapidement, des événements gravissimes se profilent au bout de la route.

6 – Vérification Régulière de la Sécurité

Il y a deux normes de sécurité à destination des professionnels du Web : La norme ISO 27001, et la norme PCI DSS. Elles sont quasiment identiques, à une différence majeure. Un site peut obtenir sa conformité ISO 27001 sans aucun contrôles de sécurité réalisés par une société spécialisée et indépendante, qui sont laissés à la seule bonne volonté du gestionnaire du site.

Quant à elle, la norme PCI DSS se démarque de sa consœur, en obligeant de rester en permanence sur le terrain, en contact avec la réalité : Pour obtenir et maintenir sa conformité PCI DSS, le site est obligé de passer des tests tous les 3 mois.

ISO 27001 est plus paperasse. PCI DSS est plus caillasse. ISO 27001 s’assure que les personnels savent faire, une fois tous les 3 ans. PCI DSS s’assure que le site est sécurisé, une fois tous les 3 mois.

La batterie de tests PCI DSS est menée par robot d’une société de sécurité spécialisée, tirant son savoir d’une base de connaissances s’allongeant continuellement, méthodiquement copiée sur les techniques utilisées par les pirates. Ce robot va ainsi essayer, souvent pendant 24 heures, de trouver une faille de sécurité en passant en revue une à une les techniques enregistrées dans cette base de plusieurs milliers de tentatives de pénétrations, afin d’éprouver la solidité du site et de ses composants.

Une seule tentative réussie fait échouer l’ensemble de la certification, et contraint à tout recommencer, jusqu’au succès final. La certification PCI DSS est délivrée aux seuls sites repoussant 100 % des attaques de ce robot.

A l’issue de tests victorieux, la société de certification remet au gestionnaire du site un certificat de conformité valable 3 mois, au bout desquels il sera nécessaire de recommencer cette batterie de tests pour assurer la sécurité du site, et renouveler le certificat. Voici un certificat PCI DSS en cours de validité.

Bonus Spécial : Sauvegardes et Cryptage

Avoir un site sécurisé n’est pas une fin en soi. Les sauvegardes garantissent aussi le capital travail d’une société.

Les professionnels du Web peuvent utiliser un script, une extension, ou encore un service afin d’automatiser les sauvegardes, le but étant de pérenniser leur fond de commerce, et de réduire le temps de récupération suite à incident.

Bien entendu, il est indispensable de chiffrer (crypter) les fichiers importants, comme les sauvegardes de la base de données contenant les informations des utilisateurs, et le fichier, souvent nommé « config.php », contenant l’identifiant et le mot de passe de connexion à cette base de données, spécialement si ces sauvegardes voyagent sur Internet, allant d’un point A (votre serveur) à un point B (lieu de leur stockage).

Conclusion :

La sécurisation d’un site, est une course de fond perpétuelle, rythmée par la cadence imposée par les pirates. Lorsque l’on s’engage dans une telle épreuve, on connaît la date et l’heure de départ, en sachant qu’il n’y aura ni repos, ni ligne d’arrivée.

C’est pourquoi, comme pour un marathon, il faut choisir ses chaussures avec soin, pour savoir aller loin.

Une chose est acquise sur la planète Internet : Le soleil, comme les pirates, ne se couche jamais.

A Propos de l’Auteur :

Olivier, webmaster depuis 2000, gestionnaire des sites de eCommerce de son épouse depuis 2008, dont le dernier, une boutique de sarouel ethnique, est conforme PCI DSS et utilise la majeure partie des conseils décrits ici.

Post Author: Josselin - Info Digitale

Entrepreneur depuis 2014 et passionné par le SEO, les nouvelles technologies et l'informatique en général.

1 thought on “Conseils pour sécuriser efficacement un site internet

    Edouard

    (26 juin 2016 - 16 h 32 min)

    Merci pour tout ces conseils pour bien sécuriser son site internet.
    J’aime beaucoup la conclusion de l’article sur le fait que la sécurité web est un marathon et non une course de vitesse 🙂

    Il faut rester en permanence en veille pour bien sécuriser son site internet, car les pirates / hacker sont toujours au courant de tout, eux !

Laisser un commentaire

Votre adresse de messagerie ne sera pas publiée. Les champs obligatoires sont indiqués avec *