2015-07-10 48 views
6

在我工作的公司中,我們有一臺帶有CAS的服務器GF 3.1.1(JDK 6),用於在另一個系統中對用戶進行身份驗證。火狐(訴39X)的最後一次更新後,我們都可以從瀏覽器中遵循信息:GF3(JDK 6)如何配置安全協議以刪除過時的密碼術

mydomain.com SSL收到 服務器密鑰交換握手消息暫時Diffie-Hellman密鑰。

如果沒有this workaround或使用其他瀏覽器,則無法訪問該站點。 在鉻我可以正常訪問,但如果我看看它的連接屬性它說:

您的連接是用過時的加密加密。

連接使用TLS 1.0。

連接使用 AES_128_CBC進行加密,SHA1用於消息認證,DHE_RSA用作 密鑰交換機制。

我無法配置我們的客戶的所有瀏覽器或說他們只使用鉻。也許在未來的鉻可以做同樣的事情。所以我的解決方案是正確配置服務器。問題是我不知道我該怎麼做。

我在GF哪裏可以做在配置的配置中找到>服務器配置>網絡配置>協議> HTTP-聽者-2> SSL

然後我發現here黑名單和一些密碼的白名單建議使用。我試圖刪除所有黑色,並把所有的白色。但我仍然有這個問題。我認爲這份清單可能已過時。

我很感激任何幫助。

+0

那你在問什麼?有關最新的密碼列表? – Fildor

+0

或多或少。據我瞭解,我必須更新版本的TLS 1.0到1.1或1.2更好,並使用推薦的密碼(最新列表)。 GF有一個密碼列表,我可以選擇我想使用的密碼,但是我不知道當我必須設置未列在其中的密碼時會發生什麼。 – Sertage

+0

確實現在Glassfish上也有Chrome barfs。但看到下面的解決方案 –

回答

9

最後。我找到了解決方案。 我搜索了很多,我可以找到一個解決方案,所以我試圖逐一測試密碼。所以,工作(我不是說這是正確的方式)。我不得不這樣做:

在:

配置>服務器配置>網絡配置>協議> HTTP-聽者-2> SSL

  1. 添加所有可用
  2. 的密碼
  3. 刪除所有的Diffie-Hellman密碼
  4. 保存

之後,我們的應用程序可以在任何瀏覽器再次打開。我希望它可以幫助某人。

有關admin:

配置>服務器配置>服務HTTP>監聽HTTP>管理 - 聽者> SSL

  1. 將所有可用的密碼
  2. 刪除所有迪菲 - 赫爾曼密碼
  3. 保存
  4. 重新啓動

編輯:whitelist here剩餘的密碼,這將是一個新的白名單中的一部分比較有:

白名單

  1. TLS_RSA_WITH_AES_128_CBC_SHA
  2. SSL_RSA_WITH_3DES_EDE_CBC_SHA
1

謝謝,Sertage,工作!

但是,還需要修復管理端口的協議(通常爲4848)。 (當然,它也應該使用HTTPS!)

但是,在GF 3.1.2.2中,協議'管理監聽器'似乎有點指向協議'sec-admin-listener',並且沒有「SSL」標籤。更改SSL參數Protocol'admin-listener'會導致錯誤消息,說'無法應用更改。找不到configs.config.server-config.network-config.protocol.protocol.admin-listener.ssl'的配置。有關如何配置管理端口的任何建議?

+0

很高興知道我可以幫助別人。因爲在我們公司,我們只能通過內部網絡訪問服務器,因此管理協議被禁用。但是你是對的,它也應該是安全的。我會試着看看我能弄清楚什麼。 – Sertage

+2

@PerLindberg首先根據Sertage描述的方法改變另一個協議。然後我認爲可以通過編輯domain.xml文件將更改複製到sec-admin-listener協議。從您更改的協議元素中的ssl元素中複製ssl3-tls-ciphers屬性,並將其添加到sec-admin-listener協議中的ssl元素。一定要備份你的配置目錄。 – mikeatv

+0

謝謝,這工作!只需將中的XML屬性ssl3-tls-cipher複製到。 –

2

我剛剛遇到了這個問題以及Chrome和管理控制檯。我解決這個問題的方式是刪除偵聽器的當前ssl證書,並使用特定的一組密碼和--ssl3tlsciphers選項重新創建它。對我來說,這是管理偵聽所以首先我刪除了當前默認證書:

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

然後我重新創建它使用以下命令:

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刪除domain.xml文件中的所有對它的引用。我一直無法找到正確的方法來做到這一點。我只是用了試驗和錯誤。另一種方法是修改,其中對於聽者的SSL元素被定義domain.xml文件並添加屬性「SSL3-TLS-密碼」:

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

兩種方法都需要的glassfish的重新啓動。