Apresentação em slides feita para seminário final de "Transmissão II", ministrada pelo professor José Marcos Monteiro.
Rafael Requião é aluno do 4o. ano de Eletrônica (Integrado) do IFBA Campus Salvador.
2. O VNC – Virtual Network Computing
Sistema de compartilhamento gráfico de
área de trabalho que utiliza o protocolo RFB
para controlar remotamente outro
computador.
Transmite eventos de mouse e teclado de
um computador para outro, passando
atualizações da tela de volta, utilizando
uma rede.
3. Foi criado originalmente pelo Laboratório de Pesquisa Olivetti & Oracle
em Cambridge no Reino Unido.
As pessoas-chave do projeto VNC (antes Videotile) resolveram depois
fundar a “RealVNC Ltd.”.
O VNC – Virtual Network Computing
4. Ter uma conexão de banda-larga (512kb/s de UP ou DL
tá bom de mais)
Redirecionamento de portas ou VPN (ex: Hamachi,
PPTP - é mais fácil)
Regras de Firewall e NAT
O que é necessário para utilizar VNC
sobre a Internet?
7. Protocolo simples para acesso remoto a
interfaces gráficas. Descrito pela IETF
(Força Tarefa de Engenharia da Internet)
pelo documento RFC 6143.
Funciona a nivel do framebuffer!
O Protocolo RFB
9. Conexão feita utilizando porta TCP #5900 (e #5800,
caso use navegador de Internet);
O Protocolo RFB
Portas adicionais são necessárias de acordo com o número
de telas;
Truque: Servidor em Modo listen;
O RFB foi feito para ser expansível!
É possível adicionar funcionalidades como: transferências de
arquivo e área de transferência (copiar e colar) e técnicas de
compressão e segurança.
10. Pode operar por fluxo de bytes ou baseado em
mensagens.
3 estágios de conexão:
Handshake – concordar qual versão e tipo de segurança
utilizar na sessão;
Inicialização do cliente e servidor – ClientInit e ServerInit;
A última fase é a interação normal do protocolo – com os
pacotes de dados, precedidos por um cabeçalho
informando o tipo da mensagem e formato dos pixels.
Operação do RFB
11. Dar continuidade a compatibilidade entre clientes de
versões diferentes e desenvolvedores diferentes -
exemplos de problemas:
paletas de cores incompatíveis, compressão incompatível,
autenticação incompatível, mal-entendimento de símbolos
de teclado.
Problemas do RFB
12. É um protocolo proprietário. $$$
O RemoteDesktopProtocol da Micro$oft
Você já deve ter visto isso aqui:
13. O servidor escuta na porta TCP/UDP 3389.
O protocolo é uma extensão do ITU-T T.128 - protocolo de
compartilhamento de aplicação.
Existe desde o Windows NT 4.0.
O RDP da Micro$oft
Problema de compatibilidade entre versões mais novas.
14. Inclui melhorias sobre o VNC aberto, como:
compartilhamento de impressoras; autenticação Active Directory;
encriptação RC4 (128-bit); audio bi-direcional; aceleração de bitmap.
A versão mais nova (Windows 10) permite
redirecionar tráfego das portas USB e eventos de
tela de toque, além de melhorias na utilização da
largura de banda e compressão H.264/AVC. uau
Coisas legais do RDP
15. O protocolo VNC é baseado em pixels.
Isso permite mostrar qualquer área de trabalho, mas
é tão eficiente quanto as outras soluções com melhor
entendimento do layout gráfico como o X11 ou área
de trabalho (como o RDP).
Esses protocolos citados enviam formas primitivas ou
comandos de alto nível de uma forma mais simples
(exemplo: abrir janela).
Limitações do VNC
16. No VNC puro, a funcionalidade de área de
transferência - não é possível transferir caracteres
Unicode - exemplo: emojis.
Limitações do VNC
17. O RFB não é seguro.
Segurança
As senhas não são enviadas em texto puro, mas o crack
poderia ocorrer se a chave de encriptação e a senha
codificada fossem sniffadas da rede.
18. Dos clientes citados:
O UltraVNC oferece plugins de código aberto para
encriptar a sessão inteira – incluindo a senha e os dados;
O RealVNC oferece criptografia AES como um pacote
pago separado;
O TightVNC não transmite os dados de forma
criptografada. Um túnel pode ser usado para tal.
Segurança
19. VNC pode ser tunelado através de uma conexão SSH ou
VPN, adicionando uma camada extra de segurança com
encriptação forte.
Muitas plataformas são capazes de realizar tais túneis e
alguns clientes oferecem tunelamento instantâneo e
automático.
A checagem de versão pode ser utilizada para autorizar um
computador remoto antes de tomar controle de um
dispositivo.
Segurança