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?


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

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

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

5

Você deve verificar sua versão do wget.

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


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.

Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.