Universidade da Beira Interior
Departamento de Informática
Serviços de Acesso Remoto a
Sistemas e Ficheiros
Unidade Curricular
Administração de Sistemas
Cap. 3 - Sumário
ü
TELNET
ü
Remote Login (RLOGIN)
ü
Secure Shell (SSH)
ü
Remote Shell (rsh)
ü
File Transfer Protocol (FTP)
ü
Trivial FTP
ü
Remote Copy (rcp)
TELNET
•
Telnet - Telecommunications Network
Protocol
•
Descrito no RFC 854
•
Serviço normalizado de acesso remoto a
sistemas sobre redes TCP/IP
•
Serviço de funcionalidade reduzida,
simples de utilizar e omnipresente
TELNET
•
Suficientemente genérico para poder
funcionar com qualquer tipo de
computador
•
Implementado sobre outras arquitecturas
protocolares (SNA, DNA, etc.)
•
Modo de comunicação bidireccional e em
modo carácter-a-carácter, com eco
gerado pelo servidor. (Opcionalmente
pode funcionar em modo linha-a-linha)
TELNET
•
Usa o porto 23 do TPC
•
Funcionamento baseado no modelo
cliente-servidor
•
Faz o uso do conceito Network Virtual
Terminal (NTV).
TELNET - Cliente
•
Corre no sistema local
•
É lançado pelo utilizador cliente
•
Faz o acoplamento entre o
terminal-driver e uma ligação TCP
•
O utilizador dialoga com o
TELNET - Servidor
•
Reside no sistema remoto
•
É activado em background no
arranque da máquina (deamon)
•
Faz o acoplamento entre um pseudo
terminal-driver e uma ligação TCP
•
O pseudo terminal-driver dialoga com
TELNET – Cliente/Servidor
Terminal driver TCP/IP Cliente telnet Utilizador no terminal kernel Pseudo Terminal driver TCP/IP Servidor telnet kernel Ligação TCP Interpretador de comandos
• O pseudo terminal driver faz com que a “login
shell” pense que foi invocada no servidor, e que qualquer programa executado por ela pense
TELNET – Network Virtual Terminal
• Dispositivo imaginário que fornece, através da rede,
uma representação normalizada de um terminal canónico em modo de carácter (ASCII).
• O sistema local e o sistema remoto fazem o
mapeamento entre o NTV e os seus terminais “reais”. • O sistema local faz o mapeamento do terminal do
utilizador no NTV.
• O sistema remoto faz o mapeamento do NTV no tipo
de terminal que ele suporta.
• Elimina a necessidade de os sistemas remotos
serem informados das características do terminal local.
TELNET – Negociação de Opções
• Todos os NVTs suportam um conjunto
mínimo de capacidades.
• Alguns terminais possuem mais
capacidades do que o conjunto mínimo. • Os sistemas local e remoto negoceiam
um conjunto de opções mutuamente
aceitáveis (conjunto de caracteres, modo de eco, tamanho da janela).
TELNET
versus
telnet
•
TELNET é o protocolo.
•
telnet
é uma aplicação que suporta
o protocolo TELNET sobre TCP.
•
Existem outros protocolos da
camada de aplicação que utilizam o
TELNET.
Comando
telnet
• O comando telnet invoca o protocolo
TELNET. O formato deste comando é o seguinte:
Sintaxe: telnet [host]
Exemplo: telnet 192.168.1.1
telnet unix.ubi.pt
• Se o comando for executado sem opções
entra-se em modo de comando. Neste modo, podem executar-se diversos
subcomandos.
Cap. 3 - Sumário
ü
TELNET
ü
Remote Login (RLOGIN)
ü
Secure Shell (SSH)
ü
Remote Shell (rsh)
ü
File Transfer Protocol (FTP)
ü
Trivial FTP
ü
Remote Copy (rcp)
rlogin
• Descrito no RFC 1282.
• Serviço normalizado de acesso remoto
entre máquinas UNIX/LINUX sobre redes TCP/IP.
• Modo de comunicação bidireccional e em
modo carácter-a-carácter com eco gerado pelo sistema remoto.
• Mais simples e eficiente que o TELNET.
rlogin
• O rlogin usa o porto 513 do protocolo TCP.
• Possibilita login remoto sem necessidade
de especificar uma password.
• A autenticação do pedido de login remoto é
feita verificando os ficheiros /etc/
hosts.equiv e ~/.rhosts no sistema remoto. • Se o nome do sistema local não estiver em
algum destes ficheiros, o utilizador terá de introduzir a password.
rlogin
• A sintaxe do comando rlogin é:
rlogin [-l username] hostname
• A opção -l username é usada quando o
nome do utilizador no sistema remoto é diferente do nome no sistema local.
rlogin
• Exemplo do ficheiro hosts.equiv:
neve
diamante_gold joel + david
- maria
• Todos os utilizadores da máquina neve podem
utilizar o rlogin sem password.
• O utilizador joel a partir da máquina diamante_gold
não necessita de password no rlogin.
• O utilizador david pode utilizar o rlogin de
qualquer máquina sem password.
Cap. 3 - Sumário
ü
TELNET
ü
Remote Login (RLOGIN)
ü
Secure Shell (SSH)
ü
Remote Shell (rsh)
ü
File Transfer Protocol (FTP)
ü
Trivial FTP
Secure Shell - SSH
• É um programa que permite efectuar “login”
numa máquina remota, executar comandos e copiar ficheiros.
• Fornece autenticação forte e comunicações
seguras sobre redes inseguras.
• O telnet, rlogin e ftp efectuam toda a
comunicação em ASCII simples,
tornando-se muito vulneráveis em termos de segurança.
Secure Shell - SSH
• O SSH efectua a encriptação de toda a informação
(pode opcionalmente também efectuar a compressão da informação).
• É um produto comercial, tendo custos para
implementações comerciais.
• É grátis para outras utilizações.
• Foi desenvolvido na Finlândia (http://www.ssh.fi).
• Os protocolos SSH estão disponíveis em:
http://www.ietf.org/html.charters/secsh-charter.html
SSH – Versão 1
•
Usa encriptação RSA (Rivest, Shamir,
Adir), 3DES (Triple Data Encryption
Standard) e Blowfish
•
Algumas implementações também usam
IDEA (International Data Encryption
Algorithm), contudo o OpenSSL não a
utiliza.
•
Usa CRC (Cyclic redundancy checking)
SSH – Versão 2
•
Usa encriptação DSA (Digital Signature
Algorithm), melhor implementado na
versão comercial do SSH.
•
Usa uma abordagem diferente
relativamente ao CRC.
•
SSH1 and SSH2 não são compatíveis
SSH – Versão 3
• Apresenta funcionalidades de autenticação
melhoradas.
• Possui funcionalidades PKI (Public Key
Infrastructure) avançadas.
• Testado e certificado para actuar com CAs
(Certification Authorities) como o SSH Certifier e RSA Security Keon® PKI, de modo a integrar-se facilmente com os sistemas PKI actuais.
• Suporte adicional para OCSP (Online Certificate
Status Protocol) melhorando a segurança
efectuando verificações em tempo real da validade dos certificados.
SSH – Versão 3
• Suporte para Servidores Windows
• Funcionalidades PKI semelhantes às versões UNIX
• Grande segurança e funcionalidade, com melhoria
substancial do desempenho.
• Redução significativa da utilização da CPU em
transferências de ficheiros.
• Suporte para SFTP (Secure File Transfer Protocol)
com registo das acções dos utilizadores em ficheiros de log.
• Aceita Anonymous SFTP
Open SSH
• Implementação do protocolo SSH
• Freeware
• Suporta as versões SSH1, SSH2 e SSH3
• O OpenSSH está actualmente na
Versão 4.2
SSH - Comandos
• ssh – Programa cliente Telnet/rlogin.
• sshd – Programa Servidor (daemon) que
permite o acesso.
• ssh-agent – Agente de autenticação
para guardar chaves privadas.
• ssh-add – Ferramenta usada para
adicionar chaves ao agente.
• sftp – Programa tipo FTP que funciona
SSH - Comandos
• scp – (Secure file copy) Programa
semelhante ao rcp.
• ssh-keygen – Ferramenta para gerar
chaves.
• sftp-server – Servidor FTP que funciona
sobre SSH inicializado automaticamente por sshd.
• ssh-keyscan – Ferramenta usada para
aceder às chaves públicas existentes em servidores SSH.
Alguns clientes SSH
•
ssh
•
PuTTy
•
TeraTerm Pro with SSH extentions
•
SecureCRT
•
WinSCP (implementação do SCP
FTP Seguro
• O SSH através da aplicação sftp (secure FTP) permite transferir ficheiros de um
modo semelhante ao ftp através de um meio de comunicação encriptado (ssh). • Pode usar a autenticação de chave
pública e compressão.
• O sftp efectua a ligação a um servidor
passando depois a actuar em modo de comando interactivo semelhante ao ftp normal.
FTP Seguro
• Pode descarregar ficheiros
automaticamente se não for usado um
método de autenticação interactivo, caso contrário só o pode fazer depois da
autenticação.
• Pode ser inicializado a partir de uma
FTP Seguro
• Sintaxe:– sftp [[utilizador@]máquina[:ficheiro
[ficheiro]]]
– sftp [[utilizador@]máquina[:directoria[/]]]
• Opções:
– C envia dados comprimidos
Cap. 3 - Sumário
ü
TELNET
ü
Remote Login (RLOGIN)
ü
Secure Shell (SSH)
ü
Remote Shell (rsh)
ü
File Transfer Protocol (FTP)
ü
Trivial FTP
Remote Shell (rsh)
• Execução remota de comandos UNIX.
• Sintaxe abreviada:
rsh “maquina_remota” “comando_remoto”
• Autenticação: na directoria do utilizador, na
máquina remota, deve existir um
ficheiro .rhosts com a lista das máquinas autorizadas a executar comandos remotos.
Cap. 3 - Sumário
ü
TELNET
ü
Remote Login (RLOGIN)
ü
Secure Shell (SSH)
ü
Remote Shell (rsh)
ü
File Transfer Protocol (FTP)
ü
Trivial FTP
File Transfer Protocol (
ftp
)
• Definido nas RFCs 959, 2228 e 2640.
• Funciona no modelo cliente/servidor.
• Oferece os elementos básicos para
partilha de ficheiros entre máquinas (acesso e manipulação de ficheiros locais e remotos).
– Envio (upload) de ficheiros
– Recepção (download) de ficheiros
– Outras operações sobre o sistema de ficheiros.
File Transfer Protocol (
ftp
)
• Serviço normalizado de acesso remoto a
ficheiros sobre redes TCP/IP.
• É necessário uma conta no servidor ou o
servidor permitir FTP anónimo (anonymous FTP).
• Utiliza duas ligações TCP:
– Ligação de controlo - para a troca de
comandos e respostas;
File Transfer Protocol (
ftp
)
• O servidor fica escuta de pedidos no
porto 21 (ligação de controlo).
• A ligação de controlo é mantida até ao
fim da sessão.
• A ligação de dados é estabelecida
sempre que for necessário transferir um ficheiro.
Cap. 3 - Sumário
ü
TELNET
ü
Remote Login (RLOGIN)
ü
Secure Shell (SSH)
ü
Remote Shell (rsh)
ü
File Transfer Protocol (FTP)
ü
Trivial FTP
Trivial FTP
• Descrito nos RFCs 783 e 1350.
• Serviço normalizado de acesso remoto a
ficheiros sobre redes UDP/IP, pode
também funcionar sobre outros protocolos de transporte.
• Serviço com funcionalidades muito
reduzidas e de utilização simples.
• Simples, fácil de implementar e pode
Trivial FTP
• Sem segurança.
• Não é necessário especificar o user_name e a password.
• Esta característica foi utilizada por crackers para copiar o ficheiro de
passwords de sistemas Unix, podendo
Trivial FTP
• Para prevenir esta falha de segurança,
os sistemas passaram apenas a permitir o acesso por TFTP a uma só directoria. • Não permite a listagem dos ficheiros
existentes no servidor.
• O cliente tem de saber à partida qual o
Cap. 3 - Sumário
ü
TELNET
ü
Remote Login (RLOGIN)
ü
Secure Shell (SSH)
ü
Remote Shell (rsh)
ü
File Transfer Protocol (FTP)
ü
Trivial FTP
ü
Remote Copy (rcp)
Remote Copy (
rcp
)
• Cópia remota de ficheiros e directorias
entre sistemas UNIX. • Sintaxe abreviada:
rcp maquina_remota:ficheiro_remoto ficheiro_local
rcp ficheiro.local
maquina_remota:ficheiro_remoto