Nie można wget z github, błąd uzgadniania sslv3

10

Mamy skrypt, który pobiera zabezpieczenia mod z github, który niedawno zaczął się nie powieść. Na serwerach działa CentOS 6, ale RHEL 6 prawdopodobnie ma ten sam problem. Dane wyjściowe to:

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

Wszelkie pomysły, jak to naprawić lub obejść?

Kristofer
źródło
2
użyj innej aplikacji, np.curl
Rabin
2
Mówiąc ściślej, zarówno 54.230.99.219, jak i kilka (różnych) A, które otrzymuję dla cloud.github.com, powodują niepowodzenie uzgadniania z s_client bez opcji ServerNameIndication. serverfault.com/questions/560053/... mówi (kilka miesięcy temu) Wget RedHat nie robi SNI, ale curl.
dave_thompson_085
Masz szczęście, że zaakceptowałeś moją odpowiedź
Anton Dozortsev
Cóż, szczerze mówiąc wolałbym, aby @ dave_thompson_085 lub Rabin opublikowali swoje komentarze jako odpowiedzi, ponieważ uważam, że jest to bardziej długoterminowe rozwiązanie, mimo że obejście również działa świetnie!
Kristofer

Odpowiedzi:

2

Jeśli się nie mylę, masz na myśli to repozytorium . Postaraj się, aby formularz URL prasowe .

Ta sprawa działa dla mnie:

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

PS Mam również ten sam komunikat o błędzie podczas próby uruchomienia sprawy;

$ wget https://github.com/downloads/SpiderLabs/ModSecurity/modsecurity-apache_2.7.1.tar.gz
Anton Dozortsev
źródło
Hmm, ten adres URL nie ma jednak md5 :(
Kristofer
raw.githubusercontent.com/$ {USER} / $ {REPO} /path/to/file.tar.gz
Maksim Kostromin
10

Możesz użyć curlpolecenia, aby go pobrać:

curl -LO https://github.com/downloads/SpiderLabs/ModSecurity/modsecurity-apache_2.7.1.tar.gz
rajesh gupta
źródło
5
curl -L -Ojest lepszym zamiennikiem wget, ponieważ następuje przekierowanie HTTP (szczególnie przydatne tutaj, ponieważ Github chce wskazać mi swój CDN).
dziwne cechy
Ponadto jedną z rzeczy, na które natknąłem się w wersjach w CentOS 6.5, jest to, że curlobsługuje SNI, a wgetnie obsługuje , więc dla niektórych stron wgetczasami certyfikat będzie dostarczany do niewłaściwego hosta i otrzyma błąd certyfikatu, nawet jeśli curldziała dobrze.
rakslice
7

Po stronie serwera wyłączono uzgadnianie szyfrowania SSLv3 z powodu poważnych problemów związanych z bezpieczeństwem SSLv3. Co więcej, twój klient wget jest przestarzałą wersją i nadal domyślnie używa tego szyfrowania SSLv3. Masz 2 opcje:

  • użyj --secure-protokół = Flaga TLSv1 przed wget. wget --secure-protocol=TLSv1
  • zainstaluj zaktualizowaną wersję wget, która używa jako domyślnego protokołu TLSv1
Vassilis Blazos
źródło
5

Powinieneś sprawdzić swoją wersję wget.

Miałem ten sam problem ze starszymi wersjami wget(<1.15).

Dan
źródło
2
Wygląda na to, że powinien to być komentarz do pytania, a nie odpowiedź.
Danny Staple
0

Jeśli chodzi o obejście, jeśli ufasz hostowi, spróbuj podać --no-check-certificatelub dodać:

check_certificate = off

do twojego ~/.wgetrc(niezalecane).

W niektórych rzadkich przypadkach jest to spowodowane czasem systemowym, który może być niezsynchronizowany, a tym samym unieważniać certyfikaty, które wcześniej działały.

kenorb
źródło
-1

Spróbuj tego:

update-crypto-policies --set LEGACY
José Luis González Chacón
źródło
3
Witamy na stronie i dziękuję za Twój wkład. Czy możesz zmodyfikować swój post, aby zawierał pewne wyjaśnienia, tj. W szczególności, który z symptomów opisanych przez PO prowadzi do wniosku, że problemem są zasady kryptograficzne i dlaczego ich zmiana w ten sposób może je rozwiązać? Chodzi o to, aby odpowiedzi były jak najbardziej samodzielne, aby były przydatne nie tylko dla PO, ale także dla innych borykających się z podobnymi problemami.
AdminBee
1
Jeśli jest to narzędzie wprowadzone przez RHEL 8, powinieneś to powiedzieć i zdać sobie sprawę, że to pytanie dotyczy RHEL6.
Jeff Schaller