1 / 15

Redes de Computadores III

Faculdade de Tecnologia SENAC Pelotas/RS Curso Superior de Tecnologia em Redes de Computadores. Redes de Computadores III. SSH (Secure Shell) Professor Eduardo Maroñas Monks 2010. SUMÁRIO. Histórico Funcionalidades Protocolo Aplicações Segurança Referências Bibliográficas.

mikaia
Download Presentation

Redes de Computadores III

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Faculdade de Tecnologia SENAC Pelotas/RS Curso Superior de Tecnologia em Redes de Computadores Redes de Computadores III SSH (Secure Shell) Professor Eduardo Maroñas Monks 2010

  2. SUMÁRIO • Histórico • Funcionalidades • Protocolo • Aplicações • Segurança • Referências Bibliográficas Prof. Eduardo M. Monks - Redes de Computadores III 2

  3. Histórico • O SSH é um protocolo para comunicação em rede de forma segura, projetado para ser simples e de fácil implementação. • A versão inicial, SSH1, foi focada no provimento de uma forma segura de acesso remoto a hosts em substituição a protocolos não-seguros, principalmente o Telnet. • Além do acesso remoto, o SSH provê o recurso de tunelamento o qual permite os uso de protocolos não-seguros por meio de uma conexão segura. • A nova versão do SSH, SSH2, provê melhorias em relação a versão 1 e está em processo de padronização no IETF por meio das RFCs 4250 a 4256. Prof. Eduardo M. Monks - Redes de Computadores III 3

  4. Histórico • OPENSSH • O protocolo SSH foi criado pelo finlandês Tatu Ylönen, em 1995 • Inicialmente, o SSH foi disponibilizado com uma licença aberta • Versões posteriores do protocolo foram submetidas a licenças restritivas, mas o uso não comercial continuou liberado • O criador do SSH formou a empresa de segurança SSH Communications (http://www.ssh.com) onde explora comercialmente o protocolo e suas aplicações • A SSH Communications foi adquirida pela Tectia em 2010 • As primeiras versões do código do SSH são referenciadas como sendo a versão 1 do protocolo ( SSH 1) • Em 1997, foi iniciado o processo de padronização do SSH junto ao IETF • Junto a este processo, foi iniciada a reescrita do protocolo SSH conhecida como SSH 2, contando com diversas melhorias na segurança • Em 1999, o desenvolvedores do OpenBSD começaram o desenvolvimento, a partir do código-fonte original do SSH, originando o projeto OpenSSH (http://www.openssh.com) • O OpenSSH foi lançado na distribuição OpenBSD 2.6 em 1999 • O OpenSSH foi estendido para suportar o SSH 2 em 2000 • Atualmente, o OpenSSH é a versão mais popular da implementação livre de código-fonte aberto do protocolo SSH • A história completa do OpenSSH está documentada no link http://www.openbsd.org/history.html Prof. Eduardo M. Monks - Redes de Computadores III 4

  5. Funcionalidades • Compressão: o fluxo de tráfego pode ser compactado • Autenticação com chave pública: podem ser usados certificados para autenticação ao invés de digitação de senhas • Autenticação do servidor: provê mecanismos de confidencialidade para o servidor a ser acessado • Redirecionamento de portas: qualquer sessão utilizando o protocolo TCP pode ser redirecionado em uma sessão de SSH • Redirecionando serviços X11: o SSH possibilita o redirecionamento de sessões X11 (interface gráfica do Linux/unix) • Transferência de arquivos: o protocolo provê os serviços de SCP e SFTP para transferências de arquivos Prof. Eduardo M. Monks - Redes de Computadores III 5

  6. Funcionalidades • Basicamente, a autenticação se dá ou por usuário e senha, ou usuário e chave privada/pública. • Com o usuário e senha, ao se tentar a conexão a um servidor deverá ser digitado o usuário e a senha.  • No caso de uso com chaves, a autenticação deverá ser feita configurando o lado servidor previamente com a chave pública do cliente. Quando houver a tentativa de acesso, o servidor SSH buscará a chave pública do host do cliente em um arquivo localizado em .ssh/authorized_keys no diretório home do usuário requisitado para o login. • Caso a chave estiver armazenada no arquivo, o acesso se dará sem a necessidade de digitar a senha. • Este método tem duas vantagens básicas. • A primeira é a segurança, porque não existirá a possibilidade de ataques de força bruta tentando adivinhar a senha do usuário. Simplesmente, não existe a senha! • A outra vantagem é a possibilidade de automatizar scripts para executar comandos em servidores remotos. Desta forma, a administração de múltiplos servidores fica muito mais fácil e ágil. Prof. Eduardo M. Monks - Redes de Computadores III 6

  7. Funcionalidades ~representa o diretório home do usuário • Verificação da confidencialidade • Utilizado para previnir que um host malicioso se faça passar pelo servidor legítimo • No Linux, o arquivo ~/.ssh/known_hosts armazena as chaves dos servidores que são verificadas a cada sessão • Se a chave trocar ou não existir a mensagem da figura abaixo será gerada Prof. Eduardo M. Monks - Redes de Computadores III 7

  8. Funcionalidades • Tunelamento • Possibilita utilizar protocolos baseados em TCP de forma criptografada por meio de uma sessão de SSH • Interessante para obter maior segurança em redes não confiáveis • Facilita a configuração do firewall, necessitando apenas abrir a porta 22 • O SSH “carrega” o tráfego do outro protocolo Prof. Eduardo M. Monks - Redes de Computadores III 8

  9. Funcionalidades • Transferência de arquivos • Substitui o FTP para transferência de arquivos, com segurança • Usa somente a porta 22 • Utiliza as mesmas formas de autenticação do SSH • Dois protocolos: SFTP e SCP • SFTP – similar aos comandos do FTP • SCP – similar ao comando cp (copy) do Linux • O desempenho na rede é pior do que o FTP! Prof. Eduardo M. Monks - Redes de Computadores III 9

  10. Funcionalidades • Redirecionamento de servidor X • O SSH possibilita redirecionar os serviços de janelas do Linux (X11) • No cliente, deverá haver um servidor X • Desta forma, é possível rodar aplicativos gráficos remotamente • Funciona também no Windows, possibilitando rodar aplicativo gráficos do Linux (Xming – http://sourceforge.net/projects/xming/) • Na verdade, as aplicações rodam no servidor remoto, mas a interface aparece no cliente! Prof. Eduardo M. Monks - Redes de Computadores III 10

  11. Protocolo • O SSH é organizado por meio de três protocolos rodando sobre TCP que são: • Protocolo da camada de transporte: provê autenticação no servidor, confidencialidade e integridade dos dados. Opcionalmente, esta camada pode prover compressão dos dados. • Protocolo de autenticação de usuário: autentica o usuário ao servidor. • Protocolo de conexão: possibilita a utilização de vários canais lógicos de comunicação sobre uma única conexão SSH. • Trabalha na porta 22 utilizando protocolo TCP como transporte Prof. Eduardo M. Monks - Redes de Computadores III 11

  12. Versão do servidor Versão do cliente Fim da negociação, começo da troca de dados Protocolo • Captura no Wireshark • Antes da troca de dados, existe a negociação das chaves criptográficas entre cliente e servidor • Como emulador de terminais, pacotes pequenos • Na transferência de arquivos, pacotes grandes Prof. Eduardo M. Monks - Redes de Computadores III 12

  13. Aplicações • Clientes e servidores de SSH existem para a maioria dos sistemas operacionais, inclusive no Windows (SSH Windows e Moba SSH ). • É o metodo mais utilizado para acesso remoto em sistemas Unix/Linux e tunelamento de servidores X (servidor gráfico de janelas no Linux/Unix). • Versões freeware ou de código-fonte aberto: • Putty, Psftp, Pscp (Windows/Linux) • SSHSecureShellClient (cliente) (Windows) • Winscp (cliente de SFTP/SCP) (Windows) • OpenSSH (clientes e servidores) (Linux/Windows) • MobaSSH (servidor para Windows) Prof. Eduardo M. Monks - Redes de Computadores III 13

  14. Segurança • Ataque mais comum ao SSH: • Tentativas por força bruta de usuários e senhas de contas (dicionário) • Ferramenta de ataque: • THC Hydra - http://www.thc.org/thc-hydra/ • Lista de palavras - http://packetstormsecurity.org/Crackers/wordlists/dictionaries/ • Ferramenta de defesa: • DenyHosts – http://denyhosts.sourceforge.net/ Prof. Eduardo M. Monks - Redes de Computadores III 14

  15. Referências Bibliográficas • The Secure Shell (SSH) Protocol Architecture - http://www.ietf.org/rfc/rfc4251.txt • Introduction to SSH Secure Shell - http://www.ssh.com/support/documentation/online/ssh/adminguide/32/Introduction_to_SSH_Secure_Shell.html • Criando tuneis criptografados com ssh - http://www.dicas-l.com.br/dicas-l/20061017.php • Usando o SSH no Windows - http://www.gdhpress.com.br/blog/usando-o-ssh-no-windows/ • Certificados com o Putty - http://the.earth.li/~sgtatham/putty/0.58/htmldoc/Chapter8.html • Servidor X para Windows – http://sourceforge.net/projects/xming/ • SSH tips, tricks & protocol tutorial - http://www.openbsd.org/papers/auug2002-ssh.pdf • CopSSH – Openssh para Windows - http://www.itefix.no/i2/copssh • MobaSSH (Windows) - http://mobassh.mobatek.net/en/ • High Performance SSH/SCP - HPN-SSH - http://www.psc.edu/networking/projects/hpn-ssh/ • SSH – http://www.ssh.com/ • Brute Force Tools - http://www.aldeid.com/index.php/Bruteforce Prof. Eduardo M. Monks - Redes de Computadores III 15

More Related