Clasificación de aplicaciones por motivos de seguridad
Azure puede hospedar aplicaciones heredadas y modernas mediante máquinas virtuales de infraestructura como servicio (IaaS) y plataforma como servicio (PaaS). En el caso de las aplicaciones heredadas, tiene la responsabilidad de proteger todas las dependencias, entre las que se incluye el sistema operativo, el middleware y otros componentes. En el caso de las aplicaciones PaaS, no es necesario administrar y proteger el sistema operativo del servidor subyacente. El usuario es responsable de la configuración de la aplicación.
En este artículo se describen los aspectos que se deben tener en cuenta para comprender los modelos de hospedaje y la responsabilidad sobre la seguridad de cada uno de ellos y se identifican las aplicaciones críticas.
Descripción de su responsabilidad como propietario

La protección de una aplicación requiere garantías de seguridad para tres aspectos:
Código de aplicación. La lógica que define la aplicación personalizada que escribe. La protección de ese código requiere la identificación y la mitigación de riesgos del diseño y la implementación de la aplicación, así como la evaluación del riesgo de la cadena de suministro de los componentes incluidos.
Servicios de aplicación. Los servicios en la nube que usa la aplicación, como bases de datos, proveedores de identidades, centros de eventos, administración de dispositivos de IoT, etc. La seguridad de los servicios en la nube es una responsabilidad compartida. El proveedor de nube garantiza la seguridad del servicio subyacente. El propietario de la aplicación es responsable de las implicaciones de seguridad de la configuración y el funcionamiento de las instancias de servicio que usa la aplicación, incluidos los datos almacenados y procesados en el servicio.
Plataforma de hospedaje de aplicaciones. El entorno informático en el que se ejecuta la aplicación. Este puede adoptar muchas formas con variantes significativas sobre quién es responsable de la seguridad:
Aplicaciones heredadas. Estas normalmente requieren un sistema operativo completo (y cualquier middleware) hospedado en hardware físico o virtualizado. El propietario de la aplicación o sus equipos de infraestructura operan y protegen este sistema operativo, así como el middleware y otros componentes instalados. La responsabilidad sobre la seguridad de los componentes de virtualización del hardware físico y del sistema operativo (hosts de virtualización, sistemas operativos y servicios de administración) varía:
- Local: el propietario de la aplicación es responsable del mantenimiento y la seguridad.
- IaaS: el proveedor de nube es responsable de la infraestructura subyacente y la organización del propietario de la aplicación es responsable de la configuración de la máquina virtual, el sistema operativo y los componentes instalados en él.
Las aplicaciones modernas se hospedan en entornos de PaaS, como un servicio de aplicaciones de Azure. El sistema operativo subyacente está protegido por el proveedor de nube. Los propietarios de la aplicación son responsables de la seguridad de las configuraciones del servicio de aplicación.
Los contenedores son un mecanismo de empaquetado de aplicaciones en el que las aplicaciones se abstraen del entorno en el que se ejecutan. El proveedor de nube puede ejecutar las aplicaciones en contenedores en un servicio de contenedor (aplicaciones modernas), en un servidor administrado de forma local o en IaaS.
Identificación y clasificación de las aplicaciones
Identifique las aplicaciones que tienen un alto impacto potencial o una alta exposición potencial al riesgo.
- Datos críticos para la empresa. Las aplicaciones que procesan o almacenan información deben garantizar la confidencialidad, integridad y disponibilidad.
- Datos regulados. Aplicaciones que controlan instrumentos monetarios e información personal confidencial regulada por estándares definidos por el sector de tarjetas de pago (PCI), el Reglamento general de protección de datos (RGPD) y la ley de transferibilidad y responsabilidad de los seguros médicos (HIPAA).
- Disponibilidad crítica para la empresa. Aplicaciones cuya funcionalidad es fundamental para la misión empresarial, como las líneas de producción que generan ingresos, los dispositivos o los servicios críticos para la vida y la seguridad, así como otras funciones críticas.
- Acceso significativo. Aplicaciones que tienen acceso a sistemas con un gran impacto a través de medios técnicos, como
- Credenciales almacenadas o claves/certificados que conceden acceso a los datos o al servicio.
- Permisos concedidos mediante listas de control de acceso u otros métodos.
- Alta exposición a ataques. Aplicaciones a las que los atacantes pueden acceder fácilmente, como aplicaciones web en Internet. Las aplicaciones heredadas también pueden presentar una mayor exposición, ya que los atacantes (y los evaluadores de pruebas de penetración) a menudo se centran en ellas porque saben que suelen tener vulnerabilidades que son difíciles de corregir.
Uso de servicios de Azure para componentes fundamentales
Los desarrolladores deben usar los servicios disponibles en un proveedor de servicios en la nube para las funciones bien establecidas como bases de datos, cifrado, directorio de identidad y autenticación, en lugar de crear o adoptar implementaciones personalizadas, o soluciones de terceros que requieran la integración con el proveedor de servicios en la nube. Estos servicios proporcionan una mayor seguridad, confiabilidad y eficacia, ya que los proveedores de nube los operan y protegen mediante equipos dedicados con una experiencia profunda en esas áreas.
El uso de estos servicios también libera a los recursos de desarrollador de la proverbial reinvención de la rueda, por lo que pueden enfocar el tiempo de desarrollo en los requisitos únicos para la empresa. Esta práctica debe seguirse para evitar riesgos durante el desarrollo de nuevas aplicaciones y reducir el riesgo de las aplicaciones existentes durante el ciclo de actualización planeado o con una actualización de la aplicación centrada en la seguridad.
Se recomienda usar los servicios en la nube del proveedor de nube para la identidad, la protección de datos, la administración de claves y las configuraciones de aplicaciones:
Identidad: los directorios de usuario y otras funciones de autenticación son complejos de desarrollar y muy importantes para las garantías de seguridad. Evite soluciones de autenticación personalizadas. En su lugar, elija funcionalidades nativas como Azure Active Directory (Azure AD), Azure AD B2B, Azure AD B2C o soluciones de terceros para autenticar y conceder permisos a usuarios, asociados, clientes, aplicaciones, servicios y otras entidades. Para más información, consulte Seguridad con Administración de identidad y acceso (IAM) en Azure.
Protección de datos: use las funcionalidades establecidas de los proveedores de nube como, por ejemplo, el cifrado nativo en servicios en la nube, para cifrar y proteger los datos. Si se requiere el uso directo de la criptografía, use algoritmos criptográficos bien establecidos y no intente inventar los suyos propios.
Administración de claves: autentique siempre con servicios de identidad en lugar de utilizar claves criptográficas. En situaciones en las que necesite claves, use un almacén de claves administrado como Azure Key Vault. Así se asegurará de que las claves se controlan de forma segura en el código de la aplicación. Herramientas como CredScan pueden detectar claves potencialmente expuestas en el código de la aplicación.
Configuraciones de aplicación: las configuraciones incoherentes de las aplicaciones pueden crear riesgos para la seguridad. La información de configuración de la aplicación se puede almacenar con la propia aplicación o preferiblemente mediante un sistema de administración de configuración dedicado como Azure App Configuration o Azure Key Vault. App Configuration proporciona un servicio para administrar la configuración de la aplicación y las marcas de características de forma centralizada, lo que ayuda a mitigar el riesgo. No almacene claves y secretos en la configuración de la aplicación.
Para más información sobre el uso de servicios en la nube, en lugar de implementaciones personalizadas, consulte Aplicaciones y servicios.
Uso de funcionalidades nativas
Use las capacidades de seguridad nativas integradas en los servicios en la nube en lugar de agregar componentes de seguridad externos (como, por ejemplo, el cifrado de datos, el filtrado de tráfico de red, la detección de amenazas y otras funciones).
Microsoft mantiene y admite los controles de Azure. No tiene que invertir en otras herramientas de seguridad.