Настройка интеграции Communigate Pro с Avanpost DS

ВНИМАНИЕ:

В инструкции приведены команды для трех операционных систем: REDOSASTRAALT

Для шагов с отличающимися в зависимости от ОС действиями указаны команды для всех трех ОС. Необходимо выполнять команды только для используемой вами ОС.


В данной инструкции рассматривается настройка аутентификации CommuniGate PRO через LDAP Avanpost DS.  Для настройки требуется подготовить один введенный в домен хост для сервера Communigate Pro на одной из поддерживаемых ОС согласно инструкции по введению в домен рабочих станций. Настройка включает следующие этапы:

Ссылки

Скрипт - помощник  для аутентификации LDAP. https://old.communigatepro.ru/CGAUTH/authLDAPNewAD.pl

Библиотека libnet-ldap-perl https://packages.debian.org/sid/libnet-ldap-perl

Документация по CommuniGate PRO https://old.communigatepro.ru/CommuniGatePro/russian/default.html


1. Установка Communigate Pro на сервер

Для установки Communigate Pro на сервер требуется подключиться по SSH на хост, который будет выполнять роль сервера Communigate Pro, и выполнить шаги:

Шаг 1.1. Зарегистрироваться как суперпользователь (root).

Для этого необходимо выполнить команду:

sudo su -

Шаг 1.2. Установить пакет "CGatePro".

Для этого необходимо выполнить команды:

RedOS
dnf install CGatePro-Linux-version.rpm
 Astra
apt install ./CGatePro-Linux_version.deb
 Alt
apt-get install ./CGatePro-Linux_version.deb
Прочее
Установка из архива
tar -xzf CGatePro-Linux-version.tgz
cd CGateProSoftware
sh install.sh

Примечание

  • CommuniGate Pro будет установлен в директорию "/opt".
  • Установщик создаст файл со сценарием "/etc/rc.d/init.d/CommuniGate" для автоматического запуска и завершения работы вместе с ОС. Установщик добавит ссылку на этот файл в директории "/etc/rc.d/rcn.d".
  • Установщик переименует программу "/bin/mail" в "/bin/LegacyMail". В случае удаления CommuniGate Pro ранее используемая почтовая программа будет переименована обратно в "/bin/mail".
  • Установщик создаст новое приложение "/bin/mail" - подмену для существующей программы mail.
  • Установщик создаст "директорию данных" "/var/CommuniGate", используемую сервером по умолчанию. Можно переместить "директорию данных" в любое другое место. В этом случае необходимо заменить "/var/CommuniGate" на символическую ссылку (symbolic link), указывающую на другое место.

Шаг 1.3. Остановить запущенный SMTP/MTA сервер.

Если на вашей системе запущен отдельно SMTP/MTA сервер (например, sendmail), его требуется остановить и затем перезапустить хост.

Пример остановки sendmail
/sbin/chkconfig sendmail offreboot

Шаг 1.4. Удалить строки, описывающие запущенные POP, IMAP, или poppwd сервера, из файла "/etc/inetd.conf".

Если на вашей системе запущены POP, IMAP, или poppwd сервера, необходимо удалить строки, описывающие эти сервера из файла "/etc/inetd.conf" (или поместить в начале этих строк символ "#" ).

Шаг 1.5. Перезапустить сервер или запустить сценарий запуска CommuniGate.

Для запуска сценария необходимо выполнить команду:

/etc/rc.d/init.d/CommuniGate start

2. Первый запуск

Далее требуется зайти в веб-интерфейс администратора Communigate Pro с помощью браузера и выполнить шаги Начальной настройки:

Шаг 2.1. Открыть веб-интерфейс администратора Communigate Pro и задать пароль для пользователя "postmaster".

Для этого необходимо перейти в браузере по IP адресу сервера CommuniGate Pro (порт 8010) и задать пароль для пользователя "postmaster".

Пример адреса сервера CommuniGate Pro:

http://192.168.10.10:8010/

Шаг 2.2. Провести первоначальную настройку.

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

ВАЖНО:

Важно выбрать в поле "тип интерфейса" значение "Экспертный".

Далее в настройках выбрать "Вид Интерфейса" "Dash".

3. Создание самоподписанного SSL сертификата

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

Шаг 3.1. Включить Услуги PKI Криптографии, выбрать размер закрытого ключа 4096 и сгенерировать закрытый ключ.

Для этого необходимо перейти в раздел "Пользователи →  Домены  [Ваш домен] Безопасность  SSL/TLS" веб-интерфейса администратора Communigate Pro, выбрать в поле "Услуги PKI Криптографии" значение "Включено", выбрать в поле "размер закрытого ключа" значение "4096" и нажать "Сгенерировать закрытый ключ".

Шаг 3.2. Создать самоподписанный ключ.

После генерации закрытого ключа система предложит создать самоподписанный ключ, для этого потребуется указать параметры ключа:

  • "Имя-Идентификатор" (обязательное поле, ваш почтовый домен)
  • "Альтернативное Имя" (опционально)
  • "Контакт" (обязательное поле)

Затем нажать кнопку "Создать Само-Подписанный".

После этого появится новый сертификат, в котором будет указана его информация, срок действия, контакт и т.д.

4. Настройка HTTP услуг

На данном этапе потребуется в веб-интерфейсе администратора Communigate Pro включить SSL сертификат и проверить доступные порты. Для этого необходимо выполнить шаги:

Шаг 4.1. Проверить, что начальный SSL/TLC включен на порту 9100.

Для этого необходимо перейти в раздел: "Установки → Услуги HTTPU → TCP" веб-интерфейса администратора Communigate Pro.

Начальный SSL/TLC должен быть включен на порту 9100:

Шаг 4.2. Перейти в браузере в пользовательский веб-интерфейс Communigate Pro.

Для этого необходимо перейти в браузере по адресу вашего почтового домена (указанного на шаге 2.2) по порту 9100.

Пример:

https://avanpost.net:9100/

Пользовательский веб-интерфейс должен быть доступен:

5. Настройка URI аутентификации

Для настройки URI аутентификации необходимо в веб-интерфейсе администратора Communigate Pro выполнить шаги:

Шаг 5.1. Указать URI аутентификации.

Для этого в разделе "Пользователи → Умолчания для Пользователя → Установки" веб-интерфейса администратора Communigate Pro необходимо:

5.1.1. В поле "CommuniGate-Пароль" выставить "Выключено".

5.1.2. Указать URI в поле "URI Аутентификация".

Примечание

Сервер CommuniGate Pro поддерживает проверку паролей методом запроса по LDAP URI, когда URI имеет вид ldap(s)://[address]:[port]/[parameters].

Метод использует отправку запроса BIND по протоколу LDAP на сервер по адресу [address]:[port] с DN аутентификации, построенном по значению [parameters], и с паролем, полученным сервером CommuniGate Pro в аутентифицирующейся сессии доступа.

Символ "*" в блоке [parameters] заменяется на имя пользователя CommuniGate Pro, а комбинация "^0" заменяется на имя домена CommuniGate Pro.

Примеры:

ldap://10.0.0.2:389/*@^0
ldaps://dc.ad-domain.dom:636/*@ad-domain.dom
ldap://10.0.0.2:389/AD-DOMAIN\*
Шаблон URI
ldap://[IP контроллера]:389/cn=*,ou=[OU],dc=[Домен2ур],dc=[Домен1ур]

Пример составления URI:

Например, нам необходимо аутентифицировать пользователей, находящихся в подразделении "users", доменной иерархии avanpost.net.

Значит Bind запрос будет выглядеть так:  cn=*,ou=users,dc=avanpost,dc=net

(символ "*" заменяется на имя Пользователя CommuniGate Pro)

IP адрес контроллера домена: 192.168.10.7

Соответственно в поле "URI Аутентификация" нужно указать:

Пример URI
ldap://192.168.10.7:389/cn=*,ou=users,dc=avanpost,dc=net

5.1.3. Сохранить параметры, нажав кнопку "Модифицировать".

Шаг 5.2. Провести проверку работоспособности.

Данный функционал позволяет проверять валидность пароля только уже созданных пользователей. Поэтому, чтобы провести проверку работоспособности на данном этапе, необходимо:

5.2.1. Создать нового пользователя в веб-интерфейсе администратора CommuniGate PRO (например, "admin")

5.2.2. Создать пользователя с тем же логином (в примере "admin") и указать ему пароль, в веб-интерфейсе администратора Avanpost DS. (По инструкции из руководства администратора Avanpost DS "Создание пользователя")

5.2.3. Попытаться войти под этим пользователем в пользовательский веб-интерфейс Communigate Pro. (см шаг 4.2) Если удалось авторизоваться, значит проверка пройдена успешно.


6. Настройка помощника "Внешняя Аутентификация"    

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

Программа Внешней Аутентификации может использоваться также для:

  • автоматического создания Пользователей на основании каких-либо данных из внешних источников
  • помощи в операциях Маршрутизатора
  • помощи в управлении Пользователями.

Для настройки помощника "Внешняя Аутентификация" необходимо подключиться к серверу CommuniGate PRO по SSH и выполнить шаги:

Шаг 6.1. Установить Perl библиотеку для работы с LDAP.

Для этого необходимо выполнить команды:

sudo -i 
apt install libnet-ldap-perl

Шаг 6.2. Создать каталог "/var/CommuniGate/Scripts".

Для этого необходимо выполнить команду:

mkdir /var/CommuniGate/Scripts

Шаг 6.3. Поместить Perl Скрипт для работы с LDAP в директорию "/var/CommuniGate/Scripts/".

Для этого необходимо:

6.3.1. Скачать Perl Скрипт для работы с LDAP с сайта вендора CommuniGate PRO. (https://old.communigatepro.ru/CGAUTH/authLDAPNewAD.pl)

6.3.2. Загрузить его на сервер CommuniGate PRO по SFTP (в примере в директорию "/tmp") и скопировать в директорию "/var/CommuniGate/Scripts/".

Команда копирования скрипта
cp /tmp/authLDAPNewAD.pl /var/CommuniGate/Scripts/

Шаг 6.4. Выставить права на файл "authLDAPNewAD.pl" и сделать его исполняемым.

Для этого необходимо выполнить команды:

chmod -R 777 /var/CommuniGate/Scripts/authLDAPNewAD.pl
chmod +x /var/CommuniGate/Scripts/authLDAPNewAD.pl

Шаг 6.5. Изменить параметры в файле "authLDAPNewAD.pl".

Для этого необходимо:

6.5.1. Открыть файл "authLDAPNewAD.pl" для редактирования:

Открыть файл authLDAPNewAD.pl
nano /var/CommuniGate/Scripts/authLDAPNewAD.pl

6.5.2. Заполнить файл по примеру ниже. Исправить необходимые параметры в строках 6-14 и 33-35.

Пример /var/CommuniGate/Scripts/authLDAPNewAD.pl
#
# You should redefine these values
#

my %domains=( # e-mail domains
  'avanpost.net' => { 											# Почтовый домен CommuniGate PRO
    address=>'ldap://192.168.10.7:389',  						# Адрес и порт контроллера доменов
    # backupAddress=>'192.168.0.2',  							# Адрес и порт резервного контроллера доменов
    timeout=>5, 												# Таймаут, по умолчанию 20 сек.
    adminDN=>'cn=Administrator,ou=users,dc=avanpost,dc=net', 	# DN пользователя с правами администратора
    adminPassword=>'Avanp0st', 									# Пароль пользователя с правами администратора
    searchBase=>'OU=users,DC=avanpost,DC=net', 					# объект каталога, начиная с которого производится поиск
    searchFilter=>'(&(objectclass=user)(cn=<user>))', 			# Поисковый фильтр
    updatePasswords=>1,  										# Требуется ли обновление пароля в CommuniGate PRO
  },

);

my %attributes=(
 cn => 'RealName',
 userPassword => 'Password',
 o => 'Organization',
 ou => 'ou',
 st => 'st',
 l => 'l',
 sn => 'sn',
 givenName => 'givenName',
 title => 'title',
 telephoneNumber => 'telephoneNumber',
 mobile => 'mobile',
);

my $CGServerAddress =  '127.0.0.1'; 	# Адрес сервера CommuniGate PRO
my $CLILogin = 'postmaster'; 			# Мастер пользователь
my $CLIPassword = 'Avanp0st'; 			# Пароль для мастер пользователя

После выполнения шагов 6.1-6.5 необходимо зайти в веб-интерфейс администратора CommuniGate PRO и выполнить шаги:

Шаг 6.6. Указать путь к скрипту "/var/CommuniGate/Scripts/authLDAPNewAD.pl"

Для этого необходимо перейти в раздел: "Установки → Общее → Помощники", в секции "Внешняя Аутентификация" отметить чекбокс и в поле "Путь к программе" указать полный путь к скрипту "/var/CommuniGate/Scripts/authLDAPNewAD.pl".

Шаг 6.7. Включить всем пользователям возможность аутентификации через помощника по умолчанию.

Для этого необходимо перейти в раздел "Пользователи → Умолчания для Пользователя → Установки" и выставить в поле "Через Внешнюю Программу" значение "Включено".

Шаг 6.8. Включить настройку аутентификации неизвестных пользователей через приложение - помощника.

Для этого необходимо перейти в раздел "Пользователи -> Умолчания для Домена" и выставить в поле "Обратиться к Помощнику для Неизвестных" значение "Да".

Шаг 6.9. Проверить функционал.

Для проверки необходимо создать нового тестового пользователя в веб-интерфейсе администратора Avanpost DS (По инструкции из руководства администратора Avanpost DS "Создание пользователя") и авторизоваться под ним в веб-интерфейсе пользователя CommuniGate PRO.

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


Обсуждение