Saltar a contenido

CYEUC KerberosAuthenticationADTiering

Grupo # Protected Users, autenticación Kerberos, aislamiento AD y estación de trabajo PAW

La seguridad de los directorios de Active Directory es un gran desafío en la seguridad de la infraestructura.

ANSSI (la Agencia Nacional de Ciberseguridad de Francia) pone especial énfasis en la importancia de la compartimentación en esta seguridad y en la implementación de la separación de servidores con autenticación Kerberos. Esto se menciona en sus recomendaciones para la administración segura de IS basada en AD.

Nuestras soluciones cyberelements.io y cyberelements Cleanroom ofrecen una gran flexibilidad en la implementación de esta seguridad, que puede dividirse en cuatro niveles diferentes de integración que pueden aplicarse progresivamente:

Configuración de las aplicaciones de RDP para el soporte de Kerberos

Warning

Para configurar una RDP privilegiada o una aplicación RDP HTML5 privilegiada para soportar Kerberos, primero debe ejecutar la configuración 1 de las Edge Gateway(s) que se utilizarán para conectarse a RDP con Kerberos.

Para que una aplicación RDP privilegiada o HTML5 RDP se conecte a un servidor RDP con Kerberos, se requieren cuatro condiciones de configuración:

  1. El ajuste SSO no puede establecerse en Disabled, por lo que debe ser Enabled, Fixed o Request
  2. El modo sin agente debe estar habilitado
  3. El nombre del servidor introducido debe ser un FQDN (la introducción de la dirección IP del servidor hará que la autenticación falle).
  4. Kerberos no debe estar desactivado en las configuraciones avanzadas de la aplicación RDP o HTML5 RDP.
Example

Para configurar una aplicación RDP privilegiada para conectarse a la my-rds-server Si el servidor RDP utiliza Kerberos, necesitará:

  • Configurar el nivel SSO en un ajuste distinto de Disabled, en este caso Enabled (1), activar el modo sin agente (2) y, finalmente, introducir el FQDN del servidor RDP (3).
  • Asegúrese de que Kerberos no está desactivado (4)
Diagrama de flujo
flowchart LR 
    subgraph WAN 
        USER(User workstation) 
    end 
    subgraph Cloud or DMZ 
        MEDIA(Mediation Controller) 
    end 
    subgraph LAN 
        GW(Edge Gateway) 
        KDC(Kerberos Domain Controller) 
        RDP(RDP Server) 
    end

    USER --- |1| MEDIA --> |1| GW
    GW -.- |2| MEDIA -.-> |2| USER
    GW --> |3| KDC
    KDC -.-> |4| GW
    GW --> |5| KDC
    KDC -.-> |6| GW
    GW --> |7| RDP
    RDP -.-> |8| GW
Hold "Ctrl" to enable pan & zoom
  1. El usuario abre una aplicación RDP privilegiada o RDP HTML5 con soporte de autenticación Kerberos.
  2. El usuario está conectado a la Edge Gateway en modo sin agente
  3. El Edge Gateway solicita un token TGT al controlador de dominio de Kerberos (KDC).
  4. El KDC devuelve un TGT cifrado y firmado
  5. El Edge Gateway solicita un billete de servicio que incluya el TGT anterior
  6. El KDC devuelve el ticket de servicio encriptado con la clave de servicio
  7. El Edge Gateway hace una solicitud de acceso al servidor RDP, incluido el ticket de servicio.
  8. El servidor RDP aprueba el acceso al servicio y la conexión RDP se inicializa.

Configurar las aplicaciones de RDP para apoyar el blindaje de Kerberos

Warning

Para configurar con éxito una aplicación RDP privilegiada o HTML5 RDP para apoyar Kerberos blindaje, primero debe las configuraciones completas 1 y 2 para las puertas de enlace de borde que se utilizarán para conectarse a RDP con blindaje Kerberos.

Para que una aplicación RDP privilegiada o HTML5 RDP se conecte a un servidor RDP con Kerberos de blindaje, se requieren cinco condiciones de configuración:

  1. El ajuste SSO no puede establecerse en Disabled, por lo que debe ser Enabled, Fixed o Request
  2. El modo sin agente debe estar habilitado
  3. El nombre del servidor introducido debe ser un FQDN (la introducción de la dirección IP del servidor hará que la autenticación falle).
  4. Kerberos no debe estar desactivado en las configuraciones avanzadas de la aplicación RDP o HTML5 RDP.
  5. Especificar el nombre de la cuenta de computadora de servicio que se utilizará para el blindaje de Kerberos añadiendo un $ al final
Example

Para configurar una aplicación RDP privilegiada para conectarse en modo protegido Kerberos al servidor my-rds-server RDP utilizando la cuenta de computadora svc_cyberelements, deberá:

  • Configurar el nivel SSO en un ajuste distinto de Disabled, en este caso Enabled (1), activar el modo sin agente (2) y, finalmente, introducir el FQDN del servidor RDP (3).
  • Asegúrese de que Kerberos no está desactivado (4) y de que se especifica el nombre de la cuenta de la computadora de servicio, recordando agregar el carácter $ (5).
Diagrama de flujo
flowchart LR 
    subgraph WAN 
        USER(User workstation) 
    end 
    subgraph Cloud or DMZ 
        MEDIA(Mediation Controller) 
    end 
    subgraph LAN 
        GW(Edge Gateway) 
        KDC(Kerberos Domain Controller) 
        RDP(RDP Server) 
    end

    USER --- |1| MEDIA --> |1| GW
    GW -.- |2| MEDIA -.-> |2| USER
    GW --> |3| KDC
    KDC -.-> |4| GW
    GW --> |5| KDC
    KDC -.-> |6| GW
    GW --> |7| RDP
    RDP -.-> |8| GW
Hold "Ctrl" to enable pan & zoom
  1. El usuario abre una aplicación RDP privilegiada o RDP HTML5 con soporte de autenticación Kerberos.
  2. El usuario está conectado a la Edge Gateway en modo sin agente
  3. El Edge Gateway solicita un token TGT al controlador de dominio de Kerberos (KDC) utilizando la información de la cuenta de la computadora del servicio
  4. El KDC devuelve un TGT cifrado y firmado
  5. El Edge Gateway solicita un billete de servicio que incluya el TGT anterior
  6. El KDC devuelve el ticket de servicio encriptado con la clave de servicio
  7. El Edge Gateway hace una solicitud de acceso al servidor RDP, incluido el ticket de servicio.
  8. El servidor RDP aprueba el acceso al servicio y la conexión RDP se inicializa.

Características específicas de la arquitectura en un entorno de AD aislado

Warning

En un entorno de Active Directory aislado, Kerberos blindado normalmente está configurado para cuentas de administrador. Se deben realizar las configuraciones 1 y 2. para las puertas de enlace de borde que se utilizarán para conectarse a los servidores RDP.

Cuando cyberelements.io o cyberelements Cleanroom se utilicen en un entorno de AD en silos, la cuenta de computadora de servicio utilizada para el blindaje de Kerberos debe asignarse a un silo .
Esto significa que si es necesario acceder a máquinas de RDP pertenecientes a diferentes terceros, será necesario crear tantas cuentas de computadora de servicio colocadas en los diferentes objetivos de terceros.

La arquitectura del producto también puede verse afectada.
Este cambio afecta principalmente al número de Gateways de borde desplegados, donde se recomienda tener al menos uno dedicado al acceso por parte de un tercero específico. Sin embargo, si el contexto no permite la implementación de tantos Gateways de borde, también se puede usar una sola arquitectura Edge Gateway:

Arquitectura /// tab | multi-Edge Gateway (recomendado)

flowchart LR
    subgraph WAN
        USER(User workstation)
    end
    subgraph Cloud or DMZ
        MED(Mediation Controller)
    end
    subgraph LAN
        subgraph T2
            GW-T2(Edge Gateway T2)
            RDP-T2(RDP Server T2)
        end
        subgraph T1
            GW-T1(Edge Gateway T1)
            RDP-T1(RDP Server T1)
        end
        subgraph T0
            GW-T0(Edge Gateway T0)
            KDC(Kerberos Domain Controller)
            RDP-T0(RDP Server T0)
        end
    end

    USER ==TLS/HTTPS==> MED

    MED ~~~ GW-T0
    MED ~~~ GW-T1
    MED ~~~ GW-T2

    GW-T0 ==TLS==> MED
    GW-T0 ~~~ MED
    GW-T0 ~~~ MED
    GW-T0 ~~~ MED
    GW-T0 --Kerberos/LDAPS--> KDC
    GW-T0 -..-> |RDP| RDP-T0

    GW-T1 ==TLS==> MED
    GW-T1 ~~~ MED
    GW-T1 ~~~ MED
    GW-T1 --Kerberos/LDAPS--> KDC
    GW-T1 -..-> |RDP| RDP-T1

    GW-T2 ==TLS==> MED
    GW-T2 ~~~ MED
    GW-T2 --Kerberos/LDAPS--> KDC
    GW-T2 -..-> |RDP| RDP-T2
Hold "Ctrl" to enable pan & zoom

Con esta arquitectura, la configuración de las aplicaciones RDP es idéntica a la de Kerberos de protección de soporte .

///

flowchart LR
    subgraph WAN
        USER(User workstation)
    end
    subgraph Cloud or DMZ
        MED(Mediation Controller)
    end
    subgraph LAN
        GW(Edge Gateway)
        subgraph T2
            RDP-T2(RDP Server T2)
        end
        subgraph T1
            RDP-T1(RDP Server T1)
        end
        subgraph T0
            KDC(Kerberos Domain Controller)
            RDP-T0(RDP Server T0)
        end
    end

    USER ==TLS/HTTPS==> MED

    MED ~~~ GW

    GW ==TLS==> MED
    GW ~~~ MED
    GW --Kerberos/LDAPS--> KDC
    GW-.-> |RDP| RDP-T0
    GW -.-> |RDP| RDP-T1
    GW -.-> |RDP| RDP-T2
Hold "Ctrl" to enable pan & zoom

Con esta arquitectura, la configuración de las aplicaciones RDP es idéntica a la de Kerberos de protección de soporte .
Sin embargo, también debe planear aplicar un archivo keytab a la conexión Edge Gateway que contiene varias cuentas de servicio {target="_blank"}.

Características específicas de la conexión a un puesto de trabajo PAW

Un PAW (Estación de trabajo de acceso privilegiado) es una estación de trabajo dedicada a tareas administrativas en un tercero definido.
Debido a la naturaleza crítica de esta estación de trabajo, se aplican con mucha frecuencia configuraciones de seguridad mejoradas.

Este principio hace, por tanto, imposible el acceso a distancia a la estación de trabajo PAW, pero cyberelements.io o cyberelements Cleanroom permiten establecer una conexión a la estación de trabajo PAW sin que haya servicios de escucha en la red local gracias a:

  • La activación de los servicios de escritorio remoto
  • Configuración del cortafuegos local para prohibir el acceso al servicio de escritorio remoto por cualquier dirección IP distinta de la de la estación de trabajo PAW, o localhost
  • La instalación de un sistema de Edge Gateway que permitirá el acceso local al servicio de escritorio remoto de la estación de trabajo PAW
flowchart LR
    subgraph WAN
        USER(User workstation)
    end
    subgraph Cloud or DMZ
        MED(Mediation Controller)
    end
    subgraph LAN
        subgraph T1
            GW(Edge Gateway T1)
            subgraph PAW_T1 [PAW T1]
                RDP{{RDP Server}}
                GW-WIN{{Embeded Edge Gateway}}
            end
        end
        subgraph T0
            KDC(Kerberos Domain Controller)
        end
    end

    USER ==TLS/HTTPS==> MED

    MED ~~~ GW & GW-WIN
    GW & GW-WIN ==TLS==> MED
    GW & GW-WIN ~~~ MED

    GW & PAW_T1 --> |Kerberos/LDAPS| KDC

    GW-WIN -.-> |RDP| RDP

    GW --x |No connection available| PAW_T1
Hold "Ctrl" to enable pan & zoom
flowchart LR
    subgraph WAN
        USER(User workstation)
    end
    subgraph Cloud or DMZ
        MED(Mediation Controller)
    end
    subgraph LAN
        subgraph T1
            GW(Edge Gateway T1)
            subgraph PAW_T1 [PAW T1]
                RDP{{RDP Server}}
                GW-WIN{{Embeded Edge Gateway}}
            end
        end
        subgraph T0
            KDC(Kerberos Domain Controller)
        end
    end

    USER --- |1| MED --> |1| GW
    GW -.- |2| MED -.-> |2| USER
    GW --> |3| KDC
    KDC -.-> |4| GW
    GW --> |5| KDC
    KDC -.-> |6| GW
    MED --> |7| GW & GW-WIN
    GW --- |8| MED --- |8| GW-WIN --> |8| RDP
    RDP -.- |9| GW-WIN -.- |9| MED -.-> |9| GW
Hold "Ctrl" to enable pan & zoom
  1. El usuario abre una aplicación RDP privilegiada o RDP HTML5 con soporte de autenticación Kerberos a una estación de trabajo PAW
  2. El usuario está conectado a la Edge Gateway en modo sin agente
  3. El Edge Gateway solicita un token TGT al controlador de dominio de Kerberos (KDC) utilizando la información de la cuenta de la computadora del servicio
  4. El KDC devuelve un TGT cifrado y firmado
  5. El Edge Gateway solicita un billete de servicio que incluya el TGT anterior
  6. El KDC devuelve el ticket de servicio encriptado con la clave de servicio
  7. El Mediation Controller notifica al Edge Gateway y las incrustadas Edge Gateway que un túnel se ha abierto entre ellos, con el túnel que pasa a través de la Mediation Controller
  8. El Edge Gateway envía una solicitud de acceso al servidor RDP, incluyendo el ticket de servicio, a través del Mediation Controller y el Edge Gateway incrustado
  9. El servidor RDP aprueba el acceso al servicio y la conexión RDP se inicializa

Prerrequisitos para el puesto de trabajo PAW

Los requisitos específicos que deben aplicarse en la estación de trabajo PAW (estación de trabajo de acceso privilegiado) para conectarse a cyberelements.io o cyberelements Cleanroom se resumen de la siguiente manera:

  1. Habilitar el servicio de escritorio remoto
  2. Modificar el cortafuegos local para negar el acceso al servicio de escritorio remoto para todas las máquinas, excepto la propia estación de trabajo PAW
  3. Modificar el comportamiento de Kerberos blindados para siempre proporcionar reclamaciones
  4. Instalar un Windows Edge Gateway en modo incrustado

Habilitar el servicio de escritorio remoto

El servicio de escritorio remoto puede activarse manualmente como se describe en la documentación de Microsoft Enable Remote Desktop on your PC.
Sin embargo, también es posible utilizar un GPO para permitir el servicio:

  • Camino hacia la configuración GPO: Computer Configuration > Policies > Administrative Templates > Windows Components > Remote Desktop Services > Remote Desktop Session Host > Connections
  • Configuración: Allow users to connect remotely by using Remote Desktop Services
  • Valor: Enabled

Modificación de las reglas del firewall

Por razones de seguridad, es importante restringir el acceso a nivel del cortafuegos, para evitar el acceso desde el exterior en el puerto RDP.

Por defecto, cuando RDP está habilitado, Windows establecerá 2 reglas de firewall que autorizan el acceso al puerto 3389 en UDP y TCP.
Estas dos reglas deben modificarse para permitir únicamente conexiones RDP desde la dirección IP remota 127.0.0.1.

Si no existen estas reglas, deben crearse manualmente en el servidor o a través de un GPO.

Modificando el comportamiento de los Kerberos blindados

También necesitamos modificar el comportamiento de Kerberos.

Para ello, puede configurar el siguiente GPO:

  • Camino hacia la configuración GPO: Computer Configuration > Policies > Administrative Templates > System > KDC
  • Configuración: KDC support for claims, compound authentication and Kerberos armoring
  • Valor: Enabled, Always provide claims

Este cambio no tiene impacto en la seguridad de la clasificación por niveles de AD y la implementación mejorada de Kerberos.

Instalar un Windows Edge Gateway en modo incrustado

Requisitos previos

Antes de continuar, por favor instale un Windows Edge Gateway en la estación de trabajo PAW y conectarlo a la Mediation Controller: Installe un Windows Edge Gateway

Después de instalar Windows Edge Gateway, es necesario cambiar a modo incrustado.

Una vez conectado, asegúrese de eliminar la declaración de Windows Edge Gateway del módulo Gateways Management.

El Windows Edge Gateway está ahora listo para ser utilizado como un Edge Gateway incrustado.

Cuando se abre una sesión, el monitor de Windows Edge Gateway se inicia automáticamente (visible con el icono type:inline en la barra de tareas). Como este inicio automático no es necesario para las estaciones de trabajo PAW, debe desactivarse:

  1. Abrir el regedit.exe editor de claves de registro como administrador
  2. Ve al HKLM\Software\Wow6432Node\Microsoft\Windows\CurrentVersion\Run colmena de registro
  3. Eliminar la tecla IPdivaGateway Monitor
  4. Reiniciar el puesto de trabajo PAW

Configuración de aplicaciones RDP para conectarse a una estación de trabajo PAW

Warning

Para configurar una RDP privilegiado o HTML5 RDP aplicación para conectarse a una estación de trabajo PAW, primero debe configuraciones completas 1 a 3 para las puertas de enlace de borde que se utilizarán para conectarse a las estaciones de trabajo PAW.

Para que una aplicación RDP privilegiada o RDP HTML5 se conecte a una estación de trabajo PAW, se deben cumplir seis condiciones de configuración:

  1. La configuración de SSO no puede ser configurado a desactivado, por lo que debe ser habilitado, fijo o Solicitud
  2. El modo sin agente debe estar habilitado
  3. El nombre del servidor introducido debe ser un FQDN (la introducción de la dirección IP del servidor hará que la autenticación falle).
  4. Configurar el enrutamiento a través de un embebido Edge Gateway
  5. Kerberos no debe estar desactivado en las configuraciones avanzadas de la aplicación RDP o HTML5 RDP.
  6. Especificar el nombre de la cuenta de computadora de servicio que se utilizará para el blindaje de Kerberos añadiendo un $ al final

La condición 4 se produce por la configuración de las estaciones de trabajo PAW, que no deben tener ningún servicio de escucha en la red local. Edge Gateway en forma de programa de Windows, este último sólo puede acceder a los servicios de escucha en localhost.

Example

Para configurar una aplicación RDP privilegiada para conectarse en modo protegido Kerberos al servidor my-rds-server RDP utilizando la cuenta de computadora svc_cyberelements, deberá:

  • Activar el nivel SSO en un ajuste distinto de Disabled, en este caso Enabled (1), activar el modo wwithour agent (2), introducir el FQDN del servidor RDP (3) y, finalmente, activar el modo Edge Gateway incorporado y especificar el nombre del Windows Edge Gateway instalado en la estación de trabajo PAW (4).
  • Asegúrese de que Kerberos no está desactivado (5) y de que se especifica el nombre de la cuenta de la computadora de servicio, recordando agregar el carácter $ (6).

Eliminar errores en las aperturas de aplicaciones RDP con autenticación Kerberos

Para realizar un análisis inicial o recuperar la información que Systancia necesita para un análisis avanzado de los fallos de autenticación de Kerberos, se recomienda realizar las siguientes acciones:

  1. Habilitar los registros de depuración: para ello, cambiar el parámetro debug bajo la etiqueta [Kerberos] a true en el archivo del servidor /etc/ipdiva/cleanroom/xrdprecord.ini Edge Gateway utilizado para la conexión. Esta acción se puede realizar con el siguiente comando:

    1
    sed -i "3s/false/true/" /etc/ipdiva/cleanroom/xrdprecord.ini
    
  2. Inicie sesión en el portal de usuario y inicie una aplicación privilegiada, RDP o RDP HTML5, en modo sin agente y configurada para usar Kerberos.

    • Hora de apertura de la aplicación
    • Nombre de usuario utilizado para conectarse al servidor RDP
  3. En el Edge Gateway utilizado para la conexión anterior, recuperar los siguientes archivos:

    • /var/log/syslog: este archivo contiene, en particular, los registros para el inicio de la sesión en modo sin agente.
    • /var/lib/ipdiva/carerecord/log/freerdpout-<USER>-<DATE>.txt: sustituye <USER> por el nombre de usuario y <DATE> la fecha y hora en que se abrió la aplicación, recuperada en el paso anterior. Este archivo contiene los registros relacionados con el establecimiento de la sesión RDP, incluida la fase de autenticación de Kerberos.
  4. Desactivar los registros de depuración: para ello, cambiar el parámetro debug bajo la etiqueta [Kerberos] a false en el archivo del servidor /etc/ipdiva/cleanroom/xrdprecord.ini Edge Gateway utilizado para la conexión. Esta acción se puede realizar con el siguiente comando:

    1
    sed -i "3s/true/false/" /etc/ipdiva/cleanroom/xrdprecord.ini