lunes, 11 de junio de 2018

Solución al error de autenticación en conexión a Escritorio remoto "Oracle/CredSSP"

Las actualizaciones de Mayo del 2018 trajeron sorpresas para los administradores de entornos donde las conexiones RDP dejaron de funcionar repentinamente. Microsoft publicó un articulo donde detalla el alcance de la vulnerabilidad de CredSSP cuyos parches trajeron consigo este inconveniente que se presenta principalmente en los casos donde el cliente ya tiene las actualizaciones de 05/2018 y el servidor aún no cuenta con las mismas.

El error que se presenta al intentar conectarse desde un cliente actualizado a un servidor sin el parche es el siguiente:

An authentication error occurred. The function requested is not supported.This could be due to CredSSP encryption oracle remediation
Error de autenticacion. No se permite la funcion solicitada.Puede deberse a una actualizacion de Oracle de cifrado CredSSP

Desde luego la solución mas recomendable es aplicar la actualización en clientes y servidores que se manejaran vía RDP, pero en casos donde es imperioso acceder a un servidor que aún no esta parchado es posible cambiar el comportamiento del cliente para que ignore la vulnerabilidad utilizando políticas de grupo o directamente modificando el registro, el cambio requiere un reinicio para tomar efecto.

Via gpedit.msc:





Vía regedit:



PS C:\Users\Administrator> reg add "HKLM\Software\Microsoft\Windows\CurrentVersion\Policies\System\CredSSP\Parameters" /f /v AllowEncryptionOracle /t REG_DWORD /d 2
The operation completed successfully.

PS C:\Users\Administrator>



Luego de parchear los servidores, lo recomendable es revertir el cambio para no dejar el sistema expuesto al robo de credenciales.

Paso a paso: Administración remota de Hyper-V en grupos de trabajo


Para administrar remotamente un servidor Hyper-V en casos donde la estación de trabajo o el servidor están en un grupo de trabajo, deben realizarse algunas configuraciones previas que detallo en esta entrada.


Configuración en el servidor Hyper-V


Habilitar la administración remota:

PS C:\Users\Administrator> Configure-SMRemoting.exe -Enable
Server Manager Remoting is now enabled: Enabled remote access.

PS C:\Users\Administrator>

Crear las reglas de firewall necesarias para la administración remota:

Set-NetFirewallRule -DisplayGroup 'Windows Management Instrumentation (WMI)' -Enabled true -PassThru
Set-NetFirewallRule -DisplayGroup 'Remote Event Log Management' -Enabled true -PassThru
Set-NetFirewallRule -DisplayGroup 'Remote Volume Management' -Enabled true -PassThru

Habilitar CredSSP en el servidor:

PS C:\Users\Administrator> Enable-WSManCredSSP -Role Server -Force


Configuración en el cliente


Habilitar el servicio winrm y añadir el host HYPER-V a los equipos de confianza del cliente:


PS C:\Windows\system32> winrm quickconfig
WinRM service is already running on this machine.
PS C:\Windows\system32> winrm set winrm/config/client '@{TrustedHosts="hyperv"}'
Client
    NetworkDelayms = 5000
    URLPrefix = wsman
    AllowUnencrypted = true [Source="GPO"]
    Auth
        Basic = true
        Digest = true
        Kerberos = true
        Negotiate = true
        Certificate = true
        CredSSP = true
    DefaultPorts
        HTTP = 5985
        HTTPS = 5986
    TrustedHosts = hyperv

PS C:\Windows\system32>


Al igual que en el servidor, en el cliente necesitamos una regla de firewall para permitir la administración remota de volúmenes:

Set-NetFirewallRule -DisplayGroup 'Remote Volume Management' -Enabled true -PassThru


Agregar el hostname y dirección IP del servidor al archivo C:\Windows\System32\Drivers\etc\hosts



Modificar la política de seguridad local (gpedit.msc) para permitir delegación de credenciales (agregar wsman/* en la lista de servidores para poder administrar cualquier servidor remoto):





Configurar las opciones de seguridad COM con la utilidad ubicada en C:\Windows\System32\dcomcnfg.exe, aquí debemos permitir el acceso remoto para anonymous logon:





Comprobamos la conectividad al servidor Hyper-V remoto, en este caso utilizando credenciales alternativas:







domingo, 3 de junio de 2018

Virtualizacion anidada (nested virtualization) en Windows Server 2016

Una nueva característica de Hyper-V en Windows Server 2016 es la de virtualización anidada o nested virtualization, que nos permite ejecutar un hipervisor como ESX o KVM dentro de un guest de Hyper-V. Este feature muy útil para ambientes de laboratorio se habilita por máquina virtual con el  comando Set-VMProcessor sobre la VM apagada.


Para comprobar si la virtualización anidada ya esta habilitada en una VM utilizar Get-VMProcessor:


Como la mayoria de los features disponibles en Hyper-V corriendo sobre Windows Server 2016, la virtualización anidada también puede utilizarse en Windows 10 con Hyper-V. Esto requiere Windows 10 versión 1607 en adelante.