2010-11-10 71 views
3

我想知道使用GWT和SSL(實際上是在JBoss Web應用服務器上配置了TLS)的安全缺陷(如果有的話)。我與我的朋友討論過這個問題,他說即使我啓用HTTPS,一些惡意用戶也可以攔截我的.js文件並更改代碼並在服務器上進行身份驗證。我們假設,除了SSL之外,我們絕不會在電匯上發送純文本密碼(我們首先對其進行哈希)。這真的有可能嗎?具有SSL安全性的GWT

我想知道的另一件事是 - Javascript代碼(由GWT生成)如何激發RPC調用?我們使用Wireshark來嗅探客戶端對啓用了SSL的Web服務器的請求和響應,並且沒有任何RPC程序包正在進行傳輸。我們所看到的只是這些TLS協議數據包,我們可以通過對客戶端和Web服務器的源和目標IP地址使用過濾器來輕鬆識別它們。

回答

4

如果您還通過HTTPS發送您的.html和.js文件,那麼 - 一般來說 - 在傳輸過程中,任何人都無法操作它們。當然,還有一些實際問題:

  • TLS實現是否有任何錯誤?
  • TLS協議有缺陷嗎?
  • 客戶端的瀏覽器或計算機是否受損?
  • 服務器是否受損?
  • ...

假設,事實並非如此。但是接下來有你的聲明:

我們假設除了SSL之外,我們從不在線上發送純文本密碼(我們首先對其進行哈希)。

那麼你不通過SSL發送的一切?那麼,你不通過SSL發送的東西可以在傳輸過程中被盜取和操縱。我想,你的朋友的意思是,散列的密碼可能被盜用!即使攻擊者可能無法重建明文密碼,如果您的服務器接受散列密碼,他也可以簡單地使用散列密碼。

另請參閱我的回答GWT/Javascript client side password encryption


關於第二個問題:

我們使用Wireshark的嗅探到啓用了SSL的Web服務器請求和響應從客戶,有沒有RPC包去角落找尋的。我們所看到的只是這些TLS協議包......

嗯,我真的很希望如此!您的RPC調用是這些數據包的加密有效負載。如果您可以提供私鑰給Wireshark(使用生產密鑰時要非常小心!),您可以使用Wireshark's SSL dissector來破譯包裹。

+0

我真的不知道爲什麼我期待RPC數據包。當我用真正的Java RPC做一些工作時,我可以看到RPC數據包通過網絡,但這只是HTTP協議負載的一部分。 – Zec 2010-11-11 08:07:32

+0

我很抱歉排序 - 恢復此主題。但我遇到了同樣的問題。所以如果我想爲我的客戶端<->服務器通信安全 - 那麼我必須切換到SSL,對吧?我的應用程序顯示多個頁面。其中一些適用於所有人,一些僅適用於登錄用戶(例如管理配置文件僅適用於已登錄的用戶)。那麼做這件事的最佳做法是什麼? – Igor 2011-12-04 02:40:36

0

要完全確定您的SSL/TLS配置,我建議您使用一些外部工具。到目前爲止,對我來說最準確的是SSL/TLS Server Test。您可以在此看到您的配置如何符合PCI DSS要求或HIPAA和NIST的指南,這些是保護SSL/TLS的行業標準。