0

我有一个(希望如此)简单的问题。当您在公共网络上时,是否可以使用 SSHD 隧道通过 JavaMail 安全地访问您的 Microsoft Exchange 服务器?我读到有人使用 SSHD 隧道安全地使用机场 wifi,我可以为我的邮件客户端做同样的事情吗?

考虑以下代码片段,它目前允许我登录到我的邮件服务器(假设用户名和密码正确)

1 Properties props = System.getProperties();
2 props.setProperty("mail.imap.port", "993");
3 Session session = Session.getInstance(props, null);
4 Store store = session.getStore("imaps");
5 store.connect(host, name, pass);

我的问题在第 2 行,端口 993 在我的机器上还是邮件服务器上?我可以使用端口 8080 将 SSHD 简单地连接到我的办公室,并将 8080 替换为 993,从而使用我设置的安全隧道吗?

注意:据我所知,我没有加密任何网络流量,即使它通过“安全无线”自然加密,我仍然想要额外的保护层。感谢您花时间阅读

4

2 回答 2

1

端口 993 在邮件服务器上。除非您可以通过 ssh 进入运行您的邮件服务器的机器,否则设置您需要的隧道并不容易。如果您只能通过 ssh 进入您的办公室机器,则您需要该机器上的一个端口,您可以从那里连接并访问您的邮件服务器。您可以使用 netcat 程序之类的东西来设置一系列隧道,但又不是那么简单。

于 2012-06-17T22:59:52.283 回答
0

您可能阅读了 ssh 中的代理服务器支持。在这种情况下,您想要的更简单。

ssh -L 8080:mailserver:993 user@officepc

该语句说监听本地机器的端口 8080。到端口 8080 的流量应该转到 mailserver:993。要到达 mailserver:993,流量首先通过与 officepc 的安全连接。

因此,您将修改应用程序以连接到 localhost:8080。

请注意,localhost->officepc 之间的流量受 ssh 保护,但来自 officepc->mailserver 的流量不受 ssh 保护(但如果协议是安全的,则可能是安全的)。如果 ssh 在邮件服务器上运行,您可以:

ssh -L 8080:mailserver:993 user@mailserver

这种类型的东西对于网上冲浪比使用电子邮件更重要,因为使用电子邮件更容易确保您已经在使用 SSL/TLS。

然而,有时为了打击垃圾邮件,互联网提供商可能会阻止邮件端口(25 是最常见的)。SSH 隧道可以在这种情况下提供帮助。

于 2012-06-20T03:41:26.760 回答