Grommunio: различия между версиями

Материал из wiki.nntc.nnov.ru
Перейти к навигации Перейти к поиску
(→‎Настройка TXT записи для домена)
(→‎Настройка TXT записи для домена)
Строка 155: Строка 155:
  
  
−
На всякий случай из файла нужно получить ключ, чтобы сравнить его с тем, который выдал веб интерфейс.
+
====Нюанс====
 +
 
 +
Веб админка выдала на генерацию ключей что-то типа того:
 +
 
 +
<pre>
 +
mailserver._domainkey IN TXT ( "v=DKIM1; k=rsa; "
 +
"p=MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAs/D2gdESmBR0TqqeZ42wXCsEjGpPOB7uxp4uY0De+297hKs3XV+1CehUu5BxXxKKeJJIKRzogvzzOj76AXWMpiF5LS4oOUd3I+I+H8aCAC69QuV/TKHuB0Qqv7c8S54dw4210fHOSMMwVYlzfRGeyPfrKBcfZi4v98j7jh2on5f5btiaeppkUgUxMOPjTRepl3VzxTkID9cLrIEDc"
 +
"iA3nVMXbkj4wULMNSL3IjfuW4MRIJ6a4zZZqOECjrhBiSgAies+l0yh/+mn3LQmVcjba0RTuxa7x5xuf21AnKZvv0uZeQrROd0WrbLYGLFRO2Nk6/jUQPaPHS3ThDggbXz3RwIDAQAB"
 +
) ;
 +
</pre>
 +
 
 +
Это на самом деле означает, что значение TXT записи
 +
 
 +
mailserver._domainkey
 +
 
 +
в веб админке провайдера днс должно быть таким:
 +
 
 +
v=DKIM1; k=rsa; p=MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAs/D2gdESmBR0TqqeZ42wXCsEjGpPOB7uxp4uY0De+297hKs3XV+1CehUu5BxXxKKeJJIKRzogvzzOj76AXWMpiF5LS4oOUd3I+I+H8aCAC69QuV/TKHuB0Qqv7c8S54dw4210fHOSMMwVYlzfRGeyPfrKBcfZi4v98j7jh2on5f5btiaeppkUgUxMOPjTRepl3VzxTkID9cLrIEDciA3nVMXbkj4wULMNSL3IjfuW4MRIJ6a4zZZqOECjrhBiSgAies+l0yh/+mn3LQmVcjba0RTuxa7x5xuf21AnKZvv0uZeQrROd0WrbLYGLFRO2Nk6/jUQPaPHS3ThDggbXz3RwIDAQAB
 +
 
 +
, а на строчки оно разбивается по некоторым историческим причинам, суть которых в ограничении длины строки. Видимо, особенности протокола DNS...
 +
 
 +
Перед тем, как конфигурировать TXT запись на уровне DNS необходимо свериться: точно ли у ключа, который ранее был скопирован в файл
 +
 
 +
/var/lib/grommunio-antispam/dkim/myorg.net/mailserver.key
 +
 
 +
base64 строка соответствует значению ключа
 +
 
 +
p=
 +
 
 +
из значения для TXT записи, приведённой выше.
 +
 
 +
Получить этот ключ можно следующим образом:
  
 
  openssl rsa -in /var/lib/grommunio-antispam/dkim/myorg.net/mailserver.key -pubout -outform DER 2>/dev/null | base64 -w 0
 
  openssl rsa -in /var/lib/grommunio-antispam/dkim/myorg.net/mailserver.key -pubout -outform DER 2>/dev/null | base64 -w 0
 +
 +
В ответ придёт что-то вроде:
 +
 +
MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAs/D2gdESmBR0TqqeZ42wXCsEjGpPOB7uxp4uY0De+297hKs3XV+1CehUu5BxXxKKeJJIKRzogvzzOj76AXWMpiF5LS4oOUd3I+I+H8aCAC69QuV/TKHuB0Qqv7c8S54dw4210fHOSMMwVYlzfRGeyPfrKBcfZi4v98j7jh2on5f5btiaeppkUgUxMOPjTRepl3VzxTkID9cLrIEDciA3nVMXbkj4wULMNSL3IjfuW4MRIJ6a4zZZqOECjrhBiSgAies+l0yh/+mn3LQmVcjba0RTuxa7x5xuf21AnKZvv0uZeQrROd0WrbLYGLFRO2Nk6/jUQPaPHS3ThDggbXz3RwIDAQAB
 +
 +
В теории (в теории, но на практике было и по другому. Это надо проверить ещй раз!) эти ключи должны совпадать. Т.е. ключ, который с переносами и кавычками был выдан веб интеряейсом, и ключ, который выдала команда выше -- должны быть одинаковы. Ведь файл ключа одинаковый (мы его просто скопировали для донастройки grommunio-antispam)!
 +
 +
Но на практике было и так что команда
 +
 +
openssl rsa -in...
 +
 +
выдавала ключ, который отличается. Если ключи будут отличаться, то в значение
 +
 +
p=
 +
 +
для DNS записи необходимо заменить на значение, полученное от команды:
 +
 +
openssl rsa -in...
 +
 +
 +
Далее в веб-админке DNS сервера добавляем запись типа
 +
 +
TXT
 +
 +
, поддомен которой должен быть такой (полный домен имеется в виду такой: mailserver._domainkey.myorg.net)
 +
 +
mailserver._domainkey
 +
 +
, а его значением должно быть
 +
 +
v=DKIM1; k=rsa; p=MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAs/D2gdESmBR0TqqeZ42wXCsEjGpPOB7uxp4uY0De+297hKs3XV+1CehUu5BxXxKKeJJIKRzogvzzOj76AXWMpiF5LS4oOUd3I+I+H8aCAC69QuV/TKHuB0Qqv7c8S54dw4210fHOSMMwVYlzfRGeyPfrKBcfZi4v98j7jh2on5f5btiaeppkUgUxMOPjTRepl3VzxTkID9cLrIEDciA3nVMXbkj4wULMNSL3IjfuW4MRIJ6a4zZZqOECjrhBiSgAies+l0yh/+mn3LQmVcjba0RTuxa7x5xuf21AnKZvv0uZeQrROd0WrbLYGLFRO2Nk6/jUQPaPHS3ThDggbXz3RwIDAQAB
 +
 +
т.е. в общем виде так:
 +
 +
v=DKIM1; k=rsa; p=<результат, полученный от команды openssl rsa -in...>
 +
 +
После того, как TXT запись домена проделегируется проверить это можно командой:
  
 
==Пакетное создание ящиков==
 
==Пакетное создание ящиков==
  
 
==Особенности работы Community версии и способы починки==
 
==Особенности работы Community версии и способы починки==

Версия 13:29, 29 июля 2026

Развёртывание

Где брать, как ставить

Для развёртывания на PVE можно прямо в хранилище PVE затащить образ по ссылке

https://download.grommunio.com/appliance/grommunio.x86_64-latest.install.iso

Ставить по этой инструкции

https://docs.grommunio.com/admin/installation/

Если ваши будущие емэйлы будут вида

user@myorg.net

То нужно ориентироваться на домены

mail.myorg.net

и

myorg.net

при инсталляции.


Порты

Порт Протокол Сервис / Назначение в Grommunio
25 TCP SMTP — входящая почта (передача между почтовыми серверами)
80 TCP HTTP — веб-интерфейс (перенаправление на HTTPS / Let's Encrypt)
110 TCP POP3 — получение почты (незашифрованный)
143 TCP IMAP — получение почты (незашифрованный / STARTTLS)
443 TCP HTTPS — Grommunio Web (Webmail), Outlook (EAS/MAPI over HTTP), Admin API
465 TCP SMTPS — защищённая отправка почты клиентами (SSL/TLS)
587 TCP SMTP Submission — отправка почты клиентами (STARTTLS)
993 TCP IMAPS — защищённое получение почты (SSL/TLS)
995 TCP POP3S — защищённое получение почты (SSL/TLS)
5349 TCP STUN/TURN (coturn) — установка видеосоединений Jitsi за NAT (HTTPS/TLS)
8443 TCP Grommunio Admin Admin Web Console — веб-панель администратора
10000 UDP Jitsi Videobridge — медиапоток (аудио, видео, шеринг экрана)

Настроить подпись писем через DKIM

Действия мышкой в админке

Сначала внутри админки нужно создать домен и перейти в форму управления этим доменом.

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

С этими умолчаниями пользователи будут создаваться, если их создавать из админки.


Для настройки подписи через DKIM нужно нажать соответствующую кнопку в форме управления доменом. В открывшемся окне выполнить создание ключевой пары для подписи.

Выбрать алгоритм RSA и selector. По умолчанию selector имеет значение

dkim

, но можно установить свой. Этот селектор будет использован при настройке TXT записи для почтового домена.

Например, можно выбрать селектор

mailserver


В ответ на запрос генерации ключей придёт примерно такой шаблон для настройки TXT записи для домена:

mailserver._domainkey IN TXT ( "v=DKIM1; k=rsa; "
	"p=MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAs/D2gdESmBR0TqqeZ42wXCsEjGpPOB7uxp4uY0De+297hKs3XV+1CehUu5BxXxKKeJJIKRzogvzzOj76AXWMpiF5LS4oOUd3I+I+H8aCAC69QuV/TKHuB0Qqv7c8S54dw4210fHOSMMwVYlzfRGeyPfrKBcfZi4v98j7jh2on5f5btiaeppkUgUxMOPjTRepl3VzxTkID9cLrIEDc"
	"iA3nVMXbkj4wULMNSL3IjfuW4MRIJ6a4zZZqOECjrhBiSgAies+l0yh/+mn3LQmVcjba0RTuxa7x5xuf21AnKZvv0uZeQrROd0WrbLYGLFRO2Nk6/jUQPaPHS3ThDggbXz3RwIDAQAB"
) ; 

и будет сказано что ключ лежит где-то здесь:

The private key has been generated on the server at
/var/lib/grommunio-admin-api/myorg.net.mailserver.key

Этот путь до файла ключа будет нужен потом при настройке сервера по ssh.

Настройка сервера по ssh

Для доступа по ssh под root лучше сразу получить на сервер открытую часть ssh ключа и настроить конфиг ssh для быстрого подключения. Под root на сервер по паролю подключиться не получится. А через виртуальный дисплей виртуальной машины нельзя будет скопировать текст на сервер.

Поэтому самый верный вариант - зайти на сервер через виртуальный дисплей виртуальной машины, скопировать через scp открытую часть ключа с другой машины по сети, затем перейти на другую машину и подключаться по ключу с ней на сервер.


Войдя по ssh на сервер необходимо сделать ряд настроек:

Если ваш домен:

myorg.net

а селектор

mailserver 

1. Создаём каталог

mkdir -p /var/lib/grommunio-antispam/dkim/myorg.net

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

cp /var/lib/grommunio-admin-api/myorg.net.mailserver.key /var/lib/grommunio-antispam/dkim/myorg.net/mailserver.key

3. Создайм файл

cat << 'EOF' > /etc/grommunio-antispam/override.d/dkim_signing.conf
enabled = true;
sign_authenticated = true;
sign_local = true;

domain {
    "myorg.net" {
        path = "/var/lib/grommunio-antispam/dkim/myorg.net/mailserver.key";
        selector = "mailserver";
    }
}

use_domain = "header";

4. Устанавливаем права доступа на каталог и файл

chown -R groas:grommunio /var/lib/grommunio-antispam/dkim/
chmod 600 /var/lib/grommunio-antispam/dkim/myorg.net/mailserver.key

5. Перезапустить сервисы

systemctl restart grommunio-antispam
systemctl restart postfix

Настройка TXT записи для домена

Эта настройка делается в веб панели управления доменом. В зависимости от того, где арендован домен. Например, reg.ru, beget.com и т.д...


Нюанс

Веб админка выдала на генерацию ключей что-то типа того:

mailserver._domainkey IN TXT ( "v=DKIM1; k=rsa; "
	"p=MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAs/D2gdESmBR0TqqeZ42wXCsEjGpPOB7uxp4uY0De+297hKs3XV+1CehUu5BxXxKKeJJIKRzogvzzOj76AXWMpiF5LS4oOUd3I+I+H8aCAC69QuV/TKHuB0Qqv7c8S54dw4210fHOSMMwVYlzfRGeyPfrKBcfZi4v98j7jh2on5f5btiaeppkUgUxMOPjTRepl3VzxTkID9cLrIEDc"
	"iA3nVMXbkj4wULMNSL3IjfuW4MRIJ6a4zZZqOECjrhBiSgAies+l0yh/+mn3LQmVcjba0RTuxa7x5xuf21AnKZvv0uZeQrROd0WrbLYGLFRO2Nk6/jUQPaPHS3ThDggbXz3RwIDAQAB"
) ; 

Это на самом деле означает, что значение TXT записи

mailserver._domainkey

в веб админке провайдера днс должно быть таким:

v=DKIM1; k=rsa; p=MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAs/D2gdESmBR0TqqeZ42wXCsEjGpPOB7uxp4uY0De+297hKs3XV+1CehUu5BxXxKKeJJIKRzogvzzOj76AXWMpiF5LS4oOUd3I+I+H8aCAC69QuV/TKHuB0Qqv7c8S54dw4210fHOSMMwVYlzfRGeyPfrKBcfZi4v98j7jh2on5f5btiaeppkUgUxMOPjTRepl3VzxTkID9cLrIEDciA3nVMXbkj4wULMNSL3IjfuW4MRIJ6a4zZZqOECjrhBiSgAies+l0yh/+mn3LQmVcjba0RTuxa7x5xuf21AnKZvv0uZeQrROd0WrbLYGLFRO2Nk6/jUQPaPHS3ThDggbXz3RwIDAQAB

, а на строчки оно разбивается по некоторым историческим причинам, суть которых в ограничении длины строки. Видимо, особенности протокола DNS...

Перед тем, как конфигурировать TXT запись на уровне DNS необходимо свериться: точно ли у ключа, который ранее был скопирован в файл

/var/lib/grommunio-antispam/dkim/myorg.net/mailserver.key

base64 строка соответствует значению ключа

p=

из значения для TXT записи, приведённой выше.

Получить этот ключ можно следующим образом:

openssl rsa -in /var/lib/grommunio-antispam/dkim/myorg.net/mailserver.key -pubout -outform DER 2>/dev/null | base64 -w 0

В ответ придёт что-то вроде:

MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAs/D2gdESmBR0TqqeZ42wXCsEjGpPOB7uxp4uY0De+297hKs3XV+1CehUu5BxXxKKeJJIKRzogvzzOj76AXWMpiF5LS4oOUd3I+I+H8aCAC69QuV/TKHuB0Qqv7c8S54dw4210fHOSMMwVYlzfRGeyPfrKBcfZi4v98j7jh2on5f5btiaeppkUgUxMOPjTRepl3VzxTkID9cLrIEDciA3nVMXbkj4wULMNSL3IjfuW4MRIJ6a4zZZqOECjrhBiSgAies+l0yh/+mn3LQmVcjba0RTuxa7x5xuf21AnKZvv0uZeQrROd0WrbLYGLFRO2Nk6/jUQPaPHS3ThDggbXz3RwIDAQAB

В теории (в теории, но на практике было и по другому. Это надо проверить ещй раз!) эти ключи должны совпадать. Т.е. ключ, который с переносами и кавычками был выдан веб интеряейсом, и ключ, который выдала команда выше -- должны быть одинаковы. Ведь файл ключа одинаковый (мы его просто скопировали для донастройки grommunio-antispam)!

Но на практике было и так что команда

openssl rsa -in...

выдавала ключ, который отличается. Если ключи будут отличаться, то в значение

p=

для DNS записи необходимо заменить на значение, полученное от команды:

openssl rsa -in...


Далее в веб-админке DNS сервера добавляем запись типа

TXT

, поддомен которой должен быть такой (полный домен имеется в виду такой: mailserver._domainkey.myorg.net)

mailserver._domainkey

, а его значением должно быть

v=DKIM1; k=rsa; p=MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAs/D2gdESmBR0TqqeZ42wXCsEjGpPOB7uxp4uY0De+297hKs3XV+1CehUu5BxXxKKeJJIKRzogvzzOj76AXWMpiF5LS4oOUd3I+I+H8aCAC69QuV/TKHuB0Qqv7c8S54dw4210fHOSMMwVYlzfRGeyPfrKBcfZi4v98j7jh2on5f5btiaeppkUgUxMOPjTRepl3VzxTkID9cLrIEDciA3nVMXbkj4wULMNSL3IjfuW4MRIJ6a4zZZqOECjrhBiSgAies+l0yh/+mn3LQmVcjba0RTuxa7x5xuf21AnKZvv0uZeQrROd0WrbLYGLFRO2Nk6/jUQPaPHS3ThDggbXz3RwIDAQAB

т.е. в общем виде так:

v=DKIM1; k=rsa; p=<результат, полученный от команды openssl rsa -in...>

После того, как TXT запись домена проделегируется проверить это можно командой:

Пакетное создание ящиков

Особенности работы Community версии и способы починки