Erro de cifra SSL com curl

3

Estou tentando pegar uma página da Web com curl

$ curl -k https://1.1.1.1/login.html

curl: (35) error:14092105:SSL routines:ssl3_get_server_hello:wrong cipher returned

O erro não significa nada para mim. Não tenho problema em baixar a página da Web com firefox . Como faço para depurar o problema?

$ curl -V

curl 7.53.1 (x86_64-pc-linux-gnu) libcurl/7.53.1 OpenSSL/1.0.2k zlib/1.2.11 libpsl/0.17.0 (+libicu/58.2) libssh2/1.8.0

Protocols: dict file ftp ftps gopher http https imap imaps pop3 pop3s rtsp scp sftp smb smbs smtp smtps telnet tftp

Features: AsynchDNS IPv6 Largefile GSS-API Kerberos SPNEGO NTLM NTLM_WB SSL libz TLS-SRP UnixSockets HTTPS-proxy PSL

    
por StrongBad 03.05.2017 / 15:23

3 respostas

1

Como eu consegui me conectar ao servidor com o Firefox, adicionei o CipherFox em. Isso me permitiu determinar a criptografia usada pelo Firefox durante a conexão. No meu caso, a cifra era TLS_RSA_WITH_AES_256_CBC_SHA. Um pequeno pesquisador me levou a uma lista de cifras que sugere que TLS_RSA_WITH_AES_256_CBC_SHA é AES256-SHA. Então eu simplesmente gostaria de dizer curl para usar a nova cifra

curl --ciphers AES256-SHA -k https://1.1.1.1/login.html

Como este é um portal de login público, não estou preocupado com a segurança. Se você está preocupado com a segurança, provavelmente deve certificar-se de que a cifra que você está usando é apropriada.

    
por 03.05.2017 / 20:20
1

Consulte: link Você deve verificar SSL, está usando IP ou hostname? se estiver usando o nome do host melhor para usar o nome do host em vez do IP.

    
por 03.05.2017 / 15:40
0

SSL é um protocolo complexo com muitas opções. O cliente e o servidor precisam negociar para selecionar opções compatíveis. Isso é especialmente difícil porque um dos objetivos do SSL é proteger contra um man-in-the-middle ataque e um dos possíveis métodos de ataque é perturbar a negociação - que tem que acontecer antes que a comunicação segura seja estabelecida - para forçar parâmetros inseguros.

SSLv3 é uma versão obsoleta do protocolo. Hoje, o TLS 1.2 é o preferido, 1.0 é ok (como é 1.1, mas é raro na prática). Se a negociação cair para SSLv3, o servidor está seriamente desatualizado ou algo deu errado (provavelmente porque o servidor está mal configurado).

Uma ferramenta útil para obter mais informações sobre o que está acontecendo é Wireshark . Diga para gravar o tráfego TCP para 1.1.1.1 na porta 443 com o filtro host 1.1.1.1 and port 443 . O Wireshark deve detectar automaticamente a conexão como SSL e exibirá uma análise detalhada de cada mensagem. Na conexão SSL, o cliente primeiro envia uma mensagem “cliente hello” que indica quais configurações ele suporta, e o servidor responde com um “servidor hello” que faz uma seleção entre as configurações suportadas pelo cliente. Aqui parece que o servidor selecionou algo que o cliente não suporta, causando um downgrade de protocolo.

    
por 04.05.2017 / 08:59

Tags