Consideraciones sobre la seguridad para el acelerador de zonas de aterrizaje de los Servicios de integración Azure
Una buena seguridad es la base de cualquier aplicación de Azure. Los Servicios de integración Azure se enfrenta a un reto particular, ya que hay muchos recursos que componen una aplicación, y cada uno de estos recursos tiene sus propias consideraciones de seguridad. Para asegurarse de que comprende las consideraciones concretas de cada servicio, consulte las siguientes líneas base de seguridad:
Consideraciones de diseño
Al diseñar el modelo de seguridad, hay dos áreas de diseño diferentes: seguridad en tiempo de diseño y seguridad en tiempo de ejecución.
La seguridad en tiempo de diseño implica el acceso a la administración y creación de recursos de Azure mediante Azure Portal o una API de administración. En Azure, usamos Microsoft Entra ID y el control de acceso basado en roles (RBAC) para lograrlo.
La seguridad en tiempo de ejecución implica el acceso a puntos de conexión y recursos durante el flujo de una aplicación; por ejemplo, autenticar y autorizar a un usuario que llama a una aplicación lógica, o una operación de API en API Management.
Decida pronto si necesita:
Nube privada: todos los recursos residen en una red virtual y solo usan direcciones privadas, sin acceso a o desde la red pública de Internet, potencialmente disponible para sus recursos locales a través de VPN o ExpressRoute.
Nube pública: todos los recursos orientados al público tienen acceso a la red pública de Internet, aunque están bloqueados para restringir el acceso desde la red pública de Internet.
Híbrido: algunos recursos son privados y otros son públicos.
La elección que haga afectará tanto al coste de sus recursos como al grado de seguridad que pueda implementar a sus aplicaciones.
Las consideraciones generales de seguridad incluyen:
Usar servicios de Azure para proteger el tráfico de entrada y salida.
Uso de Microsoft Entra ID y OAuth 2.0 para administrar la autenticación.
Aplicar directivas de gobernanza con Azure Policy.
Bloquear el acceso a los recursos (control de acceso).
Cifrar datos tanto en tránsito como en reposo.
Registrar todos los intentos de acceder a los recursos.
Auditar el acceso a los recursos.
Recomendaciones de diseño
Recomendaciones de diseño de red
Examine el uso de Application Gateway (Azure Application Gateway o Azure Front Door) con Web Application Firewall (WAF) delante de los puntos de conexión accesibles; esto le ayudará con el cifrado automático de datos y le permitirá supervisar y configurar los puntos de conexión con mayor facilidad.
Front Door es una red de entrega de aplicaciones que proporciona equilibrio de carga global y un servicio de aceleración de sitios para las aplicaciones web. Ofrece funcionalidades de nivel 7, como la descarga SSL, el enrutamiento basado en rutas, la conmutación por error rápida y el almacenamiento en caché, entre otros, para mejorar el rendimiento y la disponibilidad de las aplicaciones.
Traffic Manager es un equilibrador de carga de tráfico basado en DNS que permite distribuir el tráfico de forma óptima a servicios de regiones globales de Azure, al tiempo que ofrece una alta disponibilidad y capacidad de respuesta. Dado que Traffic Manager es un servicio de equilibrio de carga basado en DNS, solo equilibra la carga en el nivel del dominio. Por ese motivo, no se puede conmutar por error tan rápidamente como con Front Door, debido a los desafíos comunes relacionados con el almacenamiento en caché de DNS y a los sistemas que no respetan los TTL de DNS.
Application Gateway proporciona un controlador de entrega de aplicaciones administrado, que ofrece diversas funcionalidades de equilibrio de carga de nivel 7. Puede usar Application Gateway para optimizar la productividad de las granjas de servidores web traspasando la carga de la terminación SSL con uso intensivo de la CPU a la puerta de enlace.
Azure Load Balancer proporciona un servicio de equilibrio de carga de nivel 4 con latencia muy baja y alto rendimiento de entrada y salida para todos los protocolos UDP y TCP. Controla millones de solicitudes por segundo. Tiene redundancia de zona, lo que garantiza una alta disponibilidad en las instancias de Availability Zones.
Implemente el aislamiento de red para sus recursos de servicios de integración mediante la integración de red virtual para colocarlos en una subred aislada combinada con el uso del vínculo privado de Azure y los puntos de conexión privados. Consulte el artículo Topología de red y conectividad de esta serie para obtener una revisión de esta guía de diseño.
Proteger el tráfico de salida con Azure Firewall
Use el filtrado de IP para bloquear los puntos de conexión para que solo puedan acceder a ellos mediante direcciones de red conocidas (esto es aplicable a las aplicaciones lógicas que no están integradas en redes virtuales).
Si tiene recursos disponibles públicamente, utilice la ofuscación de DNS para disuadir a los atacantes; la ofuscación implica nombres de dominio personalizados o nombres de recursos de Azure específicos que no revelen el propósito o el propietario de un recurso.
Recomendaciones de diseño de cifrado
Al almacenar datos (en Azure Storage o Azure SQL Server, por ejemplo), habilite siempre el cifrado en reposo. Bloquear el acceso a los datos, idealmente solo para los servicios y un número limitado de administradores. Recuerde que esto también se aplica a los datos de registro. Para más información, consulte Cifrado en reposo de datos de Azure e Información general del cifrado de Azure.
Use siempre el cifrado en tránsito (tráfico TLS, por ejemplo) al transferir datos entre recursos; nunca envíe datos a través de un canal sin cifrar.
Al usar protocolos TLS, use siempre TLS 1.2 o posterior.
Guarde los secretos en Azure Key Vault y, a continuación, vincúlelos a Configuración de la aplicación (Functions, Logic Apps), Valores con nombre (API Management) o Entradas de configuración (App Configuration).
Implemente una directiva de rotación de claves para asegurarse de que todas las claves que se usan en su entorno se rotan periódicamente para evitar ataques mediante claves comprometidas
En Logic App, use ofuscación para proteger los datos en el historial de ejecución.
Recomendaciones de diseño de autenticación y acceso
Siga siempre el principio del mínimo privilegio a la hora de asignar accesos: conceda a una identidad los permisos mínimos que necesite. A veces, esto implicará la creación de un rol personalizado de Microsoft Entra. Si no hay un rol integrado con los permisos mínimos que necesita, considere la posibilidad de crear un rol personalizado solo con estos permisos.
Siempre que sea posible, use siempre identidades administradas cuando un recurso necesite acceder a un servicio. Por ejemplo, si el flujo de trabajo de la aplicación lógica necesita acceder a Key Vault para recuperar un secreto, use la identidad administrada de la aplicación lógica para lograrlo. Las identidades administradas proporcionan un mecanismo más seguro y fácil de administrar para acceder a los recursos, ya que Azure administra la identidad en su nombre.
Use OAuth 2.0 como mecanismo de autenticación entre los puntos de conexión de recursos:
En Logic Apps o Functions, active Autenticación sencilla, que requiere que todas las llamadas externas utilicen una identidad de OAuth (por lo general Microsoft Entra ID, pero podría ser cualquier proveedor de identidad).
En API Management, use el elemento de directiva jwt-validation para requerir un flujo de OAuth para las conexiones a los puntos de conexión.
En Azure Storage y Key Vault, configure directivas de acceso para restringir el acceso a identidades específicas.
Recomendaciones de diseño de gobernanza
Use activamente Azure Policy para buscar problemas de seguridad o errores. Por ejemplo, los puntos de conexión sin filtrado de IP.
Cuando esté disponible, use Microsoft Defender for Cloud para examinar los recursos e identificar posibles puntos débiles.
Revise periódicamente los registros de auditoría (idealmente mediante una herramienta automatizada) para identificar los ataques de seguridad y cualquier acceso no autorizado a los recursos.
Considere el uso de pruebas de penetración para identificar los puntos débiles del diseño de seguridad.
Use procesos de implementación automatizados para configurar la seguridad. Siempre que sea posible, use una canalización de CI/CD como Azure DevOps con Terraform para no solo implementar los recursos, sino también para configurar la seguridad. De este modo, los recursos estarán protegidos automáticamente siempre que se implementen.
Paso siguiente
Revise las áreas de diseño críticas para realizar consideraciones y recomendaciones completas de la arquitectura.
Contenido recomendado
¿Qué son las identidades administradas de recursos de Azure?
Autenticación del acceso a recursos de Azure con identidades administradas en Azure Logic Apps
Consideraciones de seguridad para el movimiento de datos en Azure Data Factory
Desencadenar flujos de trabajo en aplicaciones lógicas estándar con Easy Auth