Русский
Русский
English
Статистика
Реклама

Мессенджер в почтовой корове? Дайте два


Рано или поздно очередной исследователь бюджетных альтернатив MS Exchange сталкивается с почтовым сервером из Германии mailcow. Кто-то, не замечая, проносится мимо, кто-то, притормаживая, знакомится ближе. Находятся и те, кто идёт дальше и разворачивает данное почтовое решение в своей ИТ-инфраструктуре. Например я, который в середине 2020 года мигрируя с сервисов Google, внедрил почтовую корову у себя, разместив основную и резервную площадки на виртуальных вычислительных ресурсах географически разнесённых .

Базируемый на программном обеспечении с открытым исходным кодом и разворачиваемый в докер-контейнерах, этот почтовый сервер обладает функционалом, сопоставимыми с возможностями MS Exchange. Почта с антивирусом и антиспамом, календари, задачи, контакты, мультидоменность и мультиарендность всего лишь малая часть того, о чём бы стоило рассказать. Но учитывая тот факт, что в сети уже предостаточно материала о mailcow, как о решении для обмена электронной почтой, в этой статье расскажу о нём, как о решении для мгновенного обмена сообщениями.

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

Эта востребованность, однажды, настигла в моей деятельности и меня, поставив перед выбором: Какой мессенджер использовать?

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

К сожалению или нет, но воплотить свои хотелки собственными силами я не успел, ибо меня опередил mailcow предложив их из коробки:

- ejabberd


Первый мессенджер, о котором хочу рассказать, построен на базе свободного (GNU GPL), распределённого и устойчивого к отказам MQTT, SIP и XMPP-сервера.

Да-Да! На базе сервера, который использует тот самый Джаббер (англ. Jabber болтовня, трёп, тарабарщина), теперь известный как XMPP (англ. eXtensible Messaging and Presence Protocol) открытый, основанный на XML, свободный для использования протокол для мгновенного обмена сообщениями и информацией о присутствии в режиме, близком к режиму реального времени. Спроектированный легко расширяемым, протокол, помимо передачи текстовых сообщений, поддерживает передачу голоса, видео и файлов по сети.

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


Настройка


По умолчанию ejabbberd в mailcow отключён. Для того, чтобы его активировать, необходимо включить поддержку XMPP для выбранного домена в панели управления (mailcow UI).

image


Указанный префикс домена используется в адресе авторизации XMPP (JabberID). Например, JID для пользователя почтового ящика cowboy@example.org будет таким cowboy@im.example.org. Пароль же совпадает с почтовым.

Перед включением поддержки XMPP для домена не не забудьте добавить две необходимые для получения сертификата записи CNAME в DNS в следующем формате:

# CNAMES# Name              Type       Valuexmpp_prefix         IN CNAME   mail.example.org. (ваш ${MAILCOW_HOSTNAME})*.xmpp_prefix       IN CNAME   mail.example.org. (ваш ${MAILCOW_HOSTNAME})


где, xmpp_prefix в нашем примере это im

Правильность добавления можно проверить с помощью инструмента анализа DNS-записей в панели управления mailcow.

image


Если вы сначала включили XMPP, а затем добавили записи DNS не беда. Нужно дождаться, пока ejabberd автоматически получит сертификаты, или вручную перезапустить docker-контейнер ejabberd-mailcow с помощью команды:

$ docker-compose restart ejabberd-mailcow

После включения ejabberd вы можете повторно запустить анализ DNS-записей в панели управления mailcow, где вы найдете еще две SRV-записи.

image

# SRV records# Name                            Type       Value_xmpp-client._tcp.xmpp_prefix     IN SRV     10 1 5222 mail.example.org. (ваш ${MAILCOW_HOSTNAME})_xmpp-server._tcp.xmpp_prefix     IN SRV     10 1 5269 mail.example.org. (ваш ${MAILCOW_HOSTNAME})


Эти записи необходимы для автоконфигурации клиентов XMPP и межсерверных соединений. Добавить их можно в любое время без перезагрузки ejabberd.

Управление доступом


image


Проверка сертификатов


Когда все настроено, убедитесь, что ejabberd смог получить сертификаты:

Если вы видите сообщение, похожее на это

ejabberd-mailcow_1   | 2021-02-13 14:40:19.507956+01:00 [error] Failed to request certificate for im.example.org, pubsub.im.example.org and 3 more hosts: Challenge failed for domain conference.im.example.org: ACME server reported: DNS problem: NXDOMAIN looking up A for conference.im.example.org - check that a DNS record exists for this domain (error type: dns


возможно, вам потребуется перепроверить конфигурацию DNS или перезапустить docker-контейнер ejabberd-mailcow для возобновления процесса в случае медленного обновления DNS

Открытие

https:/xmpp_prefix.domain.tld:5443/upload 


должно направить вас на страницу 404 с действующим сертификатом.

На этом активацию и основную настройку XMPP на сервере mailcow можно считать завершённой. Подбирайте удобный jabber-клиент и общайтесь с родственниками, друзьями, коллегами, клиентами с глазу на глаз или в групповых чатах, в том числе c использованием end-to-end шифрования.

- DeltaChat


Второй мессенджер доступный к использованию в mailcow это скорее выглядящий как Telegram или WhatsApp почтовый клиент, который, а в качестве транспорта использует электронные сообщения со сквозным шифрованием. Своих серверов не имеет, доверив их роль почтовым, которые эти сообщения хранят и доставляют. Может работать с обычной, нешифрованной почтой. Углубляться в подробности не буду, ибо материала в сети достаточно. Например .

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

В итоге


Почтовая корова приросла функциями и при использовании универсальных mail-клиентов, таких как или , стала средством унифицированных коммуникаций. Почти


Источник: habr.com
К списку статей
Опубликовано: 20.05.2021 12:07:50
0

Сейчас читают

Комментариев (0)
Имя
Электронная почта

Блог компании ruvds.com

Мессенджеры

Системное администрирование

Mailcow

Почтовый сервер

Ruvds_статьи

Xmpp

Jabber

Delta chat

Im

Категории

Последние комментарии

  • Имя: Макс
    24.08.2022 | 11:28
    Я разраб в IT компании, работаю на арбитражную команду. Мы работаем с приламы и сайтами, при работе замечаются постоянные баны и лаги. Пацаны посоветовали сервис по анализу исходного кода,https://app Подробнее..
  • Имя: 9055410337
    20.08.2022 | 17:41
    поможем пишите в телеграм Подробнее..
  • Имя: sabbat
    17.08.2022 | 20:42
    Охренеть.. это просто шикарная статья, феноменально круто. Большое спасибо за разбор! Надеюсь как-нибудь с тобой связаться для обсуждений чего-либо) Подробнее..
  • Имя: Мария
    09.08.2022 | 14:44
    Добрый день. Если обладаете такой информацией, то подскажите, пожалуйста, где можно найти много-много материала по Yggdrasil и его уязвимостях для написания диплома? Благодарю. Подробнее..
© 2006-2024, personeltest.ru