Was ist der private Netzwerkzugriff?
Der private Netzwerkzugriff (PNA, früher CORS-RFC1918 und kurz Local Network Access) ist eine Sicherheitsfunktion, die die Möglichkeit von Websites einschränkt, Anfragen an Server in privaten Netzwerken zu senden. So werden Nutzer und interne Netzwerke vor potenziellen Angriffen wie Cross-Site Request Forgery (CSRF) geschützt. In Chrome wird PNA nach und nach eingeführt. Der Schutz wird in den nächsten Releases erweitert.
Wichtige PNA-Schutzmaßnahmen (mit aktuellem Status)
- Sichere Kontexte: Nur sichere Kontexte dürfen Anfragen für Unterressourcen in privaten Netzwerken stellen (ab Chrome 94 erzwungen). Weitere Informationen finden Sie in unserem Update zum Zugriff auf private Netzwerke.
- Preflight-Anfragen: Chrome sendet Preflight-Anfragen vor Anfragen für Unterressourcen in privaten Netzwerken, um Serverberechtigungen zu prüfen. In Chrome 104 werden in den DevTools Warnungen bei Fehlern ausgegeben, die in Chrome 130 erzwungen werden. Das wurde bereits im Artikel Privater Netzwerkzugriff: Einführung von Preflights beschrieben. Ab Chrome 123 werden einige CORS-Header wie
Accept
in Chrome weggelassen, wenn der Preflight nur aufgrund von PNA erstellt und gesendet wird. - Ausnahmen für Anfragen vom selben Ursprung: Seit Chrome 115 sind Anfragen vom selben Ursprung von potenziell vertrauenswürdigen Quellen von den Einschränkungen für PNA ausgenommen.
Erweiterter Schutz: Webworker
Der Schutz durch PNA wird auf Webworker (dedizierte Worker, freigegebene Worker und Dienst-Worker) ausgeweitet. Dazu zählen:
- Abrufen von Worker-Scripts: Erfordert sichere Kontexte und Preflights für weniger öffentliche IP-Adressen. Warnungen seit Chrome 110, die in Chrome 130 erzwungen werden.
- Abrufe, die von Worker-Scripts initiiert werden: Alle Abrufe innerhalb von Worker-Scripts folgen denselben PNA-Regeln.
Ab Chrome 124 können Sie die Erzwingung mit den folgenden Schritten testen:
chrome://flags/#private-network-access-ignore-worker-errors
deaktivierenchrome://flags/#private-network-access-respect-preflight-results
aktivieren
Erweiterter Schutz: Navigationsabrufe
PNA gilt auch für Navigationsabrufe (Iframes, Pop-ups), da sie für CSRF-Angriffe verwendet werden können. In Chrome 123 wurden Warnungen bei Fehlern angezeigt. Die Durchsetzung ist für Chrome 130 geplant.
Ab Chrome 124 können Sie die Erzwingung so testen:
chrome://flags/#private-network-access-ignore-navigation-errors
deaktivierenchrome://flags/#private-network-access-respect-preflight-results
aktivieren
Wenn PNA eine Navigationsanfrage blockiert, sehen Nutzer einen bestimmten Fehler mit der Option, die Seite manuell neu zu laden und die Anfrage zuzulassen.

Was kann ich tun, wenn meine Website betroffen ist?
Weitere Informationen finden Sie im Beitrag Privater Netzwerkzugriff: Einführung von Preflights. Wichtig für Navigationsanfragen:
Access-Control-Allow-Origin
darf kein Platzhalter ("*"
) sein.- Für „
Access-Control-Allow-Credentials
“ muss „"true"
“ festgelegt werden.
Nächste Schritte
- WebSockets: Vorläufig ab Chrome 126 werden WebSocket-Handshakes von PNA abgedeckt (zuerst Warnungen).
- Vollständige Durchsetzung: Alle PNA-Einschränkungen werden voraussichtlich in Chrome 130 erzwungen (nicht konforme Anfragen werden blockiert). Nutzer haben eine Websiteeinstellung, mit der sie die PNA für vertrauenswürdige Websites überschreiben können.
Feedback zu Anwendungsfällen für private Netzwerke
Wenn Sie eine Website in einem privaten Netzwerk hosten, für die Anfragen von öffentlichen Netzwerken erforderlich sind, würde das Chrome-Team gerne Ihr Feedback hören. Melden Sie das Problem im Chromium Issue Tracker (Komponente: Blink> SecurityFeature> CORS> PrivateNetworkAccess).
Foto von Jakub Żerdzicki auf Unsplash