JavaMail использует порты SSHD (в открытых сетях)

У меня (надеюсь) простой вопрос. Можно ли использовать туннелирование SSHD для безопасного доступа к серверу Microsoft Exchange с помощью JavaMail, когда вы находитесь в общедоступной сети? Я читал о том, что кто-то использует туннелирование SSHD для безопасного использования Wi-Fi в аэропорту. Могу ли я сделать то же самое для своего почтового клиента?

Рассмотрим следующий фрагмент кода, который в настоящее время позволяет мне войти на мой почтовый сервер (при условии правильного имени пользователя и пароля)

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 на моей машине или на почтовом сервере? Могу ли я подключиться к своему офису с помощью простого SSHD, используя порт 8080 и заменить 8080 на 993, используя настроенный безопасный туннель?

Примечание: насколько мне известно, я не шифрую сетевой трафик, и даже если он естественным образом зашифрован с помощью «защищенной беспроводной сети», мне все равно нужен дополнительный уровень защиты. Спасибо, что нашли время прочитать


person Kyte    schedule 17.06.2012    source источник


Ответы (2)


Порт 993 находится на почтовом сервере. Если вы не можете подключиться по ssh к машине, на которой работает ваш почтовый сервер, настроить нужный туннель будет непросто. Если вы можете подключиться только по ssh к своему офисному компьютеру, вам понадобится порт на этом компьютере, к которому вы можете подключиться и оттуда получить доступ к своему почтовому серверу. Вы можете использовать что-то вроде программы netcat для настройки серии туннелей, но опять же не все так просто.

person Bill Shannon    schedule 17.06.2012
comment
Спасибо за быстрый ответ, я посмотрю на пересылку со своего офисного компьютера. - person Kyte; 18.06.2012

Вы наверняка читали о поддержке прокси-сервера в ssh. То, что вы хотите в этом случае, проще.

ssh -L 8080:mailserver:993 user@officepc

В этом заявлении говорится, что слушайте порт 8080 локальной машины. И трафик на порт 8080 должен идти на почтовый сервер: 993. Чтобы добраться до почтового сервера:993, трафик сначала проходит через безопасное соединение с офисным компьютером.

Таким образом, вы должны изменить приложение для подключения к локальному хосту: 8080.

Имейте в виду, что трафик между localhost->officepc защищен ssh, но от officepc->mailserver не защищен ssh (но может быть защищен, если протокол защищен). Если ssh работает на почтовом сервере, вы можете:

ssh -L 8080:mailserver:993 user@mailserver

Этот тип материала немного важнее для веб-серфинга, чем для электронной почты, просто потому, что с электронной почтой вам легче убедиться, что вы уже используете SSL/TLS.

Однако иногда, пытаясь бороться со спамом, интернет-провайдеры могут блокировать почтовые порты (наиболее часто используется 25). Туннели SSH могут помочь в этом сценарии.

person Chase    schedule 20.06.2012