Accès au réseau privé: protection étendue pour les workers et les récupérations de données de navigation

Jonathan Hao
Jonathan Hao

Qu'est-ce que l'accès au réseau privé ?

L'accès au réseau privé (PNA, anciennement CORS-RFC1918 et brièvement l'accès au réseau local) est une fonctionnalité de sécurité qui limite la capacité des sites Web à envoyer des requêtes aux serveurs sur des réseaux privés. Cela permet de protéger les utilisateurs et les réseaux internes contre les attaques potentielles telles que la falsification de requêtes intersites (CSRF). Chrome implémente progressivement la PNA, et la protection sera étendue dans les prochaines versions.

Protections clés PNA (avec leur état actuel)

  • Contextes sécurisés: seuls les contextes sécurisés sont autorisés à envoyer des requêtes de sous-ressources réseau privées (appliquées à partir de Chrome 94). Pour en savoir plus, consultez notre article sur la mise à jour de l'accès au réseau privé.
  • Requêtes préliminaires: Chrome envoie des requêtes préliminaires avant les requêtes de sous-ressources du réseau privé pour vérifier les autorisations du serveur (avertissements dans les outils de développement en cas d'échec depuis Chrome 104, à appliquer dans Chrome 130). Cette procédure a été décrite dans la section Accès au réseau privé: présentation des vérifications préliminaires. Depuis Chrome 123, Chrome omet certains en-têtes CORS tels que Accept si la requête préliminaire est uniquement créée et envoyée en raison de la PNA.
  • Exceptions de même origine: depuis Chrome 115, les requêtes de même origine provenant d'origines potentiellement fiables sont exemptées des restrictions liées à la PNA.

Protection étendue: Web workers

La protection PNA s'étendra aux web workers (dédiés, partagés et service workers). Par exemple :

  • Récupération des scripts de nœud de calcul: nécessite des contextes sécurisés et des vérifications préliminaires pour les adresses IP moins publiques. Avertissements depuis Chrome 110, à appliquer dans Chrome 130.
  • Récupérations lancées par des scripts de nœuds de calcul: toutes les extractions à partir des scripts de nœuds de calcul suivent les mêmes règles PNA.

À partir de Chrome 124, vous pouvez tester l'application forcée en procédant comme suit:

  • Désactiver chrome://flags/#private-network-access-ignore-worker-errors
  • Activer chrome://flags/#private-network-access-respect-preflight-results

Protection étendue: récupérations de navigation

La PNA s'applique également aux récupérations de navigation (iFrame, pop-ups) en raison de leur utilisation potentielle dans les attaques CSRF. Chrome 123 a commencé à afficher des avertissements en cas d'échec, et l'application est prévue pour Chrome 130.

À partir de Chrome 124, vous pouvez tester l'application forcée en:

  • Désactiver chrome://flags/#private-network-access-ignore-navigation-errors
  • Activer chrome://flags/#private-network-access-respect-preflight-results

Lorsque PNA bloque une requête de navigation, les utilisateurs voient une erreur spécifique et offrent la possibilité d'actualiser manuellement la requête et d'autoriser celle-ci.

Lorsque PNA bloque une requête de navigation, les utilisateurs voient une erreur spécifique et offrent la possibilité d'actualiser manuellement la requête et d'autoriser celle-ci.
Lorsque PNA bloque une requête de navigation, les utilisateurs voient une erreur spécifique s'afficher. Ils peuvent alors actualiser manuellement la requête et l'autoriser.

Que faire si votre site Web est concerné ?

Le post Accès au réseau privé: présentation des vérifications préliminaires inclut des conseils. Il est important de noter que pour les requêtes de navigation:

  • Access-Control-Allow-Origin ne peut pas être un caractère générique ("*").
  • Access-Control-Allow-Credentials doit être défini sur "true".

Étape suivante

  • WebSockets: à partir de Chrome 126, PNA couvrira les handshakes WebSocket (les avertissements en premier).
  • Application complète: toutes les restrictions liées à la PNA seront appliquées provisoirement (bloquant les demandes non conformes) dans Chrome 130. Les utilisateurs disposeront d'un paramètre permettant de remplacer l'authentification unique pour les sites de confiance.

Commentaires sur les cas d'utilisation de réseaux privés

Si vous hébergez un site Web sur un réseau privé qui a besoin de requêtes provenant de réseaux publics, l'équipe Chrome a besoin de vos commentaires. Signalez un problème sur l'outil Chromium de suivi des problèmes (composant: Blink>SecurityFeature>CORS>PrivateNetworkAccess).

Photo par Jakub indiquéedzicki sur Unsplash