Không thể quên từ github, lỗi bắt tay sslv3


10

Chúng tôi có một tập lệnh tải xuống bảo mật mod từ github gần đây đã bắt đầu thất bại. Các máy chủ chạy CentOS 6 nhưng có lẽ RHEL 6 có cùng một vấn đề. Đầu ra là:

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

Bất kỳ ý tưởng về cách khắc phục hoặc làm việc xung quanh này?


2
sử dụng một ứng dụng khác, ví dụcurl
Rabin

1
Để cụ thể hơn, cả 54.230.99.219 và một số (khác nhau) tôi nhận được cho cloud.github.com đều không bắt tay với s_client mà không có tùy chọn cho ServerName. serverfault.com/questions/560053/ (nói vài tháng trước) RedHat wget không làm SNI nhưng curl thì có.
dave_thndry_085

Bạn cảm thấy may mắn khi chấp nhận câu trả lời
Anton Dozortsev

Chà, thành thật mà nói tôi sẽ thích hơn nếu @ dave_thndry_085 hoặc Rabin đăng bình luận của họ dưới dạng câu trả lời vì tôi thấy đó là một giải pháp lâu dài hơn mặc dù cách giải quyết của bạn cũng hoạt động rất tốt!
Kristofer

Câu trả lời:


2

Nếu tôi không nhầm thì bạn có nghĩa là repo này . Cố gắng để có được các mẫu phát hành URL .

Trường hợp này làm việc cho tôi:

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

PS Tôi cũng có thông báo lỗi tương tự khi thử chạy trường hợp của bạn;

$ wget https://github.com/downloads/SpiderLabs/ModSecurity/modsecurity-apache_2.7.1.tar.gz

Hmm, URL này không có md5 mặc dù :(
Kristofer

raw.githubusercontent.com/$ {USER} / $ {REPO} /path/to/file.tar.gz
Maksim Kostromin

10

Bạn có thể sử dụng curllệnh để tải xuống:

curl -LO https://github.com/downloads/SpiderLabs/ModSecurity/modsecurity-apache_2.7.1.tar.gz

5
curl -L -Olà một sự thay thế tốt hơn cho wget, vì nó tuân theo các chuyển hướng HTTP (đặc biệt hữu ích ở đây vì Github muốn chỉ cho tôi đến CDN của nó).
bóp nghẹt

Ngoài ra, một điều tôi gặp phải với các phiên bản trong CentOS 6.5 là curlhỗ trợ SNI và wgetkhông, do đó, đối với một số trang web wgetđôi khi sẽ được cung cấp chứng chỉ cho máy chủ sai và bị lỗi chứng chỉ, ngay cả khi curlhoạt động tốt.
rakslice

7

Phía máy chủ đã vô hiệu hóa bắt tay mã hóa SSLv3, vì các vấn đề bảo mật nghiêm trọng SSLv3. Hơn nữa, ứng dụng khách wget của bạn là phiên bản lỗi thời và vẫn được sử dụng làm mã hóa SSLv3 mặc định này. Bạn có 2 lựa chọn:

  • sử dụng --secure-Protocol = cờ TLSv1 trước wget. wget --secure-protocol=TLSv1
  • cài đặt phiên bản cập nhật của wget sử dụng làm giao thức TLSv1 mặc định

5

Bạn nên kiểm tra phiên bản wget của bạn.

Tôi gặp vấn đề tương tự với các phiên bản cũ hơn wget(<1.15).


2
Điều này có vẻ như đây là một bình luận chống lại câu hỏi, và không phải là một câu trả lời.
Daniel Staple

0

Đối với cách giải quyết, nếu bạn tin tưởng máy chủ hãy thử chỉ định --no-check-certificatehoặc thêm:

check_certificate = off

vào của bạn ~/.wgetrc(không nên).

Trong một số trường hợp hiếm hoi, nguyên nhân là do thời gian hệ thống của bạn có thể không đồng bộ do đó làm mất hiệu lực các chứng chỉ đang hoạt động trước đó.

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.