Просоды IM и локальные пользователи - Сети PYMES

Общий индекс серии: Компьютерные сети для МСП: Введение

Эта статья является продолжением:

Привет друзья и друзья!

Мы продолжаем добавлять сетевые службы на основе аутентификации локального пользователя на сервер небольшой группы. Энтузиасты Бесплатное программное обеспечение, в частности CentOS.

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

Они намерены опубликовать службу интернет-чата только для энтузиастов и планируют связать свой сервер обмена мгновенными сообщениями с другими совместимыми серверами XMPP, расположенными в Сети сетей. Для этого купили доменное имя desdelinux.вентилятор и до сих пор IP-адрес, связанный с этим именем, управляется вашим интернет-провайдером.

Чат через сервис Prosody позволит им обмениваться мгновенными сообщениями, передавать файлы, проводить голосовые и видеоконференции и многое другое.

Что такое Prosody Instant Messenger?

просодия это современный коммуникационный сервер, основанный на протоколе XMPP. Он разработан для легкой установки и настройки, а также для эффективного управления системными ресурсами. Prosody - это программа с открытым исходным кодом, созданная под разрешающей лицензией. MIT / X11.

XMPP это некоммерческая альтернатива предоставлению услуг мгновенного обмена сообщениями. Его можно реализовать в производственной бизнес-среде, в семейной сети, частной сети соседей и т. Д. Он поддерживает широкий спектр клиентского программного обеспечения для настольных и мобильных платформ. Через XMPP эта услуга может быть предоставлена ​​любому устройству.

Кроме того, они могут ссылка на сайт несколько установок Prosody и других служб, совместимых с протоколом XMPP, и образующих сеть обмена сообщениями, в которой мы будем полностью контролировать трафик сообщений и файлов, который будет происходить совершенно безопасным способом.

Просодия и аутентификация против локальных пользователей

В Карта сайта Prosody IM мы нашли ссылку на страницу Провайдеры аутентификации, в котором говорится, что начиная с версии 0.8 Prosody, различные провайдеры аутентификации поддерживаются через плагины. Вы можете использовать драйверы встроенное программное обеспечение, или вы можете интегрироваться со сторонними поставщиками аутентификации и хранения, используя их API.

Провайдеры аутентификации, которые мы можем нанять

Имя Описание -------------- ---------------------------------- -----------------------
внутренняя_плоская   Аутентификация по умолчанию. Пароли в виде обычного текста хранятся во встроенном хранилище.

внутренний_хешированный  Пароли, закодированные внутренним алгоритмом, хранятся во встроенном хранилище.

Кир       Интеграция с Cyrus SASL (LDAP, ВПП, ...)

анонимный    Механизм аутентификации с использованием SASL 'ANONYMOUS' со случайным именем пользователя, не требующий учетных данных для аутентификации.

XMPP использует стандартный протокол простой аутентификации Secure Layer для аутентификации - Sреа Aаутентификация и Secure LВчерашний день (SASL), чтобы проверить учетные данные клиентов. Prosody включает библиотеку SASL который по умолчанию проверяет учетные данные для существующих учетных записей во встроенном хранилище.

Начиная с версии 0.7 Prosody, поддерживается внешний провайдер. Сайрус САЛС который может проверять учетные данные, предоставленные внешними пользователями, по другим источникам, таким как: ВПП, LDAP, SQL и другие. Это также позволяет использовать GSSAPI для служб единого входа - Службы единого входа.

В этой статье о Prosody для аутентификации локальных пользователей через PAM мы будем использовать провайдера аутентификации «Кир»Предоставляется пакетом«Сайрус-Сасл»И это работает интегрировано с демоном Саслаутд.

Сайрус-сасл и саслаутд

[root @ linuxbox ~] # ням установить cyrus-sasl

Демон saslauthd уже установлен

[root @ linuxbox ~] # getsebool -a | grep saslauthd
saslauthd_read_shadow -> выкл.

[root @ linuxbox ~] # setsebool saslauthd_read_shadow on
[root @ linuxbox ~] # getsebool -a | grep saslauthd
saslauthd_read_shadow -> на

[root @ linuxbox ~] # systemctl status saslauthd
● saslauthd.service - демон аутентификации SASL. Загружено: загружено (/usr/lib/systemd/system/saslauthd.service; отключено; предустановка поставщика: отключено) Активно: неактивно (мертв)

[root @ linuxbox ~] # systemctl включить saslauthd
Создана символическая ссылка из /etc/systemd/system/multi-user.target.wants/saslauthd.service на /usr/lib/systemd/system/saslauthd.service.

[root @ linuxbox ~] # systemctl start saslauthd
[root @ linuxbox ~] # systemctl status saslauthd
● saslauthd.service - демон аутентификации SASL. Загружено: загружено (/usr/lib/systemd/system/saslauthd.service; включено; предустановка поставщика: отключено) Активно: активный (работает) с Сб 2017-04-29 10:31:20 EDT; 2с назад Процесс: 1678 ExecStart = / usr / sbin / saslauthd -m $ SOCKETDIR -a $ MECH $ FLAGS (code = exited, status = 0 / SUCCESS) Главный PID: 1679 (saslauthd) CGroup: /system.slice/saslauthd. служба ├─1679 / usr / sbin / saslauthd -m / run / saslauthd -a pam ├─1680 / usr / sbin / saslauthd -m / run / saslauthd -a pam ├─1681 / usr / sbin / saslauthd -m / run / saslauthd -a pam ├─1682 / usr / sbin / saslauthd -m / run / saslauthd -a pam └─1683 / usr / sbin / saslauthd -m / run / saslauthd -a pam

Просоды и lua-cyrussasl

[root @ linuxbox ~] # ням установить просодию
---- Зависимости устранены ============================================ ==================================== Размер репозитория версии архитектуры пакета ========= ================================================= ===================== Установка: prosody x86_64 0.9.12-1.el7 Epel-Repo 249 k Установка для зависимостей: lua-expat x86_64 1.3.0- 4.el7 Epel-Repo 32 k lua-файловая система x86_64 1.6.2-2.el7 Epel-Repo 28 k lua-sec x86_64 0.5-4.el7 Epel-Repo 31 k lua-socket x86_64 3.0-0.10.rc1.el7 Epel -Repo 176k Сводка транзакций =========================================== ====================================== Установить 1 пакет (+4 зависимых пакета) --- -

[root @ linuxbox ~] # getsebool -a | grep prosody
prosody_bind_http_port -> выкл.
[root @ linuxbox ~] # setsebool prosody_bind_http_port on
[root @ linuxbox ~] # getsebool -a | grep prosody
prosody_bind_http_port -> на

[root @ linuxbox ~] # systemctl включить просодию
Создана символическая ссылка из /etc/systemd/system/multi-user.target.wants/prosody.service на /usr/lib/systemd/system/prosody.service. [root @ linuxbox ~] # systemctl status prosody ● prosody.service - Сервер Prosody XMPP (Jabber) Загружен: загружен (/usr/lib/systemd/system/prosody.service; включен; предустановка поставщика: отключен) Активен: неактивен (мертв )

[root @ linuxbox ~] # systemctl начать просодию
[root @ linuxbox ~] # просодия статуса systemctl
● prosody.service - сервер Prosody XMPP (Jabber) Загружен: загружен (/usr/lib/systemd/system/prosody.service; включен; предустановка поставщика: отключен) Активен: активный (работает) с Сб 2017-04-29 10:35:07 EDT; 2с назад Процесс: 1753 ExecStart = / usr / bin / prosodyctl start (code = exited, status = 0 / SUCCESS) Главный PID: 1756 (lua) CGroup: /system.slice/prosody.service └─1756 lua / usr / lib64 /prosody/../../bin/prosody

[корень @ linuxbox ~] # хвост /var/log/prosody/prosody.log
29 апреля 10:35:06 Общая информация Здравствуйте и добро пожаловать в Prosody версии 0.9.12 29 апреля 10:35:06 Общая информация Prosody использует бэкэнд select для обработки соединения 29 апреля 10:35:06 Информация о portmanager Активированная служба 's2s' on [::]: 5269, [*]: 5269 29 апр., 10:35:06 информация диспетчера портов Активирована служба 'c2s' на [::]: 5222, [*]: 5222 29 апр, 10:35:06 информация диспетчера портов активирована служба legacy_ssl без портов 29 апр. 10:35:06 информация о mod_posix. Prosody собирается отсоединиться от консоли, отключив дальнейший вывод консоли. 29 апр. 10:35:06 информация о mod_posix. Успешно демонтирована на PID 1756.

[root @ linuxbox ~] # ням установить lua-cyrussasl

Создаем виртуальный хост «chat.desdelinux.fan» с сайта «example.com», который устанавливает Prosody.

[root @ linuxbox ~] # cp /etc/prosody/conf.d/example.com.cfg.lua \
/etc/prosody/conf.d/chat.desdelinux.fan.cfg.lua

[root @ linuxbox ~] # nano /etc/prosody/conf.d/chat.desdelinux.fan.cfg.lua
- Раздел для чата VirtualHost

VirtualHost «чат.desdelinux.вентилятор"

- Назначьте этому хосту сертификат для TLS, иначе он будет использовать тот, который установлен в глобальном разделе (если есть). - Обратите внимание, что старый SSL на порту 5223 поддерживает только один сертификат, - и всегда будет использовать глобальный.
        SSL = {
                 ключ = "/etc/pki/prosody/chat.key";
                сертификат = "/etc/pki/prosody/chat.crt";
        }

------ Компоненты ------ -- Вы можете указать компоненты для добавления хостов, которые предоставляют специальные услуги, -- такие как многопользовательские конференции и транспорты. -- Для получения дополнительной информации о компонентах см. http://prosody.im/doc/comComponents --- Настройте сервер комнаты MUC (многопользовательский чат) на Conference.chat.desdelinux.вентилятор:
Компонент «conference.chat.desdelinux.fan" "мук"
name = "Энтузиасты" - НАЗВАНИЕ КОНФЕРЕНЦ-ЗАЛА, ОБЪЯВЛЯЕМЫЕ - КОГДА ВЫ ЗАЙДЕТЕ В ЗАЛ
restrict_room_creation = правда

- Настройте прокси-сервер байтового потока SOCKS5 для передачи файлов через прокси-сервер: - Компонент "proxy.chat" "proxy65" --- Настройте внешний компонент (порт компонента по умолчанию - 5347) - - Внешние компоненты позволяют добавлять различные услуги, такие как шлюзы / - транспортирует в другие сети, такие как ICQ, MSN и Yahoo. Для получения дополнительной информации см .: http://prosody.im/doc/components#adding_an_external_component - --Component "gateway.chat" - component_secret = "password"

аутентификация = "cyrus"
cyrus_service_name = "xmpp"
cyrus_require_provisioning = ложь
cyrus_application_name = "prosody"
cyrus_server_fqdn = "chat.desdelinux.вентилятор"

Настраиваем группу, которой принадлежит файл /etc/prosody/conf.d/chat.desdelinux.fan.cfg.lua

[root @ linuxbox ~] # ls -l /etc/prosody/conf.d/chat.desdelinux.fan.cfg.lua 
-rw-r -----. 1 корень корень 1361, 29 апр, 10:45 /etc/prosody/conf.d/chat.desdelinux.fan.cfg.lua

[root @ linuxbox ~] # chown root: prosody /etc/prosody/conf.d/chat.desdelinux.fan.cfg.lua 
[root @ linuxbox ~] # ls -l /etc/prosody/conf.d/chat.desdelinux.fan.cfg.lua 
-рв-р-----. 1 корневая просодия 1361 29 апр 10:45 /etc/prosody/conf.d/chat.desdelinux.fan.cfg.lua

Проверяем конфигурацию

[root @ linuxbox ~] # luac -p /etc/prosody/conf.d/chat.desdelinux.fan.cfg.lua
[root @ linuxbox ~] #

SSL-сертификаты для безопасных соединений

Чтобы подключиться к серверу Prosody - как из локальной сети, так и из Интернета - и убедиться, что учетные данные передаются в надежном зашифрованном виде, мы должны сгенерировать сертификаты SSL - Уровень сокетов безопасности объявлен в файле конфигурации виртуального хоста /etc/prosody/conf.d/chat.desdelinux.fan.cfg.lua:

[root @ linuxbox ~] # cd / etc / prosody / certs /

[root @ linuxbox certs] # ​​openssl req -new -x509 -days 365 -nodes \
-out "chat.crt" -newkey rsa: 2048 -keyout "chat.key"
Генерация 2048-битного закрытого ключа RSA .....+++ ..........+++ запись нового закрытого ключа в 'chat.key' ----- Вас попросят сделать это введите информацию, которая будет включена в ваш запрос на сертификат. То, что вы собираетесь ввести, — это то, что называется отличительным именем или DN. Полей довольно много, но вы можете оставить некоторые пустыми. Для некоторых полей будет значение по умолчанию. Если вы введете «.», поле останется пустым. ----- Название страны (2-буквенный код) [XX]: Название штата или провинции CU (полное имя) []: Название населенного пункта Куба (например, город) [Город по умолчанию]: Гавана Название организации (например, компания) [ Компания по умолчанию, ООО]:DesdeLinux.Название организационного подразделения фаната (например, раздел) []:Общее имя энтузиастов (например, ваше имя или имя хоста вашего сервера) []:чат.desdelinuxАдрес электронной почты .fan []:buzz@desdelinux.вентилятор

Модифицируем глобальные параметры конфигурации

только мы будем редактировать следующие параметры в файле /etc/просодия/просодия.cfg.lua:

[root @ linuxbox certs] # ​​cp /etc/prosody/prosody.cfg.lua \ /etc/prosody/prosody.cfg.lua.original [root @ linuxbox ~] # nano /etc/prosody/prosody.cfg. lua
- Пример файла конфигурации Prosody - - Информацию о настройке Prosody можно найти на нашем - веб-сайте по адресу http://prosody.im/doc/configure - - Совет: вы можете проверить правильность синтаксиса этого файла - когда закончите запустив: luac -p prosody.cfg.lua - Если есть какие-либо ошибки, он сообщит вам, что и где - они, иначе он будет молчать. - - Осталось только переименовать этот файл, чтобы удалить окончание .dist, и заполнить пробелы. Удачи и счастливой болтовни! ---------- Общесерверные настройки ---------- - Настройки в этом разделе применяются ко всему серверу и являются настройками по умолчанию - для любых виртуальных хостов - Это (по по умолчанию, пусто) список учетных записей админов - для сервера. Обратите внимание, что вы должны создать учетные записи отдельно - (см. Http://prosody.im/doc/creating_accounts для информации) - Пример: admins = {"user1@example.com", "user2@example.net"}
admins = { "buzz@chat.desdelinux.fan", "trancos@chat.desdelinux.вентилятор" }

- Включите использование libevent для повышения производительности при высокой нагрузке. - Для получения дополнительной информации см. Http://prosody.im/doc/libevent --use_libevent = true; - Это список модулей, которые Prosody загрузит при запуске. - Он ищет mod_modulename.lua в папке плагинов, поэтому убедитесь, что он тоже существует. - Документацию по модулям можно найти по адресу: http://prosody.im/doc/modules modules_enabled = {- Обычно необходимый «список»; - Разрешить пользователям иметь список. Рекомендуется;) "saslauth"; - Аутентификация для клиентов и серверов. Рекомендуется, если вы хотите войти в систему. "tls"; - Добавлена ​​поддержка безопасного TLS на соединениях c2s / s2s «dialback»; - поддержка обратного звонка s2s "диск"; - Обнаружение службы - не обязательно, но рекомендуется "частное"; - Приватное хранилище XML (для закладок комнат и т.п.) «vcard»; - Разрешить пользователям устанавливать vCard - По умолчанию они комментируются, поскольку они влияют на производительность - «конфиденциальность»; - Поддержка списков приватности - «сжатие»; - Сжатие потока (Примечание: требуется установленный пакет lua-zlib RPM) - Приятно иметь "версию"; - Отвечает на запросы версии сервера "uptime"; - Сообщите, как долго сервер работает "время"; - Пусть другие знают время здесь, на этом сервере "пинг"; - Отвечает на пинги XMPP с понгом "напугает"; - Дает возможность пользователям публиковать свое настроение, активность, проигрывать музыку и многое другое «зарегистрироваться»; - Разрешить пользователям регистрироваться на этом сервере с помощью клиента и менять пароли - Интерфейсы администратора «admin_adhoc»; - Позволяет администрировать через клиент XMPP, который поддерживает специальные команды - «admin_telnet»; - Открывает интерфейс консоли telnet на локальном порту 5582 - Модули HTTP
        "чушь"; - Включение клиентов BOSH, также известных как «Jabber over HTTP».
        - «http_files»; - Обслуживать статические файлы из каталога через HTTP - Другая специфическая функциональность "posix"; - Функциональность POSIX, отправляет сервер в фоновый режим, включает системный журнал и т. Д. - «группы»; - Поддержка общего состава - «анонс»; - Разослать объявление всем онлайн-пользователям - «добро пожаловать»; - Приветствуем пользователей, которые регистрируют аккаунты - «смотреть регистрации»; - Оповещение админов регистраций - «мотд»; - Отправлять пользователям сообщение при входе в систему - «legacyauth»; - Устаревшая аутентификация. Используется только некоторыми старыми клиентами и ботами. };

bosh_ports = {{порт = 5280; путь = "http-привязка"; interface = "127.0.0.1"; }}

bosh_max_inactivity = 60
- Использовать при проксировании HTTPS-> HTTP на стороне сервера
рассмотреть_bosh_secure = правда
- Разрешить доступ из скриптов на любом сайте без прокси (требуется современный браузер)
cross_domain_bosh = правда

- Эти модули загружаются автоматически, но если вы хотите - отключить их, раскомментируйте их здесь: modules_disabled = {- "offline"; - Хранить офлайн-сообщения - «c2s»; - Обработка клиентских подключений - «s2s»; - Обработка межсерверных соединений}; - Отключить создание учетной записи по умолчанию в целях безопасности - Для получения дополнительной информации см. Http://prosody.im/doc/creating_accounts allow_registration = false; - Это настройки, связанные с SSL / TLS. Если вы не хотите - использовать SSL / TLS, вы можете прокомментировать или удалить этот ssl = {key = "/etc/pki/prosody/localhost.key"; сертификат = "/etc/pki/prosody/localhost.crt"; } - Заставить клиентов использовать зашифрованные соединения? Эта опция предотвратит аутентификацию клиентов, если они не используют шифрование.

c2s_require_encryption = истина

- Принудительная проверка подлинности сертификата для межсерверных соединений? - Это обеспечивает идеальную безопасность, но требует, чтобы серверы, с которыми вы общаетесь, поддерживали шифрование и представляли действительные доверенные сертификаты. - ПРИМЕЧАНИЕ. Ваша версия LuaSec должна поддерживать проверку сертификата! - Для получения дополнительной информации см. Http://prosody.im/doc/s2s#security s2s_secure_auth = false - Многие серверы не поддерживают шифрование или имеют недействительные или самозаверяющие сертификаты. Вы можете указать здесь домены, для которых не потребуется - аутентификация с помощью сертификатов. Они будут аутентифицированы с помощью DNS. --s2s_insecure_domains = {"gmail.com"} - Даже если вы оставите s2s_secure_auth отключенным, вы все равно можете потребовать действительные сертификаты для некоторых доменов, указав здесь список. --s2s_secure_domains = {"jabber.org"} - Выберите серверную часть аутентификации для использования. «Внутренние» поставщики - используют сконфигурированное хранилище данных Prosody для хранения данных аутентификации. - Чтобы позволить Prosody предлагать клиентам безопасные механизмы аутентификации, - поставщик по умолчанию хранит пароли в виде открытого текста. Если вы не доверяете своему - серверу, см. Http://prosody.im/doc/modules/mod_auth_internal_hashed - для получения информации об использовании хешированного бэкенда.

- authentication = "internal_plain"
аутентификация = "cyrus"
cyrus_service_name = "xmpp"
cyrus_require_provisioning = ложь

- Выберите серверную часть хранилища для использования. По умолчанию Prosody использует плоские файлы - в своем настроенном каталоге данных, но также поддерживает больше серверных программ - через модули. Бэкэнд "sql" включен по умолчанию, но требует дополнительных зависимостей. См. Http://prosody.im/doc/storage для получения дополнительной информации. --storage = "sql" - По умолчанию "internal" (Примечание: "sql" требует установленного - RPM-пакет lua-dbi) - Для серверной части "sql" вы можете раскомментировать * один * из нижеприведенных, чтобы настроить : --sql = {driver = "SQLite3", database = "prosody.sqlite"} - По умолчанию. «база данных» - это имя файла. --sql = {driver = "MySQL", database = "prosody", username = "prosody", password = "secret", host = "localhost"} --sql = {driver = "PostgreSQL", database = "prosody" ", username =" prosody ", password =" secret ", host =" localhost "} - Конфигурация ведения журнала - Для расширенного ведения журнала см. http://prosody.im/doc/logging log = {- Регистрировать все на уровне «info» и выше (то есть все, кроме «отладочных» сообщений) - в /var/log/prosody/prosody.log, а ошибки также в /var/log/prosody/prosody.err
    debug = "/var/log/prosody/prosody.log"; - Измените 'info' на 'debug' для подробного ведения журнала
    error = "/var/log/prosody/prosody.err"; - Записывать ошибки также в файл - error = "* syslog"; - Записывать ошибки также в syslog - log = "* console"; - Войдите в консоль, полезно для отладки с помощью daemonize = false} - Конфигурация POSIX, см. Также http://prosody.im/doc/modules/mod_posix pidfile = "/run/prosody/prosody.pid"; --daemonize = false - По умолчанию "true" ------ Дополнительные файлы конфигурации ------ - Для организационных целей вы можете предпочесть добавить определения VirtualHost и - Component в их собственные файлы конфигурации. Эта строка включает - все файлы конфигурации в /etc/prosody/conf.d/ Включая "conf.d / *. Cfg.lua"

Изменения в конфигурации Dnsmasq в linuxbox

Файл /Etc/dnsmasq.conf

Просто добавьте ценность cname=чат.desdelinux.фан, линуксбокс.desdelinux.вентилятор:

[root @ linuxbox ~] # nano /etc/dnsmasq.conf
----- # -------------------------------------------- ----------------------- # RECORDSCNAMEMXTXT # ------------------------ ------------------------------------------ # Для этого типа регистрации требуется запись # в файле /etc/hosts # например: 192.168.10.5 linuxbox.desdelinux.fan linuxbox # cname=ALIAS,REAL_NAME cname=mail.desdelinux.фан, линуксбокс.desdelinux.вентилятор
cname=чат.desdelinux.фан, линуксбокс.desdelinux.вентилятор
----

[root @ linuxbox ~] # перезапуск службы dnsmasq
[root @ linuxbox ~] # статус dnsmasq службы [root @ linuxbox ~] # хост чат
чат.desdelinux.fan — это псевдоним Linuxbox.desdelinux.вентилятор. Linuxbox.desdelinux.fan имеет адрес 192.168.10.5 linuxbox.desdelinuxПочта .fan обрабатывается 1 почтой.desdelinux.вентилятор.

Файл /Etc/resolv.conf

[root @ linuxbox ~] # nano /etc/resolv.conf 
по области применения desdelinux.fan nameserver 127.0.0.1 # Для внешних или # недоменных DNS-запросов desdelinux.fan # местный=/desdelinux.fan/сервер имен 172.16.10.30

Модификации во внешнем DNS в ISP

Мы посвящаем всю статью «Авторитарный DNS-сервер НРД + Shorewall - SME Networks»К вопросу о том, как объявить записи SRV, относящиеся к XMPP, чтобы служба обмена мгновенными сообщениями могла выходить в Интернет, и даже чтобы сервер Prosody мог объединиться с остальными совместимыми серверами XMPP, существующими в Интернете.

Перезапускаем Просоды

[root @ linuxbox ~] # перезапуск службы
Перенаправление в / bin / systemctl перезапуск prosody.service
[root @ linuxbox ~] # статус службы
Перенаправление на / bin / systemctl status prosody.service ● prosody.service - Сервер Prosody XMPP (Jabber) Загружен: загружен (/usr/lib/systemd/system/prosody.service; включен; предустановка поставщика: отключен) Активен: активный (работает) с Вс 2017-05-07 12:07:54 EDT; 8с назад Процесс: 1388 ExecStop = / usr / bin / prosodyctl stop (code = exited, status = 0 / SUCCESS) Процесс: 1390 ExecStart = / usr / bin / prosodyctl start (code = exited, status = 0 / SUCCESS) Главный PID : 1393 (lua) Группа C: /system.slice/prosody.service └─1393 lua /usr/lib64/prosody/../../bin/prosody

[корень @ linuxbox ~] # хвост -f /var/log/prosody/prosody.log
  • Очень полезно открыть новую консоль с запущенной предыдущей командой и посмотреть вывод отладки Prosody, пока служба перезапускается..

Настраиваем Cyrus SASL

[root @ linuxbox ~] # nano /etc/sasl2/prosody.conf
pwcheck_method: saslauthd mech_list: PLAIN

[root @ linuxbox ~] # перезапуск службы saslauthd
Перенаправление в / bin / systemctl restart saslauthd.service
[root @ linuxbox ~] # статус saslauthd службы

-- Если...
[root @ linuxbox ~] # перезапуск службы

Конфигурация PAM

[корень @ linuxbox ~] # nano /etc/pam.d/xmpp
auth включить пароль-auth аккаунт включить пароль-auth

Проверки аутентификации PAM

  • Чтобы проверить, мы должны выполнить следующую команду ТОЧНО, как указано ниже, поскольку речь идет о выполнении команды как пользователь "просодии", а не как пользователь "root":
[root @ linuxbox ~] # sudo -u prosody testsaslauthd -s xmpp -u strides -p strides
0: ОК "Успех".

[root @ linuxbox ~] # sudo -u prosody testsaslauthd -s xmpp -u legolas -p legolas
0: ОК "Успех".

[root @ linuxbox ~] # sudo -u prosody testsaslauthd -s xmpp -u legolas -p Ленголас
0: НЕТ "ошибка аутентификации"

Процесс аутентификации против локальных пользователей работает правильно.

Модифицируем FirewallD

Используя графическую утилиту «межсетевые экраны«, Для площади«что такое варган?»Активируем услуги:

  • xmpp-бош
  • xmpp-клиент
  • xmpp-сервер
  • xmpp-локальный

Аналогично для области «и, что лучший способ »Активируем услуги:

  • xmpp-клиент
  • xmpp-сервер

И мы открываем порты TCP 5222 и 5269.

Наконец, мы вносим изменения в Время выполнения a Постоянный y перезагрузите FirewallD.

XMPP Psi-клиент

Чтобы подключиться к недавно установленному серверу мгновенных сообщений Prosody, мы можем выбирать между различными существующими клиентами:

  • Сопереживание
  • Гаджим
  • Када
  • Фунтов на квадратный дюйм
  • Пси Плюс
  • пиджин
  • Телепатия
  • Вичат

Этот список можно продолжить. Мы выбрали Пси +. Чтобы установить его, мы используем предпочитаемую команду или делаем это с помощью графических инструментов, доступных для этой задачи. После установки мы запускаем его, а в конце статьи даем серию изображений, которые, как мы надеемся, будут вам полезны.

Резюме

  • Мы можем установить службу мгновенных сообщений на основе Prosody для локальных пользователей системы и отказаться от создания внутренних пользователей Prosody или других типов хранилища учетных данных аутентификации.
  • Учетные данные для аутентификации будут передаваться от клиента к серверу в зашифрованном виде, а также ответы последнего клиенту.
  • Мы можем установить более одной службы на основе локальной аутентификации через PAM на одном сервере.
  • Пока что сервер Linuxbox.desdelinux.вентилятор предоставляет следующие услуги сети SME:
    • Разрешение доменных имен или DNS.
    • Динамическое выделение IP-адресов или DCHP-адресов
    • Сетевая служба времени или NTP
    • Резервное копирование через SSH из клиентов UNIX / Linux или через WinSCP для клиентов Microsoft Windows.
    • Служба мгновенного обмена сообщениями - чат. Также доступно в Интернете.
    • Сервис обмена файлами через сам чат. Также доступно в Интернете
    • Услуга телеконференцсвязи, которую вы можете настроить в Prosody.

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

важно

Обязательно посетите следующий URL для получения полной информации на Pрозоди: HTTP: //prosody.im.

До следующей партии!


Оставьте свой комментарий

Ваш электронный адрес не будет опубликован. Обязательные для заполнения поля помечены *

*

*

  1. Ответственный за данные: Мигель Анхель Гатон
  2. Назначение данных: контроль спама, управление комментариями.
  3. Легитимация: ваше согласие
  4. Передача данных: данные не будут переданы третьим лицам, кроме как по закону.
  5. Хранение данных: база данных, размещенная в Occentus Networks (ЕС)
  6. Права: в любое время вы можете ограничить, восстановить и удалить свою информацию.

  1.   Билл сказал

    Каким интересным был ваш вклад, большое вам спасибо за все.

  2.   IWO сказал

    Поздравляем Федерико с очередной отличной статьей.
    Здесь автор дает нам («дает») «как узнать» о том, как реализовать службу чата через Prosody, которая использует протокол XMPP в сети для обмена мгновенными сообщениями, передачи файлов, проведения конференций с помощью голоса и видео, аутентификации по локальной сети. пользователей через безопасные соединения.
    Кроме того, как обычно во всей серии SME, автор способствует интеграции настраиваемой услуги с остальными услугами и / или параметрами, которые уже используются в сети:
    1- Модификации, которые мы должны внести в службу DNS, чтобы включить службу чата, и все работает правильно.
    2- Конфигурация (и проверки) PAM для локальной аутентификации службы чата.
    3- Что мы должны сделать в брандмауэре для локальной сети и в «Сети сетей», чтобы разрешить службу чата, и это с адекватным уровнем безопасности.
    4- И, наконец, проверка чата от клиента XMPP.
    Нечего сохранять сообщение в каталоге TIPS, когда эта услуга должна быть реализована.

  3.   Federico сказал

    Надеюсь, они вам чем-то пригодятся. Спасибо за комментарий

  4.   Federico сказал

    Друг IWO, вы поняли суть статьи. Просто добавьте, что мы реализуем службы для сети UNIX / Linux, даже если все ее клиенты - Microsoft Windows. Многие читатели, возможно, еще не заметили этой маленькой детали. 😉

  5.   Зодиак Карбур сказал

    Очень хороший вклад друга Фико. Вы знаете, что я следил за всеми вашими статьями, и в этих последних 4 я узнал много вопросов, которые я не знал из-за того, что мне наворачивалась завеса Active Directory и контроллера домена. Я практически родился с NT 4 и его PDC и BDC. Я не знал, что могу упростить аутентификацию по сети на одной машине под управлением Centos или другого Linux. Теперь я изучаю новую философию, которая, как мне кажется, стара, как истоки истории сетей. Хотя вы мало рассказываете мне о том, что собираетесь опубликовать 😉 Думаю, вы продолжите работу с LDAP, а затем с Active Directory на основе Samba 4 ?. Спасибо за вашу преданность делу свободных программ. Я буду ждать ваших следующих статей, Фико.

  6.   Эдуардо Ноэль сказал

    Тигр, отличная статья !!!!!

    Коллега, есть маленькая деталь, в DNS части вы указываете весь домен desdelinux.fan на IP 172.16.10.10, вы реализовали этот сервер в Debian (DNS), теперь этот чат-сервер находится в CentOS, поэтому логически у него другой IP-адрес, на который вам нужно было перенаправить весь трафик в брандмауэре. на этом IP-адресе будет расположена служба обмена мгновенными сообщениями, поскольку в настоящее время он указывает на тот же DNS-сервер и у него нет службы обмена сообщениями.

    В остальном все великолепно, крепкие объятия.

  7.   Federico сказал

    Спасибо, Эдуардо, за комментарий. Вы хорошо прочитали абзац:

    Аналогично для «внешней» зоны активируем услуги:

    xmpp-client
    xmpp-server

    И открываем TCP-порты 5222 и 5269.

    Я разрешаю вывод протокола XMPP через интерфейс ens34. Помните пост ниже, даже из статьи о Squid. 😉

  8.   Federico сказал

    Друг по знаку Зодиака: ты заставляешь меня заранее объявлять о моих сюрпризах. Нет, LDAP сейчас не пойдет. Это ядро ​​почтового сервера, основанного на Postfix, Dovecot, Squirrelmail и с аутентификацией PAM, который будет последним из этой мини-серии. Больше па. ;-). Затем, если остальное дойдет до Samba 4 AD-DC. До свидания!.

  9.   Эдуардо Ноэль сказал

    Да, друг мой, если я это читал, но нигде не вижу ПЕРЕРАБОТКИ в сторону другого сервера, взгляните.

  10.   Federico сказал

    Эдуардо: Сделайте установку. Подключите Ноутбук с IP подсети 172.16.10.0/24. Установите на него чат-клиент и подключитесь к Prosody. Я сделал это, и это сработало. 😉
    FirewallD - это тот самый сервер для CentOS, который выполняет ПЕРЕРАБОТКУ по-своему.