Seguridad de red móvil

Tráfico HTTP, ATS y seguridad de red

Una excepción global suele arreglar desarrollo y dejar producción expuesta.

LaunchLint Academy

17 min de lecturaEdición y revisión de fuentes: Rene DresselPolítica editorial
Conexión HTTPS segura atravesando ATS y Network Security Configuration
Las excepciones HTTP pueden ayudar en desarrollo, pero exponen datos y dejan una configuración amplia. Prefiere HTTPS y limita excepciones.
TL;DR

La respuesta breve

Las excepciones HTTP pueden ayudar en desarrollo, pero exponen datos y dejan una configuración amplia. Prefiere HTTPS y limita excepciones.

  • Revisa ATS, Network Security Config, WebViews, certificados de debug y endpoints reales juntos.

Pruebas necesarias para publicar

No revises ats, tráfico http y seguridad de red como un interruptor aislado. Relaciónalo con ATS, tráfico HTTP y seguridad de red, el artefacto de producción firmado y los valores de la consola. Documenta qué archivo genera el ajuste, si un framework o plugin puede modificarlo durante el build y cómo comprobaste el valor resuelto. Una entrada razonable en el proyecto no demuestra que el binario subido contenga la misma configuración.

Separa tres niveles de prueba para ATS, tráfico HTTP y seguridad de red: configuración visible en los archivos, comportamiento en un dispositivo limpio y ajustes externos de Apple Developer, App Store Connect o Play Console. La revisión solo es fiable cuando los tres describen el mismo candidato. Asigna responsable y criterio de parada a cada diferencia.

Pruebas necesarias para publicar

  • Valor de producción para inventariar endpoints identificado
  • Archivo o ajuste responsable enlazado
  • Configuración nativa resuelta comprobada
  • Artefacto firmado probado en un dispositivo limpio
  • Diferencias entre iOS y Android documentadas
  • Cada discrepancia tiene responsable y criterio de parada

1. Inventariar endpoints

Incluye APIs, auth, medios, WebViews, analytics y redirects.

No revises inventariar endpoints como un interruptor aislado. Relaciónalo con ATS, tráfico HTTP y seguridad de red, el artefacto de producción firmado y los valores de la consola. Documenta qué archivo genera el ajuste, si un framework o plugin puede modificarlo durante el build y cómo comprobaste el valor resuelto. Una entrada razonable en el proyecto no demuestra que el binario subido contenga la misma configuración.

Pruebas necesarias para publicar

  • Valor de producción para inventariar endpoints identificado
  • Archivo o ajuste responsable enlazado
  • Configuración nativa resuelta comprobada
  • Artefacto firmado probado en un dispositivo limpio
  • Diferencias entre iOS y Android documentadas
  • Cada discrepancia tiene responsable y criterio de parada

2. Entender ATS

Inspecciona NSAppTransportSecurity y evita excepciones globales.

No revises entender ats como un interruptor aislado. Relaciónalo con ATS, tráfico HTTP y seguridad de red, el artefacto de producción firmado y los valores de la consola. Documenta qué archivo genera el ajuste, si un framework o plugin puede modificarlo durante el build y cómo comprobaste el valor resuelto. Una entrada razonable en el proyecto no demuestra que el binario subido contenga la misma configuración.

Pruebas necesarias para publicar

  • Valor de producción para entender ats identificado
  • Archivo o ajuste responsable enlazado
  • Configuración nativa resuelta comprobada
  • Artefacto firmado probado en un dispositivo limpio
  • Diferencias entre iOS y Android documentadas
  • Cada discrepancia tiene responsable y criterio de parada

3. Controlar HTTP Android

Revisa usesCleartextTraffic y Network Security Config.

No revises controlar http android como un interruptor aislado. Relaciónalo con ATS, tráfico HTTP y seguridad de red, el artefacto de producción firmado y los valores de la consola. Documenta qué archivo genera el ajuste, si un framework o plugin puede modificarlo durante el build y cómo comprobaste el valor resuelto. Una entrada razonable en el proyecto no demuestra que el binario subido contenga la misma configuración.

Pruebas necesarias para publicar

  • Valor de producción para controlar http android identificado
  • Archivo o ajuste responsable enlazado
  • Configuración nativa resuelta comprobada
  • Artefacto firmado probado en un dispositivo limpio
  • Diferencias entre iOS y Android documentadas
  • Cada discrepancia tiene responsable y criterio de parada

4. Limitar excepciones

Permite solo dominios y objetivos documentados.

No revises limitar excepciones como un interruptor aislado. Relaciónalo con ATS, tráfico HTTP y seguridad de red, el artefacto de producción firmado y los valores de la consola. Documenta qué archivo genera el ajuste, si un framework o plugin puede modificarlo durante el build y cómo comprobaste el valor resuelto. Una entrada razonable en el proyecto no demuestra que el binario subido contenga la misma configuración.

Pruebas necesarias para publicar

  • Valor de producción para limitar excepciones identificado
  • Archivo o ajuste responsable enlazado
  • Configuración nativa resuelta comprobada
  • Artefacto firmado probado en un dispositivo limpio
  • Diferencias entre iOS y Android documentadas
  • Cada discrepancia tiene responsable y criterio de parada

5. Separar debug

CAs locales y proxies no pertenecen al candidato.

No revises separar debug como un interruptor aislado. Relaciónalo con ATS, tráfico HTTP y seguridad de red, el artefacto de producción firmado y los valores de la consola. Documenta qué archivo genera el ajuste, si un framework o plugin puede modificarlo durante el build y cómo comprobaste el valor resuelto. Una entrada razonable en el proyecto no demuestra que el binario subido contenga la misma configuración.

Pruebas necesarias para publicar

  • Valor de producción para separar debug identificado
  • Archivo o ajuste responsable enlazado
  • Configuración nativa resuelta comprobada
  • Artefacto firmado probado en un dispositivo limpio
  • Diferencias entre iOS y Android documentadas
  • Cada discrepancia tiene responsable y criterio de parada

6. Revisar WebViews

La seguridad de transporte no sustituye una allowlist.

No revises revisar webviews como un interruptor aislado. Relaciónalo con ATS, tráfico HTTP y seguridad de red, el artefacto de producción firmado y los valores de la consola. Documenta qué archivo genera el ajuste, si un framework o plugin puede modificarlo durante el build y cómo comprobaste el valor resuelto. Una entrada razonable en el proyecto no demuestra que el binario subido contenga la misma configuración.

Pruebas necesarias para publicar

  • Valor de producción para revisar webviews identificado
  • Archivo o ajuste responsable enlazado
  • Configuración nativa resuelta comprobada
  • Artefacto firmado probado en un dispositivo limpio
  • Diferencias entre iOS y Android documentadas
  • Cada discrepancia tiene responsable y criterio de parada

7. Probar certificados

Comprueba expiración, hosts, cadena y redirects.

No revises probar certificados como un interruptor aislado. Relaciónalo con ATS, tráfico HTTP y seguridad de red, el artefacto de producción firmado y los valores de la consola. Documenta qué archivo genera el ajuste, si un framework o plugin puede modificarlo durante el build y cómo comprobaste el valor resuelto. Una entrada razonable en el proyecto no demuestra que el binario subido contenga la misma configuración.

Pruebas necesarias para publicar

  • Valor de producción para probar certificados identificado
  • Archivo o ajuste responsable enlazado
  • Configuración nativa resuelta comprobada
  • Artefacto firmado probado en un dispositivo limpio
  • Diferencias entre iOS y Android documentadas
  • Cada discrepancia tiene responsable y criterio de parada

8. Documentar el riesgo

Cada excepción necesita responsable, fecha y plan de retirada.

No revises documentar el riesgo como un interruptor aislado. Relaciónalo con ATS, tráfico HTTP y seguridad de red, el artefacto de producción firmado y los valores de la consola. Documenta qué archivo genera el ajuste, si un framework o plugin puede modificarlo durante el build y cómo comprobaste el valor resuelto. Una entrada razonable en el proyecto no demuestra que el binario subido contenga la misma configuración.

Pruebas necesarias para publicar

  • Valor de producción para documentar el riesgo identificado
  • Archivo o ajuste responsable enlazado
  • Configuración nativa resuelta comprobada
  • Artefacto firmado probado en un dispositivo limpio
  • Diferencias entre iOS y Android documentadas
  • Cada discrepancia tiene responsable y criterio de parada

Preguntas frecuentes

¿Por qué localhost funciona?

Debug y producción usan reglas y certificados distintos.

¿Desactivo ATS?

Normalmente no; corrige el servidor o limita la excepción.

¿Basta usesCleartextTraffic=false?

No. Revisa también config, WebViews y bibliotecas.

¿LaunchLint ve el tráfico?

No. Solo analiza configuración estática.

Fuentes primarias oficiales

Este artículo se basa en las siguientes fuentes primarias oficiales. Las reglas pueden cambiar; comprueba siempre la versión vigente antes de enviar.