Xin vui lòng, xem các phần EDIT trong câu trả lời của riêng tôi; chúng chứa một lời giải thích cho câu hỏi hóc búa này .
Tôi đang cố gắng vô hiệu hóa RC4 cho máy chủ Apache 2.2.9 chạy trên VPS CentOS 6.5 và tôi dường như không thể thành công.
Một chứng chỉ xác thực doanh nghiệp đã mua gần đây đã được cài đặt và các kết nối SSL đang hoạt động tốt nhưng tôi muốn định cấu hình mọi thứ tốt nhất có thể, để "tăng cường bảo mật" như một số hướng dẫn đưa ra.
Kiểm tra cấu hình với Qualys SSL Labs, trang kết quả hiển thị "Máy chủ này chấp nhận mật mã RC4, yếu. Lớp được giới hạn ở B."
Tuy nhiên, tôi đã đặt cái này trong ssl.conf:
SSLCipherSuite HIGH:!aNULL:!eNULL:!EXPORT:!DES:!MD5:!PSK:!RC4:!SSLv2:!SSLv3
Tôi đã lưu tập lệnh được đưa ra trong câu trả lời cho câu hỏi này trong một tệp có tên test-ssl-ciphers.sh và thay đổi địa chỉ IP thành địa chỉ loopback. Đây là kết quả của ./test-ssl-ciphers.sh | grep -i "RC4"
:
Testing ECDHE-RSA-RC4-SHA...NO (sslv3 alert handshake failure)
Testing ECDHE-ECDSA-RC4-SHA...NO (sslv3 alert handshake failure)
Testing AECDH-RC4-SHA...NO (sslv3 alert handshake failure)
Testing ADH-RC4-MD5...NO (sslv3 alert handshake failure)
Testing ECDH-RSA-RC4-SHA...NO (sslv3 alert handshake failure)
Testing ECDH-ECDSA-RC4-SHA...NO (sslv3 alert handshake failure)
Testing RC4-SHA...NO (sslv3 alert handshake failure)
Testing RC4-MD5...NO (sslv3 alert handshake failure)
Testing RC4-MD5...NO (sslv3 alert handshake failure)
Testing PSK-RC4-SHA...NO (no ciphers available)
Testing KRB5-RC4-SHA...NO (no ciphers available)
Testing KRB5-RC4-MD5...NO (no ciphers available)
Testing EXP-ADH-RC4-MD5...NO (sslv3 alert handshake failure)
Testing EXP-RC4-MD5...NO (sslv3 alert handshake failure)
Testing EXP-RC4-MD5...NO (sslv3 alert handshake failure)
Testing EXP-KRB5-RC4-SHA...NO (no ciphers available)
Testing EXP-KRB5-RC4-MD5...NO (no ciphers available)
Mỗi dòng này chứa "KHÔNG", theo kịch bản, có nghĩa là máy chủ không hỗ trợ kết hợp mật mã được chỉ định.
Hơn nữa, lệnh chỉ grep -i -r "RC4" /etc/httpd
cung cấp cho tôi tệp ssl.conf đã đề cập ở trên.
Ngoài ra, chạy openssl ciphers -V
trên bộ mật mã của tôi cho thấy không có mật mã RC4 nào cả, điều này có ý nghĩa với chuỗi cấu hình.
Do đó, bằng cách nào đó tôi đã mất lý do tại sao các trang web kiểm tra SSL lại nói với tôi rằng "máy chủ chấp nhận RC4". Họ thậm chí liệt kê các mật mã sau đây được chấp nhận:
TLS_RSA_WITH_RC4_128_MD5
TLS_RSA_WITH_RC4_128_SHA
TLS_ECDHE_RSA_WITH_RC4_128_SHA
Có ai có một lời giải thích có thể? Tôi đang làm gì sai? Có lẽ có một nơi khác mà sự hỗ trợ của RC4 hoặc "chấp nhận" được cấu hình?
Cảm ơn.
[ EDIT ] Sử dụng CentOS 6.6 trong máy ảo tại nhà, tôi chạy lại đoạn script với VPS của mình bằng tên miền thay vì địa chỉ loopback. Thiết lập này ngụ ý rằng danh sách các mật mã được cung cấp bởi cá thể openssl trong VM: Tôi vẫn không có RC4 trong số các mật mã mang lại CÓ.