Che cos'è l'accesso a rete privata?
L'accesso alla rete privata (PNA, precedentemente noto come CORS-RFC1918 e brevemente Accesso alla rete locale) è una funzionalità di sicurezza che limita la capacità dei siti web di inviare richieste ai server su reti private. In questo modo, puoi proteggere gli utenti e le reti interne da potenziali attacchi come la falsificazione delle richieste cross-site (CSRF). Chrome ha implementato gradualmente la PNA e la protezione verrà estesa nelle release future.
Protezioni principali dei PNA (con lo stato attuale)
- Contesti sicuri: solo i contesti sicuri sono autorizzati a effettuare richieste di risorse secondarie di rete privata (in vigore a partire da Chrome 94). Per maggiori dettagli, consulta il nostro post di aggiornamento relativo all'accesso alla rete privata.
- Richieste di preflight: Chrome invia richieste di preflight prima delle richieste di risorse secondarie della rete privata per verificare le autorizzazioni del server (avvisi in DevTools per gli errori a partire da Chrome 104, da applicare in Chrome 130). Questo è descritto in Accesso a rete privata: introduzione ai preflight. A partire da Chrome 123, Chrome omette alcune intestazioni CORS come
Accept
se il preflight viene creato e inviato solo a causa di PNA. - Esenzioni per le richieste con la stessa origine: a partire da Chrome 115, le richieste con la stessa origine provenienti da origini potenzialmente attendibili sono esenti dalle limitazioni relative ai PNA.
Protezione estesa: worker web
La protezione PNA verrà estesa ai worker web (worker dedicati, worker condivisi e worker di servizio). È incluso quanto segue:
- Recupero degli script dei worker: richiede contesti sicuri e preflight per gli indirizzi IP meno pubblici. Avvisi disponibili da Chrome 110, da applicare in Chrome 130.
- Recuperi avviati dagli script worker: tutti i recuperi all'interno degli script worker seguono le stesse regole PNA.
A partire da Chrome 124, puoi verificare l'applicazione della norma seguendo questi passaggi:
- Disabilita
chrome://flags/#private-network-access-ignore-worker-errors
- Abilita
chrome://flags/#private-network-access-respect-preflight-results
Protezione estesa: recupero dati di navigazione
La PNA si applica anche ai recuperi di navigazione (iframe, popup) a causa del loro potenziale utilizzo negli attacchi CSRF. Chrome 123 ha iniziato a mostrare avvisi per gli errori, con l'applicazione forzata prevista per Chrome 130.
A partire da Chrome 124, puoi testare l'applicazione delle norme:
- Disabilita
chrome://flags/#private-network-access-ignore-navigation-errors
- Abilita
chrome://flags/#private-network-access-respect-preflight-results
Quando PNA blocca una richiesta di navigazione, gli utenti vedranno un errore specifico con la possibilità di ricaricare manualmente e consentire la richiesta.

Che cosa fare se il tuo sito web è interessato?
Il post Accesso a rete privata: presentazione dei preflight include indicazioni in merito. È importante sottolineare che, per le richieste di navigazione:
Access-Control-Allow-Origin
non può essere un carattere jolly ("*"
).Access-Control-Allow-Credentials
deve essere impostato su"true"
.
Passaggi successivi
- WebSockets: in via sperimentale, a partire da Chrome 126, PNA coprirà gli handshake di WebSocket (prima gli avvisi).
- Applicazione completa: tutte le limitazioni relative ai PNA verranno applicate (bloccando le richieste non conformi) in via sperimentale in Chrome 130. Gli utenti avranno un'impostazione del sito per ignorare la PNA per i siti attendibili.
Feedback per i casi d'uso di reti private
Se ospiti un sito web su una rete privata che richiede richieste da reti pubbliche, il team di Chrome vuole il tuo feedback. Segnala un problema nell'Issue Tracker di Chromium (componente: Blink>SecurityFeature>CORS>PrivateNetworkAccess).
Foto di Jakub Żerdzicki su Unsplash