A partir del 27 de marzo de 2025, te recomendamos que uses android-latest-release
en lugar de aosp-main
para compilar y contribuir a AOSP. Para obtener más información, consulta Cambios en AOSP.
Prácticas recomendadas sobre la seguridad de redes
Organiza tus páginas con colecciones
Guarda y categoriza el contenido según tus preferencias.
En esta sección, se incluyen recomendaciones para garantizar la seguridad de las comunicaciones de red desde dispositivos Android.
Escucha de sockets segura
Usa los sockets de escucha con precaución. Por lo general, no debería haber sockets de escucha abiertos en los dispositivos, ya que proporcionan un vector para que un atacante remoto obtenga acceso al dispositivo.
- Los dispositivos Android deben minimizar la cantidad de sockets de escucha de Internet que exponen, especialmente durante el inicio o de forma predeterminada. No debería haber ningún socket que escuche en Internet durante el inicio de forma predeterminada.
- Los procesos raíz y los que pertenecen al identificador único (UID) del sistema no deben exponer ningún socket de escucha.
- Los sockets de escucha deben poder inhabilitarse sin una actualización inalámbrica. Esto se puede realizar mediante un cambio de configuración del servidor o del dispositivo del usuario.
- En el caso de los sockets locales que usan IPC, las apps deben usar un socket de dominio UNIX con acceso limitado a un grupo. Crea un descriptor de archivo para el IPC y haz que sea
+RW para un grupo UNIX específico. Todas las apps cliente deben estar dentro de ese grupo de UNIX.
- Algunos dispositivos con varios procesadores (por ejemplo, una radio o un módem separados del procesador de la app) usan sockets de red para comunicarse entre procesadores. En esos casos, el socket de red que se usa para la comunicación entre procesadores debe usar una interfaz de red aislada para evitar el acceso de apps no autorizadas en el dispositivo (es decir, usar iptables para evitar el acceso de otras apps en el dispositivo).
- Los demonios que controlan los puertos de escucha deben ser resistentes a los datos con formato incorrecto. Debes realizar pruebas de fuzz en el puerto con un cliente no autorizado y, si es posible, con un cliente autorizado. Informa los errores para hacer un seguimiento de los bloqueos.
El Conjunto de pruebas de compatibilidad de Android (CTS) incluye pruebas que verifican la presencia de puertos de escucha abiertos.
Inhabilita adb
Android Debug Bridge (adb) es una herramienta de desarrollo y depuración valiosa, pero está diseñada para usarse en un entorno controlado y seguro, y no debe habilitarse para uso general.
- Asegúrate de que adb esté inhabilitado de forma predeterminada.
- Asegúrate de que adb requiera que el usuario lo active antes de aceptar conexiones.
El contenido y las muestras de código que aparecen en esta página están sujetas a las licencias que se describen en la Licencia de Contenido. Java y OpenJDK son marcas registradas de Oracle o sus afiliados.
Última actualización: 2025-07-27 (UTC)
[[["Fácil de comprender","easyToUnderstand","thumb-up"],["Resolvió mi problema","solvedMyProblem","thumb-up"],["Otro","otherUp","thumb-up"]],[["Falta la información que necesito","missingTheInformationINeed","thumb-down"],["Muy complicado o demasiados pasos","tooComplicatedTooManySteps","thumb-down"],["Desactualizado","outOfDate","thumb-down"],["Problema de traducción","translationIssue","thumb-down"],["Problema con las muestras o los códigos","samplesCodeIssue","thumb-down"],["Otro","otherDown","thumb-down"]],["Última actualización: 2025-07-27 (UTC)"],[],[],null,["# Network security best practices\n\nThis section contains recommendations to ensure the security of network\ncommunications from Android devices.\n\nSecure listening sockets\n------------------------\n\nUse listening sockets with caution. There should generally\nnot be any open listening sockets on devices as these provide a vector for a\nremote attacker to gain access to the device.\n\n- Android devices should minimize the number of internet listening sockets they expose, especially on boot or by default. No socket should be listening on the internet at boot by default.\n - Root processes and processes owned by the system unique identifier (UID) shouldn't expose any listening sockets.\n- Listening sockets must be able to be disabled without an OTA update. This can be performed using either a server or user-device configuration change.\n- For local IPC-using sockets, apps must use a UNIX domain socket with access limited to a group. Create a file descriptor for the IPC and make it +RW for a specific UNIX group. Any client apps must be within that UNIX group.\n- Some devices with multiple processors (for example, a radio/modem separate from the app processor) use network sockets to communicate between processors. In such instances, the network socket used for inter-processor communication must use an isolated network interface to prevent access by unauthorized apps on the device (i.e. use iptables to prevent access by other apps on the device).\n- Daemons that handle listening ports must be robust against malformed data. You should conduct fuzz-testing against the port using an unauthorized client, and, where possible, authorized client. File bugs to follow up on crashes.\n\nThe [Android Compatibility Test Suite](/docs/core/tests)\n(CTS) includes tests that check for the presence of open listening ports.\n\n### Disable adb\n\nAndroid Debug Bridge (adb) is a valuable development and debugging tool, but\nis designed for use in a controlled, secure environment and shouldn't be\nenabled for general use.\n\n- Ensure that adb is disabled by default.\n- Ensure that adb requires the user to turn it on before accepting connections."]]