Implementación remota del agente de servicios de Terminal Server mediante ansible

Implementación remota del agente de servicios de Terminal Server mediante ansible

27665
Created On 09/25/18 18:09 PM - Last Modified 06/14/23 06:19 AM


Resolution


Ansible es una herramienta de administración de configuración que se utiliza habitualmente para hacer cumplir el estado de un servidor en su infraestructura de ti. Se utiliza para asegurar que el servidor es en realidad en el mismo estado que usted desea que sea. Asegura que los paquetes correctos están instalados, los archivos de configuración correctos están en su lugar, los servicios correctos se están ejecutando con los permisos correctos... etc. 

 

Los administradores escriben un conjunto de reglas en un lenguaje simple (YAML), en forma de guías de juego. Ansible funciona conectando a sus nodos y expulsando pequeños programas, llamados "ansible modules" a ellos. Más detalles sobre cómo funciona ansible se puede encontrar aquí

 

Los administradores podrían utilizar los módulos de Windows ansible (http://docs.ansible.com/ansible/latest/list_of_windows_modules.html) y remotamente instalar y administrar el agente de servicios de Terminal Server (Guía de administración)  

 

Ansible por defecto usa SSH para administrar Linux. Para administrar Windows, se utiliza PowerShell Remoting. Para que ansible administre máquinas Windows, es necesario seguir los pasos documentados en el sitio ansible

 

Referencia:http://docs.ansible.com/ansible/latest/intro_windows.html  

 

Los siguientes pasos muestran algunos de los módulos de Windows ansible que se utilizan para escribir ansible PlayBook para implementar remotamente el agente de servicios de Terminal Server (TS).

  

Ansible trabaja contra múltiples sistemas en su infraestructura al mismo tiempo. Lo hace seleccionando porciones de sistemas listados en el inventario de ansible, que por defecto se guardan en la ubicación /etc/ansible/hosts

 

Por ejemplo, he definido un servidor de agente de TS (tsagent1. palab. local) bajo una etiqueta (Windows)

 

Windows 
tsagent1. palab. local

 

El siguiente módulo instala el agente de TS en Windows Server. Los detalles en el módulo de win_package se pueden encontrar aquí

En el ejemplo siguiente, el instalador del agente de TS (*. msi), se hospeda en un recurso compartido de red. 

 

-hosts:
tareas de Windows:
-nombre: instalar TS agente
win_package:
ruta: \\DC1\Users\Administrator\Downloads\TaInstall64.x64-8.0.8-2.msi
product_id: pan Terminal Server agente
Estado: presente
user_name: PALAB \Administrador
user_password: MySuperSecretPass                                      

 

El siguiente comando ejecutaría el libro de jugadas:

 

ansible-PlayBook-VVV install_ts. yml 

 

Ansible viene con una herramienta llamada como ansible Vault (Link) para encriptar secretos. Estos secretos pueden ser utilizados en tareas.

 

Cree un archivo Secret. yml.

 

---mi
secreto: MySuperSecretPass 

 

Encriptar el archivo Secret. yml

 

# ansible-Vault encriptar Secret. yml nueva contraseña de la bóveda
: EnterASuperSecretPass
confirme la nueva contraseña de la bóveda: EnterASuperSecretPass

cifrado acertado

 

El contenido del archivo Secret. yml se cifrará y se verá como se muestra a continuación (el contenido será diferente en su entorno)

 

CAT Secret. yml 

$ANSIBLE _vault; 1.1; AES256

63303662393262633865366536333531383362633838316462313739306431656130383730303036
6433623639316439313565393430333430643930623266350a353533666432613438626331396636
32326366386361363363383335333135386364346466636533353434323261373739363533626238
3635613765383762380a306439383961336261316432376266386338643765313064376264633535
35616534613264353739333564633534353230623630653762373632323766643838

 

La variable (por ejemplo: mi Secret) definida en Secret. yml ahora se puede utilizar en las guías de la siguiente manera:

 

-hosts:
tareas de Windows:
-nombre: secreto
include_vars: Secret. yml

-nombre: install TS agente
win_package:
path: \\DC1\Users\Administrator\Downloads\TaInstall64.x64-8.0.8-2.msi
product_id: pan terminal Estado del agente del servidor
: present
user_name: PALAB\Administrator
user_password: "{{mi Secret} }"                                           

 

Para ejecutar la jugada anterior, introduzca el comando folllowing:

 

root @ Kali:/etc/ansible# ansible-PlayBook--Ask-bóveda-Pass install_ts_vault. yml
contraseña de la bóveda: EnterASuperSecretPass

 

Consulte http://docs.ansible.com/ansible/latest/playbooks_vault.html para obtener más información sobre Vault.

 

(Opcional)

 

Para autenticar las conexiones SSL entre el cortafuegos y el agente de TS, los administradores pueden cargar certificados personalizados en el agente de TS. 

 

Para habilitar la autenticación mutua entre agentes de firewall y de TS, realice los pasos siguientes en un servidor principal de Windows y utilice las configuraciones y certificados de dicho servidor y empuje remotamente a otros servidores.

 

  • Instalar el agente de TS en un servidor Windows
  • Cargar certificados personalizados en ese servidor.
  • No reiniciar el servicio de agente de servicios de Terminal Server
  • Copie los valores del registro del servidor de Windows y copie también el certificado personalizado (Custom-cert. PEM) en el directorio de instalación del agente de TS del servidor.

El agente de TS encripta la contraseña del certificado y crea una entrada del registro (TSAgentSSL). Cuando se reinicia el servicio del agente de TS, la entrada del registro se eliminará y la contraseña cifrada se escribirá en el almacén de credenciales. El certificado personalizado (Custom-cert. pem) se cargará y se utilizará para la comunicación con el cortafuegos.

 

Screen Shot 2018-03-20 en 11.35.57 AM. png

 

Screen Shot 2018-03-20 en 11.36.20 AM. png

 

Screen Shot 2018-03-20 en 11.36.47 AM. png

 

Screen Shot 2018-03-20 en 11.37.04 AM. png

 

Screen Shot 2018-03-20 en 11.37.40 AM. png

 

 

En el siguiente paso, copiaremos el "Custom-cert. pem" de un servidor maestro de Windows en el que se instaló el agente de TS (consulte los pasos anteriores) en los servidores de agentes de TS remotos.

"win_copy" (enlace) se utiliza para copiar el archivo Custom-cert. PEM a la carpeta de instalación del agente TS en los servidores del agente de TS remotos. Por ejemplo, se usará el comando "ansible-PlayBook-VVV copy_ts_cert. yml" para ejecutar la siguiente tarea.

 

-hosts:
tareas de Windows:
-nombre: copiar un solo archivo manteniendo el nombre del fichero
win_copy:
src: Custom-cert. pem
dest: c:\Archivos de Files\Palo alto Networks\Terminal Server Agent \                   

 

En la tarea anterior, el archivo Custom-cert. PEM se ha cargado desde el servidor principal de Windows al controlador ansible y desde el controlador ansible, se copiará en servidores de agentes de TS remotos

 

root @ MYANS:/etc/ansible# LS files/Custom-cert. pem 
files/Custom-CERT . pem

 

En los servidores de Windows del agente remoto de TS, actualizaremos las claves del registro. A partir de los pasos anteriores, tomamos nota de las siguientes claves de regisy:

 

  • TSAgentCNEXPIRY
  • TSAgentCNISSUER
  • TSAgentCNNAME
  • TSAgentCNSUBJECT
  • TSAgentSSL

 

Mediante elmódulo "win_regedit" (enlace), se actualizarán las claves del registro de los servidores remotos

 

-hosts:
tareas de Windows:
-nombre: CN expire
win_regedit:
path: HKLM: \ Software\Palo alto Networks\TS Agent\Conf
nombre: TSAgentCNEXPIRY
datos: mar 14 20:15:                          47 2019
      Tipo GMT: String
  -Name: CN emisor
    win_regedit:
      path: HKLM: \ Software\Palo alto Networks\TS Agent\Conf
      nombre: TSAgentCNISSUER
      datos:/CN = FW16. palab. local
      Type: String
  -Name: CN name
    Win regedit:
      ruta: HKLM: \ Software\Palo alto Networks\TS Agent\Conf
      nombre: TSAgentCNNAME
      datos: cert_TS12Cert. pem
      tipo: String
  -Name: CN tema
    win_regedit:
      path: HKLM: \ Software\Palo alto Networks\TS Agent\Conf
      Nombre: TSAgentCNSUBJECT
      datos:/CN = 192.168.75.12
      tipo: String
  -Name: contraseña
    WIN_REGEDIT:
      path: HKLM: \ Software\Palo alto Networks\TS Agent\Conf
      nombre: TSAgentSSL
      datos: ro6lSTTRERERERERTRRRR
      tipo: String

 

Usando elmódulo "win_service" (Link), podemos reiniciar el servicio de Terminal Server Agent. Una vez que se reinicia el servicio, el agente de TS usará el certificado personalizado y moverá la contraseña desde el registro al almacén de credenciales. Una vez que se mueve la clave del registro (TSAgentSSL), ya no será visible para su visualización en el registro.

 

-hosts:
tareas de Windows:
-nombre: reiniciar servicio
win_service:
nombre: pan Terminal Server estado del agente
: reiniciado

 

En el cortafuegos, puede notar que la seguridad de conexión ha sido configurada bajo (dispositivo > identificación del usuario > seguridad de conexión). En este paso, el cortafuegos comprueba el certificado de CA que firmó los certificados del agente de servicio de Terminal Server. 

 

Screen Shot 2018-03-20 en 1.24.49 PM. png

 

Screen Shot 2018-03-20 en 1.25.13 PM. png

 

Se supone que en los servidores Windows del agente de TS, los certificados de CA están instalados. Los certificados de CA se pueden instalar mediante la Directiva de grupo de Windows (enlace)

 

Se pueden realizar cambios en las configuraciones del agente de servicios de Terminal Server haciendo modificaciones en el registro. El siguiente artículo en vivo (Link) describe cómo afinar el registro del agente de TS para una mejor asignación y manejo de puertos.

 

Las siguientes capturas de pantalla muestran varias entradas del registro que pueden modificarse, lo que reconfigura internamente los agentes TS.

 

Screen Shot 2018-03-20 en 1.33.20 PM. png

 

Screen Shot 2018-03-20 en 1.33.36 PM. png

 

Mediante elmódulo "win_regedit" podemos modificar los registros de los agentes TS. Las siguientes tareas muestran pocas modificaciones que se realizan al agente TS.

 

Valores de registro modificados para las siguientes claves:

 

  • Comienza
  • Maxsize
  • StartPort
  • EndPort
  • FreePortBlockDelay
  • EnableTws
  • TSAgentDomain
  • OverrideDomainEnable
  • ReservedPorts
  •  
  •  

 

 

 

  

 

 

 

   

 

  

 

 

 



Actions
  • Print
  • Copy Link

    https://knowledgebase.paloaltonetworks.com/KCSArticleDetail?id=kA10g000000ClNwCAK&lang=es&refURL=http%3A%2F%2Fknowledgebase.paloaltonetworks.com%2FKCSArticleDetail

Choose Language