Je dispose d'une configuration simple et sécurisée avec les mêmes sites et les mêmes origines, comme suit :
Frontend : https://www.example.com API : https://api.example.com
Sur les deux domaines, nous utilisons des certificats SSL délivrés par Amazon (AWS ACM)
Certains de nos clients ont Bitdefender Total Security installé, ce qui bloque les appels d'API à notre propre API, même un simple appel GET
qui ne nécessite aucun échange de crédentials/cookies sophistiqué.
J'ai découvert que Bitdefender supprime l'en-tête access-control-allow-origin
dans la requête XHR réelle; l'appel OPTIONS
à l'API a toujours correctement l'en-tête.
Lorsque je désactive la fonction "Prévention des menaces en ligne > Protection Web > Analyse Web chiffrée" dans Bitdefender et redémarre Chrome, tout fonctionne comme prévu et l'appel GET
à l'API renvoie correctement access-controll-allow-origin=https://www.example.com
Le problème ne se produit pas non plus si l'API est sur le même domaine, comme https://www.example.com/api
, ce qui suggère qu'il s'agit également d'un comportement lié à CORS de la part de Bitdefender.
En lisant la description de cette fonctionnalité, j'ai pensé que peut-être Bitdefender n'aimait pas nos certificats et j'ai remplacé nos certificats AWS par des certificats LetsEncrypt ; même pas un certificat générique ; toujours le même problème.
J'ai également remarqué que Bitdefender remplace notre certificat par son propre certificat local, agissant comme un homme du milieu, probablement pour analyser les demandes, je suppose.
Ce que je ne comprends pas, c'est que par exemple www.imdb.com a une configuration similaire avec leur api.graphql.imdb.com et ils utilisent également les certificats AWS.
Mais, pour une raison quelconque, leurs certificats ne sont pas remplacés et leur en-tête access-controll-allow-origin n'est pas supprimé dans leurs requêtes API.
Les seules différences que j'ai pu repérer jusqu'à présent entre nous et IMDB, c'est qu'ils utilisent TLS 1.3 dans leurs requêtes et nous utilisons TLS 1.2 (via AWS API Gateway)
L'aide en ligne que j'ai trouvée jusqu'à présent suggère uniquement de demander au client de désactiver cette fonctionnalité dans Bitdefender sur leur site, ce que je trouve difficile à accepter si ce type de configuration fonctionne pour IMDB (bien, peut-être qu'ils sont sur liste blanche de Bitdefender)
J'ai également signalé à Bitdefender une identification de menace comme "Faux positif", mais je n'ai rien reçu en retour de cela.
D'autres idées de ce que je peux chercher ?