ВНИМАНИЕ:
В инструкции приведены команды для трех операционных систем: REDOSASTRAALT
Для шагов с отличающимися в зависимости от ОС действиями указаны команды для всех трех ОС. Необходимо выполнять команды только для используемой вами ОС.
В данной инструкции рассматривается настройка аутентификации CommuniGate PRO через LDAP Avanpost DS. Для настройки требуется подготовить один введенный в домен хост для сервера Communigate Pro на одной из поддерживаемых ОС согласно инструкции по введению в домен рабочих станций. Настройка включает следующие этапы:
- 1. Установка Communigate Pro на сервер
- Шаг 1.1. Зарегистрироваться как суперпользователь (root).
- Шаг 1.2. Установить пакет "CGatePro".
- Шаг 1.3. Остановить запущенный SMTP/MTA сервер.
- Шаг 1.4. Удалить строки, описывающие запущенные POP, IMAP, или poppwd сервера, из файла "/etc/inetd.conf".
- Шаг 1.5. Перезапустить сервер или запустить сценарий запуска CommuniGate.
- 2. Первый запуск
- 3. Создание самоподписанного SSL сертификата
- 4. Настройка HTTP услуг
- 5. Настройка URI аутентификации
- 6. Настройка помощника "Внешняя Аутентификация"
- Шаг 6.1. Установить Perl библиотеку для работы с LDAP.
- Шаг 6.2. Создать каталог "/var/CommuniGate/Scripts".
- Шаг 6.3. Поместить Perl Скрипт для работы с LDAP в директорию "/var/CommuniGate/Scripts/".
- Шаг 6.4. Выставить права на файл "authLDAPNewAD.pl" и сделать его исполняемым.
- Шаг 6.5. Изменить параметры в файле "authLDAPNewAD.pl".
- Шаг 6.6. Указать путь к скрипту "/var/CommuniGate/Scripts/authLDAPNewAD.pl"
- Шаг 6.7. Включить всем пользователям возможность аутентификации через помощника по умолчанию.
- Шаг 6.8. Включить настройку аутентификации неизвестных пользователей через приложение - помощника.
- Шаг 6.9. Проверить функционал.
Ссылки
Скрипт - помощник для аутентификации 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), его требуется остановить и затем перезапустить хост.
/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:
Шаг 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.
Пример:
Пользовательский веб-интерфейс должен быть доступен:
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\*
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 Аутентификация" нужно указать:
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" для редактирования:
nano /var/CommuniGate/Scripts/authLDAPNewAD.pl
6.5.2. Заполнить файл по примеру ниже. Исправить необходимые параметры в строках 6-14 и 33-35.
#
# 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 принял тестового пользователя, открылся рабочий стол.















