Ainda o ssh
Colaboração: Marcos Aguinaldo Forquesato
Data de Publicação: 30 de Setembro de 1997
Este é um documento sobre ssh escrito por Marcos A. Forquesato, que faz parte do curso de segurança de sistemas computacionais também ministrado por ele.
Este curso está disponível na Web em http://www.dicas-l.com.br/Treinamentos/seguranca/index.html.
SSH ( Secure Shell ) é um programa para entrar em outro computador da rede, executar comandos UNIX em uma máquina remota e copiar arquivos de uma máquina para a outra.
As suas principais características são:
- Novos métodos de autenticação: .rhosts combinado com autenticação RSA da máquina e autenticação RSA pura.
- Todas as conexões são criptografadas de forma transparente e automática
- Protege o DISPLAY das sessões ( conexões X11 )
- Pode criptografar outros serviços, por exemplo, ftp, tftp, etc.
- Protege as conexões contra cavalos de tróia, DNS spoofing, routing spoofing, IP spoofing.
- Pode criar um agente de autenticação, criando na workstation local ou laptop uma chave RSA de autenticação que é válida para toda sessão.
- Este programa pretende substituir rlogin, rsh, rcp e a maioria das funções do telnet, provendo comunicações mais seguras (criptografadas) entre duas máquinas. Ssh tem sintaxe semelhante ao rsh ( ssh <máquina> ou ssh <máquina> [comando] ). Para fazer a conexão entre máquinas sem fornecer senha, o ssh pode usar três métodos de autenticação :
- O primeiro usa os arquivos $HOME/.shosts ( similar ao $HOME/.rhosts ), $HOME/.rhosts,/etc/hosts.equiv e /etc/shosts.equiv ( similar ao /etc/hosts.equiv). Este tipo de conexão não é seguro.
- O segundo método de autenticação combina os arquivos HOME/.shosts, $HOME/.rhosts, /etc/hosts.equiv e /etc/shosts.equiv com a autenticação da máquina. Este método protege a conexão de IP spoofing, DNS spoofing e Routing spoofing.
- Como terceiro método de autenticação, o ssh implementa o protocolo RSA de autenticação, que é baseado em chaves públicas de criptografia. Neste sistema de criptografia, a encriptação e decriptação são feitos usando chaves separadas e não é possivel gerar uma chave de decriptografia a partir de uma chave de encriptografia. Cada usuário deve criar seus pares de chaves RSA ( pública/privada ), através do programa ssh-keygen. A chave privada é armazenada no arquivo $HOME/.ssh/identity e a chave pública no arquivo $HOME/.ssh/identity.pub . Para fazer a conexão deve-se copiar o $HOME/.ssh/identity.pub da máquina origem para $HOME/.ssh/authorized_keys da máquina destino. Nesse tipo de conexão a comunicação é toda criptografada.