No puedo olvidarme de github, error de apretón de manos sslv3

10

Tenemos un script que descarga mod security de github que recientemente comenzó a fallar. Los servidores ejecutan CentOS 6 pero RHEL 6 probablemente tenga el mismo problema. El resultado es:

# 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.

¿Alguna idea sobre cómo solucionar o solucionar esto?

Kristofer
fuente
2
use otra aplicación, por ejemplocurl
Rabin
1
Para ser más específicos, tanto 54.230.99.219 como varias de las (diferentes) A ​​que obtengo para cloud.github.com dan una falla de apretón de manos a s_client sin la opción de ServerNameIndication. serverfault.com/questions/560053/… dice (hace varios meses) RedHat wget no hace SNI pero curl sí.
dave_thompson_085
Te sientes afortunado de aceptar mi respuesta
Anton Dozortsev
Bueno, para ser honesto, preferiría que @ dave_thompson_085 o Rabin publicaran sus comentarios como respuestas, ya que veo que es una solución más a largo plazo a pesar de que su solución también funciona muy bien.
Kristofer

Respuestas:

2

Si no me equivoco, te refieres a este repositorio . Intenta obtener lanzamientos de formularios URL .

Este caso funciona para mí:

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

PD: También tengo el mismo mensaje de error cuando intento ejecutar su caso;

$ wget https://github.com/downloads/SpiderLabs/ModSecurity/modsecurity-apache_2.7.1.tar.gz
Anton Dozortsev
fuente
Hmm, esta URL no tiene un md5 :(
Kristofer
raw.githubusercontent.com/$ {USER} / $ {REPO} /path/to/file.tar.gz
Maksim Kostromin
10

Puedes usar el curlcomando para descargarlo:

curl -LO https://github.com/downloads/SpiderLabs/ModSecurity/modsecurity-apache_2.7.1.tar.gz
rajesh gupta
fuente
55
curl -L -Oes un mejor reemplazo para wget, ya que sigue las redirecciones HTTP (particularmente útil aquí ya que Github quiere señalarme a su CDN).
rarefeatures
Además, una cosa con la que me encontré con las versiones en CentOS 6.5 es que curladmite SNI y wgetno lo hace, por lo que para algunos sitios wgeta veces se entregará el certificado del host incorrecto y se obtendrá un fallo de certificado, incluso si curlfunciona bien.
rakslice
7

El lado del servidor ha deshabilitado el protocolo de enlace de cifrado SSLv3, debido a graves problemas de seguridad SSLv3. Además, su cliente wget es una versión desactualizada y todavía usa de manera predeterminada este cifrado SSLv3. Tienes 2 opciones:

  • use --secure-protocol = bandera TLSv1 delante de wget. wget --secure-protocol=TLSv1
  • instale una versión actualizada de wget que use como protocolo TLSv1 predeterminado
Vassilis Blazos
fuente
5

Debe verificar su versión de wget.

Tuve el mismo problema con versiones anteriores de wget(<1.15).

Dan
fuente
2
Parece que esto debería ser un comentario en contra de la pregunta, y no una respuesta.
Danny Staple
0

En cuanto a la solución, si confía en el host intente especificar --no-check-certificateo agregar:

check_certificate = off

en su ~/.wgetrc(no recomendado).

En algunos casos raros, es causado por el tiempo de su sistema que podría estar fuera de sincronización, por lo tanto, invalida los certificados que funcionaban antes.

kenorb
fuente