CommuniGate Pro
Версия 6.3
 

Миграция на CommuniGate Pro

Если на вашей системе уже был запущен какой-нибудь почтовый сервер, то вам, возможно, будет необходимо интегрировать существующую почтовую инфраструктуру в почтовую систему CommuniGate Pro.

Для того, чтобы перевести всех пользователей, вам необходимо:

  • создать всех существующих пользователей в Сервере CommuniGate Pro, используя имеющиеся настройки пользователей, и первую очередь - пароли
  • перенести всю хранимую электронную почту со старого сервера на новый Сервер CommuniGate Pro

Поддержка Сетевых Пользователей

Пользователи, которые получают доступ к Серверу, используя любой из стандартных в сети Интернет протоколов (POP, IMAP), не должны менять свои почтовые программы или их настройки - CommuniGate Pro поддерживает не только публичные протоколы, но также и большинство неофициальных расширений этих протоколов.

Использование существующих файлов почтовых ящиков

Одним из форматов для почтовых ящиков в CommuniGate Pro является текстовый формат почтового ящика, такой же как в BSD: почтовый ящик представляет собой текстовый файл, в котором сообщения разделяются пустой строкой, за которой следует строка, начинающаяся с From .

Так как большинство существующих почтовых систем использует этот формат, то при миграции на CommuniGate Pro могут использоваться существующие почтовые ящики. Необходимо или скопировать файлы старых почтовых ящиков в соответствующее место в директорию пользователя в CommuniGate Pro, и, таким образом, будут использоваться старые почтовые ящики.

Обратите внимание: когда CommuniGate Pro хранит сообщения в почтовом ящике формата BSD, он добавляет дополнительные поля к строке-разделителю (From ). Эти поля игнорируются существующими почтовыми программами и почтовыми серверами, но они позволяют Серверу CommuniGate Pro хранить статус сообщения и информацию об уникальном идентификаторе сообщения. Когда вы указываете вашему Серверу CommuniGate Pro использовать BSD формат почтового ящика, используемого совместно со старой почтовой системой, то он генерирует предупреждения (записи в Журнал) об отсутствии полей в разделителе сообщений. Сервер будет открывать такие почтовые ящики: он создаст пустой набор флагов статуса сообщения, и будет генерировать уникальные идентификаторы прямо в процессе работы. Когда пользователь читает, передвигает и/или удаляет старую почту из своего почтового ящика, сообщения, сохранённые старой почтовой системой постепенно заменяются, и Сервер прекратит выдавать предупреждения при открытии этих почтовых ящиков.


Преобразование Паролей

Если ваш старый почтовый сервер авторизовывал клиентов, используя информацию о пользователях и паролях из операционной системы Unix (файлы passwd и shadow), то вы можете просто указать опцию Пароль из ОС для этих пользователей и Сервер CommuniGate Pro будет использовать для этих пользователей механизмы аутентификации операционной системы.

Так как пароли в операционной системе односторонне зашифрованы, они не могут использоваться для методов безопасной SASL аутентификации. Для того, чтобы мигрировавшие пользователи могли использовать методы безопасной SASL аутентификации, примените следующую процедуру:
  • укажите опцию Пароль из ОС или в настройках Пользователя по Умолчанию, или в Шаблоне Пользователя.
  • укажите пустую строку в качестве CommuniGate-Пароля в Шаблоне Пользователя.
  • импортируйте список Пользователей без поля Password.

Пользователи смогут подсоединяться к серверу, используя свои старые пароли в ОС - те же, что они использовали со старой почтовой системой. Когда пользователи меняют пароль, то новый пароль сохраняется как пароль CommuniGate. Все пользователи, которые изменили свои пароли, смогут использовать механизм безопасной SASL аутентификации.

В некоторых случаях вы не сможете использовать этот метод. Например, вы переводите пользователей с другого сервера, и вы не регистрировали их всех в операционной системе нового сервера, но вы имеете файл passwd со старого сервера. В этом случае вы можете ввести пароль в стиле Unix (crypt -зашифрованный) как пароль (внутренний) для CommuniGate Pro.

Для того, чтобы сервер CommuniGate Pro обрабатывал внутренний пароль как U-crpt (crypt-зашифрованный) или как другой поддерживаемый тип зашифрованного пароля (смотрите ниже), сохраните пароль в настройках Пользователя с однобайтовым префиксом 002. Если вы хотите создать пользователя test используя интерфейс командной строки CLI и Unix (crypt -зашифрованный) паролей для этого пользователя является AslUzT1JkPsocc, то используйте следующую команду CLI:
createaccount "test" {Password="\002AslUzT1JkPsocc";}

Если вы создаёте пользователей импортируя список пользователей из текстового файла, то поместите строку пароля Unix в столбец UnixPassword, а не в столбец Password. В этом случае, Загрузчик автоматически добавит префикс 002 ко всем парольным строкам. Если вы создаёте пользователей используя возможности Управления пользователями через LDAP, то укажите зашифрованный пароль как атрибут unixPassword.

В Установках Пользователей новых пользователей надо указать один из методов шифрования пароля CommuniGate Pro ("не шифровать" или "A-crpt"). Пользователи смогут регистрироваться, используя свои старые Unix-зашифрованные пароли. Когда они попытаются изменить свой пароль, будет сохранена новая парольная строка, используя указанный механизм шифрования паролей CommuniGate Pro. Все пользователи, которые изменили свои пароли, смогут использовать механизм безопасной SASL аутентификации.

Некоторые сервера, созданные компаниями Netscape и Software.com, хранят пароли пользователей используя несколько методов шифрования. Когда пароли запрашивается с таких серверов, они имеют следующую форму:
{method}eNcoDeD
или
$method$eNcoDeD
где method указывает на один из стандартных методов шифрования, а строка eNcoDeD является зашифрованным паролем (иногда в кодировке Base64).

CommuniGate Pro может использовать эти пароли таким же образом, как он использует зашифрованные пароли Unix, и они должны быть введены тем же способом: вы должны использовать бинарный префикс 002 и команду CLI и/или вы должны поместить эти пароли в поле UnixPassword в Файле Импорта Пользователей.

Поддерживаются следующие методы шифрования:
  • {crypt} - стандартный метод Unix crypt.
  • {WM-CRY} - стандартный метод Unix crypt (такой же, как {crypt}).
  • {MD5} - метод MD5 (представленный в кодировке Base64 дайджест MD5 парольной строки).
  • {SHA} - метод SHA1 (представленный в кодировке Base64 дайджест SHA1 парольной строки).
  • {NS-MTA-MD5} - метод, основанный на MD5, используемый серверами Post.Office и старыми серверами Netscape Messaging (eNcoDeD часть содержит 64 шестнадцатеричные цифры).
  • {SSHA} - метод "приправленный SHA1" (представленный в кодировке Base64 дайджест SHA1 дополнительной 8-байтовой специальной случайной последовательности ("приправы") и парольной строки). Этот метод используется в приложении Sun Directory Server.
  • {LANM} - хэш-код "LAN Manager", используемый серверами в Microsoft Windows (eNcoDeD часть содержит 32 шестнадцатеричные цифры).
  • {MSNT} - хэш-код "Microsoft NT", используемый в серверах Microsoft Windows (eNcoDeD часть содержит 32 шестнадцатеричные цифры).
  • $1$ - хэш-код, основанный на методе MD5, используемый в FreeBSD и некоторых других Unix-системах.
  • $2a$ - хэш-код, основанный на методе BlowFish, используемый в OpenBSD и некоторых других Unix-системах.
Ниже приводится образец файла Импорта:
NameUnixPasswordТип кодировки пароля
user1 YIdhkjeHDKbYsjiUnix-crypt
user2 {SHA}Ue4Erbim2TC7CmuukMOBejeytr2=Дайджест SHA1
user3 {MD5}zverMUhsgJUIDjeytr2=Дайджест MD5
user4 {crypt}YIdhkjeHDKbYsjiUnix-crypt, такой же как для аккаунта user1
user5 $1$VlPrB$vNjOAytB3W.j0bkkbaN2Z.Дайджест MD5 по методу BSD

Вы можете использовать сценарий CLI в CommuniGate Pro для автоматического импорта всех пользователей и их паролей из файла /etc/passwd операционной системы. Смотрите образец сценария на сайте CommuniGate Perl Интерфейс.


Миграция с sendmail

Если вы мигрируете с почтовой системы, работающей на sendmail, вам будет полезна следующая информация:
Файл aliases
Файл псевдонимов sendmail позволяет администраторам перенаправлять локальную почту на один или несколько адресов. Sendmail подразумевает под термином "alias" слишком много различных вещей, и вы должны задействовать соответствующие функции в CommuniGate Pro для реализации различных функций "aliases", используемых в sendmail:
  • Каждый пользователь может иметь один или несколько псевдонимов. Почта, отправленная на любой из псевдонимов пользователя, перенаправляется непосредственно на пользователя. Если в домене domain.dom пользователь john.smith имеет псевдонимы j.smith и smith, то почта, отправленная на адреса j.smith@domain.dom и smith@domain.dom доставляется на адрес пользователя john.smith@domain.dom. Когда пользователь переименовывается, его псевдонимы автоматически начинают указывать на новое имя, а когда пользователь удаляется, то также удаляются и все его псевдонимы.
  • Объект Переадресатор, создаваемый в Домене, позволяет вам перенаправлять все почту, отправленную на определённый адрес в этом домене на любой другой адрес. Так, Переадресатор susan.smith, созданный в домене domain.dom будет перенаправлять всю почту, отправленную на адрес susan.smith@domain.dom на другой адрес susan@otherisp.dom.
  • Объект Группа Домена позволит вам перенаправить почту, отправляемую на некоторый адрес в домене на любое количество адресов.
  • Модуль Router позволит вам перенаправить почту, отправляемую на определённые адрес, на любой другой адрес. Запись Псевдонима в Маршрутизаторе <*.smith@domain.dom> = Smith@domain.dom перенаправит почту, отправленную на john.smith@domain.dom и на susan.smith@domain.dom на адрес Smith@domain.dom.
  • Использование Правил Пользователя позволят администратору и/или самим пользователям перенаправлять/пересылать/переправлять всю или определённую почту на один или несколько адресов.
  • Использование Общесерверные Правила позволят администратору перенаправлять/пересылать/переправлять всю или определённую почту на один или несколько адресов.
  • Возможность совместного доступа к Чужим Папкам позволяет пользователям предоставлять доступ к своей папке другим пользователям; во многих случаях совместно используемая (общая) папка является намного лучшей альтернативой рассылке почты по спискам рассылки.
  • Модуль LIST является мощным и эффективным средством для работы со списками рассылки.
Обработка procmail
Общесерверные, Общдоменные и действующие на уровне Пользователя Автоматические Правила позволяют администраторам и пользователям выполнять автоматическую обработку и фильтрацию почты, используя встроенную в Сервер CommuniGate Pro мощную систему проверки различных условий и выполнения операций.
Для тех ситуаций, когда сообщения должны быть обработаны с использованием внешних фильтров или обработчиков, в Автоматических Правилах предусмотрена операция Выполнить, с помощью которой можно запустить необходимую внешнюю программу как отдельную задачу операционной системы (например, Правила могут использоваться для обработки всех или только определённых сообщений известной программой procmail).

Миграция с серверов Microsoft® Exchange

С помощью специальной Утилиты миграции Exchange Migration вы можете получить список пользователей и создать этих пользователей в Доменах CommuniGate Pro. Утилита копирует все данные пользователя (почта, календарь, контакты и т.п.), преобразуя формат данных и адресов прямо по ходу работы.

Утилита так же извлечёт Глобальную Адресную Книгу Microsoft Exchange и преобразует её в LDIF файл, который может быть импортирован в Справочник CommuniGate Pro.

Для работы этой утилиты требуется рабочая станция под управлением MS Windows.


Копирование почтовых Папок с Других IMAP Серверов

Имея список пользователей и их пароли, с помощью специальной Утилиты миграции и синхронизации syncIMAPMail вы можете скопировать содержимое почтовых папок, доступных по протоколу IMAP, c Другого Сервера.

Если пароли пользователей неизвестны, то можно:

  • аутентифицироваться администратором и указать имя копируемого пользователя через опцию --proxyAuth, если это расширение IMAP поддерживается Другим Сервером.
  • аутентифицироваться администратором через метод PLAIN и указать имя копируемого пользователя, если этот метод аутентификации поддерживается Другим Сервером.
  • сбросить пароли пользователей на известное значение.

Миграция с Произвольного Сервера (миграция "на лету")

В случае, если описанный выше метод с временной подменой пароля не может быть применён и/или имена пользователей и их пароли не могут быть получены со старого сервера, используйте альтернативный метод миграции.

Этот метод базируется на возможности Внешней Аутентификации сервера CommuniGate Pro.

Загрузите, установите и скорректируйте под свою конфигурацию сценарий миграции, затем настройте CommuniGate Pro на использование этого сценария в качестве внешней программы аутентификации для CommuniGate Pro.

Создайте требуемый Домен в CommuniGate Pro; в настройках Домена включите опцию Обратиться к Помощнику для Неизвестных; в Способах Аутентификации оставьте включёнными только CLRTXT и SESSIONID чтобы вынудить почтовые программы Пользователей применять только нешифрованые пароли. В Шаблоне Пользователя отключите опцию CommuniGate-Пароль и установите опцию Через Внешнюю Программу.

В случае попытки соединиться с Сервером под именем несуществующего Пользователя или в случае, если CommuniGate Pro получает сообщение для несуществующего Пользователя, вызывается сценарий Внешней Аутентификации. Сценарий соединяется со старым сервером по протоколу SMTP и проверяет, существует ли там пользователь с таким именем (таким адресом). Если старый сервер не отвергает этот адрес, сценарий создаёт пользователя с таким именем в Домене CommuniGate Pro. Затем Сервер CommuniGate Pro доставляет сообщение этому вновь созданному Пользователю.

Когда пользователь пытается соединиться с Сервером CommuniGate Pro, то почтовая программа пользователя отправляет имя пользователя и его пароль открытым текстом. Из-за того, что у Пользователя CommuniGate Pro отключена опция CommuniGate-Пароль и включена опция Обратиться к Внешней Программе, вызывается сценарий Внешней Аутентификации. Сценарий соединяется со старым сервером по протоколу POP или IMAP и проверяет, может ли он зарегистрироваться на нём с этим именем пользователя и паролем.

Если старый сервер принимает указанный пароль, то:
  • сценарий использует интерфейс командной строки CommuniGate Pro CLI:
    • для установки указанного пароля как CommuniGate-Пароля для этого Пользователя,
    • для выключения опции Обратиться к Внешней Программе для этого пользователя,
    • для включения опции CommuniGate-Пароль для этого Пользователя.
  • сценарий запускает программу syncIMAPMail для копирования всех почтовых ящиков пользователя со старого сервера на сервер CommuniGate Pro или сохраняет пару имя/пароль в текстовый файл, который вы сможете использовать позднее (это настраиваемая опция).

После успешной первой регистрации, правильный пароль будет установлен как новый Пароль CommuniGate и вся почта Пользователя будет скопирована со старого сервера.

После того, как все пользователи старого сервера успешно зарегистрировались на сервере CommuniGate Pro как минимум один раз, они все будут созданы в CommuniGate Pro и будут иметь правильную пару имя/пароль. После этого вы можете отключить Внешнюю Аутентификацию и выключить старый сервер.


Миграция Календарей и Контактов

Если Календари и Контакты могут быть экспортированы с Другого сервера в текстовые файлы в форматах vCalendar и vCard соответственно, их мжно импортировать через Импорт Календаря и Импорт Контактов в Веб-почте CommuniGate Pro .

Возможно автоматизировать импорт данных для множества пользователей, используя скрипт importCalendars.pl из Репозитария Скриптов для CommuniGate Pro.


Переключение Серверов

Часто очень важно перейти на новый сервер без перебоя в обслуживании.

Если вы устанавливаете новый сервер CommuniGate Pro на той же системе, на которой работает старый сервер, то вам необходимо:
  • Переключить CommuniGate Pro IMAP Приёмник на порт 144, чтобы он не мешал IMAP работе старого сервера.
  • Настроить CommuniGate Pro, создать Псевдонимы Доменов и полнофункциональные Домены.
  • Создать какого-нибудь тестового пользователя в главном и дополнительном доменах и проверить, что вы можете входить от их имени на сервер через Веб Интерфейс Пользователя.
  • Проверить что вы можете отправлять почту от этих пользователей через Веб Интерфейс Пользователя: почта должна доставляться правильно как на других тестовых пользователей в созданных доменах, так и на другие сервера.
  • Если вы используете IMAP клиент, который позволяет вам указывать нестандартный номер порта, проверьте, можете ли вы зарегистрироваться тестовыми пользователями на IMAP сервере, порт 144.
  • Создайте текстовый файл с разделителем табуляций с именами, паролями и другими атрибутами существующих пользователей и используйте функцию Импорт Пользователей для создания всех пользователей на вашем новом сервере.

Все это вы можете делать в то время, когда ваш старый сервер активен.

Теперь вы должны остановить работу вашего старого сервера изменив номера его портов на нестандартные значения, или отсоединив его от внешней сети.

Используйте программу syncIMAPMail для копирования всех сообщений со старого сервера на CommuniGate Pro.

Когда все сообщения скопированы, измените номер порта IMAP в CommuniGate Pro обратно на 143. Теперь CommuniGate Pro будет работать как ваш почтовый сервер, без какого-либо перерыва в вашей работе.

Вы можете оставить старый сервер работающим ещё на несколько часов - в случае, если в его очереди содержатся задержанные исходящие сообщения. Только убедитесь, что старый сервер не пытается использовать стандартные порты.


Перемещение Пользователей в другие домены

Если вы создаёте в CommuniGate Pro несколько Доменов, возможно, вы не захотите переводить всех пользователей со старого сервера (серверов) в Главный Домен CommuniGate Pro, а будете обслуживать пользователей в разных Доменах.

В этом случае, необходимо добавить поле NewName в файл со списком пользователей, и скопировать все имена в этот столбец, добавив строку @domainname к каждому имени.

Если для того, чтобы передвинуть все сообщения между серверами, вы используете протокол IMAP, то вы можете использовать более простой метод:
  • Если домен-приёмник имеет IP адрес, назначенный для этого домена, используйте этот адрес в программе копирования почты: пользователи с неполными именами (имя без доменной части), устанавливающие соединения с этим IP адресом, автоматически будут интерпретироваться как пользователи из этого домена. Дополнительную информацию смотрите в разделе Доступ.
  • Если домен-приёмник не имеет назначенного ему IP адреса, временно назначьте IP адрес главного домена этому дополнительному домену. Передвиньте сообщения, и затем удалите этот IP адрес из списка адресов, назначенных домену.

Руководство CommuniGate Pro. Copyright © 2020, АО СталкерСофт