Poodle: Việc vô hiệu hóa SSL V3 trên máy chủ có thực sự là một giải pháp không?


39

Tôi đã đọc cả ngày về lỗ hổng Poodle và bây giờ tôi hơi bối rối so với Bảo mật và Doanh thu.

Nếu tôi vô hiệu hóa SSL V3 trên Máy chủ (cả SSL V2 và V3 sẽ bị vô hiệu hóa đối với các máy khách Apache (trình duyệt) không hỗ trợ bất kỳ giao thức nào nhưng SSL V3 sẽ không thể kết nối HTTPS với máy chủ.

Vì vậy, đó là tình huống mà cả máy khách và máy chủ phải giao tiếp với TLS 1.1 1.2, v.v.

Nếu bất kỳ ai trong số họ sử dụng SSL V3 và phiên bản kia không hỗ trợ các phiên bản thấp hơn thì chuyện gì sẽ xảy ra? Không có kết nối với SSL.

Tôi đã thấy một vài cập nhật được thực hiện cho Firefox, có lẽ họ đã vô hiệu hóa SSL V3 trong đó là những gì chúng ta thường phải làm trong các tùy chọn. Điều này sẽ buộc tất cả các kết nối đến các phiên bản thấp hơn và TLS

Nhưng việc vô hiệu hóa SSL V3 có thực sự là một giải pháp cho vấn đề này không?


4
Bạn có ý nghĩa gì bởi "Điều này sẽ buộc tất cả kết nối đến các phiên bản thấp hơn và TLS"? SSLv1 và SSLv2 đã bị vô hiệu hóa trong một thời gian dài vì chúng đã bị hỏng. SSLv3 đã được tán thành nhưng trong nhiều trường hợp vẫn được kích hoạt để hỗ trợ phần mềm cũ. Phiên bản thấp hơn mà bạn đang đề cập đến là gì? TLSv1.0, v1.1, v1.2, ... là các tiêu chuẩn sau này và có thể được coi là "SSL phiên bản cao hơn", chỉ các số phiên bản được đặt lại khi thay đổi tên.
Håkan Lindqvist

Xin chào, vì vậy điều tôi đã hiểu cho đến nay là Nếu tôi tắt SSL V3 và V2 trên Máy chủ theo khuyến nghị của Red Hat, kết nối an toàn sẽ có trên giao thức TLS. Và nếu các trình duyệt thực hiện cuộc gọi trên TLS với máy chủ thì sẽ không có vấn đề gì trong các kết nối an toàn. Tôi không có thông tin chính xác về sự khác biệt giữa các phiên bản SSL và TLS ..
sandeep.s85

Câu trả lời:


52

Đầu tiên, hãy làm rõ mọi thứ một chút:

  • TLS thay thế SSL. TLS 1.0 xuất hiện sau và là bản cập nhật cho SSL 3.0.

    TLS 1.2> TLS 1.1> TLS 1.0> SSL 3.0> SSL 2.0> SSL 1.0

  • Các phiên bản SSL trước 3.0 đã biết các lỗ hổng bảo mật nghiêm trọng trong một thời gian và bị vô hiệu hóa / không được hỗ trợ bởi các máy khách và máy chủ hiện đại. SSL 3.0 có thể sẽ đi theo cách tương tự sớm.

  • Trong số các giao thức hiện đang được sử dụng, "Poodle" ảnh hưởng nghiêm trọng nhất đến SSL 3.0, trong đó không có cách nào để giảm thiểu. Có một cuộc tấn công tương tự chống lại một số triển khai TLS 1.0 và 1.1 mà thông số kỹ thuật cho phép - đảm bảo phần mềm của bạn được cập nhật.


Bây giờ, lý do "Poodle" là một rủi ro ngay cả với các máy khách và máy chủ hiện đại là do khách hàng thực hiện cơ chế dự phòng. Không phải tất cả các máy chủ sẽ hỗ trợ các phiên bản mới nhất, vì vậy khách hàng sẽ thử từng phiên bản theo thứ tự từ hầu hết đến gần đây nhất (TLS 1.2, TLS 1.1, TLS 1.0, SSL 3.0) cho đến khi tìm thấy phiên bản mà máy chủ hỗ trợ. Điều này xảy ra trước khi giao tiếp được mã hóa bắt đầu, vì vậy kẻ tấn công trung gian (MITM) có thể buộc trình duyệt quay trở lại phiên bản cũ hơn ngay cả khi máy chủ hỗ trợ phiên bản cao hơn. Điều này được gọi là một cuộc tấn công hạ cấp giao thức.

Cụ thể, trong trường hợp "Poodle", miễn là cả máy khách và máy chủ đều hỗ trợ SSL 3.0, kẻ tấn công MITM có thể buộc sử dụng giao thức này.

Vì vậy, khi bạn tắt SSL 3.0, điều này có hai tác dụng:

  • Các máy khách hỗ trợ các phiên bản cao hơn không thể bị lừa quay trở lại phiên bản dễ bị tấn công ( TLS Fallback SCSV là một cơ chế mới được đề xuất để ngăn chặn một cuộc tấn công hạ cấp giao thức, nhưng không phải tất cả các máy khách và máy chủ đều hỗ trợ nó). Đây là lý do bạn muốn tắt SSL 3.0. Phần lớn khách hàng của bạn có thể rơi vào trường hợp này và điều này có lợi.

  • Các máy khách hoàn toàn không hỗ trợ TLS (như những người khác đã đề cập, IE6 trên XP gần như là ứng dụng duy nhất vẫn được sử dụng cho HTTPS) sẽ không thể kết nối thông qua kết nối được mã hóa. Đây có thể là một phần nhỏ trong cơ sở người dùng của bạn và không đáng để hy sinh tính bảo mật của đa số những người cập nhật để phục vụ cho nhóm thiểu số này.


8
Xin chào Bob, đây là Alice đây. Giống như lời giải thích của bạn về cách Mallet có thể sử dụng Poodle.
BatteryBackupUnit

+1 Không biết về cuộc tấn công hạ cấp giao thức.
developerwjk

1
CẬP NHẬT: "...everything less than TLS 1.2 with an AEAD cipher suite is cryptographically broken, including many implementations which conform to current specifications." zdnet.com/article/poodle-not-fixed-some-tls-systems-vulnerable
BlueCacti 22/12/14

@GroundZero > Nhưng hóa ra một số triển khai TLS vẫn không kiểm tra các byte đệm, mặc dù có khả năng làm như vậy. => cụ thể, trong khi việc triển khai TLS 1.0 và 1.1 có thể bị hỏng (và thông số kỹ thuật cho phép chúng bị phá vỡ theo kiểu này, điều này không tốt), nó không tệ như SSL 3.0 khi bản thân thông số kỹ thuật bị hỏng và không có cách để thực hiện phù hợp để làm việc xung quanh nó. Ngoài ra, "tắt" hỗ trợ TLS 1.0 và 1.1 trên máy chủ là một vấn đề khó khăn hơn nhiều so với tắt SSL 3.0 - bạn sẽ ảnh hưởng đến tỷ lệ người dùng lớn hơn nhiều.
Bob

Có vẻ như chủ yếu là các triển khai phía máy chủ dễ bị tổn thương (?) - sửa lỗi triển khai TLS của bạn trên máy chủ và bạn sẽ ổn (?) [Tôi chưa nhìn vào điều này đủ để xác nhận rằng trình duyệt và các máy khách khác không bị ảnh hưởng , nhưng từ ngữ trong bài viết được liên kết của bạn và nguồn của nó cho thấy rằng].
Bob

27

Đánh giá của bạn là chính xác. Khách hàng sẽ cần sử dụng các giao thức mới hơn để kết nối với máy chủ của bạn sau khi bạn vô hiệu hóa SSL 3. Giao thức SSL 3 bị lỗi và sẽ không có "bản vá". Vô hiệu hóa SSL 3 là giải pháp duy nhất.

Vì vậy, nhiều trang web đã vô hiệu hóa SSL 3, tại thời điểm này, để làm cho hầu như không thể tránh khỏi việc người dùng các trình duyệt cũ hơn sẽ cần phải nâng cấp. Giả sử bạn đang ghi nhật ký chuỗi tác nhân người dùng, bạn có thể xem lại nhật ký của mình và đưa ra quyết định có căn cứ về việc vô hiệu hóa SSL 3. Tôi nghĩ rằng có thể chỉ một tỷ lệ nhỏ khách truy cập trang web của bạn đang sử dụng các trình duyệt không thể xử lý các giao thức mới hơn.

[fwiw - báo cáo trên nền tảng đám mây 1,12% người dùng là người dùng IE6 XP tùy thuộc vào SSLv3]


1
Mặc dù sự thật là SSLv3 còn thiếu sót và giải pháp thực sự duy nhất là vô hiệu hóa SSLv3. Ngoài ra còn có một sự giảm thiểu cho cuộc tấn công poodle không yêu cầu vô hiệu hóa SSLv3, nếu bạn có thể chấp nhận mật mã RC4 cho các máy khách TLS 1.0, vì poodle chỉ ảnh hưởng đến mật mã chế độ CBC (AES). Tôi đã mô tả nó ở đây: serverfault.com/q/637848/249649
cypres

2
TLS_FALLBACK_SCSVTuy nhiên, không giảm nhẹ cuộc tấn công cho các khách hàng lớn tuổi. Nó chỉ cho phép các máy khách cũ tiếp tục sử dụng giao thức bị lỗi trong khi ngăn chặn phiên bản giao thức không mong muốn hạ cấp cho các máy khách mới hơn. Cuối cùng, việc bật SSLv3 cho bất kỳ khách hàng nào có khả năng làm lộ lưu lượng truy cập của họ cho những kẻ tấn công.
Evan Anderson

RC4 đang giảm nhẹ cuộc tấn công này cho các khách hàng lớn tuổi, không phải scsv. Nhưng chúng tôi không sử dụng RC4, đó là lý do tại sao tôi cũng khuyên bạn nên vô hiệu hóa SSLv3 nếu có thể.
cypres

1
@cypres - Có-- 'TLS_FALLBACK_SCSV' không giúp khách hàng lớn tuổi. Tôi cho rằng việc sử dụng một mật mã đã được chứng minh là có điểm yếu nghiêm trọng cũng không hữu ích. Chúng ta cần để đây là "ngày chào cờ" loại bỏ SSL 3.0 khỏi mạng. Chắc chắn-- nếu bạn có các thiết bị cũ hơn, thiết bị nhúng, v.v., không hỗ trợ TLS trong doanh nghiệp của bạn thì hãy chạy SSL 3.0. Tuy nhiên, tôi nghĩ rằng thật vô trách nhiệm khi khuyến khích mọi người tiếp tục sử dụng SSL 3.0 trên Internet công cộng.
Evan Anderson

Hôm nay tôi đã vô hiệu hóa SSLv3 trên Firefox và chỉ cho phép TLS và tôi thấy số lượng sự cố kết nối ssl khá lớn trong khi duyệt các trang web trên internet. Tôi đang hỗ trợ hàng trăm máy chủ Linux có bật sslv3. Tôi có thể sai nhưng các giải pháp cuối cùng cho tình huống này là cho đến khi các nhà cung cấp hệ điều hành phát hành một bản vá để không có gì phải làm ở cuối máy khách. Vấn đề là bạn không thể dự đoán được tác động.
sandeep.s85

20

Có, Vô hiệu hóa SSL3 sẽ giúp nó để người dùng không hỗ trợ TLS không thể truy cập trang web của bạn.

Tuy nhiên, từ quan điểm thực tế, hãy nhìn vào những gì trình duyệt nằm trong danh mục đó. Cả Chrome và Firefox đều hỗ trợ TLS và thậm chí sẽ bỏ hoàn toàn hỗ trợ SSL3 do lỗi này. IE đã hỗ trợ nó kể từ IE7. Trình duyệt duy nhất không có hỗ trợ, nhưng vẫn được sử dụng trên phạm vi toàn cầu, là IE6 và lý do duy nhất vẫn được sử dụng là 2 lý do:

  1. Bất cứ ai có phiên bản XP bị bẻ khóa và không có cách nào sử dụng Chrome hoặc Firefox;
  2. Bất cứ ai trong chính sách của công ty hoặc chính phủ với các hạn chế về lựa chọn trình duyệt.

Trong cả hai trường hợp này, IE6 được sử dụng vì đó là trình duyệt Windows XP mặc định đi kèm với bản cài đặt gốc. Ngoài ra, lý do duy nhất mà IE6 vẫn có thị phần toàn cầu (nhỏ) là do có nhiều người dùng ở Trung Quốc.

Vì vậy, câu chuyện dài ngắn: đây là 3 câu hỏi:

  1. Bạn có một cơ sở người dùng đáng kể của Trung Quốc?
  2. Trang web của bạn có cung cấp hỗ trợ cho IE6 hay không, mặc dù nó đã lỗi thời và bị hỏng?
  3. Trang web của bạn có phải là sản phẩm được sử dụng bởi chính phủ hoặc công ty với các hạn chế lựa chọn trình duyệt không?

Nếu bất kỳ điều nào trong 3 điều này là đúng, bạn sẽ phải tìm một giải pháp thay thế. Nếu cả 3 đều sai, chỉ cần vô hiệu hóa nó và được thực hiện với nó. Và nếu bạn cần giải pháp thay thế, bạn có khó thuyết phục nhất khi phần nhỏ trong cơ sở người dùng của bạn vẫn sử dụng IE6 để chuyển khỏi trình duyệt 13 tuổi.


7

Bạn đề cập đến " Apache " và " trình duyệt " trong câu hỏi của bạn, nhưng tiêu đề thì chung chung hơn.

Như Evan và những người khác chỉ ra, vấn đề hoàn toàn được sắp xếp cho HTTPS. Nhưng có một số giao thức khác mà máy chủ có thể mã hóa và hỗ trợ TLS kém hơn nhiều so với cơ sở khách hàng đó (như tôi đã tìm ra sáng nay, khi bắt buộc "không có SSL3" trên máy chủ IMAP / S).

Vì vậy, tôi e rằng câu trả lời là " nó phụ thuộc vào dịch vụ nào bạn mã hóa và hỗ trợ khách hàng cho TLS giữa các cơ sở người dùng của bạn ".

Chỉnh sửa : có, đó là quan điểm của tôi, mặc dù tôi rất vui vì bạn đồng ý. Tắt sslv3 được thực hiện trên cơ sở dịch vụ theo dịch vụ. Ví dụ, cách tắt nó trên dovecot là đặt

ssl_cipher_list = ALL:!LOW:!SSLv2:!SSLv3:!EXP:!aNULL

trong dovecot.conf. Vấn đề lớn hơn là trong khi hầu hết các trình duyệt đều chịu được sự mất sslv3, thì các máy khách của các dịch vụ khác dường như ít dung nạp hơn. Tôi đã phá vỡ khoảng một nửa người dùng của tôi sáng nay khi tôi tắt nó trên dovecot; Điện thoại Android chạy thư K-9 và Outlook trên Win7 là hai thứ mà tôi biết chắc chắn, nhưng tôi có thể thấy từ nhật ký của mình còn nhiều hơn thế.

Tắt SSLv3 vẫn không chỉ là một giải pháp hợp lệ, nó là giải pháp duy nhất ; Nhưng nó sẽ đau.

Chỉnh sửa 2 : cảm ơn dave_thndry_085 vì đã chỉ ra rằng việc vô hiệu hóa các mật mã SSLv3 trong dovecot không chỉ vô hiệu hóa giao thức SSLv3, mà cả TLSv1.0 và TLSv1.1, vì chúng không có mật mã mà giao thức trước đó không có. Dovecot (ít nhất là các phiên bản trước đó, bao gồm cả phiên bản tôi đang chạy) dường như thiếu khả năng định cấu hình các giao thức thay vì mật mã. Điều này có lẽ giải thích tại sao làm điều đó đã phá vỡ rất nhiều khách hàng.


1
Bây giờ tôi cũng đã đọc rằng điều này sẽ không chỉ ảnh hưởng đến các máy chủ web mà bất kỳ dịch vụ nào chạy trên máy chủ sử dụng SSL tức là Máy chủ web, Máy chủ LDAP, trình nền SSH, máy chủ POP3, máy chủ SMTP Vì vậy, đối với máy chủ web, chúng tôi có Cấu hình trong Apache tập tin cấu hình mod_ssl dưới dạng SSLProtocol All -SSLv2 -SSLv3 Chúng tôi cần xem xét các dịch vụ khác cũng như cách chúng tôi ngăn khách hàng / máy chủ sử dụng SSLv3
sandeep.s85

Cuộc tấn công POODLE thực tế, như được mô tả trong tư vấn bảo mật , dựa trên một số lượng yêu cầu hợp lý được thực hiện với một số khả năng kiểm soát từ kẻ tấn công. Trong bối cảnh HTTPS và các trình duyệt khả thi nhờ vào kịch bản nhưng trong bối cảnh của IMAPS, tôi không tin rằng đây là một việc làm thực tế. Loại bỏ SSLv3 trên bảng tất nhiên là lý tưởng nhưng tôi chỉ không chắc chắn rằng POODLE nói riêng là tất cả những gì liên quan đến một số trường hợp khác.
Håkan Lindqvist

Håkan, khi thời gian trôi qua, tôi ngày càng đồng ý với bạn.
MadHatter hỗ trợ Monica

3
Vô hiệu hóa mật mã !SSLv3 trong openssl thực sự vô hiệu hóa tất cả các giao thức ngoại trừ TLSv1.2, điều này có thể không tốt cho các đồng nghiệp của bạn. Đây là lý do tại sao vô hiệu hóa giao thức là tốt hơn, nhưng AFAICS chỉ có trong dovecot 2.1+. Xem security.stackexchange.com/questions/71872/ .
dave_thndry_085

@ dave_thndry_085: khi bạn nói " vô hiệu hóa ... trong openssl ", bạn có nghĩa là " vô hiệu hóa ... trong dovecot "? Nếu vậy, tôi đồng ý với bạn và tôi sẽ sửa đổi câu trả lời của mình theo thông tin này, nếu bạn có thể làm rõ theo yêu cầu.
MadHatter hỗ trợ Monica

6

Vô hiệu hóa SSLv3 là giải pháp tốt nhất , nhưng tôi không đồng ý đó là giải pháp duy nhất. Như CloudFlare mô tả, việc sử dụng SSLv3 rất thấp , vì vậy hầu hết các quản trị viên sẽ không gặp vấn đề gì khi tắt nó.

Nếu bạn có yêu cầu cụ thể đối với SSLv3, có thể bạn được yêu cầu hỗ trợ IE6 trên Windows XP hoặc bạn được yêu cầu hỗ trợ phần mềm rất cũ, có một cách khác để giảm thiểu.

Cách để giảm thiểu nó và giữ SSLv3, là sử dụng RC4 và hỗ trợ TLS Fallback SCSV, được cung cấp bởi OpenSSL 1.0.1j. Trong bài đăng Qualys trên poodle , RC4 là "mật mã dòng không an toàn nhất định có tên mà không ai muốn đề cập".

Đây là những gì google làm trên mail.google.com và họ cũng mô tả nó trong mục nhập blog của họ: http://googleonlinesecurity.blogspot.se/2014/10/this-poodle-bites-Exloiting-ssl-30.html


2
Tôi thực sự không chắc cái nào tệ hơn, để hệ thống mở cho Poodle hoặc chuyển xuống RC4 ...
Brian Knoblauch

Các khách hàng hỗ trợ TLS 1.1+ không chuyển xuống RC4. Tôi không phải là chuyên gia, nhưng tôi tin poodle tệ hơn.
cypres

Không RC4 về cơ bản là viết tắt của Raw Cleartext?
Hagen von Eitzen

1
Chắc chắn bạn đang nói đùa, nhưng nâng cao một điểm hợp lệ. Nó không phải là bị hỏng nặng, đây là một câu trả lời thực sự tốt về vấn đề này tại bảo mật: security.stackexchange.com/a/32498
cypres 18/10/14

2

Một chi tiết bị thiếu trong cuộc trò chuyện, dựa trên câu hỏi ban đầu, có thể là một ý tưởng tốt để lưu ý nó. TLS 1.0 cũng được gọi là SSL 3.1, vì vậy poster gốc, bạn nên xem cấu hình của mình, bạn đang chạy v3.0 hay v3.1


-3

Như với hầu hết mọi thứ, câu trả lời là "nó phụ thuộc". Trình duyệt duy nhất trong bất kỳ loại sử dụng "phổ biến" nào không hỗ trợ TLS là IE6. Thật không may, các báo cáo khác nhau nói rằng IE6 có thể bằng một vài phần trăm các yêu cầu HTTP toàn cầu (xem: http://news.netcraft.com/archives/2014/10/15/googles-poodle-affects-oodles.html ) . Tin vui, nếu bạn ở Bắc Mỹ, thì nó tương đối không phổ biến ở Mỹ. Để an toàn, bạn nên xem thống kê tác nhân người dùng từ nhật ký www của bạn. Trong trường hợp của tôi, có rất ít dấu vân tay IE6 mà tôi cho rằng tất cả chúng đều từ các công cụ kiểm tra.

Bạn có thể kiểm tra (các) trang web của mình với người kiểm tra của ssllab để xem các tác nhân khác nhau phản ứng như thế nào.

https://www.ssllabs.com/ssltest/

TL; DR - SSLv3 đã chết; TLS sống lâu.


15
IE6 không phải là phiên bản cuối cùng tương thích với XP, đây là phiên bản mà XP xuất xưởng. IE8 là phiên bản cuối cùng tương thích với XP.
Håkan Lindqvist

6
-1 do tính không chính xác thực tế cho thấy IE6 là phiên bản mới nhất trên xp.
TomTom

may be as much as a few percent of global HTTP requests. Tôi muốn một nguồn cho điều đó. CloudFlare nói điều này về cách sử dụng: In other words, even on an out-of-date operating system, 98.88% Windows XP users connected using TLSv1.0+( blog.cloudflare.com/, ). Đó là ít hơn nhiều so với "một vài phần trăm" trên toàn cầu.
mạo

1
Tôi nghi ngờ khách hàng của Cloudflares chủ yếu là các công ty lớn ở Bắc Mỹ. Số liệu tôi trích dẫn đến từ netcraft: news.netcraft.com/archives/2014/10/15/ "Mặc dù tuổi đời và sự hỗ trợ của Microsoft dành cho Windows XP, IE6 vẫn phổ biến, chiếm hơn 3,8% số lượt truy cập web trên toàn thế giới và 12,5% tại Trung Quốc. Lỗ hổng này có thể là hồi chuông báo tử cho IE6 và Windows XP. "
Joshua Hoblitt
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.