2010-11-10 100 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的行业标准。