Compartir a través de


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 de los atacantes.

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 de autoconservación intencionada. 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 y adaptación continuas 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 poner en peligro.
Estación de trabajo administrativa segura (SAW) Una PAW especializada que usa 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 la 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.

Creación de un inventario de recursos de carga de trabajo

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 procedimientos recomendados siguientes:

  • 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 requeridos desde el á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 da por supuesto 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 orígenes del sistema operativo, imágenes y otras herramientas de terceros. Sin recursos de confianza, la protección puede ser una purga infinita de las 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 que proceden de expertos del sector y la plataforma para distinguirla de las instrucciones de fuentes inciertas. Instruya 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 experto en los procedimientos recomendados de seguridad, tiene conocimiento de 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 fundamental 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. Sé meticuloso acerca de los cambios. Por ejemplo, un paso necesario es deshabilitar la configuración predeterminada porque los cambios en los valores predeterminados 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 la protección en un nivel de componente.

Protección de los componentes de red

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 . Solo agregue acceso a la lista de permitidos si está justificado.

Deshabilite los puertos y protocolos que no se usan activamente. Por ejemplo, en App de Azure Servicio, si no necesita implementar a través de FTP, puede deshabilitarlo. 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 los 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 servicios Microsoft, como Azure Front Door, proporcione. 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 la 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.

Para 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), tenga firewalls de aplicaciones web y proporcione 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 sea 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 la velocidad de respuesta y las cookies DNS.

Protección de los controles de acceso de identidad

Quite las 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.

Comprender las funcionalidades de la plataforma para mejorar la autenticación y la autorización. Proteja los controles de acceso aprovechando la autenticación multifactor, la autenticación sin contraseña, el acceso condicional y otras características que ofrece Microsoft Entra ID 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. Se pueden filtrar las credenciales. Para obtener más información, consulte Recomendaciones para proteger los secretos de aplicación.

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

Protección de las configuraciones de recursos en la nube

Las recomendaciones de protección anteriores para redes e identidades 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.

Descubra 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 otros componentes podrían cubrir. Por ejemplo, App Service admite Kudu, que proporciona implementaciones de FTP, depuración remota y otras características. Si no necesita esas características, desactive estas características.

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 normalmente. Comprenda los requisitos en tiempo de ejecución de cada recurso en la nube de la plataforma para asegurarse de mantener la compatibilidad con ese recurso.

Protección de recursos de código

Evalúe las áreas en las que la aplicación podría filtrar accidentalmente la información. Por ejemplo, supongamos que tiene una API que recupera información de usuario. Una solicitud puede 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, está filtrando 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 sanación de entrada: evite ataques de 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 correcció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 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 aplicaciones para detectar vulnerabilidades. Para obtener más información, consulte Recomendaciones para proteger un ciclo de vida de desarrollo.

Protección de las operaciones de administración

Proteja también otros recursos que no son en tiempo 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 validadas.

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

Desde una perspectiva de observabilidad, implemente un proceso para revisar los registros 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. Los PAW y 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 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 procedimiento siguiente es un ejemplo de cómo proteger un sistema operativo:

  1. Reduzca la superficie. Quite componentes innecesarios en 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 amenazas 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.