View
3
Download
0
Category
Preview:
Citation preview
Universidade da Beira Interior Departamento de Informática
Serviços de Acesso Remoto a Sistemas e Ficheiros
Unidade Curricular Administração de Sistemas
Licenciatura em Tecnologias e Sistemas de Informação
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) ü X Windows
Administração de Sistemas
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 • Um dos serviços mais antigos da Internet
(a primeira especificação data de 1969)
Administração de Sistemas
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)
Administração de Sistemas
TELNET
• Usa o porto 23 do TPC
• Funcionamento baseado no modelo cliente-servidor
• Faz o uso do conceito Network Virtual Terminal (NTV).
• Negociação de opções.
Administração de Sistemas
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 terminal-driver
Administração de Sistemas
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
o interpretador de comandos
Administração de Sistemas
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 que está a dialogar com um terminal “real”.
Administração de Sistemas
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.
Administração de Sistemas
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).
Administração de Sistemas
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.
Administração de Sistemas
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. Exemplo: open 192.168.1.1
Administração de Sistemas
Comandos telnet
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) ü X Windows
Administração de Sistemas
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.
• Não suporta opções de funcionamento.
Administração de Sistemas
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.
Administração de Sistemas
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.
Administração de Sistemas
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.
• O utilizador maria necessita sempre de password.
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) ü X Windows
Administração de Sistemas
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.
Administração de Sistemas
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
• A versão actual é o Secure Shell 3.2
Administração de Sistemas
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) para manter a integridade dos dados.
Administração de Sistemas
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 entre si.
Administração de Sistemas
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.
• Suporte para smart cards.
Administração de Sistemas
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 • Inclui ainda uma API (Application Programming
Interface) de suporte a funcionalidades ssh-agent
Administração de Sistemas
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
• Disponível em http://www.openssh.org
Administração de Sistemas
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 sobre o protocolo SSH.
Administração de Sistemas
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.
Administração de Sistemas
Alguns clientes SSH
• ssh
• PuTTy
• TeraTerm Pro with SSH extentions
• SecureCRT
• WinSCP (implementação do SCP para windows)
Administração de Sistemas
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.
Administração de Sistemas
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 directoria remota.
Administração de Sistemas
FTP Seguro
• Sintaxe: – sftp [[utilizador@]máquina[:ficheiro [ficheiro]]]
– sftp [[utilizador@]máquina[:directoria[/]]]
• Opções: – C envia dados comprimidos – para outras opções consultar: man sftp
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) ü X Windows
Administração de Sistemas
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.
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) ü X Windows
Administração de Sistemas
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.
Administração de Sistemas
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; – Ligação de dados - para a transferência de
informação.
Administração de Sistemas
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.
Administração de Sistemas
FTP – Comandos (Windows)
Administração de Sistemas
FTP – Comandos (Linux)
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) ü X Windows
Administração de Sistemas
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 residir em ROM.
Administração de Sistemas
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 depois tentar descobrir essas passwords.
Administração de Sistemas
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 nome do ficheiro a transferir.
Administração de Sistemas
Trivial FTP - Sintaxe
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) ü X Windows
Administração de Sistemas
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
• Autenticação: ficheiro .rhosts.
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) ü X Windows
Administração de Sistemas
X Windows
• Descrito no RFC 1013. • Acesso remoto em modo gráfico, em
ambiente cliente-servidor.
• Servidor X: aplicação de gestão do monitor gráfico, teclado e rato.
Pode ser totalmente implementado em hardware (terminais X).
Administração de Sistemas
X Windows
• Clientes X: aplicações locais ou remotas que usam o programa servidor.
• Utiliza TCP para comunicações remotas.
• Quando o servidor e os clientes estão na mesma máquina, a comunicação é feita através da comunicação entre processos.
Recommended