Apresentacao SSH

17
[SSH] S ecure SH ell Alexandre Mulatinho Web: http://alex.mulatinho.net Mail: [email protected]

description

Apresentacao bem basica sobre alguns conceitos e usos do SSH.

Transcript of Apresentacao SSH

Page 1: Apresentacao SSH

[SSH] Secure SHell

Alexandre MulatinhoWeb: http://alex.mulatinho.netMail: [email protected]

Page 2: Apresentacao SSH

Assuntos Abordados

1. Conceitos básicos do SSH.

2. História e desenvolvimento.

3. Protocolo e comunicação.

4. Principais vantagens e utilizações.

5. Principais ferramentas. 5.1. Ssh, Scp. 5.2. Putty, WinSCP.

6. Conclusões

Page 3: Apresentacao SSH

Conceitos Básicos do SSHO que é o SSH?

SSH é um protocolo de rede desenvolvido para fornecer um meiode autenticar-se e/ou transferir dados de forma segura em cima de uma rede insegura (intranet, internet). Usa a porta 22 como padrão

Provê integridade e confiabilidade nos dados e/ou informações quetrafegam utilizando este protocolo. Parte disso é feita pela utilizaçãodo metódo diffie-helman de troca de chaves, amplamente utilizado.

Terminologia:

● ssh – Protocolo de rede para comunicação segura.

● sshd – Daemon ou software de serviço que implementa o SSH.

● scp – Secure Copy, utilizado para transferencia de arquivos.

● sftp – Provê um meio de transferir dados via FTP de forma segura.

Page 4: Apresentacao SSH

Conceitos Básicos do SSHMais alguns conceitos

O protocolo SSH também pode fornecer um meio de acessar asaplicações gráficas do servidor remoto.

A autenticação no servidor remoto pode acontecer principalmentede duas formas distintas: utilizando password quando a máquina remota fornecer um prompt ou utilizando chaves públicas digitais.Pode ser feita também via GSSAPI e 'keyboard-interactive' masestas funcionalidades não serão abordadas nesta apresentação.

Contém várias implementações que utilizam código proprietário,código aberto e freeware com diversas funcionalidades.

Vem por padrão em diferentes sistemas operacionais como o Unix,Linux, OpenBSD, NetBSD, FreeBSD, Sun Solaris, etc.

Page 5: Apresentacao SSH

História e Desenvolvimento

Linha do tempo:

● Em 1995 Tatu Ylönen cria o protocolo SSH.● Em julho deste mesmo ano ele lança uma ferramenta livre.● No final do ano decide fechar o código e cria o SSC.● Em 1996 é desenvolvido o SSH-2 que é incompatível com o SSH-1.● No ano de 1998 desenvolvedores de software livre decidem fazer um fork do SSH-2 e criam uma versão gratuita.

● Em 2006 o IETF define o protocolo SSH como um padrão na internet através do RFC 4251.

Desenvolvido em 1995 por Tatu Ylönen, um pesquisador de Helsinki,teve como principal motivação substituir aplicativos como rlogin, rsh etelnet que estavam sujeitos a ataques como man-in-the-middle, spoof.

Page 6: Apresentacao SSH

História e Desenvolvimento

A primeira versão (conhecida como SSH-1) foi praticamente todadesenvolvida por Ylönen que percebeu que sua solução viria a serpossivelmente um padrão para milhões de outros usuários e fundouo grupo “SSH Comunicações Seguras” para vender e desenvolvermelhor a sua solução.

No final de 1995, depois de alguns meses de desenvolvimento, o protcolo SSH já contava com cerca de 20 mil usuários, em 2000 essaquantia chegou a 2 milhões de usuários.

Em Dezembro de 1999 um grupo do OpenBSD resolveu desenvolveruma versão livre do SSH-2 chamada OpenSSH que está na maioriadas distribuições Linux e Unix'es de hoje em dia.

Page 7: Apresentacao SSH

Assuntos Abordados

1. Conceitos básicos do SSH.

2. História e desenvolvimento.

3. Protocolo e comunicação.

4. Principais vantagens e utilizações.

5. Principais ferramentas. 5.1. Ssh, Scp. 5.2. Putty, WinSCP.

6. Conclusões

Page 8: Apresentacao SSH

Protocolo e Comunicação

O SSH utiliza-se de três camadas principais: 1. A camada de transporte de protocolo via ssh, descrita no RFC 4253.

- Responsável pela autenticação, confiabilidade e integridade.2. O protocolo de autenticação do usuário, descrita no RFC 4252.

- Responsável pela autenticação do lado do cliente, roda embaixo da camada de transporte.

3. O protocolo de comunicação dos dados, descrita no RFC 4254.- Responsável por criar um tuneis lógicos de encriptação para trafegar os dados, ele roda embaixo da camada de autenticação do usuário.

Basicamente o usuário ao tentar logar no servidor remoto inicia umasessão de trocas de chaves utilizando criptografia simétrica, ele entãoautentica a si mesmo no servidor e começa a utilizar a sessão remotacom total segurança utilizando dezenas de metódos de criptografia

Page 9: Apresentacao SSH

Protocolo e Comunicação

Usando SSH nenhum sniffer pode vêr o que você está escrevendo.Que tal um exemplo prático!??? :-)

Page 10: Apresentacao SSH

Principais Vantagens e Utilizações

● Logar numa shell em um host remoto.

● Transferência segura de dados.

● Se combinado com o rsync pode realizar backups e copiar dados.

● Navegar na web de forma segura usando SOCKS proxy.

● Mapear diretórios de uma servidor remoto localmente.

● Na utilização de VPNs (apenas suportado no OpenSSH).

Tudo isso de forma segura pois todos os dados estão criptografados

e não podem ser interceptados como já foi dito anteriormente.

Page 11: Apresentacao SSH

Principais Ferramentas

Dentre as várias ferramentas que existem iremos abordar aquiapenas quatro delas (as mais comuns) que utilizam o protocoloSSH, são elas: WinSCP, SCP, SSH e Putty.

Basicamente elas se dividem em dois tipos distintos:

● Acesso e execução remota de programas.

● Transferência de dados.

Outras ferramentas:

● ssh-keygen – serve para gerar as chaves pro protocolo.

● ssh-agent – carrega as chaves privadas na memória.

Page 12: Apresentacao SSH

Principais FerramentasPutty.exe – SSH via Windows

Page 13: Apresentacao SSH

Principais FerramentasPutty.exe – SSH via Windows

Page 14: Apresentacao SSH

Principais FerramentasSSH command line – Linux – Autenticando em máquina remota

Page 15: Apresentacao SSH

Principais FerramentasWinSCP – Windows – Copiando arquivos para máquina remota

Page 16: Apresentacao SSH

Principais FerramentasSCP command line – Linux – Transferindo dados.

Page 17: Apresentacao SSH

Conclusões

Protocolo imprescindível para administradores de sistema em geral e também de rede.

Forte encriptação. Excelente desempenho.

'Totalmente' seguro.

Referências:http://en.wikipedia.org/wiki/Secure_Shellhttp://tools.ietf.org/html/rfc4251

Obrigado!