Votre site Web est une composante essentielle de vos activités. Il favorise l’accès à vos services et la visibilité de vos produits. Toutefois, les cybermenaces peuvent compromettre votre site Web et nuire à vos activités d’entreprise, à votre rentabilité et à votre réputation. Afin de réduire le risque et l’impact des cybermenaces, il est impératif de développer et de maintenir votre site Web en tenant compte de la sécurité. Cette publication présente des mesures de sécurité et de protection de la vie privée pour vous aider.
Sur cette page
- Menaces courantes pour les sites Web
- Développement et gestion de votre site Web en toute sécurité
- Signaler un cyberincident
- Renseignements supplémentaires
Menaces courantes pour les sites Web
Il est important de connaître les principales cybermenaces associées au développement et au maintien d’un site Web.
Attaques par injection
Terme générique désignant toute exploitation perpétrée par un auteur de menace au moyen de données d’entrée non fiables (p. ex., injection de code malveillant) dans un système afin d’en modifier les opérations ou les données.
- Injection SQL (Structured Query Language) : Une injection SQL survient lorsqu’un auteur de menace insère du code malveillant dans les instructions SQL à partir d’une page Web où il est possible d’entrer des données, généralement lorsque le site Web demande à l’utilisatrice ou utilisateur d’ouvrir une session ou de fournir de l’information. Les instructions SQL gèrent le serveur de base de données, et un auteur de menace peut les utiliser pour contourner les mesures d’authentification.
- Script intersites (XSS) : Un auteur de menace utilise un script intersites pour compromettre un serveur Web et injecter du code malveillant dans les sites Web fiables. Lorsqu’une utilisatrice ou un utilisateur visite le site Web, son navigateur exécute le script, ce qui pose un risque pour les témoins, les jetons de session et l’information sensible. Une attaque par script intersites exploite la confiance d’une utilisatrice ou un utilisateur dans le site Web.
Attaque par falsification de requête intersites
La falsification de requête intersites (CSRF pour Cross-site Request Forgery) est une attaque qui vise à inciter les utilisatrices et utilisateurs à exécuter des actions non souhaitées à partir de leur navigateur, comme une déconnexion, un téléchargement d’informations à propos du compte ou un téléversement d’un témoin de site. Ce type d’attaque exploite le lien de confiance entre un site Web et le navigateur de l’utilisatrice ou utilisateur.
Attaque par déni de service
Une attaque par déni de service vise à submerger un site Web au moyen de trafic superflu, ce qui a pour effet d’inonder le serveur et peut nuire à la disponibilité des services offerts aux utilisatrices et utilisateurs. Une attaque par déni de service distribué (DDoS pour Distributed Denial-of-Service) utilise plusieurs ordinateurs zombies ou des réseaux de zombies contre une cible précise pour causer une interruption encore plus importante.
Attaque de l’intercepteur
Une attaque par interception (AitM pour Adversary-in-the-Middle) vise à intercepter la communication entre deux systèmes, par exemple entre le système d’une utilisatrice ou d’un utilisateur et un serveur de site Web. L’intention est de voler ou de modifier des données de la communication. L’auteur de menace peut prétendre être l’une des deux parties légitimes de la communication afin d’obtenir l’accès à de l’information sensible. Il peut aussi s’insérer entre les deux parties et modifier les communications. L’utilisation du protocole HTTPS (Hypertext Transfer Protocol Secure) basé sur un certificat permet de valider votre site Web auprès des utilisatrices et utilisateurs et d’établir un canal confidentiel afin d’atténuer les attaques par interception.
Attaque par maliciel
Une attaque par maliciel distribue un programme malveillant pour causer des dommages, propager des infections ou voler des données sensibles. Les maliciels peuvent se dissimuler et rester discrètement sur votre site Web, et ils peuvent avoir une incidence négative sur les utilisatrices et utilisateurs qui visitent votre site. Les exemples de maliciels comprennent les virus informatiques, les chevaux de Troie, les rançongiciels et les enregistreurs de frappe.
Attaque par bourrage d’identifiants
Une attaque par bourrage d’identifiants survient lorsqu’un auteur de menace utilise des justificatifs d’identité volés précédemment pour tenter de se connecter à un compte. Il continue ses tentatives jusqu’à ce qu’une correspondance soit trouvée.
Si votre site Web est compromis, ce n’est pas seulement votre organisation qui est à risque : les auteurs de menace peuvent également cibler votre chaîne d’approvisionnement, les organisations affiliées et la clientèle. Pour en apprendre davantage à propos des risques associés à la chaîne d’approvisionnement, consultez les publications intitulées Cybersécurité de la chaîne d’approvisionnement pour les petites et moyennes organisations (ITSAP.00.070) et La cybermenace provenant des chaînes d’approvisionnement.
Attaque par force brute
Une attaque par force brute correspond à une situation où un auteur de menace réalise un nombre excessif de tentatives de connexion en utilisant des combinaisons de caractères illimitées afin de se connecter à un système ou à un réseau.
Impact de l’intelligence artificielle
L’intelligence artificielle (IA) est une technologie complexe et en forte croissance qui peut améliorer la fonctionnalité d’un site Web, mais qui peut également compliquer et mettre à l’épreuve les mesures de cybersécurité courantes. L’IA, y compris l’IA générative, peut être exploitée par les auteurs de menace dans le but d’intensifier les attaques contre les sites Web en leur permettant de créer rapidement du code, d’extraire de grandes quantités de données et de diffuser des maliciels à grande échelle. En revanche, l’IA peut également renforcer les mesures de sécurité visant à contrer ces attaques.
La présente publication ne présente pas de renseignements détaillés au sujet de l’IA, mais il est important de rester au fait des développements dans ce domaine. Consultez nos conseils sur l’intelligence artificielle afin d’en apprendre davantage.
Développement et gestion de votre site Web en toute sécurité
Votre site Web est une passerelle entre Internet et votre organisation. Les auteurs de menace peuvent exploiter les vulnérabilités et les mauvaises configurations des sites Web pour voler, modifier ou supprimer des données sensibles, y compris :
- les portails de fournisseurs;
- les données de clientes et clients;
- les pistes de vente;
- les données opérationnelles et financières.
Gardez une longueur d’avance en examinant les aspects suivants de votre site Web. Si vous utilisez un service Web, vous devriez discuter de chacun des sujets ci-dessous avec votre fournisseur de services.
Sécuriser votre architecture Web
Assurez-vous que l’architecture de votre site Web est sécurisée, ce qui comprend les éléments, les relations, les composants sélectionnés et les principes de conception. Vous devriez également appliquer des principes comme la ségrégation et la redondance.
Isolez vos composants de service Web. Si un composant est compromis, les autres composants sont protégés parce qu’ils ont été séparés. Vous devriez également séparer votre serveur d’applications et votre base de données pour protéger les données sensibles.
Vous devriez concevoir votre site Web de façon à ajouter des redondances dans vos composants de service Web (les reproduire). Grâce aux redondances, vous vous assurez de la continuité de vos opérations en cas de défaillance d’un composant.
Exigez l’utilisation du protocole HTTPS par défaut sur votre site Web et configurez le protocole de sécurité de la couche transport (TLS pour Transport Layer Security), qui devra être utilisé entre tous les composants de services Web. Cette mesure permet d’assurer que les données sensibles, comme les données d’authentification et l’information propriétaire, sont chiffrées lorsqu’elles sont en transit. Le protocole HTTPS utilise le protocole TLS pour le chiffrement et l’authentification des visites de page Web.
Mettre en œuvre des mécanismes d’authentification robustes
L’authentification désigne les mécanismes qui valident l’identité d’une utilisatrice ou d’un utilisateur.
Mettez en œuvre une stratégie de mots de passe et de phrases de passe robustes qui comprend l’authentification multifacteur (AMF) à titre de moyen de sécurité supplémentaire. N’envoyez jamais de mots de passe en texte clair sur Internet. Utilisez plutôt du code haché et du chiffrement.
Le hachage est une fonction unidirectionnelle. Il convertit des données et génère une valeur de hachage unique à longueur fixe. Le hachage est un composant clé des techniques cryptographiques des navigateurs et des systèmes visant à protéger l’intégrité des données transmises.
Le chiffrement correspond à un embrouillage des données d’une manière telle que seule la personne détenant la clé correspondante peut les déchiffrer. Il s’agit d’une fonction bidirectionnelle. Le chiffrement emploie un chiffre, c’est-à-dire un type d’algorithme, pour embrouiller les données.
Après un seuil de tentatives ratées de connexion ou à la suite de comportements suspects, verrouillez les comptes et retardez les tentatives de connexion ultérieures. Mettez en place un processus sécurisé de récupération de compte. Consultez le document Élaboration d’un plan de reprise informatique personnalisé (ITSAP.40.004) pour en apprendre davantage.
Définir des contrôles d’accès
Les contrôles d’accès définissent qui peut accéder à quelles ressources sur votre site Web et ils limitent l’information que ces personnes peuvent voir et utiliser. Définissez des contrôles d’accès précis et mettez en œuvre le principe du droit d’accès minimal afin de vous assurer que les utilisatrices et utilisateurs détiennent seulement l’accès dont ils ont besoin pour exécuter leurs fonctions autorisées.
Prenez en considération toutes les couches de contrôle d’accès des applications Web, comme les couches d’application et de présentation du modèle d’interconnexion de systèmes ouverts (OSI pour Open Systems Interconnection), la couche des données et la couche du réseau. Les types d’autorisation basés sur les éléments suivants peuvent être utilisés :
- URL;
- serveur et système de fichiers;
- logique applicative (ce que l’utilisatrice ou utilisateur peut faire).
Identifiez les couches de contrôle d’accès dans vos normes de codage et testez-les rigoureusement avant de déployer vos services Web.
Évaluer vos fournisseurs de services
Si vous avez un fournisseur de services, il se peut que vous n’ayez pas accès à l’infrastructure ou au contrôle des fonctions de sécurité connexes. Toutefois, même lorsque vous faites appel à un fournisseur de services, votre organisation est toujours légalement responsable de protéger la confidentialité et l’intégrité de vos données.
Avant de passer un contrat avec un fournisseur de services, examinez ses capacités et ses politiques en matière de sécurité des données et de protection des renseignements personnels. Définissez clairement les rôles et responsabilités de votre fournisseur de services et de votre organisation en ce qui a trait à la sécurité. Vous pouvez utiliser les sections de ce document pour orienter votre discussion avec un fournisseur de services sur ses capacités en matière de sécurité.
Valider des entrées
La validation des entrées est le processus qui permet de vérifier que les utilisatrices et utilisateurs ainsi que les applications n’entrent que des données correctement formées, notamment dans les champs, les formulaires et les demandes d’information.
Toutes les données d’entrée de votre site Web doivent être considérées comme non fiables. Validez les données d’entrée de vos services Web, y compris celles associées aux navigateurs des clients, aux pare-feu d’applications Web, aux serveurs Web, aux bases de données et à la logique applicative. Vous devriez valider les données d’entrée le plus tôt possible dans le cadre du processus de traitement pour réduire les contraintes que doivent subir vos serveurs. Mettez à l’essai la validation des données d’entrée pendant le processus de développement.
Toutes les données d’entrée de votre site Web doivent être considérées comme non fiables. Validez les entrées de vos services Web, y compris ce qui suit:
- navigateurs client;
- pare-feu d’applications Web;
- serveurs Web;
- base de données;
- logique applicative.
Veillez à valider les entrées aussi tôt que possible durant le processus afin de réduire la charge de vos serveurs. Mettez à l’essai la validation des données d’entrée pendant le processus de développement.
Les données d’entrée doivent également être contrôlées. Appliquez une validation de la longueur attendue des entrées pour éviter les valeurs incorrectes et limiter les entrées libres, ce qui réduira ainsi les risques d’injection de script. Ne présentez pas les messages d’erreur SQL aux utilisatrices et utilisateurs, car ces messages contiennent de l’information précieuse à propos de vos bases de données.
Vérifier les configurations de sécurité
Bien que les configurations de sécurité recommandées par le fournisseur procurent généralement un bon point de départ, ces configurations par défaut peuvent ne pas fournir le niveau de sécurité nécessaire pour protéger vos systèmes et vos données contre les cybermenaces. Assurez-vous de vérifier les configurations afin d’identifier les vulnérabilités potentielles, notamment ce qui suit :
- ports et services Web non utilisés;
- fichiers non protégés;
- répertoires non protégés.
Vous devez désactiver l’exploration des répertoires, car ils donnent un aperçu de la structure de votre site Web. Retirez tous les fichiers d’opération Web non nécessaires, comme le code source ou les fichiers de sauvegarde, qui peuvent contenir des mots de passe.
Désactivez la mise en cache des justificatifs d’identité sur le navigateur. Bien que la mise en cache des justificatifs soit pratique pour les utilisatrices et utilisateurs, elle peut poser un risque pour les renseignements sensibles.
Mettez en œuvre la gestion des configurations pour promouvoir le codage sécurisé et maintenir les bases de référence au sein de votre organisation.
Gérer les sessions de manière sécurisée
Une session est basée sur un échange d’information entre au moins deux entités, comme deux dispositifs ou une utilisatrice ou un utilisateur et un serveur Web. La gestion des sessions est un processus qui permet d’amorcer les échanges, de les contrôler, de les maintenir et d’y mettre fin. Si les sessions ne sont pas gérées de manière sécurisée, les auteurs de menace peuvent interrompre les sessions ou les détourner afin d’intercepter des données ou d’usurper l’identité des utilisatrices ou utilisateurs authentifiés.
Randomisez vos identifiants de session pour empêcher les auteurs de menaces de déduire des séquences d’identifiants de session. Les identifiants de session doivent avoir une longueur minimale acceptable pour offrir une protection contre les attaques par force brute.
Stockez les données de suivi de session sensibles sur les serveurs de services Web avec une période de conservation appropriée et détruisez-les à la date d’expiration. Mettez un terme aux données de session lorsqu’une utilisatrice ou un utilisateur se déconnecte ou est inactif pendant une durée précisée.
Les témoins temporaires, également connus sous le nom de témoin volatil, facilitent la reconnaissance des utilisatrices et utilisateurs pendant leur navigation sur le site Web. À titre d’exemple, ils permettent de conserver des articles dans le panier lors du magasinage. Utilisez l’attribut de témoin sécurisé pour empêcher l’envoi de témoins par un canal non chiffré.
Sécurisez vos opérations
Une fois que votre site Web fonctionne, vous devez prévenir les cybermenaces et les cyberincidents, les détecter et y réagir. Si possible, vous devriez surveiller en continu les activités de votre site Web afin de détecter les comportements anormaux, comme les tentatives de connexion ou d’injection répétées. Par exemple, dans le cas d’une attaque par bourrage d’identifiants, les auteurs de menace se servent de justificatifs d’identité volés ou fuités et les « injectent » dans les pages de connexion d’autres sites Web afin de trouver des correspondances.
Afin de favoriser la sécurité et le fonctionnement continus de vos services Web, mettez en œuvre un processus de gestion des correctifs. Vous pourrez ainsi vous procurer, tester et installer les connectifs et les mises à jour sur vos systèmes et vos appareils. Assurez-vous d’appliquer des correctifs aux systèmes sous-jacents, aux systèmes de gestion de contenu, aux applications Web et aux plugiciels. Veillez à inclure un fichier security.txt sur votre site Web. Il présente une façon claire et standardisée aux chercheuses et chercheurs en sécurité de signaler les vulnérabilités informatiques. Les fichiers security.txt permettent de s’assurer que les problèmes critiques sont communiqués rapidement et de manière sûre à votre organisation. Cette approche proactive aide à protéger vos utilisatrices, vos utilisateurs et votre organisation en facilitant des réponses rapides aux menaces.
Vous devez également promouvoir la sensibilisation à la sécurité au sein de votre organisation et auprès de votre clientèle. En étant transparent à propos des étapes réalisées pour protéger les données, vous pouvez favoriser un lien de confiance avec vos organisations partenaires, votre chaîne d’approvisionnement et votre clientèle.
Signaler un cyberincident
Si votre organisation est victime de fraude, communiquez avec votre service de police local et faites un signalement en utilisant le système de signalement en ligne du Centre antifraude du Canada ou en composant le 1 888-495-8501. Songez à signaler les cyberincidents aux organismes d’application au Centre pour la cybersécurité en ligne dans Mon cyberportail.
Renseignements supplémentaires
- Facteurs à considérer en matière de cybersécurité pour votre site Web (ITSM.60.005)
- Défiguration de site Web (ITSAP.00.060)
- Gestion et contrôle des privilèges administratifs (ITSAP.10.094)
- Sécurisez vos comptes avec une authentification multifacteur (ITSAP.30.030)
- Protéger son organisation contre les attaques par déni de service (ITSAP.80.100)
- Prévenir les attaques par déni de service distribué et s’y préparer (ITSAP.80.110)
- Protéger votre organisation contre les maliciels (ITSAP.00.57)
- Gestion de l’identité, des justificatifs d’identité et de l’accès (GIJIA) [ITSAP.30.018]
- Les dix risques de sécurité les plus importants pour les applications Web (Open Worldwide Application Security Project)