Questão Salvar certificado para usar com lftp


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

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

CONECTADO (00000003)   3074045628: erro: 140770FC: Rotinas SSL: SSL23_GET_SERVER_HELLO: protocolo desconhecido: s23_clnt.c: 766:

nenhum certificado de pares disponível   


4


origem




Respostas:


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 a 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


7





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)


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. Isto é inseguro pois permite que ataques man-in-the-middle passem despercebidos.

A melhor solução é configurar a verificação do certificado corretamente, o que é fácil, felizmente. Para fazer isso, adicione a seguinte linha para /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 CA 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

1