Настройка сервера WIndows 2025 с Active Directory на борту.
Установим корпоративный меседжер openfire на сервер Ubuntu 24.04 а пользователей будем брать из AD на сервере Windows 2025
1. Настройка DNS Server
Открываем диспетчер DNS
Зона прямого просмотра -> Выбираем или зоздаем зону - > ПК -> создать узел А или АААА -> Пишем имя openfire, ip address 192.168.77.8, ставим галочку создать соответствующую PTR- запись
Проверяем Обратную Зону (если указатель не создан - создадим его)
Выбираем или создаем зону -> ПК создать указатель -> Вносим IP address узла 192.168.77.8 -> Имя узла выбираем openfire
2. Настроим Active Directory
Во первых нам понадобится защищенный LDAPS, как настроить замечательно описано тут https://docs.inno.tech/ru/linux-configuration-manager/latest/maintenance-guide/integrations/ad-integration/set-ldap-over-ssl/?ysclid=mizm3jask9274610969
Проверим подключение к LDASP
win+R
ldp.exe
Подключение -> Подключить -> Сервер: dc1.my.local Порт: 636 Ставим галочку на SSL
Создадим пользователя для нашего сервиса openfire
Открываем Active Directory – Пользователи и компьютеры -> Заходим в подразделение в котором создадим пользователя -> ПК -> создать пользователя -> Имя – openfire -> Имя входа пользователя openfire -> Пароль PASSWORD_AD_USER -> Запретить смену пароля -> Срок действия пароля не ограничен -> Заходим в свойства пользователя, учетная запись, данная учетная запись поддерживает 128-разрядное шифрование , данная учетная запись поддерживает 256-разрядное шифрование.
3. Создаем Keytab
PowerShell от админа
ktpass -princ xmpp/DC1.my.local@MY.LOCAL -mapuser openfire@my.local -SetPass -pass PASSWORD_AD_USER –crypto AES256-SHA1 -ptype KRB5_NT_PRINCIPAL -out c:\keytab\openfire.keytab
Копируем keytab на сервер openfire
cd "c:\Program Files\PuTTY"
pscp.exe d:\openfire.keytab lynx@192.168.77.8:/home/lynx
Приступим к настройке сервера Ubuntu 24.04
Установим базу данных mariadb
apt install mariadb-server
mysql -u root –p
CREATE DATABASE openfire;
GRANT ALL PRIVILEGES ON openfire.* TO openfire@localhost IDENTIFIED BY 'PASSWORD_USER_DB';
FLUSH PRIVILEGES;
Установим пакет Openfire и зависимости
Скачиваю с официального сайта самую последнюю версию пакета для организации корпоративного чата: https://www.igniterealtime.org/downloads/ Скачиваем deb пакет и передаем через pscp на unix машину (Wget не смог скачать, разбираться было лень).
apt install default-jre
java -version
dpkg -i openfire_5.0.2_all.deb
Настроим получение Kerberos билета
Переместим наш созданный keytab
mv /home/lynx/openfire.keytab /etc/openfire/
chmod 640 /etc/openfire/openfire.keytab
chown -R openfire:openfire /etc/openfire
192.168.77.8 openfire.my.local openfire
192.168.77.249 dc1.my.local srv-dc
hostnamectl set-hostname openfire.my.local
reboot
Проверяем применилось или нет имя
apt-get install krb5-user –y
cp /etc/krb5.conf /etc/krb5.conf.backup
nano /etc/krb5.conf
allow_weak_crypto = true
default_realm = MY.LOCAL
default_keytab_name = /etc/openfire/openfire.keytab
#dns_lookup_realm = false
#dns_lookup_kdc = false
ticket_lifetieme = 24h
kdc_timesync = 1
ccache_type = 4
forwardable = yes
rdns = no
default_tkt_enctypes = aes256-cts-hmac-sha1-96 aes128-cts-hmac-sha1-96 rc4-hmac
default_tgs_enctypes = aes256-cts-hmac-sha1-96 aes128-cts-hmac-sha1-96 rc4-hmac
permitted_enctypes = aes256-cts-hmac-sha1-96 aes128-cts-hmac-sha1-96 rc4-hmac
clock_skew = 300
[realms]
MY.LOCAL = {
kdc = dc1.my.local
admin_server = openfire.my.local
default_domain = MY.LOCAL
}
[domain_realm]
.my.local = MY.LOCAL
my.local = MY.LOCAL
[logging]
default = FILE:/var/log/krb5/krb5.log
kdc = FILE:/var/log/krb5/kdc.log
admin_server = FILE:/var/log/krb5/kadmin.log
Попробуем получить билет Kerberos
Спросит пароль, вводим PASSWORD_AD_USER
Переходим к настройке сервера Openfire через WEB панель http://192.168.7.9:9090
- Настройка сервера
Доменное имя XMPP: my.local #тут название домена!!!
Имя уза сервера (полное доменное имя): openfire.my.local
Порт консоли администратора: 9090
Безопасный порт консоли админиcтратора: 9091
Снимаем галочку Ограничить доступ к консоли администратора
Шифрование свойств через : Blowfish
Продолжить
- Настройки базы данных
Стандартное подключение к базе данных
Продолжить
Настройки базы данных – стандартное соединение
Предварительные настройки драйверов базы данных Mysql
Класс драйвера JDBC com.mysql.cj.jdbc.Driver
URL базы данных jdbc:mysql://openfire:3306/openfire?rewriteBatchedStatements=true&characterEncoding=UTF-8&characterSetResults=UTF-8&serverTimezone=UTC
Имя пользователя openfire
Пароль PASSWORD_DB_USER
Продолжить
- Настройка профиля
Сервер каталога LDAP
Продолжить
Настройка соединений 1:3
Тип сервера Active Directory
Протокол LDAPS хост dc1.my.local Порт 636
База DN OU=office,DC=my,DC=local (чтобы найти путь, на сервере AD запускаем Редактирование adsi)
Администратор DN openfire@my.local
Пароль PASSWORD_AD_USER
Настройка теста
Если все ок то следующий пункт 3,2 без изменений
- 3.3 отображение групп
Поле группы cn
Поле участника member
Поле описания description
Расширенные настройки
Фильтр групп (objectCategory=Group)
Учетная запись администратора
Добавить администратора openfire
Добавить
Продолжить
Чтобы появились в списке клиента пользователи заходим в панель управления openfire пользователи и группы -> Группы -> заходим в настройки нашей группы
Включить общий доступ к спискам контактов группы
Введите имя группы для списка контактов (как ее будет видить клиент) BeerHoff
Все пользователи
Сохранить настройки списка контактов

