2015-07-10 18 views
6

Trong công ty tôi làm việc, chúng tôi có một máy chủ GF 3.1.1 (JDK 6) với CAS thực hiện xác thực người dùng trong hệ thống khác. Sau khi cập nhật cuối cùng của Firefox (. V 39x), chúng tôi đang nhận được các thông tin theo từ trình duyệt:GF3 (JDK 6) cách cấu hình giao thức bảo mật để xóa mật mã lỗi thời

mydomain.com SSL nhận một phù du chìa khóa Diffie-Hellman yếu trong tin bắt tay Máy chủ Key Exchange.

Và không thể truy cập trang web mà không cần this workaround hoặc sử dụng một trình duyệt khác. Trong chrome tôi có thể truy cập bình thường nhưng nếu tôi nhìn vào thuộc tính kết nối nó nói:

Kết nối của bạn được mã hóa với mật mã quá cũ.

Kết nối sử dụng TLS 1.0.

Kết nối được mã hóa bằng cách sử dụng AES_128_CBC, với SHA1 để xác thực thư là DHE_RSA làm cơ chế trao đổi khóa .

Tôi không thể định cấu hình tất cả trình duyệt của khách hàng hoặc nói rằng họ chỉ sử dụng chrome. Có lẽ trong tương lai Chrome có thể làm tương tự. Vì vậy, giải pháp của tôi là cấu hình máy chủ đúng cách. Vấn đề là tôi không biết làm thế nào tôi có thể làm điều đó.

tôi tìm thấy trong GF nơi tôi có thể thực hiện cấu hình trong Configurations> Máy chủ-config> Mạng Config> Giao thức> http-listner-2> SSL

Sau đó, tôi tìm thấy here một danh sách đen và danh sách trắng của một số thuật toán mã hóa mà được khuyến khích sử dụng. Tôi đã cố gắng để loại bỏ tất cả trong màu đen và đặt tất cả những người trong trắng. Nhưng tôi vẫn có vấn đề. Tôi nghĩ danh sách này có thể đã lỗi thời.

Tôi đánh giá cao bất kỳ trợ giúp nào.

+0

Vì vậy, bạn đang hỏi gì? Để có danh sách mật mã cập nhật? – Fildor

+0

Nhiều hơn hoặc ít hơn. Như tôi đã hiểu, tôi phải cập nhật phiên bản TLS 1.0 lên 1.1 hoặc 1.2 tốt hơn và sử dụng mật mã được khuyến nghị (danh sách cập nhật). GF có một danh sách các mật mã mà tôi chọn những gì tôi muốn sử dụng, nhưng tôi không biết phải làm gì khi tôi phải thiết lập một mật mã không được liệt kê ở đó. – Sertage

+0

Thực tế bây giờ cũng có Chrome barfs trên Glassfish. Nhưng xem giải pháp dưới đây. –

Trả lời

9

Cuối cùng. Tôi tìm thấy một giải pháp. Tôi tìm kiếm rất nhiều và tôi có thể tìm thấy một giải pháp, vì vậy tôi đã cố gắng kiểm tra từng cái một trong các thuật toán mã hóa. Vì vậy, để làm việc (tôi không nói đó là cách đúng). Tôi phải làm điều này:

tại:

Configurations> Máy chủ-config> Mạng Config> Giao thức> http-listner-2> SSL

  1. Thêm tất cả các thuật toán mã hóa có sẵn
  2. Xóa tất cả các thuật toán mã hóa Diffie-Hellman
  3. Lưu

Sau đó, ứng dụng của chúng tôi có thể được mở lại ở bất kỳ trình duyệt nào. Tôi hy vọng nó có thể giúp một ai đó.

Đối với admin:

Configurations> Máy chủ-config> Dịch vụ HTTP> Người nghe HTTP> admin-listner> SSL

  1. Thêm tất cả các thuật toán mã hóa có sẵn
  2. Hủy bỏ tất cả các Diffie Mật mã -Hellman
  3. Lưu
  4. Khởi động lại

Edit: So sánh với whitelist here các thuật toán mã hóa còn lại đó sẽ là một phần của một danh sách trắng mới là:

Whitelist

  1. TLS_RSA_WITH_AES_128_CBC_SHA
  2. SSL_RSA_WITH_3DES_EDE_CBC_SHA
1

Cảm ơn, Sertage, đã hoạt động!

Tuy nhiên, cũng cần phải khắc phục Giao thức cho cổng quản trị (thường là 4848). (Tất nhiên, nó cũng nên sử dụng HTTPS!)

Nhưng, trong GF 3.1.2.2, Giao thức 'quản trị viên nghe' dường như là kiểu trỏ đến Giao thức 'quản trị viên-người nghe' và không có tab 'SSL'. Thay đổi các tham số SSL Giao thức 'quản trị viên nghe' kết quả trong một thông báo lỗi, nói rằng 'Không thể áp dụng thay đổi. Không tìm thấy cấu hình nào cho configs.config.server-config.network-config.protocols.protocol.admin-listener.ssl '. Bất kỳ đề xuất về cách cấu hình cổng quản trị?

+0

Thật tốt khi biết rằng tôi có thể giúp ai đó. Như, trong công ty của chúng tôi, chúng tôi chỉ có quyền truy cập vào máy chủ bởi mạng nội bộ giao thức quản trị bị tắt. Nhưng bạn nói đúng, nó cũng nên được an toàn. Tôi sẽ cố gắng xem liệu tôi có thể tìm ra điều gì đó không. – Sertage

+2

@PerLindberg Đầu tiên thay đổi một giao thức khác dọc theo các dòng được mô tả bởi Sertage. Sau đó, tôi nghĩ bạn có thể sao chép thay đổi sang giao thức người nghe-quản trị viên bằng cách chỉnh sửa tệp domain.xml. Sao chép thuộc tính ssl3-tls-ciphers từ phần tử ssl trong phần tử giao thức mà bạn đã thay đổi và thêm nó vào phần tử ssl trong giao thức sec-admin-listener. Hãy chắc chắn để sao lưu thư mục cấu hình của bạn. – mikeatv

+0

Cảm ơn, đã hoạt động! Chỉ cần sao chép thuộc tính XML ssl3-tls-ciphers từ đến . –

2

Tôi vừa gặp sự cố này với Chrome và bảng điều khiển dành cho quản trị viên. Cách tôi nhận được xung quanh nó là xóa chứng chỉ ssl hiện tại cho người nghe và tạo lại nó bằng cách sử dụng một bộ mật mã cụ thể với tùy chọn --ssl3tlsciphers. Đối với tôi nó là admin-listener vì vậy đầu tiên tôi đã xóa các chứng chỉ mặc định hiện tại:

asadmin delete-ssl --type http-listener admin-listener 

Sau đó, tôi tái tạo nó bằng cách sử dụng lệnh sau:

asadmin create-ssl --type http-listener --certname s1as --ssl3tlsciphers SSL_RSA_WITH_RC4_128_MD5,SSL_RSA_WITH_RC4_128_SHA,TLS_RSA_WITH_AES_128_CBC_SHA,SSL_RSA_WITH_3DES_EDE_CBC_SHA,SSL_RSA_WITH_DES_CBC_SHA,SSL_RSA_EXPORT_WITH_RC4_40_MD5,SSL_RSA_EXPORT_WITH_DES40_CBC_SHA,TLS_EMPTY_RENEGOTIATION_INFO_SCSV,SSL_RSA_WITH_NULL_MD5,SSL_RSA_WITH_NULL_SHA,SSL_DH_anon_WITH_RC4_128_MD5,TLS_DH_anon_WITH_AES_128_CBC_SHA,SSL_DH_anon_WITH_3DES_EDE_CBC_SHA,SSL_DH_anon_WITH_DES_CBC_SHA,SSL_DH_anon_EXPORT_WITH_RC4_40_MD5,SSL_DH_anon_EXPORT_WITH_DES40_CBC_SHA admin-listener 

tôi nhận thấy rằng chỉ cần xóa các chứng chỉ mặc định doesn' t loại bỏ tất cả các tham chiếu đến nó trong tệp domain.xml. Tôi đã không thể tìm ra cách thích hợp để làm điều này. Tôi chỉ sử dụng thử và sai. Phương pháp khác là sửa đổi các tập tin domain.xml nơi các yếu tố ssl cho người nghe được định nghĩa và thêm thuộc tính "SSL3-tls-mật mã":

<ssl ssl3-tls-ciphers="SSL_RSA_WITH_RC4_128_MD5,SSL_RSA_WITH_RC4_128_SHA,TLS_RSA_WITH_AES_128_CBC_SHA,SSL_RSA_WITH_3DES_EDE_CBC_SHA,SSL_RSA_WITH_DES_CBC_SHA,SSL_RSA_EXPORT_WITH_RC4_40_MD5,SSL_RSA_EXPORT_WITH_DES40_CBC_SHA,TLS_EMPTY_RENEGOTIATION_INFO_SCSV,SSL_RSA_WITH_NULL_MD5,SSL_RSA_WITH_NULL_SHA,SSL_DH_anon_WITH_RC4_128_MD5,TLS_DH_anon_WITH_AES_128_CBC_SHA,SSL_DH_anon_WITH_3DES_EDE_CBC_SHA,SSL_DH_anon_WITH_DES_CBC_SHA,SSL_DH_anon_EXPORT_WITH_RC4_40_MD5,SSL_DH_anon_EXPORT_WITH_DES40_CBC_SHA" classname="com.sun.enterprise.security.ssl.GlassfishSSLImpl" cert-nickname="s1as"></ssl> 

Cả hai phương pháp yêu cầu khởi động lại glassfish.

Các vấn đề liên quan