Salvar certificado para usar com lftp

5

Como posso salvar um certificado para uso com o lftp?

O certificado em questão não é aceito pelo lftp quando baixado do servidor. Eu tentei

openssl s_client -connect {HOSTNAME}:21 -showcerts

de Como salvar um certificado SSL do servidor remoto localmente como um arquivo , mas isso retorna

CONNECTED(00000003) 3074045628:error:140770FC:SSL routines:SSL23_GET_SERVER_HELLO:unknown protocol:s23_clnt.c:766:

no peer certificate available

Estou me conectando com

lftp -p 21 -u {USER} {HOSTNAME}

e receba

ls: Fatal error: Certificate verification: Not trusted

    
por Greg C 26.10.2013 / 08:57

3 respostas

8

Eu acho que o problema aqui é que o servidor FTP usa FTP simples, mas suporta SSL / TLS explícito. Portanto, para seguir o protocolo, o cliente deve se conectar ao servidor FTP e chamar a criptografia por meio do comando AUTH. (O comando AUTH é enviado em texto simples)

Então, para responder à sua pergunta, não acho que seja possível mostrar o certificado. A menos que você possa de alguma forma enviar o comando AUTH para o servidor FTP.

Editar: para exibir certs, faça o seguinte:

openssl s_client -connect x.x.x.x:21 -starttls ftp

    
por 28.05.2014 / 20:28
2

Tem certeza de que este endpoint está corretamente protegido usando SSL? A partir da mensagem de erro que você mostra parece que o servidor não fornece SSL? Além disso, a porta 21 é usada principalmente para o plainftp, não para FTPs ou SFTP.

Isso é o que recebo quando executo o comando em um servidor FTP simples

openssl s_client -connect xxx.yyy.zzz.www:21 -showcerts
CONNECTED(00000003)
140165093090976:error:140770FC:SSL routines:SSL23_GET_SERVER_HELLO:unknown protocol:s23_clnt.c:749:
---
no peer certificate available
---
No client certificate CA names sent
---
SSL handshake has read 7 bytes and written 225 bytes
---
New, (NONE), Cipher is (NONE)
Secure Renegotiation IS NOT supported
Compression: NONE
Expansion: NONE

O erro lftp pode ser devido a uma configuração incorreta de lftp onde você precisa de ssl. Você pode tentar o seguinte:

set ftp:ssl-force false

De qualquer forma, você também pode tentar uma conexão usando

set ssl:verify-certificate no

Embora isso seja aceitável apenas para testes e com contas de teste (para não vazar credenciais)

    
por 18.12.2013 / 11:00
2

Parece que o lftp não está configurado corretamente em muitos sistemas, o que torna impossível verificar os certificados do servidor. Talvez esta seja a causa subjacente do seu problema.

A web está repleta de sugestões para corrigir isso, desativando totalmente a verificação de certificados ou a criptografia. Isso é inseguro porque permite que ataques man-in-the-middle passem despercebidos.

A melhor solução é configurar a verificação de certificados corretamente, o que é fácil, felizmente. Para fazer isso, adicione a seguinte linha a /etc/lftp.conf (ou alternativamente ~/.lftp/rc ):

set ssl:ca-file "/etc/ssl/certs/ca-certificates.crt"

ca-certificates.crt é um arquivo que contém todos os certificados de autoridade de certificação do sistema. O local usado acima é o do Ubuntu e pode variar em diferentes sistemas. Para gerar ou atualizar o arquivo, execute update-ca-certificates :

sudo update-ca-certificates

Se o seu sistema não tiver este comando, você pode criar um manualmente assim:

cat /etc/ssl/certs/*.pem | sudo tee /etc/ssl/certs/ca-certificates.crt > /dev/null
    
por 21.05.2017 / 12:19