SSH (Secure Shell)
Objetivo: Gerir sessões interativas sobre TCP/IP
Inicialmente desenhado para substituir a aplicação telnet
Adicionado suporte para outras funcionalidades
Execução de comandos remotos
Transferência de ficheiros
Encapsulamento e transferência de pacotes
Mecanismos de Segurança
Confidencialidade e integridade das comunicações
Distribuição de chaves
Autenticação das entidades intervenientes
Servidores /Sistemas
Clientes
Suportado por vários métodos (Senhas, chaves assimétricas, etc...)
Auth Mechs
Servidor: Um par de chaves assimétricas
Criadas na instalação do software e não certificadas
Clientes armazenam estas chaves entre sessões
Em algum ambiente “seguro”. Tipicamente a home
Se a chave se alterar o utente é notificado
Servidor pode ter tornado a gerar a chave
Pode ser um servidor diferente (MITM)
Utente pode recusar ligar-se
Clientes: Autenticação parametrizável
Omissão: Utilizador e Senha
Outros:
Utilizador e chaves assimétricas
Clientes pré-instalam chave pública no servidor
Integração com PAM para outros métodos (Ex, OTP)
Chaves de longa duração em /etc/ssh/
Privada: ssh_host_rsa_key
Pública: ssh_host_rsa_key.pub
Lista de números primos
/etc/sshd/moduli
Utilizados para estabelecer negociações DH com os clientes
Servidor por restringir clientes e utilizadores
Pode interagir com sistemas existentes
PAM: Pluggable Authentication Modules
KRB: Kerberos
GSSAPI: Generic Security Services Application Program Interface
Informação pessoal de cada utilizador em ~/.ssh
Tanto no cliente como no servidor
Cliente:
Chaves para autenticação por chaves assimétricas
config: Altera o comportamento para um servidor ou todos
Servidor
authorized_keys: armazena chaves públicas do cliente
Last updated