Signaler une vulnérabilité
security@webcounter.ca
Écrivez à security@webcounter.ca si vous trouvez un problème de sécurité dans le tableau de bord, le script de suivi ou l'API. Indiquez la page ou le point d'accès, les étapes pour reproduire le problème et le résultat attendu. Le chiffrement est facultatif.
Veuillez signaler le problème en privé et laisser le temps nécessaire à l'enquête avant toute divulgation publique. Nous visons à accuser réception des signalements en quelques jours ouvrables et à donner des nouvelles pendant le traitement.
Refuge sécuritaire
La recherche de sécurité de bonne foi est autorisée
Nous n'intenterons aucune poursuite pour une recherche qui respecte la présente politique. Nous collaborerons avec vous pour comprendre et corriger le problème signalé.
- Utilisez des comptes et des sites que vous avez créés pour vos essais ou que vous avez la permission explicite de tester. N'accédez pas aux données d'un autre client.
- Arrêtez et signalez dès que vous avez assez de preuves pour démontrer le problème ; ne continuez pas à extraire des données une fois l'incidence établie.
- N'exécutez pas de scanneurs automatisés, de tests de charge ni d'autres activités susceptibles de dégrader le service. Les limites de débit habituelles s'appliquent aussi au trafic de recherche.
- Ne tentez pas d'accès physique, d'ingénierie sociale ni d'hameçonnage visant les exploitants ou les clients de Counter.
- Donnez-nous l'occasion de corriger le problème avant d'en parler publiquement.
Webcounter.ca n'offre pas de programme de primes rémunéré. Nous pouvons vous créditer après le déploiement d'un correctif si vous souhaitez une reconnaissance publique.
Portée
Ce que couvre la présente politique
Dans la portée : webcounter.ca et ses surfaces de tableau de bord, de compte et d'API ; l'extrait de collecte /c.js et les points d'accès qu'il appelle, soit /api/collect//c.gif//badge.svg ; les pages publiques de rapport partagé et de répertoire du réseau.
Hors portée : les tests de déni de service et les services que Counter n'exploite pas, y compris le courriel transactionnel et les hôtes de tuiles OpenStreetMap.
Sécurité des comptes
Mots de passe, sessions et authentification multifacteur
Les mots de passe sont hachés avec bcrypt avant d'être stockés ; le mot de passe en clair n'est écrit nulle part. La vérification de connexion effectue une comparaison de durée fixe, que l'adresse courriel existe ou non, de sorte que le temps de réponse ne permet pas d'énumérer les comptes. Les tentatives de connexion sont limitées en débit par adresse.
Chaque compte peut activer l'authentification multifacteur facultative au moyen d'un code d'authentification de 30 secondes et de codes de récupération à usage unique. Les secrets d'authentification multifacteur sont chiffrés et les codes de récupération sont stockés sous forme de hachages à sens unique. Changer un mot de passe révoque les autres sessions et les liens de réinitialisation en attente.
Les liens envoyés par courriel pour la vérification, la réinitialisation du mot de passe et le changement d'adresse ouvrent un écran de confirmation. L'action ne se produit qu'après l'envoi du formulaire, de sorte qu'un analyseur de courriel automatisé ne peut pas la déclencher en suivant le lien.
Clés d'API
Affichées une seule fois et stockées sous forme de hachage
Les clés d'API et les clés secrètes sont affichées une seule fois, à leur création. Counter n'en conserve qu'un hachage SHA-256 : une clé fonctionnelle ne peut donc pas être récupérée par la suite. Révoquez et remplacez une clé perdue.
Protection des données
Protection des données
Les identifiants de visiteur reposent sur un hachage à clé rotative, et les adresses IP brutes des visiteurs ne sont pas stockées dans les événements analytiques. Les points d'accès d'abonnement Web Push sont chiffrés au repos. Les sauvegardes nocturnes de la base de données sont chiffrées avec une clé publique, et des vérifications de restauration automatisées valident chaque sauvegarde.
Consultez la page sur la conservation des données pour savoir exactement combien de temps chaque type de donnée est conservé, et l'avis de confidentialité pour la politique complète.
Transport et isolation
HTTPS, en-têtes de sécurité et isolation des locataires
Le tableau de bord, le compte et l'API utilisent HTTPS, HSTS, une politique de sécurité du contenu ainsi que des en-têtes de cadrage, de référent et de permissions. Les points d'accès de collecte (/c.js, /api/collect, /c.gif, /badge.svg) acceptent les requêtes multiorigines parce que les sites des clients doivent les charger. Ils renvoient la même réponse vide, que la requête soit acceptée ou refusée, et n'exposent aucune donnée sensible.
Le tableau de bord et l'API utilisent un seul chemin d'autorisation partagé pour l'accès aux sites. Un utilisateur ou une clé limitée à un site ne peut pas atteindre un autre compte en devinant un identifiant. La production et la préproduction utilisent aussi des identifiants de base de données distincts, et la préproduction n'a pas accès aux données de production.