Acesso remoto a
computadores
2
Grupo
•
•
•
•
André B. Oliveira
César H. Kallas
Marcelo G. Hyppolito
Rafael B. Curi
RA: 01071489
RA: 02099224
RA: 01035690
RA: 02135473
Pontifícia Universidade Católica de Campinas
Tópicos em Engenharia de Computação B
Prof. Eduardo N. Zagari
Acesso remoto a computadores
3
Tópicos
•
•
•
•
•
•
•
•
Introdução
Sistema de Janelas X - X Window
SSH
NX
VNC
Comparação
Demonstração
Conclusão
Acesso remoto a computadores
4
Introdução
• O mundo está ligado em rede
• Estudo das tecnologias de acesso
remoto a computadores
• O objetivo é prover um ambiente de
trabalho remoto e distribuído
Acesso remoto a computadores
5
Introdução
Figura 1 - Modelo de acesso remoto
Acesso remoto a computadores
6
X Window System
• Sistema de janelas e um protocolo
que provê acesso a interfaces
gráficas
• Surgiu em 1984 no MIT, atualmente
implementado pela X.org
• http://www.x.org
Acesso remoto a computadores
7
X Window System
• Plataforma POSIX (Unix, Linux, etc)
• Possui um framework para desenhar
e mover janelas na tela, interagindo
periféricos de entrada
• Projeto complexo
Acesso remoto a computadores
8
X Window System
• Arquitetura cliente e servidor
• Comunicação através de pacotes
• O servidor aceita pedidos para
desenhar janelas gráficas e de
entrada via teclado, mouse, etc
Acesso remoto a computadores
9
X Window System
• Arquitetura
• O servidor X provê
um leque de
serviços básicos
para o cliente
Acesso remoto a computadores
10
X Window System
• Comunicação do
servidor com o
cliente
• Event: O servidor envia
um evento para o
cliente, como a entrada
de um teclado,
movimento de uma
janela, etc.
Acesso remoto a computadores
11
X Window System
• Janelas
• São criadas a partir de uma janela
inicial (root)
Acesso remoto a computadores
12
X Window System
• Identificadores
• Dados armazenados no servidor
sobre as janelas
• São únicos
Acesso remoto a computadores
13
X Window System
• Atributos: tamanho, cor, posição,
fundo (declarados pelo protocolo do
X)
• Propridades: valores criados pelas
aplicações clientes (não declarados
pelo protocolo)
Acesso remoto a computadores
14
X Window System
• Eventos: são pacotes enviados pelo
servidor para o cliente para
comunicar que alguma coisa
ocorreu
• Exemplo: usuário seleciona texto no
cliente
Acesso remoto a computadores
15
X Window System
• Gerenciadores de Janelas
• Controla a aparência das janelas /
elementos gráficos
• Provê uma interface amigável
• Exemplo: KDE, Gnome
Acesso remoto a computadores
16
X Window System
• Recursos
• Comunicação transparente do
cliente com servidor
• Podem funcionar na mesma
máquina ou em máquinas
diferentes
Acesso remoto a computadores
17
X Window System
• Recursos
• Podem funcionar através de uma
conexão segura (criptograda)
• Várias instâncias podem coexistir
na mesma máquina
Acesso remoto a computadores
18
X Window System
ftp://ftp-acd.puc-campinas.edu.br/pub/professores/ceatec/zagari/EE/SD
• Sistema distribuído
Acesso remoto a computadores
19
X Window System
• Arquitetura escalável
• Comunicação via rede
From Computer Desktop Encyclopedia
Acesso remoto a computadores
20
SSH – Secure Shell
• Criado pela empresa SSH
Communications Security em 1995,
com implementação livre
(OpenSSH)
• Plataforma POSIX (Unix, Linux, etc)
• http://www.ssh.fi
Acesso remoto a computadores
21
SSH – Secure Shell
• Arquitetura cliente e servidor TCP/IP
• Autenticação segura
• Transferência segura de arquivos
• Encapsula outros protocolos
Acesso remoto a computadores
22
SSH – Secure Shell
• Acesso tipo terminal - via linha de comando
Acesso remoto a computadores
23
SSH – Secure Shell
• A troca de
mensagens é
criptografada
(supre o telnet)
• Chave pública e
privada
http://www.interpeak.com
Acesso remoto a computadores
24
Acesso remoto a computadores
25
SSH – Secure Shell
• Proteção contra IP spoofing (quando um
computador se finge de outro)
• Proteção contra DNS spoofing (ataque de
sobreposição de servidores DNS), usando chave
pública
• Troca de chaves usando algorítmo RSA
(atualizadas de tempo em tempo)
Acesso remoto a computadores
26
SSH – Secure Shell
• Encapsulamento
de outros
protocolos
http://sial.org/howto/openssh/forward/reverse-ssh-tunnel.png
Acesso remoto a computadores
27
NX
• Criado pela empresa NoMachine
• Plataforma POSIX (Unix, Linux, etc)
e Microsoft
• http://www.nomachine.com
Acesso remoto a computadores
28
NX
• Pequena camada de software que
provê serviços
• Comunica diretamente com o X e
com os protocolos RDP (Microsoft) e
RFB (VNC)
• Túnel de dados via SSH
Acesso remoto a computadores
29
NX
http://linuxdevices.com/files/misc/nx_system_architecture.gif
Acesso remoto a computadores
30
NX
• X precisa de uma banda larga e
baixa latência
• Melhor tecnologia de compressão
para o protocolo X (10:1 e 100:1)
• Adiciona sistema de proxy no
caminho
Acesso remoto a computadores
31
NX
• Sistema de cache: Proxy não
reenvia dados já enviados
• Controle de banda (Ex.
Screensaver com conexão de
56Kbps)
• Permite compartilhar arquivos,
impressoras e som
Acesso remoto a computadores
32
VNC - Virtual Network Computing
• Desenvolvido por membros do
Olivetti & Oracle Research Labs
(ORL)
• Multiplataforma
• http://www.realvnc.com
Acesso remoto a computadores
33
VNC - Virtual Network Computing
• Protocolo RFB
• Exige pouco do cliente
• Opera no nível do
framebuffer (independe
do SO)
Acesso remoto a computadores
34
VNC - Virtual Network Computing
• Opera no nível do framebuffer
(independe do Sist. Operacional)
Acesso remoto a computadores
35
VNC - Virtual Network Computing
• Arquitetura cliente e servidor
Acesso remoto a computadores
36
VNC - Virtual Network Computing
• Framebuffer: memória onde são
armazenados os quadros gerados
pelo sistema de vídeo
• RFB Server: responsável pela
troca de mensagens via TCP/IP
Acesso remoto a computadores
37
VNC - Virtual Network Computing
• RectangleEncoder: faz a leitura
dos dados do framebuffer e os
codifica
• DesktopControl: recebe as
mensagens do cliente referente à
entradas (eventos do mouse e
teclado) e as passo ao SO
Acesso remoto a computadores
38
VNC - Virtual Network Computing
• RFB Client: comunica com módulo
RFB Server e também ajusta
parâmetros da conexão
• RectangleDecoder: decodificar os
quadros recebidos do
RectangleEncoder e os repassa à
interface com o usuário.
Acesso remoto a computadores
39
Comparação
Software Segurança Compactação Portabilidade Uso de recursos
X Window
fraca
fraca
restrita*
alto
SSH
forte
forte
restrita*
baixo
NX
forte
forte
restrita*
médio
VNC
fraca
fraca
forte
baixo
* Restrito ao sistemas de padrão POSIX (Unix, Linux, etc)
Acesso remoto a computadores
40
Demonstração
•
•
•
•
•
•
X Window
SSH
SSH e X Window
NX
VNC
VNC com túnel via SSH
Acesso remoto a computadores
41
Conclusão
• Acesso remoto permite distribuir
recursos
• Tecnologias de fácil acesso
Acesso remoto a computadores
Download

Acesso remoto a computadores 3