é seguro trocar um ssh-keys do servidor de sistemas?

2

Em vez de trocar credenciais de ftp / sftp por e-mail, é mais seguro trocar um sistema de chaves ssh por e-mail? Se uma pessoa não tivesse o arquivo físico físico ssh, um hacker seria capaz de obter acesso ao servidor apenas conhecendo a cadeia de caracteres ssh?

    
por Sarmen B. 08.09.2015 / 21:52

3 respostas

7

O ponto de um sistema criptográfico de chave pública é que a chave pública pode ser amplamente divulgada sem comprometer a segurança do sistema. Portanto, não, se um hacker for capaz de interceptar as chaves públicas do servidor, não terá nenhum benefício em tentar obter acesso ao sistema.

    
por 08.09.2015 / 21:53
3

Como já foi mencionado nos wombles responda que você está seguro se um invasor interceptar a chave. Esse é o propósito da criptografia assimétrica.

Mas se o invasor não só puder interceptar a chave, mas também manipular seu canal de comunicação, ele poderá substituir a chave pública enviada pela sua própria chave e obter acesso aos seus sistemas. Geralmente é chamado de problema de autenticação.

Se você é paranóico e conhece a voz da pessoa que lhe envia a chave, você também deve verificar a impressão digital da chave no telefone, pois a comunicação por voz é muito mais difícil de manipular do que os e-mails.

    
por 09.09.2015 / 00:23
1

Sim, é completamente seguro compartilhar a chave pública do servidor, que é usada para identificação do servidor, e o homem na proteção intermediária. Uma vez que você tenha 'aceito' a chave pública, seu cliente lembrará e avisará se ela mudar. (Que seria, no caso de um ataque Man-in-the-Middle.)

Normalmente, pode-se ir mais além e publicar a impressão digital da chave no DNS, de acordo com rfc4255: link

Isso permite que o cliente recupere a impressão digital da chave, antes de realmente se conectar ao daemon ssh para receber a chave pública pela porta 22.

Se a impressão digital corresponder à chave pública fornecida pelo servidor; a conexão continuará.

Veja algumas instruções básicas para impor isso. link

Quanto às chaves privadas, geradas por você ou pelo seu cliente, elas devem ser mantidas absolutamente secretas e armazenadas com uma senha strong.

Em geral, eu recomendo desabilitar senhas via SSH com a opção / etc / ssh / sshd_config: PasswordAuthentication no

Isso só permitirá que clientes com chaves privadas listadas em ~ / .ssh / authorized_keys se conectem. Sim, você ainda pode usar senhas no prompt do sudo / su, ele simplesmente não permitirá que você efetue login com um nome de usuário e senha através do SSH. Uma chave privada é necessária.

Eu recomendaria parar por correcthorsebatterystaple dot net se você está tendo problemas para pensar em uma boa frase-senha.

(E sim, uma frase secreta pode conter espaços, algo como "Noble Sister Protection" pode ser fácil de lembrar e ainda carrega entropia suficiente para proteção suficiente - veja XKCD comic # 936 entitulado "Password Strength".)

Quando uma chave privada tem uma senha associada, o arquivo .ppk ou id_rsa que o cliente mantém é criptografado. A idéia geral é que você (o administrador do servidor) nunca saberá esta senha / senha usada para criptografar a chave do cliente. Uma vez que o cliente desbloqueia / descriptografa a chave para apresentá-lo a você (o servidor) como um problema de matemática, a autenticação continua. Não há como recuperar a senha de um cliente do servidor, nunca, a menos que sejam tolos o suficiente para fazer upload de sua chave privada - não faça isso! Usar o encaminhamento do SSH Agent ou o agente chave pageant.exe do putty no Windows .)

    
por 09.09.2015 / 01:17