【问题标题】:JavaMail use of SSHD ports (when on open networks)JavaMail 使用 SSHD 端口(在开放网络上时)
【发布时间】:2012-06-19 23:17:26
【问题描述】:

我有一个(希望如此)简单的问题。当您在公共网络上时,是否可以使用 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,从而使用我设置的安全隧道吗?

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

【问题讨论】:

    标签: java jakarta-mail wireless sshd port-number


    【解决方案1】:

    您可能阅读过 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 隧道可以在这种情况下提供帮助。

    【讨论】:

      【解决方案2】:

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

      【讨论】:

      • 感谢您的快速回复,我会考虑从我的办公室机器转发。
      猜你喜欢
      • 2016-11-24
      • 2021-12-29
      • 2014-11-10
      • 2016-08-08
      • 2013-01-08
      • 1970-01-01
      • 2016-02-16
      • 1970-01-01
      • 2012-10-17
      相关资源
      最近更新 更多