Sicurezza rete mobile

Traffico HTTP, ATS e sicurezza di rete

Un’eccezione globale risolve lo sviluppo ma può esporre la produzione.

LaunchLint Academy

17 min di letturaEditing e verifica delle fonti: Rene DresselPolitica editoriale
Connessione HTTPS sicura attraverso ATS e Network Security Configuration
Le eccezioni HTTP aiutano in sviluppo ma possono esporre dati e lasciare una configurazione troppo ampia. Preferisci HTTPS e limita le eccezioni.
TL;DR

La risposta breve

Le eccezioni HTTP aiutano in sviluppo ma possono esporre dati e lasciare una configurazione troppo ampia. Preferisci HTTPS e limita le eccezioni.

  • Controlla insieme ATS, Network Security Config, WebView, certificati di debug ed endpoint reali.

Prove necessarie per la pubblicazione

Non controllare ats, traffico http e sicurezza di rete come impostazione isolata. Collegalo a ATS, traffico HTTP e sicurezza di rete, all’artefatto di produzione firmato e ai valori della console. Annota quale file genera l’impostazione, se un framework o plugin può modificarla durante la build e come hai verificato il valore risolto. Una voce plausibile nel progetto non dimostra che il binario caricato contenga la stessa configurazione.

Separa tre livelli di prova per ATS, traffico HTTP e sicurezza di rete: configurazione visibile nei file, comportamento su un dispositivo pulito e impostazioni esterne in Apple Developer, App Store Connect o Play Console. Il controllo è affidabile solo quando descrivono lo stesso candidato. Assegna ogni differenza a un responsabile con un criterio di stop.

Prove necessarie per la pubblicazione

  • Valore di produzione per inventariare gli endpoint identificato
  • File o impostazione responsabile collegato
  • Configurazione nativa risolta controllata
  • Artefatto firmato provato su dispositivo pulito
  • Differenze iOS e Android documentate
  • Ogni differenza ha responsabile e criterio di stop

1. Inventariare gli endpoint

Includi API, auth, media, WebView, analytics e redirect.

Non controllare inventariare gli endpoint come impostazione isolata. Collegalo a ATS, traffico HTTP e sicurezza di rete, all’artefatto di produzione firmato e ai valori della console. Annota quale file genera l’impostazione, se un framework o plugin può modificarla durante la build e come hai verificato il valore risolto. Una voce plausibile nel progetto non dimostra che il binario caricato contenga la stessa configurazione.

Prove necessarie per la pubblicazione

  • Valore di produzione per inventariare gli endpoint identificato
  • File o impostazione responsabile collegato
  • Configurazione nativa risolta controllata
  • Artefatto firmato provato su dispositivo pulito
  • Differenze iOS e Android documentate
  • Ogni differenza ha responsabile e criterio di stop

2. Capire ATS

Controlla NSAppTransportSecurity ed evita eccezioni globali.

Non controllare capire ats come impostazione isolata. Collegalo a ATS, traffico HTTP e sicurezza di rete, all’artefatto di produzione firmato e ai valori della console. Annota quale file genera l’impostazione, se un framework o plugin può modificarla durante la build e come hai verificato il valore risolto. Una voce plausibile nel progetto non dimostra che il binario caricato contenga la stessa configurazione.

Prove necessarie per la pubblicazione

  • Valore di produzione per capire ats identificato
  • File o impostazione responsabile collegato
  • Configurazione nativa risolta controllata
  • Artefatto firmato provato su dispositivo pulito
  • Differenze iOS e Android documentate
  • Ogni differenza ha responsabile e criterio di stop

3. Controllare HTTP Android

Verifica usesCleartextTraffic e Network Security Config.

Non controllare controllare http android come impostazione isolata. Collegalo a ATS, traffico HTTP e sicurezza di rete, all’artefatto di produzione firmato e ai valori della console. Annota quale file genera l’impostazione, se un framework o plugin può modificarla durante la build e come hai verificato il valore risolto. Una voce plausibile nel progetto non dimostra che il binario caricato contenga la stessa configurazione.

Prove necessarie per la pubblicazione

  • Valore di produzione per controllare http android identificato
  • File o impostazione responsabile collegato
  • Configurazione nativa risolta controllata
  • Artefatto firmato provato su dispositivo pulito
  • Differenze iOS e Android documentate
  • Ogni differenza ha responsabile e criterio di stop

4. Limitare le eccezioni

Consenti solo domini e scopi documentati.

Non controllare limitare le eccezioni come impostazione isolata. Collegalo a ATS, traffico HTTP e sicurezza di rete, all’artefatto di produzione firmato e ai valori della console. Annota quale file genera l’impostazione, se un framework o plugin può modificarla durante la build e come hai verificato il valore risolto. Una voce plausibile nel progetto non dimostra che il binario caricato contenga la stessa configurazione.

Prove necessarie per la pubblicazione

  • Valore di produzione per limitare le eccezioni identificato
  • File o impostazione responsabile collegato
  • Configurazione nativa risolta controllata
  • Artefatto firmato provato su dispositivo pulito
  • Differenze iOS e Android documentate
  • Ogni differenza ha responsabile e criterio di stop

5. Separare il debug

CA locali e proxy non appartengono al candidato.

Non controllare separare il debug come impostazione isolata. Collegalo a ATS, traffico HTTP e sicurezza di rete, all’artefatto di produzione firmato e ai valori della console. Annota quale file genera l’impostazione, se un framework o plugin può modificarla durante la build e come hai verificato il valore risolto. Una voce plausibile nel progetto non dimostra che il binario caricato contenga la stessa configurazione.

Prove necessarie per la pubblicazione

  • Valore di produzione per separare il debug identificato
  • File o impostazione responsabile collegato
  • Configurazione nativa risolta controllata
  • Artefatto firmato provato su dispositivo pulito
  • Differenze iOS e Android documentate
  • Ogni differenza ha responsabile e criterio di stop

6. Esaminare le WebView

La sicurezza del trasporto non sostituisce una allowlist.

Non controllare esaminare le webview come impostazione isolata. Collegalo a ATS, traffico HTTP e sicurezza di rete, all’artefatto di produzione firmato e ai valori della console. Annota quale file genera l’impostazione, se un framework o plugin può modificarla durante la build e come hai verificato il valore risolto. Una voce plausibile nel progetto non dimostra che il binario caricato contenga la stessa configurazione.

Prove necessarie per la pubblicazione

  • Valore di produzione per esaminare le webview identificato
  • File o impostazione responsabile collegato
  • Configurazione nativa risolta controllata
  • Artefatto firmato provato su dispositivo pulito
  • Differenze iOS e Android documentate
  • Ogni differenza ha responsabile e criterio di stop

7. Provare i certificati

Controlla scadenza, host, catena e redirect.

Non controllare provare i certificati come impostazione isolata. Collegalo a ATS, traffico HTTP e sicurezza di rete, all’artefatto di produzione firmato e ai valori della console. Annota quale file genera l’impostazione, se un framework o plugin può modificarla durante la build e come hai verificato il valore risolto. Una voce plausibile nel progetto non dimostra che il binario caricato contenga la stessa configurazione.

Prove necessarie per la pubblicazione

  • Valore di produzione per provare i certificati identificato
  • File o impostazione responsabile collegato
  • Configurazione nativa risolta controllata
  • Artefatto firmato provato su dispositivo pulito
  • Differenze iOS e Android documentate
  • Ogni differenza ha responsabile e criterio di stop

8. Documentare il rischio

Ogni eccezione richiede responsabile, data e rimozione.

Non controllare documentare il rischio come impostazione isolata. Collegalo a ATS, traffico HTTP e sicurezza di rete, all’artefatto di produzione firmato e ai valori della console. Annota quale file genera l’impostazione, se un framework o plugin può modificarla durante la build e come hai verificato il valore risolto. Una voce plausibile nel progetto non dimostra che il binario caricato contenga la stessa configurazione.

Prove necessarie per la pubblicazione

  • Valore di produzione per documentare il rischio identificato
  • File o impostazione responsabile collegato
  • Configurazione nativa risolta controllata
  • Artefatto firmato provato su dispositivo pulito
  • Differenze iOS e Android documentate
  • Ogni differenza ha responsabile e criterio di stop

Domande frequenti

Perché localhost funziona?

Debug e produzione usano regole diverse.

Disattivo ATS?

Di norma no; correggi il server o limita l’eccezione.

Basta usesCleartextTraffic=false?

No. Controlla config, WebView e librerie.

LaunchLint vede il traffico?

No. Analizza solo configurazione statica.

Fonti primarie ufficiali

Questo articolo usa le seguenti fonti primarie ufficiali. Le regole possono cambiare: verifica sempre la versione corrente prima dell’invio.