Khắc phục lỗ hổng BEAST trên Apache 2.0 chạy trên RHEL 4


11

Tôi có một máy chủ web chạy Apache 2.0 trên RHEL4. Máy chủ này gần đây đã thất bại trong việc quét PCI.

Lý do: Giao thức SSLv3.0 / TLSv1.0 Giải pháp dễ bị tổn thương ở chế độ CBC: Cuộc tấn công này được xác định vào năm 2004 và các phiên bản sau của giao thức TLS có sửa lỗi này. Nếu có thể, hãy nâng cấp lên TLSv1.1 hoặc TLSv1.2. Nếu không thể nâng cấp lên TLSv1.1 hoặc TLSv1.2, thì việc vô hiệu hóa mật mã chế độ CBC sẽ loại bỏ lỗ hổng. Sử dụng cấu hình SSL sau đây trong Apache để giảm thiểu lỗ hổng này: SSLHonorCodesOrder Trên SSLCodesSuite RC4-SHA: CAO :! ADH

Sửa chữa đơn giản, tôi nghĩ. Tôi đã thêm các dòng vào cấu hình Apache và nó không hoạt động. Rõ ràng
"SSLHonorCodesOrder On" sẽ chỉ hoạt động trên Apache 2.2 trở lên. Tôi đã thử nâng cấp Apache, sớm rơi vào địa ngục phụ thuộc và có vẻ như tôi sẽ phải nâng cấp toàn bộ HĐH để nâng cấp lên Apache 2.2. Chúng tôi sẽ nghỉ hưu máy chủ này trong một vài tháng vì vậy nó không xứng đáng.

Giải pháp cho biết "Nếu không thể nâng cấp lên TLSv1.1 hoặc TLSv1.2, thì việc vô hiệu hóa mật mã chế độ CBC sẽ loại bỏ lỗ hổng."

Làm thế nào tôi có thể làm điều này trên Apache 2.0? Điều này thậm chí có thể? Nếu không, có bất kỳ công việc khác xung quanh?


3
Vì hỗ trợ cập nhật mở rộng cho RHEL4 (.7) đã kết thúc một năm trước, tôi đề nghị có thể rút máy chủ sớm hơn là muộn hơn. Nếu không, có lẽ bạn sẽ cần xây dựng apache 2.2 từ nguồn.
DerfK

Máy chủ mới đã sẵn sàng nhưng chúng tôi không thể di chuyển cho đến tháng 12. Có, biên dịch và cài đặt Apache 2.2 từ các nguồn là tùy chọn cuối cùng cho đến bây giờ. Đã tự hỏi nếu có một công việc dễ dàng hơn xung quanh?
Debianuser

Câu trả lời:


11

Khác với việc biên dịch một Apache mới hơn bằng tay, điều duy nhất tôi có thể nghĩ đến là biến RC4-SHA thành mật mã được hỗ trợ duy nhất (được thử nghiệm openssl ciphers RC4-SHAtrên openssl hiện tại để đảm bảo nó chỉ in một mật mã, bạn có thể muốn làm như vậy để đảm bảo nó không khớp với một số mật mã cũ kỳ lạ trên openssl cũ của bạn):

SSLCipherSuite RC4-SHA

MS cho biết Windows XP hỗ trợ TLS_RSA_WITH_RC4_128_SHA vì vậy bạn không nên có bất kỳ vấn đề tương thích nào.


1
Chính xác những gì tôi đang tìm kiếm. Tôi đã thử nghiệm thành công bằng cách sử dụng beast-check.googlecode.com/files/beast.pl . Tôi sẽ lên lịch quét PCI và cho bạn biết sau khi hoàn thành.
Debianuser

Tôi có thể xác nhận điều này làm việc. Máy chủ đã thông qua quét PCI. Cảm ơn rât nhiều.
Debianuser

6

Chỉ có hai cách để "sửa" BEAST ở cấp máy chủ.

Tùy chọn tốt nhất là nâng cấp thư viện SSL của máy chủ của bạn lên một thư viện hỗ trợ TLS v1.1 trở lên (và đảm bảo khách hàng của bạn cũng hỗ trợ nó, vì vậy bạn có thể buộc họ sử dụng nó).

Tùy chọn khác là vô hiệu hóa bất kỳ thuật toán mã hóa CBC (Cypher-Block-Chaining) nào và chuyển sang sử dụng công cụ mã hóa ECB (Sách mã điện tử) hoặc một cái gì đó như RC4 (thuật toán ECB về mặt lý thuyết là "kém an toàn" hơn vì một đầu vào văn bản đã cho được mã hóa thành một mã đã cho khóa luôn ánh xạ trở lại cùng một cyphertext, điều này giúp dễ dàng phá vỡ hơn với các cuộc tấn công bằng văn bản đã biết, nhưng về mặt thực tế, đây không phải là một vấn đề lớn. Google (ví dụ) vẫn sử dụng RC4).

Vì máy chủ mà bạn đang chạy đã chết, bị chôn vùi và phân tách, điều này có lẽ không đáng với số lượng công sức cần thiết để xây dựng một Apache đã vá (bạn sẽ cần phải xây dựng lại Apache và OpenSSL một cách riêng lẻ, để không làm đảo lộn bất cứ điều gì yêu cầu phiên bản OpenSSL được cài đặt trên hệ thống của bạn theo mặc định - Nếu bạn đang làm nhiều việc như vậy, bạn cũng có thể nâng cấp toàn bộ hệ thống lên thứ gì đó thực sự được hỗ trợ), do đó, khá nhiều điều khiến bạn phải "Chuyển sang ECB Cyphers" như giải pháp khả thi của bạn.


BEAST thực sự là một kẻ tấn công không có gì của một cuộc tấn công ngày nay - Tất cả các trình duyệt phổ biến (IE, Chrome, Safari, Opera) đã triển khai một cách giải quyết hiệu quả và do cách thức hoạt động của cuộc tấn công này rất khó thực hiện bên ngoài trình duyệt (vì vậy aptyumvẫn còn khá nhiều an toàn).

Adam Langley từ Google đã có một cuộc nói chuyện xuất sắc vào đầu năm nay , trong đó nêu ra một số điểm đau mà bạn nên tập trung vào re: SSL và bảo mật - Trong khi BEAST nhận được một đề cập thì nó nằm gần cuối danh sách những điều cần lo lắng.


RC4 không phải là mật mã chế độ ECB. Sử dụng chế độ ECB sẽ là một sai lầm lớn và có những lý do chính đáng để TLS không có bộ mật mã ECB được hỗ trợ. Sử dụng một mật mã luồng như RC4 là một ý tưởng tồi tệ hơn nhiều, mặc dù các kết quả gần đây có nghĩa là nó trông kém hơn so với isg.rhul.ac.uk/tls
armb

4

Giải pháp duy nhất mà tôi đã tìm thấy sẽ giúp bạn vượt qua bài kiểm tra ssllabs.com là thêm bốn dòng sau vào tệp apache httpd.conf và tệp ssl.conf của bạn:

SSLHonorCodesOrder Bật

SSLProtocol -all + TLSv1 + SSLv3

SSLCodesSuite RC4-SHA: CAO :! MD5 :! AUULL :! EDH :! ADH

SSLInsecureRearotiation tắt

Đảm bảo rằng bạn không có bất kỳ cài đặt nào trong số các cài đặt này được đăng hai lần trong tệp ssl.conf.

Bây giờ các trang web của tôi vượt qua với một A.

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.