Problema RPC over HTTP per RDG (Remote Desktop Gateway)
Posted: 01 Aug 2025, 12:27
A metà 2025 c'è stato un aggiornamento Windows Server con un bug che ha afflitto il servizio MS Remote Desktop Getway, causando il riavvio del servizio ogni pochi minuti. Ad ogni riavvio tutte le sessioni venivano disconnesste.
Il problema era legato alla cattiva gestione di RPC over HTTP.
Con successivi aggiornamenti Microsoft ha risolto il bug; tuttavia pubblico un riepilogo di promemoria di quel che si può/deve fare per ovviare al problema nel caso si riproponesse
1) Messe regole firewall blocco 3388 su TCP e UDP: non basta
2) Attivate queste restrizioni sulla RPC Interface; in particolare Restrictions for Unauthenticated RPC Clients impostata su Authenticated without exceptions1
https://learn.microsoft.com/en-us/windo ... e-restrict
3) Trovato questo articolo https://borncity.com/win/2024/07/19/wor ... 4-updates/ di Jorge M.
In particolare seguento questo https://borncity.eu/win/2024/08/09/wind ... ment-17219 ho disattivato la chiave di registro relativa a RPCProxy:
[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Rpc\RpcProxy]
"Enabled"=dword:00000000
"ValidPorts"="RDG01:593;RDG01:49152-65535"
"AllowAnonymous"=dword:00000000
"ValidPorts_TS"="127.0.0.1:3388;localhost:3388;rdg01:3388"
Ecco una spiegazione delle chiavi di registro che hai trovato relative a RpcProxy:
1. "Enabled"=dword:00000000
Significato: Questa chiave controlla se il servizio RpcProxy è abilitato o disabilitato. Un valore di 0x0 (che corrisponde a dword:00000000) indica che RpcProxy è disabilitato.
Uso: RpcProxy è usato principalmente per consentire alle applicazioni client di connettersi ai server interni attraverso HTTP (ad esempio, per servizi come RPC over HTTP). Disabilitando questa opzione, stai bloccando il trasporto RPC su HTTP, il che potrebbe essere una misura di sicurezza o per evitare il problema descritto con il riavvio del servizio RDG.
2. "ValidPorts"="RDG01:593;RDG01:49152-65535"
Significato: Questa chiave definisce un elenco di porte che sono considerate valide per le connessioni RPC tramite RpcProxy. Qui, hai specificato che le porte 593 e l'intervallo 49152-65535 sono valide per il server RDG01.
Uso: Il numero di porta 593 è comunemente usato per RPC su HTTP, mentre l'intervallo 49152-65535 è tipico per le porte dinamiche RPC, che vengono assegnate in modo dinamico quando una connessione RPC è stabilita.
3. "AllowAnonymous"=dword:00000000
Significato: Questa chiave specifica se le connessioni RPC anonime sono permesse attraverso RpcProxy. Un valore di 0x0 indica che non sono permesse connessioni anonime.
Uso: Impedire connessioni anonime è una misura di sicurezza, poiché richiede che tutte le connessioni attraverso RpcProxy siano autenticate. Ciò aiuta a prevenire accessi non autorizzati.
4. "ValidPorts_TS"="127.0.0.1:3388;localhost:3388;rdg01:3388"
Significato: Simile a ValidPorts, questa chiave specifica le porte valide, ma per un utilizzo più specifico, ovvero per il servizio Terminal Services (incluso Remote Desktop Gateway). In questo caso, le porte 3388 sono valide per le connessioni locali (127.0.0.1 e localhost) e per il server rdg01.
Uso: La porta 3388 è comunemente utilizzata per RPC su HTTP attraverso il Gateway Desktop Remoto (RDG). Questa configurazione consente a RDG di accettare connessioni RPC su HTTP su quella porta.
Stato attuale dei valori:
RpcProxy è disabilitato (Enabled=0x0).
Le porte specificate (593 e 49152-65535) sono considerate valide per le connessioni attraverso il proxy RPC per il server RDG01.
Le connessioni anonime sono bloccate (AllowAnonymous=0x0).
Le connessioni attraverso la porta 3388 sono abilitate per localhost, 127.0.0.1, e il server RDG01.
Considerazioni:
Se hai disabilitato RpcProxy, ciò significa che il traffico RPC over HTTP non sarà consentito, a meno che tu non riattivi questa chiave. Le configurazioni di porta valide servono a limitare il traffico alle porte specificate, e il blocco delle connessioni anonime aumenta la sicurezza del sistema.
Il problema era legato alla cattiva gestione di RPC over HTTP.
Con successivi aggiornamenti Microsoft ha risolto il bug; tuttavia pubblico un riepilogo di promemoria di quel che si può/deve fare per ovviare al problema nel caso si riproponesse
1) Messe regole firewall blocco 3388 su TCP e UDP: non basta
2) Attivate queste restrizioni sulla RPC Interface; in particolare Restrictions for Unauthenticated RPC Clients impostata su Authenticated without exceptions1
https://learn.microsoft.com/en-us/windo ... e-restrict
3) Trovato questo articolo https://borncity.com/win/2024/07/19/wor ... 4-updates/ di Jorge M.
In particolare seguento questo https://borncity.eu/win/2024/08/09/wind ... ment-17219 ho disattivato la chiave di registro relativa a RPCProxy:
[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Rpc\RpcProxy]
"Enabled"=dword:00000000
"ValidPorts"="RDG01:593;RDG01:49152-65535"
"AllowAnonymous"=dword:00000000
"ValidPorts_TS"="127.0.0.1:3388;localhost:3388;rdg01:3388"
Ecco una spiegazione delle chiavi di registro che hai trovato relative a RpcProxy:
1. "Enabled"=dword:00000000
Significato: Questa chiave controlla se il servizio RpcProxy è abilitato o disabilitato. Un valore di 0x0 (che corrisponde a dword:00000000) indica che RpcProxy è disabilitato.
Uso: RpcProxy è usato principalmente per consentire alle applicazioni client di connettersi ai server interni attraverso HTTP (ad esempio, per servizi come RPC over HTTP). Disabilitando questa opzione, stai bloccando il trasporto RPC su HTTP, il che potrebbe essere una misura di sicurezza o per evitare il problema descritto con il riavvio del servizio RDG.
2. "ValidPorts"="RDG01:593;RDG01:49152-65535"
Significato: Questa chiave definisce un elenco di porte che sono considerate valide per le connessioni RPC tramite RpcProxy. Qui, hai specificato che le porte 593 e l'intervallo 49152-65535 sono valide per il server RDG01.
Uso: Il numero di porta 593 è comunemente usato per RPC su HTTP, mentre l'intervallo 49152-65535 è tipico per le porte dinamiche RPC, che vengono assegnate in modo dinamico quando una connessione RPC è stabilita.
3. "AllowAnonymous"=dword:00000000
Significato: Questa chiave specifica se le connessioni RPC anonime sono permesse attraverso RpcProxy. Un valore di 0x0 indica che non sono permesse connessioni anonime.
Uso: Impedire connessioni anonime è una misura di sicurezza, poiché richiede che tutte le connessioni attraverso RpcProxy siano autenticate. Ciò aiuta a prevenire accessi non autorizzati.
4. "ValidPorts_TS"="127.0.0.1:3388;localhost:3388;rdg01:3388"
Significato: Simile a ValidPorts, questa chiave specifica le porte valide, ma per un utilizzo più specifico, ovvero per il servizio Terminal Services (incluso Remote Desktop Gateway). In questo caso, le porte 3388 sono valide per le connessioni locali (127.0.0.1 e localhost) e per il server rdg01.
Uso: La porta 3388 è comunemente utilizzata per RPC su HTTP attraverso il Gateway Desktop Remoto (RDG). Questa configurazione consente a RDG di accettare connessioni RPC su HTTP su quella porta.
Stato attuale dei valori:
RpcProxy è disabilitato (Enabled=0x0).
Le porte specificate (593 e 49152-65535) sono considerate valide per le connessioni attraverso il proxy RPC per il server RDG01.
Le connessioni anonime sono bloccate (AllowAnonymous=0x0).
Le connessioni attraverso la porta 3388 sono abilitate per localhost, 127.0.0.1, e il server RDG01.
Considerazioni:
Se hai disabilitato RpcProxy, ciò significa che il traffico RPC over HTTP non sarà consentito, a meno che tu non riattivi questa chiave. Le configurazioni di porta valide servono a limitare il traffico alle porte specificate, e il blocco delle connessioni anonime aumenta la sicurezza del sistema.