Recomendaciones para proteger los recursos

Se aplica a esta recomendación de lista de comprobación de seguridad de Azure Well-Architected Framework:

SE:08 Proteja todos los componentes de carga de trabajo reduciendo el área expuesta extraña y ajustando las configuraciones para aumentar el costo del atacante.

En esta guía se describen las recomendaciones para proteger los recursos mediante el desarrollo de controles localizados dentro de una carga de trabajo y su mantenimiento para resistir ataques repetidos.

La protección de la seguridad es un ejercicio intencionado de auto-conservación. El objetivo es reducir una superficie expuesta a ataques y aumentar los costos de los atacantes en otras áreas, lo que limita las oportunidades de que los actores malintencionados aprovechen las vulnerabilidades. Para proteger la carga de trabajo, implemente los procedimientos recomendados de seguridad y las configuraciones.

La protección de la seguridad es un proceso continuo que requiere supervisión continua y adaptación a amenazas y vulnerabilidades en constante evolución.

Definiciones

Término Definición
Protección La práctica de reducir un área expuesta a ataques quitando recursos extraños o ajustando configuraciones.
Estación de trabajo de acceso con privilegios (PAW) Una máquina dedicada y segura que se usa para realizar tareas confidenciales, lo que reduce el riesgo de peligro.
Estación de trabajo administrativa segura (SAW) Una PAW especializada que usan las cuentas de impacto crítico.
Área expuesta Superficie lógica de una carga de trabajo que contiene vulnerabilidades.

Estrategias de diseño principales

La protección de la seguridad es un ejercicio altamente localizado que refuerza los controles en el nivel de componente, ya sea recursos o procesos. Al reforzar la seguridad de cada componente, mejora la garantía de seguridad agregada de la carga de trabajo.

La protección de seguridad no tiene en cuenta la funcionalidad de la carga de trabajo y no detecta amenazas ni realiza un examen automatizado. La protección de la seguridad se centra en la optimización de la configuración con una mentalidad de defensa y defensa en profundidad. El objetivo es dificultar que un atacante obtenga el control de un sistema. La protección no debe modificar la utilidad prevista de una carga de trabajo o sus operaciones.

El primer paso del proceso de protección es recopilar un inventario completo de todos los recursos de hardware, software y datos. Mantenga actualizados los registros de inventario agregando nuevos recursos y quitando los recursos retirados. Para todos los recursos del inventario, tenga en cuenta los siguientes procedimientos recomendados:

  • Reduzca la superficie. Quite el área expuesta extraña o reduzca el ámbito. Elimine objetivos fáciles, o vectores de ataque baratos y bien establecidos, como vulnerabilidades de seguridad de software sin revisión y ataques por fuerza bruta. Antes de la implementación de producción, debe limpiar identidades, compilar componentes y otros recursos no necesarios del árbol de origen.

  • Ajuste de las configuraciones. Evalúe y apriete el área expuesta restante. Cuando se protegen los recursos, los métodos probados y probados que los atacantes usan ya no son correctos. Obliga a los atacantes a adquirir y usar métodos de ataque avanzados o no probados, lo que aumenta sus costos.

  • Mantener defensas. Mantenga las medidas de protección mediante la detección continua de amenazas para ayudar a garantizar que los esfuerzos de protección sean confiables a lo largo del tiempo.

Tenga en cuenta también los siguientes factores.

Origen de confianza. Parte del ejercicio de protección implica la cadena de suministro de software. En esta guía se supone que todos los componentes se obtienen de orígenes de confianza. Su organización debe aprobar el software que se adquiere de proveedores de terceros. Esta aprobación se aplica a los orígenes del sistema operativo, las imágenes y otras herramientas de terceros. Sin recursos de confianza, la protección puede ser una purga infinita de garantías de seguridad en orígenes que no son de confianza.

Para obtener recomendaciones sobre la seguridad de la cadena de suministro, consulte Recomendaciones para proteger un ciclo de vida de desarrollo.

Entrenamiento. La protección es una aptitud especializada. Es metódico y requiere un alto nivel de competencia. Debe comprender la funcionalidad de un componente y cómo afectan los cambios al componente. Un miembro del equipo debe ser capaz de distinguir las instrucciones de los expertos del sector y la plataforma para distinguirla de las instrucciones de fuentes inciertas. Instruir a los miembros del equipo en la creación de una cultura que tenga en cuenta la seguridad. Asegúrese de que el equipo es competente en los procedimientos recomendados de seguridad, tiene conocimiento de las posibles amenazas y aprende de las retrospectivas posteriores al incidente.

Documentación. Documente y publique requisitos de protección, decisiones y métodos definidos. Para la transparencia, documente también excepciones o desviaciones de esos requisitos.

La protección puede ser complicada, pero es un ejercicio de seguridad crucial que debe documentar. Proteja primero los componentes principales y, a continuación, expanda a otras áreas, como procesos automatizados y procesos humanos, para reforzar posibles brechas. Ser meticuloso sobre los cambios. Por ejemplo, un paso necesario es deshabilitar la configuración predeterminada porque los cambios en los valores predeterminados no pueden afectar a la estabilidad del sistema. Incluso si la configuración de reemplazo es la misma que la predeterminada, debe definirse. En las secciones siguientes se describen los destinos comunes para la protección. Evalúe las áreas de diseño clave de la carga de trabajo y siga las estrategias clave para proteger en un nivel de componente.

Redes

Divida la red en segmentos para aislar los recursos críticos y los datos confidenciales de recursos menos seguros, lo que reduce los movimientos laterales de los atacantes. En esos segmentos, aplique un enfoque de denegación de forma predeterminada . Agregue solo el acceso a la lista de permitidos si está justificado.

Deshabilite los puertos y protocolos que no se usan activamente. Por ejemplo, en Azure App Service, si no necesita realizar la implementación a través de FTP, puede deshabilitarla. O bien, si realiza operaciones de administración a través de una red interna, puede deshabilitar el acceso administrativo desde Internet.

Quite o deshabilite los protocolos heredados. Los atacantes aprovechan sistemas que usan versiones anteriores. Use un servicio de detección de Azure para revisar los registros y determinar el uso del protocolo. Puede ser difícil quitar protocolos porque puede interrumpir la funcionalidad del sistema. Pruebe todos los cambios antes de la implementación para mitigar el riesgo de interrupción operativa.

Trate las direcciones IP públicas (PIP) como recursos de alto riesgo porque son fáciles de acceder y tienen un amplio alcance mundial. Para reducir la exposición, quite el acceso innecesario a Internet a la carga de trabajo. Use direcciones IP públicas compartidas que proporcionan los servicios de Microsoft, como Azure Front Door. Estos servicios están diseñados para ser accesibles desde Internet y bloquean el acceso a protocolos no permitidos. Muchos de estos servicios realizan comprobaciones iniciales en las solicitudes entrantes en el perímetro de red. Con un PIP dedicado, es responsable de administrar sus aspectos de seguridad, permitir o bloquear puertos y examinar las solicitudes entrantes para garantizar su validez.

En el caso de las aplicaciones accesibles desde Internet, restrinja el acceso agregando un servicio de nivel 7 que puede filtrar el tráfico no válido. Explore los servicios nativos que aplican la protección contra denegación de servicio distribuido (DDoS), tienen firewalls de aplicaciones web y proporcionan protección en el perímetro antes de que el tráfico alcance el nivel de aplicación.

La protección del sistema de nombres de dominio (DNS) es otra práctica de seguridad de red. Para asegurarse de que la infraestructura DNS es segura, se recomienda usar solucionadores DNS de confianza. Para validar la información de los solucionadores DNS y proporcionar una capa adicional de seguridad, siempre que sea posible, use un protocolo de seguridad DNS para zonas DNS altamente confidenciales. Para evitar ataques como la intoxicación de caché DNS, los ataques DDoS y los ataques de amplificación, explore otros controles de seguridad relacionados con DNS, como la limitación de velocidad de consulta, la limitación de velocidad de respuesta y las cookies DNS.

Identidad

Quite cuentas sin usar o predeterminadas. Deshabilite los métodos de autenticación y autorización sin usar.

Deshabilite los métodos de autenticación heredados porque son vectores de ataque con frecuencia. Los protocolos antiguos a menudo carecen de medidas de contador de ataques, como bloqueos de cuentas. Externalice los requisitos de autenticación al proveedor de identidades (IdP), como Microsoft Entra ID.

Prefiere la federación sobre la creación de identidades duplicadas. Si una identidad está en peligro, es más fácil revocar su acceso cuando se administra centralmente.

Comprenda las funcionalidades de la plataforma para la autenticación y autorización mejoradas. Proteja los controles de acceso aprovechando la autenticación multifactor, la autenticación sin contraseña, el acceso condicional y otras características que Microsoft Entra ID ofrece para comprobar la identidad. Puede agregar protección adicional en torno a los eventos de inicio de sesión y reducir el ámbito en el que un atacante puede realizar una solicitud.

Use identidades administradas e identidades de carga de trabajo sin credenciales siempre que sea posible. Las credenciales se pueden filtrar. Para más información, consulte Recomendaciones para proteger los secretos de aplicación.

Use el enfoque con privilegios mínimos para los procesos de administración. Quite las asignaciones de roles innecesarias y realice revisiones de acceso periódicas Microsoft Entra. Use descripciones de asignaciones de roles para mantener un rastro de justificaciones en papel, que es fundamental para las auditorías.

Recursos en la nube

Las recomendaciones de protección anteriores para las redes y la identidad se aplican a servicios en la nube individuales. En el caso de las redes, preste especial atención a los firewalls de nivel de servicio y evalúe sus reglas de entrada.

Detecte y deshabilite las funcionalidades o características sin usar , como el acceso al plano de datos sin usar y las características del producto, que pueden cubrir otros componentes. Por ejemplo, App Service admite Kudu, que proporciona implementaciones ftp, depuración remota y otras características. Si no necesita esas características, desactivelas.

Manténgase siempre al día con la hoja de ruta de Azure y la hoja de ruta de la carga de trabajo. Aplique actualizaciones de aplicación de revisiones y control de versiones que ofrecen los servicios de Azure. Permitir actualizaciones proporcionadas por la plataforma y suscribirse a canales de actualización automatizados.

Riesgo: los recursos en la nube suelen tener requisitos para las asignaciones o deben ejecutarse en configuraciones documentadas que se deben considerar compatibles. Algunas técnicas de protección, como bloquear de forma agresiva el tráfico saliente, pueden hacer que un servicio se quede fuera de una configuración admitida, incluso si el servicio funciona con normalidad. Comprenda los requisitos de tiempo de ejecución de cada recurso en la nube de la plataforma para asegurarse de mantener la compatibilidad con ese recurso.

APLICACIONES

Evalúe las áreas en las que la aplicación podría perder información accidentalmente. Por ejemplo, supongamos que tiene una API que recupera información de usuario. Una solicitud podría tener un identificador de usuario válido y la aplicación devuelve un error 403. Pero con un identificador de cliente no válido, la solicitud devuelve un error 404. A continuación, va a filtrar de forma eficaz información sobre los identificadores de usuario.

Puede haber casos más sutiles. Por ejemplo, la latencia de respuesta con un identificador de usuario válido es mayor que un identificador de cliente no válido.

Considere la posibilidad de implementar la protección de aplicaciones en las siguientes áreas:

  • Validación y saneamiento de entrada: evite ataques por inyección de código, como inyección de código SQL y scripting entre sitios (XSS) validando y saneando todas las entradas del usuario. Automatice la limpieza de entrada mediante bibliotecas y marcos de validación de entrada.

  • Administración de sesiones: proteja los identificadores de sesión y los tokens frente a ataques de robo o fijación de sesión mediante técnicas de administración de sesiones seguras. Implemente tiempos de espera de sesión y aplique la reautenticación para acciones confidenciales.

  • Administración de errores: implemente el control de errores personalizado para minimizar la exposición de información confidencial a los atacantes. Registre de forma segura los errores y supervise estos registros para detectar actividades sospechosas.

  • Encabezados de seguridad HTTP: mitigue las vulnerabilidades web comunes mediante el uso de encabezados de seguridad en respuestas HTTP, como la directiva de seguridad de contenido (CSP), X-Content-Type-Options y X-Frame-Options.

  • Seguridad de la API: proteja las API con mecanismos de autenticación y autorización adecuados. Para mejorar aún más la seguridad, implemente la limitación de velocidad, la validación de solicitudes y los controles de acceso para los puntos de conexión de API.

Siga las prácticas de codificación seguras al desarrollar y mantener aplicaciones. Realice periódicamente revisiones de código y examine las aplicaciones en busca de vulnerabilidades. Para obtener más información, consulte Recomendaciones para proteger un ciclo de vida de desarrollo.

Operaciones de administración

Proteja también otros recursos que no son del entorno de ejecución. Por ejemplo, reduzca la superficie de las operaciones de compilación tomando un inventario de todos los recursos y quitando los recursos sin usar de la canalización. A continuación, extraiga las tareas publicadas por orígenes de confianza y ejecute solo las tareas que se validan.

Determine si necesita agentes de compilación autohospedados o hospedados por Microsoft. Los agentes de compilación autohospedados necesitan una administración adicional y se deben proteger.

Desde una perspectiva de observabilidad, implemente un proceso para revisar los registros en busca de posibles infracciones. Revise y actualice periódicamente las reglas de control de acceso en función de los registros de acceso. Trabaje con equipos centrales para analizar los registros de administración de eventos de información de seguridad (SIEM) y respuesta automatizada de orquestación de seguridad (SOAR) para detectar anomalías.

Considere la posibilidad de requerir PAW o SAW para las operaciones de administración con privilegios. Las PAW y las SAW son dispositivos físicos protegidos que ofrecen ventajas de seguridad significativas, pero su implementación requiere una planeación y administración cuidadosas. Para obtener más información, consulte Protección de dispositivos como parte del artículo de acceso con privilegios.

Facilitación de Azure

Microsoft Defender for Cloud ofrece varias funcionalidades de protección:

El Centro de seguridad de Internet (CIS) ofrece imágenes protegidas en Azure Marketplace.

Puede usar Azure VM Image Builder para crear un proceso repetible para imágenes de sistema operativo protegidas. Common Base Linux-Mariner es una distribución de Linux protegida desarrollada por Microsoft que sigue los estándares de seguridad y las certificaciones del sector. Puede usarlo con productos de infraestructura de Azure para crear implementaciones de cargas de trabajo.

Ejemplo

El siguiente procedimiento es un ejemplo de cómo proteger un sistema operativo:

  1. Reduzca la superficie. Quite los componentes innecesarios de una imagen. Instale solo lo que necesita.

  2. Ajuste de las configuraciones. Deshabilite las cuentas sin usar. La configuración predeterminada de los sistemas operativos tiene cuentas adicionales vinculadas a grupos de seguridad. Si no usa esas cuentas, deshabilite o quítelas del sistema. Las identidades adicionales son vectores de amenaza que se pueden usar para obtener acceso al servidor.

    Deshabilite el acceso innecesario al sistema de archivos. Cifre el sistema de archivos y ajuste los controles de acceso para la identidad y las redes.

    Ejecute solo lo que se necesita. Bloquear aplicaciones y servicios que se ejecutan de forma predeterminada. Apruebe solo las aplicaciones y los servicios necesarios para la funcionalidad de carga de trabajo.

  3. Mantener defensas. Actualice periódicamente los componentes del sistema operativo con las actualizaciones y revisiones de seguridad más recientes para mitigar las vulnerabilidades conocidas.

Pruebas comparativas de CIS

Lista de comprobación de seguridad

Consulte el conjunto completo de recomendaciones.