Introduction
Este documento fornece respostas para algumas perguntas frequentes sobre o plug-in do Protocolo de Área de Trabalho Remota (RDP - Remote Desktop Protocol), disponível para usuários do Cisco Adaptive Security Appliance (ASA - Adaptive Security Appliance) Clientless Secure Sockets Layer VPN (SSLVPN - Client Sockets Layer VPN).
O plug-in RDP é apenas um dos plug-ins disponíveis para os usuários, juntamente com outros como Secure Shell (SSH), Virtual Network Computing (VNC) e Citrix. O plug-in RDP é um dos plug-ins mais usados nesta coleção. Este documento fornece mais detalhes sobre os procedimentos de implantação e solução de problemas para este plug-in.
Note: Este documento não fornece informações sobre como configurar o plug-in RDP. Para obter informações adicionais, consulte o Guia de implantação de VPN SSL do Cisco ASA 5500, versão 8.x.
Informações de Apoio
O plug-in RDP evoluiu de um plug-in RDP baseado em Java puro, para incluir o Cliente RDP AtiveX (Internet Explorer), assim como o Cliente Java (navegadores que não utilizam Internet Explorer).
Plug-in Java
O cliente RDP Java utiliza o miniaplicativo Java RDP correto. Em seguida, o miniaplicativo Java é envolto em um plug-in que permite a instalação dentro do portal ASA sem cliente.
Plug-in Ative-X
O plug-in RDP também inclui o cliente Microsoft AtiveX RDP, e o plug-in determina se deve ser usado o cliente Java ou AtiveX com base no navegador. Ou seja:
- Se os usuários do Internet Explorer (IE) tentarem usar o RDP através de um Portal SSLVPN sem cliente e a URL do indicador não contiver o argumento ForceJava=true, o Cliente AtiveX será usado. Se o AtiveX não for executado, o plug-in iniciará o cliente Java.
- Se usuários que não sejam do IE tentarem iniciar um marcador RDP ou URL, somente o cliente Java será iniciado.
Para obter mais informações sobre os requisitos para privilégios de RDP AtiveX e de usuário, consulte o artigo Requisitos da Microsoft para Conexão da Web de Área de Trabalho Remota.
A próxima imagem ilustra os três links que podem ser selecionados na janela do navegador após o início do plug-in:
- Nova página do portal - Este link abre a página do portal em uma nova janela do navegador.
- Full-Screen (Tela cheia) - usa a janela RDP no modo de tela cheia.
- Reconectar com Java - Isso força o plug-in a reconectar e usar Java em vez de AtiveX.
Plug-in RDP
Uso do plug-in RDP e RDP-2
- Plug-in RDP: este é o plug-in original criado que contém os clientes Java e AtiveX.
- Plug-in RDP2: Devido a alterações no protocolo RDP, o Cliente RDP Java Adequado foi atualizado para suportar os Servidores de Terminal do Microsoft Windows 2003 e os Servidores de Terminal do Windows Vista.
Tip: O plug-in RDP mais recente combina protocolos RDP e RDP2. Como resultado, o plug-in RDP2 está obsoleto. É recomendável utilizar a versão mais recente do plug-in RDP. As nomenclaturas de plug-in do RDP seguem esta estrutura: rdp-plugin.yymmdd.jar, onde yy é um formato de ano de dois dígitos, mm é um formato de mês de dois dígitos, e dd é um formato de dia de dois dígitos.
Para fazer o download do plug-in, visite a página de download de software da Cisco.
Posicionamento do cliente AtiveX versus Java
RDP-AtiveX
- Usa somente IE
- Fornece suporte para som encaminhado
RDP-Java
- Funciona em todos os navegadores compatíveis com Java.
- O Java Client é iniciado no IE somente se o AtiveX falhar ao iniciar ou o argumento ForceJava=true passa no marcador RDP.
- A implementação RDP-Java baseia-se no projeto Java RDP correto, uma iniciativa de código aberto; é fornecido suporte de melhor esforço para o aplicativo.
Formato de marcador RDP
Aqui está um exemplo de formato de um marcador RDP:
rdp://server:port/?Parameter1=value&Parameter2=value&Parameter3=value
Aqui estão algumas notas importantes sobre o formato:
- server - Este é o único atributo necessário. Digite o nome do computador que hospeda os Serviços de Terminal da Microsoft.
- port (opcional) - Este é o endereço virtual no computador remoto que hospeda os Serviços de Terminal da Microsoft. O valor padrão, 3389, corresponde ao número de porta bem conhecido dos Serviços de Terminal da Microsoft.
- parameters - Esta é uma string de consulta opcional que consiste em pares parâmetro-valor. Um ponto de interrogação marca o início da string do argumento, e cada par parâmetro-valor é separado por um e-mail.
Esta é uma lista de parâmetros disponíveis:
- geometria - Este é o tamanho da tela do cliente em pixels (W x H).
- bpp - Este é o bit por pixel (profundidade da cor), 8|16|24|32.
- domain - Este é o domínio de login.
- username - (nome de usuário) É o nome de usuário para login.
- password - Esta é a senha de login. Use a senha com cuidado, pois ela é usada no lado do cliente e pode ser observada.
- console - usado para se conectar à sessão do console no servidor (sim/não).
- ForceJava - Defina esse parâmetro como yes para usar somente o Java Client. A configuração padrão é não.
- shell - Defina este parâmetro para o caminho do executável/aplicativo que é iniciado automaticamente quando você se conecta ao RDP (rdp://server/?shell=path, por exemplo).
Aqui está uma lista de parâmetros adicionais somente AtiveX:
- RedirectDrives - Defina esse parâmetro como verdadeiro para mapear unidades remotas localmente.
- RedirectPrinters - Defina esse parâmetro como verdadeiro para mapear impressoras remotas localmente.
- FullScreen - Defina este parâmetro como verdadeiro para iniciar no modo FullScreen.
- ForceJava - Defina esse parâmetro como yes (sim) para forçar o Java Client.
- audio - Este parâmetro é usado para o encaminhamento de áudio na sessão RDP:
- 0 - Redireciona sons remotos para o computador cliente.
- 1 - Reproduz sons no computador remoto.
- 2 - Desativa o redirecionamento do som; não reproduz sons no servidor remoto.
Plug-in RDP e balanceamento de carga de VPN
O balanceamento de carga em várias regiões é suportado com o uso do balanceamento de carga global do servidor baseado em Domain Name Server (DNS). Devido às diferenças de cache dos resultados de DNS, os plug-ins podem operar de forma diferente em vários sistemas operacionais. O cache DNS do Windows permite que o plug-in resolva o mesmo endereço IP quando ele inicia o miniaplicativo Java. No Macintosh (MAC) OS X, é possível que o miniaplicativo Java resolva um endereço IP diferente. Como resultado, o plug-in não é iniciado corretamente.
Um exemplo de rodízio de DNS é quando você tem um único URL (https://www.example.com) em que a entrada de DNS para www.example.com pode resolver 192.0.2.10 (ASA1) ou 198.51.100.50 (ASA2).
Depois que o usuário faz login no portal Clientless-WebVPN através de um navegador no ASA1, a inicialização do plug-in RDP é possível. Durante o início do cliente Java, os computadores MAC OS X executam uma nova solicitação de resolução de DNS. Com uma configuração DNS de rodízio, há uma chance de 50% desta segunda resposta de resolução retornar o mesmo site que foi escolhido para a conexão WebVPN inicial. Se a resposta do servidor DNS for 198.51.100.50 (ASA2) em vez de 192.0.2.10 (ASA1), o cliente Java iniciará uma conexão com o ASA (ASA2) errado. Como a sessão do usuário não existe no ASA2, a solicitação de conexão é rejeitada.
Isso pode resultar em mensagens de erro Java semelhantes a esta:
java.lang.ClassFormatError: Incompatible magic value 1008813135 in
class file net/propero/rdp/applet/RdpApplet
Perguntas freqüentes
Por que alguns caracteres digitados não aparecem na sessão RDP remota?
O computador remoto na sessão RDP pode ter uma configuração de região do teclado diferente do computador local. Devido a essa diferença, o computador remoto pode não exibir determinados caracteres digitados ou caracteres incorretos. Esse comportamento é observado somente com o plug-in Java. Para resolver esse problema, use o atributo keymap para mapear o keymap local no PC remoto.
Por exemplo, para definir um mapeamento de teclado alemão, use:
rdp://
/?keymap=de
The following keymaps are available:
---------------------------------------------------------------------
ar de en-us fi fr-be it lt mk pl pt-br sl tk
da en-gb es fr hr ja lv no pt ru sv tr
---------------------------------------------------------------------
Problemas conhecidos com mapeamentos de teclado
- ID de bug da Cisco CSCth38454 - Implementar keymap húngaro para plug-in RDP.
- ID de bug Cisco CSCsu77600 - As chaves da janela do plug-in WebVPN RDP estão incorretas. Shift (tecla) .jar.
- ID de bug Cisco CSCtt04614 - WebVPN - diacríticos de teclado ES gerenciados incorretamente pelo plug-in RDP.
- ID de bug Cisco CSCtb07767 - ASA Plugin - Configurar parâmetros padrão.
Tip: Outra solução possível é usar um Application Smart Tunnel para mstsc.exe. Isso é configurado no modo de subconfiguração WebVPN com este comando: Smart-tunnel list RDP_List RDP mstsc.exe platform windows.
O plug-in Java RDP pode suportar sessões de RDP de tela inteira?
Atualmente, não há suporte nativo para sessões RDP de tela inteira. A solicitação de aprimoramento CSCto87451 foi arquivada para implementar isso. Se o parâmetro geometria (geometria =1024x768, por exemplo) estiver definido para a resolução do monitor do usuário, ele opera no modo de tela cheia. Como os tamanhos de tela do usuário variam, pode ser necessário criar vários links de marcadores. O cliente AtiveX suporta nativamente sessões RDP de tela inteira.
O cliente Java pode se comunicar com o uso do AES-256 para criptografia?
Para permitir que o cliente Java negocie o SSL corretamente, ajuste a ordem do conjunto de cifras SSL do ASA para corresponder a isso:
Enabled cipher order: aes256-sha1 rc4-sha1 aes128-sha1 3des-sha1
Disabled ciphers: des-sha1 rc4-md5 null-sha1
O cliente Java pode exibir esse erro se o pedido de cifra definida for diferente:
[Thread-12] INFO net.propero.rdp.Rdp - javax.net.ssl.SSLHandshakeException:
Received fatal alert: handshake_failure
Solucionar problemas de RDP
Se você tiver outros problemas com o plug-in RDP, talvez seja útil coletar esses dados para solucionar problemas de RDP:
- A saída show tech do ASA
- A saída detalhada do plug-in show import webvpn do ASA
- O sistema operacional do computador do usuário e o nível de patch
- O sistema operacional do computador de destino e o nível de patch
- O cliente usado (AtiveX ou Java) e a versão JRE do Java
- Determine se o ASA está em um cluster de balanceamento de carga, baseado em DNS ou baseado em ASA
Caveats conhecidos
Problemas da Atualização de Segurança da Microsoft
- KB2695962 - Aviso de segurança da Microsoft: Acúmulo de atualização para bits de morte AtiveX: 8 de Maio de 2012.
- KB2675157 - MS12-023: Atualização de segurança cumulativa para o Internet Explorer: 10 de abril de 2012.
- cisco-sa-20120314-asaclient - Vulnerabilidade de Execução de Código Remoto do Cisco ASA 5500 Series Adaptive Security Appliance VPN sem cliente AtiveX Control 14 de março.
- ID de bug Cisco CSCtx68075 - ASA WebVPN quebrando quando o Windows Patch KB2585542 é aplicado (8.2.5.29 / 8.4.3.9).
- KB2585542 - MS12-006: Descrição da atualização de segurança para Webio, Winhttp e schannel no Windows: 10 de janeiro de 2012.
Cliente AtiveX
- Sintomas: O cliente AtiveX falha ao carregar do IE versões 6 a 9 após uma atualização para o ASA OS versão 8.4.3.
- Consulte o bug da Cisco ID CSCtx58556. A correção está disponível para as versões 8.4.3.4 e posterior.
- Solução: Forçar o uso do Java Client.
- Sintomas: O cliente AtiveX não é carregado depois que a versão do SO ASA é baixada para uma versão anterior à 8.4.3. Isso afeta os usuários que usaram o cliente AtiveX em um ASA com a correção do bug da Cisco ID CSCtx58556 e conectam-se a esse ASA com uma versão anterior à 8.4.3. Isso se deve a um novo plug-in AtiveX RDP introduzido no ASA versão 8.4.3, que não é compatível com as versões anteriores.
- Sintomas: As conexões RDP com dispositivos com autenticação de nível de rede (NLA) habilitada falharam.
- Consulte o bug da Cisco ID CSCtu63661 para obter a melhoria que solicita que NLA seja incorporado no plug-in AtiveX RDP.
- Embora o Microsoft AtiveX Client suporte NLA, o uso desse recurso no plug-in do ASA não é suportado.
- Solução alternativa: Configure o plug-in RDP (mstsc.exe) para ser encapsulado de forma inteligente. Consulte o Guia de implantação de VPN SSL do Cisco ASA 5500, versão 8.x .
- Sintomas: O AtiveX RDP não foi carregado e mostra uma página em branco.
- Consulte o bug da Cisco ID CSCsx49794.
- Isso ocorre quando a cadeia de certificados para o certificado SSL ASA é maior que quatro certificados (ROOT, SUBCA1, SUBCA2 e ASA CERT, por exemplo).
- Solução:
- Não instale a cadeia de certificados grande no ASA.
- Sabe-se que o plug-in Java RDP funciona corretamente, ao contrário do plug-in AtiveX.
- O RDP também funciona corretamente quando você configura o Windows nativo mstsc.exe com túneis inteligentes.
- Sintomas: Depois que o Cliente RDP AtiveX for usado, um usuário clica no botão Logout e recebe um erro HTTP 404 - Page Not found (Página não encontrada). Consulte o bug da Cisco ID CSCtz33266. Esse problema foi resolvido com a versão plug-in rdp-plugin.120424.jar ou posterior.
- Sintomas: Um usuário tem duas guias abertas no IE - uma para a sessão RDP e outra para uma página da Web em branco ou outra. O IE não funciona corretamente depois que a guia RDP é fechada.
- Consulte o bug da Cisco ID CSCua69129.
- Solução: Use o plug-in Java RDP (Set ForceJava=true).
- Sintomas: O plug-in AtiveX causa alto uso da CPU com IE. Consulte o bug da Cisco ID CSCua16597.
- Sintomas: Após a instalação da atualização do Windows KB2695962, o plug-in AtiveX RDP não é carregado. Quando uma nova sessão RDP é aberta, o cliente AtiveX tenta instalar o Cisco SSL VPN Port Forwarder (isso nem sempre acontece) e retorna à página do portal sem cliente sem se conectar ao computador remoto. Isso se deve à vulnerabilidade CVE-2012-0358, que é resolvida no lado do cliente pelo Microsoft Security Advisory (2695962).
Cliente Java
Observação: a Cisco redistribui plug-ins sem alterações. Devido à Licença Pública Geral GNU, a Cisco não altera ou estende o aplicativo de plug-in. O plug-in JavaRDP apropriado é um aplicativo de código aberto e todos os problemas com o software plug-in devem ser resolvidos pelo proprietário do projeto.
- Sintomas: Os aplicativos de uso intenso do processador são executados no computador remoto quando acessados por meio do cliente RDP Java e ocorre um travamento de miniaplicativo Java.
- Esta mensagem de erro pode ser exibida: FATAL net.properties.rdp - javax.net.ssl.SSLException: A conexão foi desligada: .....
- O comportamento é acionado ao alternar rapidamente entre dois ou mais aplicativos que exigem muito da CPU.
- Esse problema é corrigido nas versões plug-in rdp.2012.6.4.jar e posteriores.
- Solução:
- Conecte-se com o uso do cliente AtiveX.
- Não alterne rapidamente entre aplicativos.
- Sintomas: O cliente RDP Java gera esta mensagem de erro: net.properties.rdp.Rdp - java.net.SocketException: O soquete está fechado java.net.SocketException: O soquete está fechado e depois fecha.
- O problema é causado por um grupo de túneis que tem uma url de grupo configurada somente com o FQDN (http://www.example.com, por exemplo).
- Consulte o bug da Cisco ID CSCuh72888.
- Solução:
- Remova a entrada group-URL sem "/" no grupo de túneis.
- Usar o Cliente AtiveX.
- Sintomas: O cliente RDP Java falha quando está conectado a um computador Windows 8.
- O cliente RDP Java não tem suporte para isso no momento.
- Consulte o bug da Cisco ID CSCuc79990
- Solução:
- Usar o cliente RDP AtiveX.
- Túnel inteligente o cliente RDP nativo do Windows (mstsc.exe).
- Sintomas: O cliente RDP do Java falha com esta mensagem de erro: ARSigningException: Foi encontrada uma entrada não assinada no recurso: https://10.105.130.91/+CSCO+3a75676763663A2F2F2E637968747661662E++/vnc/VncViewer.jar.
- Esse problema é causado por um bug no redator Java do ASA webVPN.
- Consulte o bug da Cisco ID CSCuj88114.
- Solução: Faça o download para a versão 7u40 do Java.