Serviços de Desktop remotos
o componente de servidor chave do RDS é o servidor de Terminal (termdd.sys
), que escuta na porta TCP 3389. Quando um cliente Remote Desktop Protocol (RDP) se conecta a este porto, ele é marcado com um SessionID único e associado com uma sessão de consola recém-desovada (sessão 0, teclado, mouse e modo de caractere UI apenas). O sub-sistema de autenticação (winlogon.exe) e o subsistema gráfico GDI é então iniciado, que lida com a tarefa de autenticar o Usuário e apresentar a interface gráfica., Estes executáveis são carregados numa sessão nova, em vez da sessão da consola. Ao criar a nova sessão, os drivers de dispositivos gráficos e teclado/mouse são substituídos por drivers específicos do RDP: RdpDD.sys
e RdpWD.sys
. ORdpDD.sys
é o driver do dispositivo e captura as chamadas UI em um formato que é transmissível sobre o RDP. RdpWD.sys
age como teclado e Mouse driver; recebe entrada de teclado e mouse sobre a conexão TCP e apresenta-os como entradas de teclado ou mouse., Ele também permite a criação de canais virtuais, que permitem que outros dispositivos, como disco, áudio, Impressoras e portas COM sejam redirecionados, ou seja, os canais atuam como substituto para esses dispositivos. Os canais conectam-se ao cliente através da conexão TCP; à medida que os canais são acessados para dados, o cliente é informado da solicitação, que é então transferido através da conexão TCP para a aplicação. Todo este procedimento é feito pelo servidor de terminal e pelo cliente, com o RDP mediando a transferência correta, e é totalmente transparente para as aplicações., As comunicações RDP são criptografadas usando criptografia RC4 de 128 bits. Windows Server 2003 em diante, ele pode usar um sistema de criptografia compatível FIPS 140.
Uma vez que um cliente inicia uma conexão e é informado de uma invocação bem sucedida da pilha de serviços de terminal no servidor, ele carrega o dispositivo, bem como os drivers de teclado/mouse. Os dados UI recebidos sobre o RDP são decodificados e renderizados como UI, enquanto que as entradas de teclado e mouse para a janela que hospeda o UI são interceptadas pelos drivers, e transmitidas através do RDP para o servidor., Ele também cria os outros canais virtuais e configura o redirecionamento. A comunicação RDP pode ser criptografada; usando tanto criptografia baixa, média ou alta. Com baixa encriptação, a entrada do utilizador (dados de saída) é cifrada usando uma cifra fraca (40-bit RC4). Com criptografia média, pacotes UI (dados recebidos) são criptografados usando esta cifra fraca também. A configuração ” High encryption (Non-export)” usa criptografia RC4 de 128 bits e “High encryption (Export)” usa criptografia RC4 de 40 bits.
servidor de Terminal
servidor de Terminal é o componente servidor dos Serviços de Terminal., Ele lida com o trabalho de autenticar clientes, bem como tornar as aplicações disponíveis remotamente. Cabe-lhe também a tarefa de restringir os clientes de acordo com o nível de acesso que têm. O servidor de Terminal respeita as Políticas de restrição de software configuradas, de modo a restringir a disponibilidade de determinado software a apenas um determinado grupo de usuários. A informação de sessão remota é armazenada em diretórios especializados, chamado diretório de sessão que é armazenado no servidor., Diretórios de sessão são usados para armazenar informações de Estado sobre uma sessão, e pode ser usado para retomar as sessões interrompidas. O servidor de terminal também tem que gerenciar esses diretórios. Servidores de Terminal também podem ser usados em um cluster.
In Windows Server 2008, it has been significantly overhauled. Durante o login, se o Usuário se conectou ao sistema local usando uma conta de domínio do Windows Server, as credenciais do mesmo sinal podem ser usadas para autenticar a sessão remota., No entanto, isso requer que o Windows Server 2008 seja o terminal server OS, enquanto o cliente OS está limitado ao Windows Server 2008, Windows Vista e Windows 7. Além disso, o servidor de terminal pode ser configurado para permitir a conexão a programas individuais, ao invés de todo o desktop, por meio de um recurso chamado RemoteApp. O Terminal Services Web Access (TS Web Access) torna uma sessão remota invocável a partir do navegador web. Ele inclui o controle de parte Web de acesso TS que mantém a lista de RemoteApps implantados no servidor e mantém a lista atualizada., O servidor de Terminal também pode se integrar com o Gerenciador de recursos do sistema Windows para acelerar o uso de recursos de aplicações remotas.
Terminal Server é gerenciado pelo Gerenciador de servidor de Terminal Microsoft Windows Management Console snap-in. Ele pode ser usado para configurar o sinal em requisitos, bem como para impor uma única instância de sessão remota. Ele também pode ser configurado usando a Política de grupo ou instrumentação de Gerenciamento do Windows., No entanto, não está disponível nas versões cliente do Windows OS, onde o servidor está pré-configurado para permitir apenas uma sessão e fazer valer os direitos da conta de usuário na sessão remota, sem qualquer personalização.
Gatewayedit de desktop remoto
o componente de Serviço de Gateway de Desktop remoto, também conhecido como RD Gateway, pode túnel a sessão RDP usando um canal HTTPS. Isto aumenta a segurança dos RDS, encapsulando a sessão com segurança da camada de transporte (TLS). Isso também permite a opção de usar o Internet Explorer como cliente RDP., O cliente oficial do MS RDP para macOS suporta RD Gateway a partir da versão 8. Isto também está disponível para iOS e Android.Esta característica foi introduzida no Windows Server 2008 e no Windows Home Server products.
remoto Desktop HTML5 Web ClientEdit
no final de 2018, A Microsoft lançou o remoto Desktop HTML5 Web Client. O cliente permite que os usuários se conectem aos seus aplicativos remotos ou aos seus desktops remotos sem usar um cliente de desktop remoto instalado., O cliente web usa a porta TLS secured 443 e não usa o Gateway RD para o transporte de tráfego, em vez disso, dependendo apenas do aspecto de máquina de sessão de desktop remoto dos serviços de desktop remotos.
RolesEdit
o ‘gateway’ remoto permite aos utilizadores autorizados ligarem-se a ecrãs virtuais, programas de aplicações remotas e computadores de secretária baseados em sessões numa rede privada ou na Internet. O papel de corretor de conexão de Desktop remoto permite que os usuários se conectem novamente ao seu desktop virtual existente, Programas RemoteApp e desktops baseados em sessões., Ele permite até mesmo carregar a distribuição através de servidores de Host de Sessão RD em uma coleção de sessões ou em um conjunto de desktops virtuais em uma coleção de desktop virtual, e fornece acesso a desktops virtuais em uma coleção de desktop virtual. A máquina de sessão remota permite a um servidor hospedar Programas RemoteApp como ecrãs baseados em sessão. Os usuários podem se conectar a servidores de Host de Sessão RD em uma coleção de sessões para executar programas, salvar arquivos e usar recursos nesses servidores. Os usuários podem acessar o servidor de Host de sessão de Desktop remoto usando o cliente de conexão de Desktop remoto ou usando Programas RemoteApp., A máquina de virtualização do ecrã remoto permite aos utilizadores ligarem-se aos ecrãs virtuais usando a ligação RemoteApp e Desktop. O acesso remoto à Web Desktop permite aos utilizadores aceder ao RemoteApp e à ligação ao Desktop através do Menu Iniciar ou através de um navegador web. RemoteApp e Desktop Connection fornece aos usuários uma visão personalizada dos programas RemoteApp, desktops baseados em sessões e desktops virtuais. O licenciamento remoto do ambiente de trabalho permite que um servidor gerencie licenças de acesso ao cliente RDS (RDS CALs) que são necessárias para que cada dispositivo ou usuário se conecte a um servidor de Host de sessão de Desktop remoto., Os CALs RDS são gerenciados usando o aplicativo gerenciador de licenciamento de Desktop remoto.
RemoteAppEdit
RemoteApp (ou TS RemoteApp) é um modo especial de RDS, disponível no Windows Server 2008 R2 e mais tarde, onde a configuração de sessão remota é integrada no sistema operacional cliente. O RDP 6.1 Navios-cliente com Windows XP SP3, KB952155 para usuários Windows XP SP2, Windows Vista SP1 e Windows Server 2008. O UI para o RemoteApp é renderizado em uma janela sobre o desktop local, e é gerenciado como qualquer outra janela para aplicações locais., O resultado final disso é que aplicações remotas se comportam em grande parte como aplicações locais. A tarefa de estabelecer a sessão remota, bem como redirecionar os recursos locais para a aplicação remota, é transparente para o usuário final. Várias aplicações podem ser iniciadas em uma única sessão RemoteApp, cada uma com suas próprias janelas.
um RemoteApp pode ser embalado quer como um id
arquivo ou distribuído através de um ID
pacote instalador do Windows., Quando empacotado como um arquivo.rdp
(que contém o endereço do servidor RemoteApp, esquemas de autenticação a serem usados, e outras configurações), um RemoteApp pode ser lançado clicando duas vezes no arquivo. Ele irá invocar o cliente de conexão de Desktop remoto, que irá se conectar ao servidor e renderizar a UI. O RemoteApp também pode ser embalado em um banco de dados do instalador do Windows, instalando o que pode registrar o RemoteApp no menu Iniciar, bem como criar atalhos para lançá-lo. Um RemoteApp também pode ser registrado como manipulador para tipos de arquivos ou URIs., Abrir um arquivo registrado com RemoteApp irá primeiro invocar conexão de Desktop remoto, que irá se conectar ao servidor de terminal e, em seguida, abrir o arquivo. Qualquer aplicação que possa ser acessada através de Desktop remoto pode ser servido como um RemoteApp.
Windows 7 inclui suporte embutido para a edição RemoteApp, mas tem que ser ativado manualmente no registro, uma vez que não há console de gerenciamento RemoteApp em versões clientes do Microsoft Windows.,
Windows Desktop SharingEdit
in Windows Vista onwards, Terminal Services also includes a multi-party desktop sharing capability known as Windows Desktop Sharing. Ao contrário dos Serviços de Terminal, que cria uma nova sessão de usuário para cada conexão RDP, O Windows Desktop Sharing pode hospedar a sessão remota no contexto do usuário conectado de momento sem criar uma nova sessão, e tornar o Desktop, ou um subconjunto dele, disponível através do RDP. O compartilhamento de Desktop do Windows pode ser usado para compartilhar todo o desktop, uma região específica ou uma aplicação particular., O compartilhamento de Desktop do Windows também pode ser usado para compartilhar desktops multi-monitor. Ao compartilhar aplicativos individualmente (ao invés de todo o desktop), as janelas são gerenciadas (sejam elas minimizadas ou maximizadas) de forma independente no lado do servidor e do cliente.
a funcionalidade só é fornecida através de uma API pública, que pode ser usada por qualquer aplicação para fornecer funcionalidade de compartilhamento de tela. A API de partilha do ambiente de trabalho do Windows expõe dois objectos: RDPSession
para a sessão de partilha e RDPViewer
para o visualizador., Vários objetos do visualizador podem ser instanciados para um objeto de sessão. Um visualizador pode ser um visualizador passivo, que é apenas capaz de assistir a aplicação como um screencast, ou um visualizador interativo, que é capaz de interagir em tempo real com a aplicação remota. RDPSession
objeto contém todos os aplicativos compartilhados, representado como Application
objetos, cada um com Window
objetos que representam seu na tela do windows. Os filtros por aplicação capturam as janelas da aplicação e embalam-nas como Window
objectos., Um visualizador deve autenticar-se antes de poder ligar-se a uma sessão de partilha. This is done by generating an Invitation
using the RDPSession
. Ele contém um bilhete de autenticação e senha. O objeto é serializado e enviado para os telespectadores, que precisam apresentar o Invitation
ao se conectar.
Windows Desktop Sharing API é usado pelo Windows Meeting Space e Windows Remote Assistance para fornecer funcionalidade de partilha de aplicações entre os pares de rede.