Protección de implementaciones de PaaS

En este artículo se proporciona información que ayuda a:

  • Comprender las ventajas de seguridad del hospedaje de aplicaciones en la nube
  • Evaluar las ventajas de seguridad de plataforma como servicio (PaaS) en comparación con otros modelos de servicio en la nube
  • Cambiar el enfoque de seguridad de un perímetro basado en la red por un perímetro basado en identidades
  • Implementar las mejores prácticas generales de seguridad PaaS

Desarrollar aplicaciones seguras en Azure es una guía general sobre las preguntas y controles de seguridad que debe tener en cuenta en cada fase del ciclo de vida de desarrollo de software al desarrollar aplicaciones para la nube.

Ventajas de seguridad en la nube

Es importante comprender la división de responsabilidades entre usted y Microsoft. En el entorno local, usted controla toda la pila, pero al migrar a la nube, algunas responsabilidades se transfieren a Microsoft.

La nube ofrece ventajas de seguridad. En un entorno local, las organizaciones probablemente tienen responsabilidades incumplidas y recursos limitados para invertir en seguridad. Esta situación crea un entorno donde los atacantes pueden explotar vulnerabilidades en todas las capas.

Las organizaciones pueden mejorar sus tiempos de detección y respuesta de amenazas mediante las funcionalidades de seguridad basadas en la nube de un proveedor y la inteligencia en la nube. Con la transferencia de responsabilidades al proveedor de nube, las organizaciones pueden obtener más cobertura de seguridad, lo que les permite reasignar recursos de seguridad y presupuestos a otras prioridades empresariales.

Ventajas de seguridad de un modelo de servicio en la nube de PaaS

Revisa las ventajas de seguridad de un despliegue PaaS de Azure en comparación con el local.

Ventajas de seguridad de PaaS

A partir de la parte inferior de la pila, la infraestructura física, Microsoft mitiga las responsabilidades y los riesgos comunes. Como Microsoft monitoriza continuamente la nube de Microsoft, es difícil atacarla. No tiene sentido que un atacante se fije Microsoft Cloud como un objetivo. A menos que el atacante tenga mucho dinero y recursos, es probable que se mueva a otro objetivo.

En la parte central de la pila, una implementación PaaS y una local no presentan diferencias. En la capa de aplicación y en la capa de gestión de cuentas y accesos, existen riesgos similares. La siguiente sección de pasos de este artículo te guía hacia las mejores prácticas para eliminar o minimizar estos riesgos.

En la parte superior de la pila, en la gobernanza de datos y la administración de derechos, se asume un riesgo que la administración de claves puede mitigar. Aunque la gestión de claves es una responsabilidad adicional, un despliegue PaaS incluye áreas que ya no tienes que gestionar. Puedes destinar recursos a la gestión de claves.

La plataforma Azure también proporciona protección contra DDoS sólida mediante diversas tecnologías basadas en red. Sin embargo, todos los tipos de métodos de protección contra ataques DDoS basados en red tienen sus límites por vínculo y por centro de datos. Para ayudar a evitar el impacto de los ataques DDoS grandes, puede beneficiarse de la funcionalidad de la nube principal de Azure que permite escalar horizontalmente de manera rápida y automática para defenderse frente a ataques DDoS.

Identidad como perímetro de seguridad principal

Los despliegues de PaaS cambian tu enfoque general hacia la seguridad. Se pasa de la necesidad de controlar todo por uno mismo a compartir la responsabilidad con Microsoft.

Otra diferencia significativa entre PaaS y las implementaciones locales tradicionales es una nueva vista de lo que define el perímetro de seguridad principal. Históricamente, el perímetro principal de seguridad local era tu red y la mayoría de los diseños de seguridad on-premises utilizan la red como su eje principal de seguridad. Para despliegues PaaS, considera la identidad como el perímetro de seguridad principal.

Una de las cinco características fundamentales de la informática en la nube es el acceso amplio a la red, lo que hace que el concepto basado en la red resulte menos relevante. El objetivo de gran parte de la informática en la nube es permitir a los usuarios acceder a los recursos con independencia de su ubicación. Para la mayoría de los usuarios, su ubicación está en algún lugar de internet.

La siguiente figura muestra cómo evolucionó el perímetro de seguridad de un perímetro de red a uno de identidad. La seguridad se centra menos en proteger la red y más en proteger los datos, así como en administrar la seguridad de las aplicaciones y los usuarios. La diferencia principal es que la intención es basar más la seguridad en lo que resulta importante para su empresa.

Identidad como nuevo perímetro de seguridad

Inicialmente, los servicios PaaS de Azure (por ejemplo, Azure App Service y Azure SQL) proporcionan poco o ninguna defensa perimetral de red tradicional. El propósito del elemento era estar expuesto a internet (rol web), y la autenticación proporciona el nuevo perímetro (por ejemplo, Azure SQL).

Las prácticas modernas de seguridad asumen que el adversario ha vulnerado el perímetro de la red. Por lo tanto, las prácticas modernas de defensa se desplazan hacia la identidad. Las organizaciones deben establecer un perímetro de seguridad basado en identidades con una sólida autenticación e higiene de la autorización.

Procedimientos recomendados para la administración de identidades

Utiliza las siguientes mejores prácticas para gestionar el perímetro de identidad.

Buenas prácticas: Primero, considera usar identidades gestionadas para recursos de Azure para acceder de forma segura a otros servicios sin almacenar credenciales. Detalle: Las identidades gestionadas proporcionan automáticamente una identidad para aplicaciones que se ejecutan en servicios de Azure, lo que les permite autenticarse a servicios que soportan Microsoft Entra ID sin requerir credenciales en el código o archivos de configuración. Esta identidad reduce el riesgo de exposición de credenciales y simplifica la gestión de identidad para tus aplicaciones.

Procedimiento recomendado: proteja las claves y las credenciales para proteger la implementación de PaaS. Detalle: La pérdida de claves y credenciales es un problema común. Puedes usar una solución centralizada donde almacenes claves y secretos en módulos de seguridad de hardware (HSM). Azure Key Vault protege tus claves y secretos cifrando claves de autenticación, claves de cuentas de almacenamiento, claves de cifrado de datos, archivos .pfx y contraseñas utilizando claves protegidas por HSM.

Procedimiento recomendado: no coloque credenciales ni otros secretos en el código fuente o GitHub. Detalle: Lo único peor que perder tus llaves y credenciales es que una entidad no autorizada obtenga acceso a ellas. Los atacantes pueden aprovechar las tecnologías de bots para encontrar claves y secretos almacenados en repositorios de código, como GitHub. No pongas claves y secretos en estos repositorios públicos de código.

Procedimiento recomendado: usar plataformas de autenticación y autorización seguras. Detalle: use Microsoft Entra ID para la autenticación en lugar de los almacenes de usuarios personalizados. Al usar el identificador de Entra de Microsoft, puede aprovechar un enfoque basado en la plataforma y delegar la administración de identidades autorizadas. Un enfoque de Microsoft Entra ID es especialmente importante cuando se despide a los empleados y esa información debe ser reflejada a través de diferentes sistemas de identidad y autorización.

Use los mecanismos de autenticación y autorización proporcionados en la plataforma en lugar del código personalizado. La razón es que desarrollar código de autenticación personalizado puede resultar un método propenso a errores. La mayoría de tus desarrolladores no son expertos en seguridad y es poco probable que estén al tanto de las sutilezas y los últimos avances en autenticación y autorización. El código comercial (por ejemplo, de Microsoft) suele revisarse de manera amplia a efectos de seguridad.

Utiliza autenticación multifactor (MFA) y asegúrate de que los métodos MFA resistentes al phishing —como las claves de acceso, FIDO2 o la autenticación basada en certificados (CBA )— se apliquen mediante políticas de Acceso Condicional. Como mínimo, requiera estos para todos los administradores, y para lograr una seguridad óptima, impleméntelos a nivel de todo el sistema. El acceso a las interfaces de administración de Azure (portal o PowerShell remoto) y a los servicios orientados al cliente debe diseñarse y configurarse para usar la autenticación multifactor de Microsoft Entra.

Para iniciar sesión en la app, utiliza OpenID Connect (OIDC) con OAuth 2.0 a través de Microsoft Entra ID. Estos protocolos son ampliamente revisados por pares y probablemente se implementen como parte de las bibliotecas de tu plataforma para autenticación y autorización.

Usar el modelado de amenazas durante el diseño de la aplicación

El ciclo de vida de desarrollo de seguridad de Microsoft especifica que los equipos deben participar en un proceso denominado modelado de amenazas durante la fase de diseño. Para facilitar este proceso, Microsoft creó la Herramienta de Modelado de Amenazas SDL. El modelado del diseño de la aplicación y la enumeración de amenazas STRIDE en todos los límites de confianza pueden detectar errores de diseño al principio.

En esta tabla se enumeran las amenazas STRIDE y se incluyen algunos ejemplos de mitigación donde se usan características de Azure. Estas mitigaciones no funcionan en todas las situaciones.

Threat Propiedad de seguridad Posibles mitigaciones de la plataforma Azure
Suplantación de identidad Autenticación Necesita conexiones HTTPS.
Alteración de datos Integridad Valida certificados TLS/SSL.
Rechazo No rechazo Habilite la supervisión y el diagnóstico de Azure.
Divulgación de información Confidencialidad Cifrado de datos confidenciales en reposo mediante certificados de servicio.
Denegación de servicio Disponibilidad Supervisa las métricas de rendimiento de las posibles condiciones de denegación de servicio. Implementa filtros de conexión.
Elevación de privilegios Autorización Utiliza Privileged Identity Management.

Azure App Service

Azure App Service es una oferta PaaS que te ayuda a crear aplicaciones web y móviles para cualquier plataforma o dispositivo y conectarte a datos en cualquier lugar, en la nube o localmente. App Service incluye las funcionalidades web y móviles que anteriormente se ofrecían por separado como Azure Websites y Azure Mobile Services. También incluye nuevas funcionalidades para automatizar procesos empresariales y hospedar las API en la nube.

Utiliza las siguientes mejores prácticas para App Service.

Procedimiento recomendado: Autenticación mediante el identificador de Microsoft Entra. Detalle: App Service proporciona un servicio OAuth 2.0 para tu proveedor de identidad. OAuth 2.0 se centra en la sencillez del desarrollador del cliente y ofrece flujos de autorización específicos de aplicaciones web, aplicaciones de escritorio y teléfonos móviles. Microsoft Entra ID usa OAuth 2.0 para permitirle autorizar el acceso a las aplicaciones móviles y a las aplicaciones web.

Procedimiento recomendado: restrinja el acceso en función de la necesidad de conocer y los principios de seguridad con privilegios mínimos. Detalle: Restringir el acceso es imperativo para las organizaciones que quieran aplicar directivas de seguridad para el acceso a datos. Puede usar RBAC de Azure para asignar permisos a usuarios, grupos y aplicaciones en un ámbito determinado.

Procedimiento recomendado: proteger las claves. Detalle: Azure Key Vault ayuda a proteger las claves criptográficas y los secretos que usan las aplicaciones y servicios en la nube. Con Key Vault, puede cifrar claves y secretos (por ejemplo claves de autenticación, claves de cuenta de almacenamiento, claves de cifrado de datos, archivos .PFX y contraseñas) a través del uso de claves que están protegidas por módulos de seguridad de hardware (HSM). Para tener mayor seguridad, puede importar o generar las claves en HSM. Consulte Azure Key Vault para más información. También puede utilizar Key Vault para administrar los certificados TLS con renovación automática.

Procedimiento recomendado: restringir las direcciones IP de origen entrantes. Detalle: App Service Environment tiene una característica de integración de red virtual que le ayuda a restringir las direcciones IP de origen entrantes a través de grupos de seguridad de red. Las redes virtuales permiten colocar recursos de Azure en una red que se pueda enrutar distinta de Internet y a la que se controla el acceso. Para más información, consulte Integración de la aplicación con una red virtual de Azure. También puedes usar el enlace privado (punto final privado) y desactivar la red pública para forzar la conexión de red privada entre el servicio de aplicaciones y otros servicios.

Procedimiento recomendado: aplique el tráfico solo HTTPS y requiera TLS 1.2 o superior para todas las conexiones. Desactiva el acceso FTP siempre que sea posible. Si es necesario transferir archivos, utiliza FTPS para asegurar transferencias seguras y cifradas. Detalle: Configurar su App Service para aceptar solo el tráfico HTTPS garantiza que los datos se cifren en tránsito, lo que protege la información confidencial frente a la interceptación. Requerir TLS 1.2 o superior proporciona una mayor seguridad frente a vulnerabilidades encontradas en versiones anteriores del protocolo. Deshabilitar FTP reduce el riesgo de que las credenciales o los datos se transmitan sin cifrar. Si necesitas transferencia de archivos, activa solo FTPS, que cifra tanto las credenciales como los datos durante el tránsito.

Procedimiento recomendado: supervise el estado de seguridad de los entornos de App Service. Detalle: Utilice Microsoft Defender para la nube para supervisar los entornos de App Service. Cuando Defender for Cloud identifica posibles vulnerabilidades de seguridad, crea recomendaciones que lo guiarán por el proceso de configuración de los controles necesarios. Microsoft Defender para App Service proporciona protección contra amenazas para los recursos de App Service.

Para obtener más información, consulte Microsoft Defender para App Service.

Firewall de aplicaciones web

Las aplicaciones web son cada vez más los objetivos de ataques malintencionados que aprovechan vulnerabilidades comunes conocidas, como Las vulnerabilidades más comunes incluyen ataques por inyección SQL y ataques de scripting entre sitios. Prevenir este tipo de ataques en el código de la aplicación puede ser complicado y puede requerir un mantenimiento riguroso, parcheo y monitorización en muchas capas de la topología de la aplicación. Un cortafuegos centralizado de aplicaciones web simplifica la gestión de la seguridad y ofrece una mayor seguridad a los administradores de aplicaciones frente a amenazas e intrusiones. Una solución WAF también puede reaccionar más rápido a una amenaza de seguridad al parchear una vulnerabilidad conocida en una ubicación central, en contraposición a proteger cada aplicación web individual.

Azure Web Application Firewall (WAF) proporciona protección centralizada de las aplicaciones web frente a exploits y vulnerabilidades comunes. WAF está disponible a través de Azure Application Gateway y Azure Front Door.

Protección contra DDOS

Azure ofrece dos niveles principales de protección contra DDoS: DDoS IP Protection y DDoS Network Protection. Estas opciones abarcan diferentes escenarios y tienen características y precios distintos.

  • DDoS IP Protection: mejor para proteger direcciones IP públicas específicas, ideales para implementaciones más pequeñas o dirigidas que necesitan la mitigación de DDoS esencial en el nivel de IP.
  • Protección de red DDoS: cubre redes virtuales completas con mitigación, análisis e integración avanzados; adecuado para entornos más grandes o empresariales que necesitan una seguridad más amplia.

Elige DDoS IP Protection para casos específicos y sensibles al coste. Seleccione Protección de Red DDoS para cobertura integral y funciones avanzadas.

DDoS Protection se defiende en la capa de red (3/4). Para la defensa de capa de aplicación (7), agregue un WAF. Consulte Protección contra DDoS de la aplicación.

Supervisión del rendimiento de la aplicación

Azure Monitor recopila, analiza y actúa sobre la telemetría de los entornos locales y en la nube. Una estrategia de supervisión eficaz le ayuda a comprender el funcionamiento detallado de los componentes de la aplicación. Esta estrategia te ayuda a aumentar tu tiempo de actividad notificándote de problemas críticos para que puedas resolverlos antes de que se conviertan en problemas. Esta estrategia también te ayuda a detectar anomalías que puedan estar relacionadas con la seguridad.

Use Application Insights para supervisar la disponibilidad, el rendimiento y el uso de la aplicación, tanto si se hospeda en la nube como en el entorno local. Con Application Insights, podrá identificar y diagnosticar rápidamente errores en la aplicación sin tener que esperar a que un usuario informe de ellos. Con la información que recopile, puede tomar decisiones informadas sobre el mantenimiento y las mejoras de la aplicación.

Application Insights tiene numerosas herramientas para interactuar con los datos que recopila. Application Insights almacena sus datos en un repositorio común. Puede sacar partido a las funciones compartidas, como alertas, paneles y análisis detallados con el lenguaje de consulta de Kusto.

Realizar pruebas de penetración de seguridad

Validar defensas de seguridad es tan importante como probar cualquier otra característica. Realice pruebas de penetración como parte estándar del proceso de compilación e implementación. Programe pruebas de seguridad y exámenes de vulnerabilidades periódicos en las aplicaciones, y supervise si hay puertos abiertos, ataques y puntos de conexión.

Pasos siguientes

Este artículo se centra en las ventajas de seguridad de un despliegue PaaS de Azure y en las mejores prácticas de seguridad para aplicaciones en la nube. A continuación, aprende las prácticas recomendadas para proteger tus soluciones web y móviles PaaS utilizando servicios específicos de Azure. Empieza con Azure App Service, Azure SQL Database y Azure Synapse Analytics, y Azure Storage. A medida que estén disponibles artículos sobre prácticas recomendadas para otros servicios de Azure, esta lista proporcionará enlaces:

Consulte Desarrollo de aplicaciones seguras en Azure para preguntas y controles de seguridad que debe tener en cuenta en cada fase del ciclo de vida de desarrollo de software al desarrollar aplicaciones para la nube.

Consulte Procedimientos recomendados y patrones de seguridad de Azure para obtener más procedimientos recomendados de seguridad que se usarán al diseñar, implementar y administrar las soluciones en la nube mediante Azure.

En los siguientes recursos se ofrece más información general sobre la seguridad de Azure y los servicios de Microsoft relacionados: