Não é possível executar o wget no erro de handshake do github, sslv3

10

Temos um script que baixa a segurança do mod do github que começou recentemente a falhar. Os servidores executam o CentOS 6, mas o RHEL 6 provavelmente tem o mesmo problema. A saída é:

# wget https://github.com/downloads/SpiderLabs/ModSecurity/modsecurity-apache_2.7.1.tar.gz
--2014-07-22 18:49:46--  https://github.com/downloads/SpiderLabs/ModSecurity/modsecurity-apache_2.7.1.tar.gz
Resolving github.com... 192.30.252.129
Connecting to github.com|192.30.252.129|:443... connected.
HTTP request sent, awaiting response... 302 Found
Location: https://cloud.github.com/downloads/SpiderLabs/ModSecurity/modsecurity-apache_2.7.1.tar.gz [following]
--2014-07-22 18:49:47--  https://cloud.github.com/downloads/SpiderLabs/ModSecurity/modsecurity-apache_2.7.1.tar.gz
Resolving cloud.github.com... 54.230.99.219, 205.251.219.190, 54.230.97.212, ...
Connecting to cloud.github.com|54.230.99.219|:443... connected.
OpenSSL: error:14077410:SSL routines:SSL23_GET_SERVER_HELLO:sslv3 alert handshake failure
Unable to establish SSL connection.

Alguma idéia de como corrigir ou contornar isso?

Kristofer
fonte
2
use outro aplicativo, por exemplocurl
Rabin
1
Para ser mais específico, ambos 54.230.99.219 e vários dos A (diferentes) que recebo para cloud.github.com causam falha no handshake para s_client sem a opção para ServerNameIndication. serverfault.com/questions/560053/… diz (há vários meses) O RedHat wget não faz SNI, mas faz curl.
Dave_thompson_085
Você se sente com sorte de aceitar minha resposta
Anton Dozortsev 23/07/2014
Bem, para ser sincero, eu preferiria que @ dave_thompson_085 ou Rabin postassem seus comentários como respostas, pois considero isso uma solução a longo prazo, mesmo que sua solução alternativa também funcione muito bem!
Kristofer

Respostas:

2

Se não me engano, você quer dizer este repo . Tente obter versões do formulário de URL .

Este caso funciona para mim:

$ wget https://github.com/SpiderLabs/ModSecurity/archive/v2.8.0.tar.gz

PS: Eu também tenho a mesma mensagem de erro ao tentar executar o seu caso;

$ wget https://github.com/downloads/SpiderLabs/ModSecurity/modsecurity-apache_2.7.1.tar.gz
Anton Dozortsev
fonte
Hmm, esta URL não tem um md5 embora :(
Kristofer
raw.githubusercontent.com/$ {USER} / $ {REPO} /path/to/file.tar.gz
Maksim Kostromin
10

Você pode usar o curlcomando para fazer o download:

curl -LO https://github.com/downloads/SpiderLabs/ModSecurity/modsecurity-apache_2.7.1.tar.gz
rajesh gupta
fonte
5
curl -L -Oé um substituto melhor para wget, pois segue os redirecionamentos HTTP (particularmente útil aqui, pois o Github quer me apontar para sua CDN).
Estranhofeatures #
Além disso, uma coisa que me deparei com as versões no CentOS 6.5 é que curlsuporta SNI e wgetnão, portanto, para alguns sites wget, às vezes, recebe o certificado do host errado e recebe uma falha de certificado, mesmo que curlfuncione bem.
rakslice
7

O servidor desativou o handshake de criptografia SSLv3, devido a problemas graves de segurança do SSLv3. Além disso, seu cliente wget é uma versão desatualizada e ainda usa como padrão essa criptografia SSLv3. Você tem 2 opções:

  • use --secure-protocol = TLSv1 sinalizador na frente do wget. wget --secure-protocol=TLSv1
  • instale uma versão atualizada do wget que use como protocolo TLSv1 padrão
Vassilis Blazos
fonte
5

Você deve verificar sua versão do wget.

Eu tive o mesmo problema com versões mais antigas do wget(<1,15).

Dan
fonte
2
Parece que isso deve ser um comentário contra a pergunta e não uma resposta.
Danny Staple
0

Quanto à solução alternativa, se você confiar no host, tente especificar --no-check-certificateou adicionar:

check_certificate = off

no seu ~/.wgetrc(não recomendado).

Em alguns casos raros, isso é causado pela hora do sistema, que pode estar fora de sincronia, invalidando os certificados que estavam funcionando antes.

kenorb
fonte