Winsec.org Winsec.org Winsec.org
Winsec.org


Registro |

 

 

 

 

 

 

 

 

 

 

 

Winsec.org
Winsec.org
Detalhes do Artigo
Remote Desktop Services Windows 2008 R2

Neste artigo falaremos sobre os componentes de uma infra-estrutura do Remote Desktop Services (RDS), anteriormente conhecido como “Terminal Server Services”.  

Não foi apenas o nome que mudou mas sim um conceito. Com estas novas funcionalidades a Microsoft deu um passo importante no conceito de virtualização.
Remote Desktop Services é um conjunto de papéis (ou roles) disponíveis no Windows Server 2008 R2 que permite a virtualização de aplicações e desktop’s, facilitando o acesso de usuários a partir de diferentes localidades utilizando diferentes dispositivos.
Vejamos uma tabela comparativa dos componentes do RDS e das verões anteriores:
Pré-Windows 2008 R2
Windows 2008 R2
Terminal Server (2000 ou superior)
Remote Desktop Session Host
Terminal Services Licensing (2000 ou superior)
Remote Desktop Licensing
Terminal Services Gateway (2008 ou superior)
Remote Desktop Gateway
Terminal Services Session Directory Service (2003 ou superior)
Remote Desktop Connection Broker
Terminal Services Web Access (2008 ou superior)
Remote Desktop Web Access
Não existia.
Remote Desktop Virtualization Host
Tabela 1
Uma pequena descrição das principais funções/funcionalidades de cada papel:
RD Licensing Server
·         Gerencia as licenças requeridas pelos dispositivos ou usuários;
·         Permite revogar ate 20% das licenças “per-device” de uma única vez;
RD Connection Broker
·         Realiza a distribuição das conexões de entrada entre os vários servidores da Farm;
·         Reconecta uma sessão com status “desconectada” mesmo que o usuário autentique em um outro servidor. Se o “Network Level Autentication” é utilizado, o usuário é validado junto ao “RD Connection Broker” antes da sessão ser criada evitando a criação desnecessária de uma sessão em um servidor (para o caso do usuário ter uma sessão desconectada em outro servidor);
RD Session Host
·         É aqui que tudo acontece, é onde efetivamente as aplicações são executadas;
·         Ao contrário das versões anteriores, no Windows Server 2008 este serviço pode ser reiniciado;
·         O uso do Network Level Authentication requer Windows XP/Vista/7, não permitindo conexões a partir de outro S.O.;
·         O WSRM (Windows System Resource Manager) pode ser instalado como uma feature em qualquer versão do Windows Server 2008;
·         A ferramenta Licensing diagnostics tool pode ser utilizada para verificar se existe algum problema de comunicação com o servidor de licenças;
·         No Windows Server 2008 R2 é possivel realizar a publicação de aplicações baseada em grupos/usuários.
RD Web Access
·         Integrado com o IIS, é o portal onde as aplicações são disponibilizadas para acesso.
·         Caso várias aplicações sejam publicadas em um mesmo servidor, a mesma sessão é utilizada caso o usuário faça uso destas aplicações simultaneamente;
·         Requer cliente RDP 6.x e Windows XP SP3 ou superior (a versão 7.0 é recomendada);
·         Pode ser integrado ao Sharepoint através de webparts;
·         Permite o uso de Single Sign On, ou seja o usuário faz logon apenas uma vez na interface do Web Access e consegue acessar todas as aplicações sem a necessidade de informar novamente usuário/senha;
RD Gateway
·         Permite a conexao ao “RD Host Session” através de uma conexão HTTPS (o protocolo RDP é encapsulado no HTTPs);
·         Na versão Standard do Windows Server 2008 suporta apenas 250 conexões simultaneas;
A Microsoft criou tambem novas classes WMI afim de simplificar o gerenciamento destes papeis. Estas classes podem ser visualizadas em (http://msdn.microsoft.com/en-us/library/aa383515(VS.85).aspx).
Depois desta introdução “básica”, vamos aos objetivos deste artigo.
Objetivo
O objetivo deste artigo é criar um ambiente que permita o acesso a aplicações existentes no datacenter de uma empresa ficticia. Para simplificar o gerenciamento e disponibilização das aplicações iremos utilizar os recursos do RDS disponiveis no Windows Server 2008 R2.
Recursos indispensáveis para este projeto:
·         Acesso centralizado através de uma interface WEB;
·         Forma de acesso igual para usuários internos e externos a rede da empresa;
·         Criptografia do tráfego entre os usuários externos e o firewall da empresa;
·         O acesso externo precisa ser restrito a um grupo de usuários;
Pré-requisitos
Nenhum pré-requisito na infra-estrutura é necessário para o funcionamento do RDS.
Para suportar todas as “novidades” do Windows Server 2008 R2 em clientes executando o Windows XP SP3 ou Vista SP1 (ou superior) instale o Remote Desktop Client 7.0 disponivel através do KB 969084. Esta versão já é padrão no Windows 7 e Windows Server 2008 R2.
Estrutura do laboratório
A estrutura do labóratório é relativamente simples. Devido a limitação de recursos (que tenho no meu notebook) iremos agrupar alguns “Papéis” do serviço RDS.
Teremos 5 hosts neste ambiente, os nomes, ip’s e funcionalidades estão descritos na tabela abaixo. Todos os hosts executam o Windows Server 2008 R2, exceto o host “cl-01” que executa o Windows 7.
Hostname
Aplicação
IP
dc-01
AD-DS, DNS
192.168.1.1
sh-01
Remote Desktop Session Host
192.168.1.2
gw-01
Remote Desktop Gateway, Web Access e IIS
192.168.1.3/192.168.56.1
cb-01
NPS, AD CS, IIS, Remote Desktop Connection Broker e Licensing Server
192.168.1.4
cl-01
Cliente Web Access
192.168.56.2
Tabela 2
Um desenho do ambiente pode ser visto na imagem 1:

 Imagem 1

Agora que ja temos uma ideia de como ficará o ambiente, mãos a obra.
Instalando os papéis
Após ter todos os hosts com o Windows Server 2008 R2 devidamente instalados (atualizados) e inseridos no dominio, o primeiro passo é instalar os papéis do RDS.
Caso tenha dúvidas quanto a utilização do AD-DS executando em um Windows Server 2008 R2, consulte o artigo http://jsathler.spaces.live.com/blog/cns!40CBF5E035DEF7B3!217.entry disponível em meu blog.
Instalando os componentes Connection Broker, Licensing Server, NAP e AD-CS
Estes papéis devem ser instalados no host “cb-01”:
1.       Através do mmc Server Manager, expandir o menu “Roles” e clicar em “Add Roles”;
2.       Na tela “Select Server Roles” selecione as opções “Active Directory Certificate Services”, “Network Policy and Access Services” e “Remote Desktop Services”, e clique em “Next”;
3.       Na tela “Remote Desktop Services” clique em “Next”;
4.       Na tela “Select Role Services” selecione as opções “Remote Desktop Licensing” e “Remote Desktop Connection Broker” e clique em “Next”;
5.       Na tela “Configure Discovery Scope for RD Licensing” selecione a opção “Configure a discovery scope for this license server” e em seguida a opção “The forest” e clique em “Next”.
6.       Na tela “Network Policy and Access Services” clique em “Next”;
7.       Na tela “Select Role Services” selecione a opção “Network Policy Server” e clique em “Next”.
a.        Iremos utilizar o NPS para centralizar as politicas de acesso do “Remote Desktop Gateway”;
8.       Na tela “Introduction to Active Directory Certificate Services” clique em “Next”;
a.        Iremos utilizar o AD-CS para emissão dos certificados digitais necessários pelo RDS.
b.       O ideal é utilizar certificados emitidos por CA’s comerciais;
1.       Na tela “Select Role Services” selecione as opções “Certification Authority”, “Certification Authority Web Enrollment”. Uma mensagem informando que este papel requer o IIS e este não se encontra instalado será mostrada, clique em “Add Required Role Services” e clique em “Next”;
9.       Na tela “Specify Setup Type” selecione “Standalone” e clique em “Next”;
10.    Na tela “Specify CA Type” selecione “Root CA” e clique em “Next”;
11.    Na tela “Set Up Private Key” selecione “Create a new Private Key” e clique em “Next”;
12.    Na tela “Configure Cryptography for CA”, clique em “Next”;
13.    Na tela “Configure CA Name”, clique em “Next”;
14.    Na tela “Set Validity Period”, clique em “Next”;
15.    Na tela “Configure certificate database”, clique em “Next”;
2.       Na tela “Na tela “Web Server (IIS)” clique em “Next”;
16.    Na tela “Select Role Services” clique em “Next”;
17.    Na tela “Confirm Installation Selections” valide as opções selecionadas e clique em “Install” para iniciar a instalação;
18.    Finalmente na tela “Installation Results” verifique o resultado da instalação e se necessário reinicie o servidor;
 
Instalando o Remote Desktop Session Host
Estes papéis devem ser instalados no host “sh-01”:
1.       Através do mmc Server Manager, expandir o menu “Roles” e clicar em “Add Roles”;
2.       Na tela “Select Server Roles” selecione a opção “Remote Desktop Services” e clique em “Next”;
3.       Na tela “Remote Desktop Services” clique em “Next”;
4.       Na tela “Select Role Services” selecione a opção “Remote Desktop Session Host” e clique em “Next”;
5.       Na tela “Uninstall and Reinstall Application for Compatibility” e clique em “Next”;
6.       Na tela “Specify Authentication Method for Remote Desktop Session Host” selecione a opção “Require Network Level Authentication” e clique em “Next”.
a.        Com esta opção definida, apenas hosts executando o Windows XP SP3 ou superior conseguirão acesso ao RDS.
b.       Caso precise suportar uma versão diferente de S.O., escolha a opção “Do not require Network Level Authentication”.
c.        Por fim para ativar o suporte ao NLA no Windows XP, siga os procedimentos no KB 951608;
                                                               i.      Atenção durante a configuração destas chaves, pois são necessárias tanto para suporte ao NLA e Single Sign On;
7.       Na tela “Specify Licensing Mode” selecione a opção que corresponda com seu método de licenciamento e clique em “Next”;
8.       Na tela “Select User Groups Allowed Access To This RD Session Host Server” informe os usuários/grupos que poderão acessar este servidor através do RDS e clique em “Next”.
a.        As informações inseridas aqui refletem no grupo local “Remote Desktop Users”;
9.       Na tela “Configure Client Experience” clique em “Next”;
a.        Caso queira “incrementar” os recursos do Windows para que o usuário tenha o desktop do servidor parecido com o Windows 7, selecione todas as opções;
b.       Atenção para uma possivel perda de desempenho ao ativar esta opção;
10.    Na tela “Confirm Installation Selections” valide as opções selecionadas e clique em “Install” para iniciar a instalação;
11.    Finalmente na tela “Installation Results” verifique o resultado da instalação e se necessário reinicie o servidor;
 
Instalando o Remote Desktop Web Access e Remote Desktop Gateway
Estes papéis devem ser instalados no host “gw-01”:
1.       Através do mmc “Server Manager”, expandir o menu “Roles” e clicar em “Add Roles”;
2.       Na tela “Select Server Roles” selecione a opção “Remote Desktop Services” e clique em “Next”;
3.       Na tela “Remote Desktop Services” clique em “Next”;
4.       Na tela “Select Role Services” selecione as opções “Remote Desktop Gateway” e “Remote Desktop Web Services”, Uma mensagem informando que estes papéis requerem o IIS e NPS, e estes não se encontram instalados será mostrada, clique em “Add Required Role Services” e clique em “Next”;
5.       Na tela “Choose a Server Authentication Certificate for SSL Encryption” selecione a opção “Choose a certificate for SSL encryption later” e clique em “Next”;
6.       Na tela “Create Authorization Policies for RD Gateway” selecione a opção “Later” e clique em “Next”;
7.       Na tela “Network Policy and Access Services” clique em “Next”;
8.       Na tela “Select Role Services” clique em “Next”;
9.       Na tela “Web Server (IIS)” clique em “Next”;
10.    Na tela “Select Role Services” clique em “Next”;
11.    Na tela “Confirm Installation Selections” valide as opções selecionadas e clique em “Install” para iniciar a instalação;
12.    Finalmente na tela “Installation Results” verifique o resultado da instalação e se necessário reinicie o servidor;
Agora que já temos todos os papéis instalados, vamos configura-los.
Configurando os “papeis”
Agora que temos tudo o que precisamos instalado, vamos iniciar a configuração do RDS. Lembrando que temos alguns objetivos a serem atendidos neste projeto, vamos relembra-los?
·         Acesso centralizado através de uma interface WEB;
·         Forma de acesso igual para usuários internos e externos a rede da empresa;
·         Criptografia do tráfego entre os usuários externos e o firewall da empresa;
·         O acesso externo precisa ser restrito a um grupo de usuários;
Antes de iniciar, providencie a instalação das aplicações que serão disponibilizadas aos usuários no servidor sh-01 (servidor que possui o papel “RD Session Host”), lembrando apenas que, as aplicações a serem publicadas precisam ser testadas afim de verificar se as mesmas são suportadas em ambiente multi-usuário. A microsoft disponibilizou uma ferramenta para ajudar nesta validação, para baixa-la utilize a url https://connect.microsoft.com/tsappcompat.
Solicitando os certificados digitais
Como alguns papéis utilizam SSL, será necessário fazer a solicitação de certificados digitais a uma CA. No nosso caso iremos utilizar uma CA interna para emissão dos certificados.
A partir do host cb-01:
1.       Abra o MMC “Internet Information Services (IIS) Manager” disponivel em “Start/Administrative Tools”;
a.        Clique em “CB-01”, em seguida clique em “Server Certificates”;
b.       No painel de ações a direita, clique em “Create Self-Signed Certificate”;
                                                               i.      Este passo é necessário para solicitação dos certificados, caso contrário o Windows não deixará submeter a solicitação dos certificados;
c.        Informe o nome para o certificado e clique em “OK”;
d.       Expanda “cb-01/Sites/Default Web Site” e no painel de ações clique em “Bindings”;
e.       Clique em “Add”, em “Type” selecione “HTTPS” e em “SSL certificate” selecione o certificado criado no passo b e clique em “OK”;
2.       Abra a url https://cb-01.jsathler.spaces.live.com/certsrv, informe as credencias do usuario administrator (ou outra qualquer)
a.        Clique em “Request a Certificate”;
b.       Clique em “Advanced certificate request”;
c.        Clique em “Create and submit a request to this CA”. Caso seja apresentada a tela “Web Access Confirmation” clique em “Yes”;
d.       No campo “Name”, informe o nome DNS a ser utilizado no certificado, em “Type of Certificate Needed” selecion “Server Authentication Certificate”, marque a opção “Mark keys as exportable” e clique em “Submit”;
                                                               i.      Será necessário criar um certificado para cada um dos nomes: “rds-app.jsathler.spaces.live.com” e “gw-01.jsathler.spaces.live.com”;
3.       Abra o MMC “Certification Authority” disponivel em “Start/Administrative Tools”;
a.        Expanda “nome-da-ca/Pending Requests”, clique sobre o nome dos certificados e com o botão direito clique em “All Tasks/Issue”;
4.       Volte na url https://cb-01.jsathler.spaces.live.com/certsrv e clique em “View the status of a pending certificate request”;
5.       Clique sobre link do certificado e clique em “Install this certificate”. Repita este procedimento para cada um dos dois certificados solicitados no passo 02;
6.       Faça uma cópia do certificado raiz da CA:
b.       Clique no link “Download a CA certificate, certificate chain, or CRL”;
c.        Clique no link “Download CA certificate” e salve o arquivo “certnew.cer”;
7.       Por fim, clique no menu “Start/Run” e abra o mmc.exe;
a.        No menu “File”, escolha a opção “Add/Remove Snap in”;
b.       Clique em “Certificates” e clique em “Add”, em seguida clique em “My User Account” e clique em “Finish”, em seguida clique em OK;
c.        Expanda “Certificates – Current User/Personal/Certificates” e clique com o botao direito sobre o certificado a ser exportado e selecione “All Tasks/Export...”;
d.       Na tela “Welcome to the certificate export wizard” clique em “Next”;
e.       Na tela “Export private Key”, selecione “Yes, export the private key” e clique em “Next”;
f.         Na tela “Export file format”, clique em “Personal Information Exchange - PKCS #12(.PFX)” e clique em “Next”;
g.        Na tela “Password” informe uma senha para o certificado e clique em “Next”;
h.       Na tela “File to export” informe um caminho/nome para o certificado e clique em “Next”;
i.         Na tela “Completing the certificate export wizard”, clique em “Finish”;
                                                               i.      Repita este procedimento para cada um dos dois certificados emitidos no passo 02;
Configurando o NPS
8.       Abra o MMC “Network Policy Server”disponivel em “Start/Administrative Tools”;
a.        No menu “Radius Clients” clique com o botão direito e selecione a opção “New”;
b.       Na tela “New RADIUS Client”:
                                                               i.      Informe um nome em “Friendly Name”, por exemplo “RDS Gatway 01”;
                                                              ii.      Informe o hostname ou IP do cliente Radius (o nome do servidor que executa o papel “Remote Desktop Gateway”) no campo “Address (IP or DNS)”. No nosso caso vamos utilizar o nome “gw-01.jsathler.spaces.live.com”;
                                                            iii.      Em “Shared Secret” selecione a opção “Generate” e clique no botão “Generate”;
                                                            iv.      Copie a senha gerada e guarde em um arquivo texto, ela será necessária durante a configuração do “RD Gateway”;
c.        Clique em “NPS (Local)”, no painel da direita selecione “Network Access Protection” e clique em “Configure NAP”;
                                                               i.      Na tela “Select Network Connection Method for user with NAP”, selecione “Remote Desktop Gateway (RD Gateway)”, informe o nome da politica e clique em “Next”;
                                                              ii.      Na tela “Specify NAP Enforcement Servers Running RD Gateway” selecione o servidor “RD Gateway” criado no passo 03 e clique em “Next”;
                                                            iii.      Na tela “Configure Client Device and Authentication Methods” selecione apenas as opções “Enable redirection for all devices on remote clients” e “Password allowed” e clique em “Next”;
                                                            iv.      Na tela “Configure the idle timeout and session timeout actions”, configure as opções conforme necessário e clique em “Next”;
                                                              v.      Na tela “Configure User Groups and Machine Groups”, em “User Groups (Required)” adicione o grupo de usuários que terá acesso ao “RD Gateway” e clique em “Next”;
                                                            vi.      Na tela “Define NAP Health Policy” escolha as opções “Windows Security Health Validator”, “Deny client access to Remote Desktop Session Host servers and computers running Remote Desktop” e clique em “Next”;
                                                           vii.      Na tela “Completing NAP Enforcement Policy and Radius Client Configuration” valide as informações e clique em “Finish”;
Configurando o Licensing Server
9.       Ativar o serviço através do mmc “Remote Desktop Licensing Manager” disponivel em “Start/Administrative Tools/Remote Desktop Services”;
a.        Clicar no nome do servidor com o botão direito e escolher a opção “Activate Server”;
                                                               i.      Na tela “Welcome to the Activate Server Wizard” clique em “Next”;
                                                              ii.      Na tela “Connection Method” selecione a opçao desejada (no nosso caso “Automatic connection (recommended)”) e clique em “Next”;
1.       Esta opção fará uma conexão ao servidor de licenças da Microsoft através da internet, portanto este servidor precisa de acesso a internet para prosseguir com o processo de ativação;
                                                            iii.      Na tela “Company Information” preencha os campos e clique em “Next”;
                                                            iv.      Na tela “Completing the Activate Server Wizard” desmarque a opção “Start Install Licenses Wizard now” e clique em Finish;
b.       Para adicionar licenças, basta clicar no nome do servidor com o botão direito e escolher a opção “Install Licenses”;
                                                               i.      Como não tenho nenhuma licença disponivel para instalação, não iremos abordar este procedimento ate o final. O assistente é bem intuitivo e você não tera dificuldades;
10.    Caso queira controlar quais servidores podem utilizar este “RD Licensing Server” basta seguir o procedimento:
c.        Atavés do editor de “Group Policy” alterar para “Enabled” a politica “Computer Configuration/Administrative Templates/Windows Components/Remote Desktop Services/RD Licensing/License Server Security Group”;
d.       Abrir o mmc “Server Manager”, expandir “Configuration/Local Users and Groups/Groups” e adicionar todas as contas de computador que executam o papel “Remote Desktop Session Host” ao grupo “Terminal Server Computers”. No nosso caso iremos adicionar apenas a conta do computador “sh-01”;
e.       Após alterações neste grupo é necessário reiniciar o serviço “Remote Desktop Licensing”;
Configurando o Connection Broker
11.    Clique no menu “Start/Run” e abra o mmc.exe;
a.        No menu “File”, escolha a opção “Add/Remove Snap in”;
b.       Clique em “Certificates” e clique em “Add”, em seguida clique em “Computer Account”, clique em “Next”, selecione a opção “Local computer” e finalmente em “Finish”, em seguida clique em “OK”;
c.        Expanda “Certificates (Local Computer)/Personal/Certificates” e clique com o botao direito e selecione “All Tasks/Import...”;
d.       Na tela “Welcome to the certificate import wizard” clique em “Next”;
e.       Na tela “File to import” informe o caminho/nome do certificado e clique em “Next”. Importar o certificado criado para o DNS “rds-app.jsathler.spaces.live.com”;
f.         Na tela “Password” informe a senha para o certificado e clique em “Next”;
g.        Na tela “Certificate Store” clique em “Next”;
h.       Na tela “Completing the certificate import wizard”, clique em “Finish”;
12.    Abrir o mmc “Server Manager”, expandir “Configuration/Local Users and Groups/Groups” e adicionar todas as contas de computador que executam o papel “RD Session Host” ao grupo “Session Broker Computers”. No nosso caso iremos adicionar apenas a conta do computador “sh-01”;
i.         Sem este procedimento, os servidores “RD Session Host” não conseguirão utilizar os recursos disponibilizados pelo RD Connection Broker (criar FARM’s, listar as aplicações publicadas, reconectar sessões desconectadas, etc);
13.    Abrir o mmc “Remote Desktop Connection Manager” disponivel em “Start/Administrative Tools/Remote Desktop Services”;
j.         Clicar com o botão direito em “Remote Desktop Connection Manager: cb-01 e no painel de ações a direita selecione “Properties”;
                                                               i.      Na guia “Connection Settings” informe o nome que será mostrado no menu Iniciar/Programas dos computadores que executam o Windows 7. Utilize por exemplo o nome “Aplicações centralizadas”;
                                                              ii.      Na guia “RD Web Access” informe os servidores que executam o papel “Remote Desktop Web Access” que poderão listar aplicações através deste RD Connection Broker. No nosso caso iremos adicionar apenas a conta do computador “gw-01”;
k.        No painel de Visualização, clique no botão “Specify” (em frente a “Digital Certificate);
                                                               i.      Na guia “Digital Signature Settings”, marque a opção “Sign with a digital certificate”, clique no botão “Select” e selecione o certificado importado no passo 01 (rds-app.jsathler.spaces.live.com). Clique em “OK”;
l.         No menu “Remote app Sources” adicione o nome DNS do “RD Session Host” que será utilizado para popular as aplicações no “RD Web Access”. No nosso caso iremos adicionar o dns name da FARM “rds-app.jsathler.spaces.live.com”. Irá aparecer uma mensagem informando que não foi possivel contactar o host, clique em “Yes” (o nome DNS da farm ainda não foi criado neste ponto no DNS Server, por isso a mensagem de “erro”);
                                                               i.      Isso fará com que o “RD Connection Broker” tenha uma lista de todos os servidores “RD Session Host” x “Aplicações publicadas”;
                                                              ii.      Esta lista será utilizada pelos servidores “RD Web Access” quando o usuário fizer logon na interface Web;
                                                            iii.      Caso seja informado o nome de vários servidores de uma mesma farm o usuário verá as aplicações duplicadas na interface do Web Access. Uma alternativa é informar o nome de apenas um servidor da FARM, porem caso este fique indisponivel a lista de aplicações no “RD Web Access” ficara vazia;
                                                            iv.      Por fim caso esteja utilizando o NLB nos servidores “RD Session Host” para fazer este balanceamento ao invés do round-robin, basta informar o nome virtual do cluster NLB;
Configurando o RD Session Host
A partir do host sh-01:
1.       Através do MMC “Server Manager”, adicione no grupo “TS Web Access Computers group” a conta dos computadores que executam o papel “RD Connection Broker”. No nosso caso a conta do computador “cb-01”;
a.        Isto é necessário para que as aplicações sejam carregadas no RD Connection Broker e posteriormente listadas na interface do RD Web Access;
2.       Abra o mmc “Remote Desktop Session Host Configuration” disponivel em “Start/Administrative Tools/Remote Desktop Services”;
a.        Selecione o conector RDP já criado (por padrão) e obtenha as propriedades dele;
                                                               i.      Na guia “General”, verifique se a opção “Allow connections only from computers running Remote Desktop witch Network Level Authentication” está devidamente ativa. Ainda nesta guia, defina a opção “Security Layer” como “SSL (TLS 1.0)”;
                                                              ii.      Na guia “Log on Settings” deixe apenas a opção “Use client-provided log on information” marcada;
                                                            iii.      Na guia “Sessions” defina os tempos de time-out e reconexão;
                                                            iv.      Na guia “Remote Control” marque as opções “Use Remote control with the following settings:”, “Require user's permission” e “Interact with the session”;
1.       Desta forma sera possivel interagir com uma sessão de usuário;
                                                              v.      Em “Client Settings” defina quais dispositivos poderão ser mapeados em uma sessão de terminal, assim como o número máximo de monitores e cor da tela, clique em “OK”;
b.       Por padrão o servidor de licenças é “descoberto” automaticamente, caso queira forçar o uso de um “RD Licensing server”, basta na área “Editing Settings” clicar duas vezes na opção “Remote Desktop license servers”, clicar no botão “Add” informar o nome do servidor de licença e clicar em “OK”. No nosso caso, informar o nome “cb-01”;
c.        Na área “Editing Settings” clique duas vezes na opção “RD Connection Broker” e clique no botão “Change Settings”
                                                               i.      Na tela “RD Connection Broker Settings” escolha a opção “Farm member” e informe os valores “cb-01.jsathler.spaces.live.com” e “rds-app” para os campos “RD Connection Broker server name” e “Farm Name” respectivamente, clique em “OK”;
1.       Todos os servidores que farão parte de uma mesma FARM precisam ter o campo “Farm Name” definidos com o mesmo nome;
                                                              ii.      Selecione a opção “Participate in Connection Broker Load-Balancing” para permitir o balanceamento de conexões “entrantes” nos servidores “RD Session Host”;
                                                            iii.      Por fim selecione a opção “Use IP address redirection (recommended)” e informe qual interface será utilizada para reconexão durante o balanceamento do “Connection Broker”;
1.       Caso utilize um balanceador de carga diferente do NLB ou DNS round robin, pode ser necessário selecionar a opção “Use token redirection” ao invés da opção “Use IP address redirection (recommended)”;
d.       Caso queira ativar atribuir um endereço IP por sessão, na área “Editing Settings” clique duas vezes na opção “IP Virtualization” e marque a opção “Enable IP virtualization”, caso contrário clique em “OK”;
                                                               i.      Defina a interface que será utilizada para obter o endereço IP (um DHCP server é necessário para esta funcionalidade);
                                                              ii.      Por fim defina como será a atribuição de IP, a cada nova sessão ou baseado em aplicações;
3.       Crie no DNS (dc-01) um registro A para cada servidor que execute o “RD Session Host” com o mesmo nome da farm. Por exemplo, caso existam 3 servidores “RD Session Host” com os ip’s 192.168.1.2, 192.168.1.3 e 192.168.1.4 e o nome da farm seja “rds-app”, basta criar 3 entradas no DNS com o nome “rds-app”, um para cada ip. Lembre de ativar o recurso de round-robin no DNS. Uma alternativa ao round-robin é o uso do o NLB nos servidores “RD Session Host”;
Publicando as aplicações
4.       Clique no menu “Start/Run” e abra o mmc.exe;
a.        No menu “File”, escolha a opção “Add/Remove Snap in”;
b.       Clique em “Certificates” e clique em “Add”, em seguida clique em “Computer Account”, clique em “Next”, selecione a opção “Local computer” e finalmente em “Finish”, em seguida clique em “OK”;
c.        Expanda “Certificates (Local Computer)/Personal/Certificates” e clique com o botao direito e selecione “All Tasks/Import...”;
d.       Na tela “Welcome to the certificate import wizard” clique em “Next”;
e.       Na tela “File to import” informe o caminho/nome do certificado e clique em “Next”. Importar o certificado criado para o DNS “rds-app.jsathler.spaces.live.com”;
f.         Na tela “Password” informe a senha para o certificado e clique em “Next”;
g.        Na tela “Certificate Store” clique em “Next”;
h.       Na tela “Completing the certificate import wizard”, clique em “Finish”;
5.       Abra o mmc “Remoteapp Manager” disponivel em “Start/Administrative Tools/Remote Desktop;
i.         No painel “Actions” a direita, clique em “RD Session Host Server Settings” e informe o nome DNS do IP virtual (o nome da farm) no campo “Server Name”. No nosso caso informe o nome “rds-app.jsathler.spaces.live.com”. Clique em “OK”;
j.         Na guia “Digital Signature Settings”, marque a opção “Sign with a digital certificate”, clique no botão “Change” e selecione o certificado importado no passo 01. Clique em “OK”;
                                                               i.      O mesmo certificado deve ser utilizado para todos os servidores “RD Session Host” na FARM;
k.        Na guia “RD Gateway”:
                                                               i.      Selecione a opção “Use these RD Gateway Server Settings” e no campo nome informe o nome de acesso ao “RD Gateway” (nome externo, para permitir conexão a partir da internet), neste caso utilize “gw-01.jsathler.spaces.live.com”;
                                                              ii.      Selecione o método de logon “Ask for password (NTLM)” e marque as opções “Use the same user credentials for RD Gateway and RD Session Host server” e “Bypass RD Gateway server for local addresses”;
b.       Na guia “Custom RDP Settings” digite o texto “authentication level:i:0” (sem aspas) e clique “OK” para finalizar;
                                                               i.      Desta forma iremos evitar possiveis mensagens de erro relacionadas a certificados digitais;
l.         No painel “Actions” a direita, clique em “Add RemoteApp Programs” para iniciar o assistente de publicação;
                                                              ii.      Na tela “Welcome to the RemoteApp Wizard” clique em “Next”;
                                                            iii.      Selecione a aplicação a ser publicada ou clique em “Browse” para localizar uma e clique em “Next”;
                                                            iv.      Na tela “Review Settings” valide as informações e clique em “Finish” para terminar;
m.      Para manter todos os servidores “RD Session Host” com as mesmas listas de aplicações publicadas, após configurar todas as aplicações em um “RD Session Host”, basta exportar as configurações através da opção “Export RemoteApp Settings” e importar nos demais servidores através da opção “Import RemoteApp Settings”;
n.       Caso queira limitar o acesso a uma aplicação a um determinado grupo de usuários, basta obter as propriedades da aplicação, na guia “User Assignment” escolher a opção “Specified domain users and domain groups” e finalmente adicionar o grupo;
o.       É possivel gerar um arquivo .rdp ou .msi para ser utilizado/instalado pelos usuários, sem a necessidade de utilizar o RD Web Access, caso queira basta clicar nas opções “Create .rdp file” ou “Create Windows Installer Package”;
O virtual IP
Os usuários de uma empresa acessam uma aplicação WEB através do serviço de terminal e esta aplicação é balanceada através do NLB com afinidade de IP habilitada. Existem cerca de 8 servidores RDSH e 3 de aplicação.
Após algumas conexões voce percebe que a carga não é devidamente distribuida entre os servidores de aplicação. Porque isso acontece?
Isso acontece porque como o NLB esta (por padrão) definido para manter afinidade de endereços IP, todos os usuários de um mesmo servidor de terminal é direcionado para um mesmo servidor de aplicação.
Ativando o recurso de virtual IP, cada usuário terá um IP para “apresentar” ao NLB, fazendo com que o balanceamento seja feito pelo IP virtual do usuário e não pelo IP do servidor que executa o “RD Session Host”.
Como evitar que um usuário faça uso de toda a cpu e memória disponiveis?
No Windows Server 2003 Enterprise a Microsoft disponibilizou uma ferramenta que evitava que um único usuário utilizasse toda cpu/memória do servidor de Terminal Service. No Windows Server 2008 R2, esta ferramenta passou a ser uma “feature” e não requer mais a versão Enterprise do Windows..
Estamos falando do “Windows System Resource Manager”. Para maiores informações sobre a configuração deste recurso, consulte a documentação do Windows.
Facilitando o gerenciamento dos papeis
Uma forma de manter vários hosts com as mesmas configurações é através de GPO. No Windows Server 2008 R2 existem vários templates para cada um dos papeis do RDS.
Configurando o Web Access
A configuração do RD Web Access é bem simples e se resume a configurar o certificado a ser utilizado no SSL e o servidor  “RD Connection Broker” que será utilizado para obter a lista de aplicações disponiveis no ambiente.
A partir do host gw-01:
1.       Clique no menu “Start/Run” e abra o mmc.exe;
a.        No menu “File”, escolha a opção “Add/Remove Snap in”;
b.       Clique em “Certificates” e clique em “Add”, em seguida clique em “Computer Account”, clique em “Next”, selecione a opção “Local computer” e finalmente em “Finish”, em seguida clique em “OK”;
c.        Expanda “Certificates (Local Computer)/Personal/Certificates” e clique com o botao direito e selecione “All Tasks/Import...”;
d.       Na tela “Welcome to the certificate import wizard” clique em “Next”;
e.       Na tela “File to import” informe o caminho/nome do certificado e clique em “Next”. Importar o certificado criado para o DNS “gw-01.jsathler.spaces.live.com”;
f.         Na tela “Password” informe a senha para o certificado e clique em “Next”;
g.        Na tela “Certificate Store” clique em “Next”;
h.       Na tela “Completing the certificate import wizard”, clique em “Finish”;
2.       Abra o mmc “Internet Information Services (IIS) Manager” disponivel em “Start/Administrative Tools”:
a.        Expanda “cb-01/Sites/Default Web Site” e no painel “Actions”, clique em “Bindings”;
b.       Clique em “https”, em seguida no botão “Edit”;
c.        Em “SSL Certificate”, selecione o certificado importado no passo 01 e clique em “OK”;
3.       Abra a url https://gw-01.jsathler.spaces.live.com/RDWeb/Pages/en-US/config.aspx, escolha a opção “An RD Connection Broker server” e informe o nome do servidor que mantem o papel “RD Connection Broker”. No nosso caso basta informar o nome “cb-01.jsathler.spaces.live.com”;
a.        Verifique através do link https://gw-01.jsathler.spaces.live.com/RDWeb/Pages/en-US/default.aspx que as aplicações publicadas ja aparecem na lista;
Configurando o Gateway
4.       Abra o mmc “Remote Desktop Gateway Manager” disponivel em “Start/Administrative Tools/Remote Desktop Services”;
a.        Clicar com o botão direito em “gw-01 (local)” e selecione a opção “Properties”;
                                                               i.      Na guia “General” informe o número máximo de conexões que voce deseja suportar através deste servidor;
                                                              ii.      Na guia “SSL Certificate”, clique no botão “Import Certificate”, selecione o certificado criado no passo 01 do tópico “Configurando o Web Access” e clique em “Import”;
                                                            iii.      Na guia “RD Cap Store” selecione a opção “Central server running NPS”, em seguida informe o nome do servidor que será o NPS do ambiente e finalmente a senha criada durante a configuração do NAP Server. No nosso caso iremos utilizar o host cb-01.jsathler.spaces.live.com. Clique em “OK”;
b.       No menu “Policies/Resource Authorization Policies” clique com o botão direito e selecione a opção “Create new policy/Wizard”;
                                                               i.      Na tela “Create Authorization Policies for RD Gateway” clique em “Next”;
                                                              ii.      Informe o nome para a politica e clique em “Next”;
                                                            iii.      Na tela “Select User Groups”, informe o grupo que poderá acessar o ambiente RDS através deste RD Gateway e clique em “Next”;
1.       Através das politicas de autorização de acesso é possivel definir os usuários que poderão ter acesso apenas dentro da rede daqueles que precisam de acesso externamente;
                                                            iv.      Na tela “Select Network Resources” selecione a opção que se aplica ao seu ambiente e clique em “Next”. Para este laboratorio iremos utilizar a opção “Allow user to connect to any network resource (computer)”;
1.        O ideal é criar um Grupo dentro do AD e inserir os computadores que podem ser acessados pelos usuários clientes deste RD Gateway;
                                                              v.      Na tela “Select Allowed TCP Ports” selecione a opção “Allow connections only through TCP port 3389” e clique em “Next”;
                                                            vi.      Na tela “RD RAP Settings Summary” verifique se as informações estão corretas e clique em “Finish”;
Testando o acesso ao ambiente
A partir do host cl-01:
1.       Clique no menu “Start/Run” e abra o mmc.exe;
a.        No menu “File”, escolha a opção “Add/Remove Snap in”;
b.       Clique em “Certificates” e clique em “Add”, em seguida clique em “Computer Account”, clique em “Next”, selecione a opção “Local computer” e finalmente em “Finish”, em seguida clique em “OK”;
c.        Expanda “Certificates (Local Computer)/Personal/Certificates” e clique com o botao direito e selecione “All Tasks/Import...”;
d.       Na tela “Welcome to the certificate import wizard” clique em “Next”;
e.       Na tela “File to import” informe o caminho/nome do certificado e clique em “Next”. Importar o certificado “certnew.cer” salvo durante o passo 06 do tópico “Solicitando os certificados digitais”;
f.         Na tela “Certificate Store”, selecione a opção “Place all certificates in the following store”, clique em “Browse”
                                                               i.      Marque a opção “Show Physical Stores”;
                                                              ii.      Selecione a pasta "Trusted Root Certification Authorities/Local Stores" e clique em “OK”, em seguida clique em “Next”;
g.        Na tela “Security Warning” clique em “Yes”;
h.       Na tela “Completing the certificate import wizard”, clique em “Finish”;
2.       Abra o site https://gw-01.jsathler.spaces.live.com/RDWeb, informe um usuário/senha e clique em alguma aplicação que tenha sido publicada;
a.        Veja que será necessária a execução de um add-on, basta autorizar a execução do mesmo;
b.       Na primeira conexão clique na caixa “Don't ask me again for remote connections from this publisher”, para evitar que esta mensagem seja mostrada nas próximas conexões;
c.        Perceba que nenhuma outra tela de login é solicitada, comprovando o perfeito funcionamento do “Single Sign On”;
Mantendo o ambiente com alta disponibilidade
Veremos agora o que é necessário para tornar o ambiente altamente disponivel, ou seja em caso de falha de algum componente da infra-estrutura do RDS, como garantir que o acesso não será comprometido.
RD Licensing Server
Não existe uma forma de tornar este papel altamente disponivel. Como contorno poderiam ser ativados dois servidores de licença e as licenças serem divididas entre eles;
RD Connection Broker
Para poder manter este papel em uma estrutura de alta disponibilidade, é necessária a utilização do serviço de cluster (Failover Cluster);
RD Session Host
Basta instalar vários servidores RD Session Host na mesma farm e configurar o DNS round-robin ou NLB para acesso aos servidores. Neste caso o round-robin ou NLB seriam utilizados apenas na conexão inicial uma vez que o Connection Broker irá analisar o servidor com menor número de conexões e encaminhar a solitação a ele;
RD Web Access
Basta instalar vários servidores “RD Web Access” e configurar o DNS round-robin, NLB ou outro balanceador de cargas;
RD Gateway
Basta instalar vários servidores “RD Gateway” e configurar o DNS round-robin, NLB ou outro balanceador de cargas. O único detalhe é em relação aos “Resource Access Policy”, pois diferentemente dos “Connection Access Policy” não podem ser gerenciados centralmente (no caso do CAP utilizamos o NPS para centralizar as politicas).
Para contornar o problema, basta modificar a chave no registro (hklm\software\microsoft\windows nt\currentversion\terminalservergateway\config\core\rapstore) e configura-la de forma a apontar para um compartilhamento na rede. Cuidado durante a definição das permissões NTFS/Compartilhamento, pois a conta dos hosts que executam o “RD Gateway” precisam de acesso de escrita.

É isso ai pessoal, ate a próxima.


Juliano Sathler com mais de 8 anos de experiência na área de TI. Trabalha atualmente com suporte/projetos de Exchange Server e Active Directory em uma multinacional no interior de SP. Possui atualmente as certificações MCSA/MCSE +M +S em Windows 2000 e 2003, MCTS/MCITP em Exchange 2007 e MCT.

**Este artigo foi escrito por um membro da comunidade técnica, a Microsoft não oferece quaisquer garantias sobre o conteúdo aqui descrito.


Escrito Por: vinakano
Data de Envio: 6/3/2010
Número de Acessos: 11348

Retornar