2

我有两个计算机系统,每个系统都有一个 apache 服务器。一台机器是客户端机器,另一台是服务器机器。我希望客户端请求和服务器响应都被加密,从而使数据传输安全。

有人可以就我如何在这方面取得进展提供指点/步骤。通信不涉及任何 GUI 组件,这意味着通信纯粹是一个后端。

客户端和服务器都是用java编码的。我正在使用 Axis2 和 jaxws 进行通信。

目前,我能够在不启用 SSL 的情况下发送客户端请求并接收服务器响应。现在如果我启用 SSL 是否意味着我也应该根据 SSL 修改现有代码,或者当前工作代码仍然有效。

4

2 回答 2

0

一个相当简单的选项是使用stunnel,它可以通过大多数 *NIX 系统上的标准包管理器获得。您将 stunnel 配置为一台服务器上的客户端(如果您使用服务器),然后将另一台服务器配置为服务器(如果您愿意,还有客户端),然后将您的 Tomcat 实例配置为连接到 localhost:XYZ ,其中 XYZ 是端口stunnel 在哪里听。

使用它的好处stunnel是您可以使用它来隧道任何协议:它既不是特定于 Tomcat 的技术,也不是特定于 Java 的技术,因此如果您愿意,您可以将它用于同一环境中的其他应用程序。

于 2012-07-26T18:30:19.333 回答
0

你在这里有很多选择。既然您提到 SSL... 在每台服务器上生成一个非对称密钥对(RSA 2048 是一个安全的选择)。然后在每台服务器上创建一个自签名证书。然后将每个证书复制到另一台机器上,并将其标记为受 apache 正在使用的 Java 环境的信任,并且 NONE OTHER 是受信任的。在每个 apache 上配置 SSL/TLS 以使用良好的对称密码(3DES 是一个安全的选择,但如果您想要领先优势,还有其他更新的密码)。接下来确保 Tomcat 服务器之间的所有访问都是通过 https URL 进行的,并且您的状态应该不错。

另一种方法是使用 IPSEC 在使用证书或其他信任库的两个服务器之间建立静态隧道。

于 2012-07-26T17:31:23.217 回答