Logo Море(!) аналитической информации!
IT-консалтинг Software Engineering Программирование СУБД Безопасность Internet Сети Операционные системы Hardware

VPS в России, Европе и США

Бесплатная поддержка и администрирование

Оплата российскими и международными картами

🔥 VPS до 5.7 ГГц под любые задачи с AntiDDoS в 7 локациях

💸 Гифткод CITFORUM (250р на баланс) и попробуйте уже сейчас!

🛒 Скидка 15% на первый платеж (в течение 24ч)

Скидка до 20% на услуги дата-центра. Аренда серверной стойки. Colocation от 1U!

Миграция в облако #SotelCloud. Виртуальный сервер в облаке. Выбрать конфигурацию на сайте!

Виртуальная АТС для вашего бизнеса. Приветственные бонусы для новых клиентов!

Виртуальные VPS серверы в РФ и ЕС

Dedicated серверы в РФ и ЕС

По промокоду CITFORUM скидка 30% на заказ VPS\VDS

Мини-HOWTO: Защита информации в протоколе POP при помощи SSH
Пред.След.

Использование ваших почтовых программ

В этом разделе описывается настройка вашего почтового клиента на использование зашифрованного соединения при помощи ssh. В основном мы остановимся на fetchmail (прекрасная утилита приема и передачи почты от ESR), потому что это, пожалуй, самая гибкая почтовая программа, работающая в POP. fetchmail можно найти по адресу http://www.tuxedo.org/~esr/fetchmail/. Вы сделаете очень полезное дело, прочитав великолепную документацию, поставляемую вместе с fetchmail.

Настройка fetchmail

Ниже приведен мой файл .fetchmailrc

defaults
        user msingh is manish
        no rewrite

poll localhost with protocol pop3 and port 11110:
        preconnect "ssh -C -f msingh@popserver -L 11110:popserver:110 sleep 5"
        password foobar;

Достаточно просто, не так ли? fetchmail богат на команды, но ключевыми здесь являются preconnect и опция poll.

Мы соединяемся не напрямую с POP-сервером, а с нашей локальной машиной и портом 11110. Команда preconnect запускает переназначение ssh каждый раз при запуске fetchmail, оставляя соединение в работе на 5 секунд, за которые fetchmail должен установить свое собственное соединение. Остальное делает сам fetchmail.

Таким образом, при каждом запуске fetchmail будет запрашиваться ssh-пароль, необходимый для авторизации. Это не очень удобно, если вы запускаете fetchmail в фоновом режиме (как это делаю я). Это нас приводит к следующей главе.

Автоматизация

В ssh встроено много различных методов авторизации. Одним из них является использование пары открытых/закрытых ключей RSA. Вы можете сгенерировать авторизационный ключ, используя команду ssh-keygen. К этому ключу может быть привязана ключевая фраза, или она может быть пустой. Использовать или нет эту фразу зависит от того, насколько защищенной вы считаете вашу локальную систему.

Если вы считаете, что машина достаточно защищена, не вводите ключевую фразу. Тогда выше приведенный .fetchmailrc будет работать при обычном запуске fetchmail. Таким образом, вы сможете запускать fetchmail в фоновом режиме, и почта будет доставляться автоматически. У вас все готово.

Однако, если вам все-таки требуется ключевая фраза, то все немного усложняется. ssh может запускаться под управлением агента, который может регистрировать ключи и авторизовать все ssh-соединения, производимые под его управлением. Поэтому у меня имеется скрипт getmail.sh:

#!/bin/sh
ssh-add
while true; do fetchmail --syslog --invisible; sleep 5m; done

Я запускаю следующее каждый раз, когда я дозваниваюсь до провайдера:

$ ssh-agent getmail.sh

При таком варианте, моя ключевая фраза запрашивается один раз, затем почта проверяется каждые 5 минут. После того, как я закрываю соединение, отключаю и ssh-agent. (Это автоматизировано в моих скриптах ip-up и ip-down)

Если не использовать fetchmail

Что делать, если у вас нет возможности/желания использовать fetchmail? Pine, Netscape и некоторые другие клиенты имеют свои встроенные POP-механизмы. Во-первых, я все-таки советую использовать fetchmail! Он значительно более гибок, и многие почтовые клиенты вообще не могут делать то, что может fetchmail. И Pine, и Netscape можно настроить на использование локальной почты.

Но вам придется, если только в ваш клиент не встроена функция, аналогичная preconnect fetchmail-а, поддерживать переназначение портов ssh в течение всего времени подключения. Это означает примерно следующую команду: sleep 100000000 для того, чтобы ssh продолжал поддерживать соединение. С этим, правда, могут не согласиться администраторы вашей сети.

Второй проблемой является то, что в некоторые клиенты (например в Netscape) жестко вписан номер порта 110. Поэтому вам придется быть root-ом, для того чтобы переназначать привилегированные порты. Это, конечно, не совсем правильно. Но должно работать.


Пред.НачалоСлед.
Способ решения Разное
VPS/VDS серверы. 30 локаций на выбор

Серверы VPS/VDS с большим диском

Хорошие условия для реселлеров

4VPS.SU - VPS в 17-ти странах

2Gbit/s безлимит

Современное железо!

Бесплатный конструктор сайтов и Landing Page

Хостинг с DDoS защитой от 2.5$ + Бесплатный SSL и Домен

SSD VPS в Нидерландах под различные задачи от 2.6$

✅ Дешевый VPS-хостинг на AMD EPYC: 1vCore, 3GB DDR4, 15GB NVMe всего за €3,50!

🔥 Anti-DDoS защита 12 Тбит/с!

Новости мира IT:

Архив новостей

IT-консалтинг Software Engineering Программирование СУБД Безопасность Internet Сети Операционные системы Hardware

Информация для рекламодателей PR-акции, размещение рекламы — adv@citforum.ru,
тел. +7 495 7861149
Пресс-релизы — pr@citforum.ru
Обратная связь
Информация для авторов
Rambler's Top100 TopList This Web server launched on February 24, 1997
Copyright © 1997-2000 CIT, © 2001-2019 CIT Forum
Внимание! Любой из материалов, опубликованных на этом сервере, не может быть воспроизведен в какой бы то ни было форме и какими бы то ни было средствами без письменного разрешения владельцев авторских прав. Подробнее...