Настройка Postfix и Dovecot на Ubuntu

Требования к установке iRedMail

  1. Свежий Ubuntu server 20.04 с минимальным объемом памяти 4 ГБ
  2. Учетная запись Sudo или доступ пользователя root
  3. Доступ в Интернет для загрузки пакетов.
  4. Полное доменное имя (FQDN)
  5. Публичный статический (белый) IP-адрес
  6. Открытый 25 порт

iRedMail поддерживает такие сервисы, как Postfix, Dovecot, Nginx/Apache. А так же поддерживаются бэкенды MariaDB, PostgresSQL и OpenLDAP.

Первое что требуется это обновить ubuntu server:

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

Мы использовали mail.websitefortesting.com как имя хоста.

Теперь откройте файл hosts и настройте имя хоста:

Шаг 2 — Настройка аутентификации и прав пользователя

При установке phpMyAdmin на ваш сервер автоматически создал пользователь базы данных с именем phpmyadmin, который отвечает за определенные базовые процессы программы. Вместо того, чтобы выполнять вход с помощью этого пользователя и пароля администратора, которые вы задали при установке, рекомендуется войти с использованием вашего пользователя root MySQL или пользователя, предназначенного для управления базами данных через интерфейс phpMyAdmin.

Настройка доступа по паролю для учетной записи root в MySQL

В системах Ubuntu при запуске MySQL 5.7 (и более поздние версии) для пользователя root MySQL по умолчанию устанавливается аутентификация с помощью h_socket, а не пароля. Это позволяет обеспечить большую безопасность и удобство во многих случаях, однако это также может осложнить ситуацию, когда вам нужно предоставить внешней программе, например, phpMyAdmin, доступ к пользователю.

Чтобы войти в phpMyAdmin с пользователем root MySQL, вам нужно переключить метод аутентификации с на метод. использующий пароль, если вы еще не сделали этого. Для этого откройте командную строку MySQL через терминал:

Затем проверьте, какой метод аутентификации используют ваши аккаунты пользователей MySQL с помощью следующей команды:

В этом примере вы можете видеть, что пользователь root действительно использует метод аутентификации с помощью плагина . Чтобы настроить для учетной записи root аутентификацию с помощью пароля, выполните следующую команду . Обязательно измените значение на надежный пароль по вашему выбору:

Примечание. Предыдущее выражение устанавливает аутентификацию пользователя root MySQL с помощью плагина ​​. , считается предпочтительным плагином аутентификации MySQL, так как он обеспечивает более защищенное шифрование пароля, чем более старая, но все еще широко используемая версия .

Однако некоторые версии PHP работают ненадежно с . Как сообщается, эта проблема была устранена в версии PHP 7.4​​​, но если вы получите ошибку при попытке выполнить вход в phpMyAdmin позднее, вы можете задать для root аутентификацию с помощью :

Затем проверьте методы аутентификации, применяемые для каждого из ваших пользователей, чтобы подтвердить, что пользователь root больше не использует для аутентификации плагин :

В этом выводе вы можете увидеть, что пользователь root user будет использовать аутентификацию по паролю. Теперь вы можете выполнить вход в интерфейс phpMyAdmin с помощью пользователя root с паролем, который вы задали ранее.

Настройка доступа по паролю для выделенного пользователя MySQL

Некоторые могут посчитать, что для их рабочего процесса лучше подходит подключение к phpMyAdmin с помощью специально выделенного пользователя. Чтобы сделать это, снова откройте командную строку MySQL:

Если вы активировали аутентификацию по паролю для вашего пользователя root, как описано в предыдущем разделе, вам нужно запустить следующую команду и ввести пароль при запросе для подключения:

Создайте нового пользователя и придумайте для него надежный пароль:

Примечание. В зависимости от версии PHP, которую вы установили, вы можете задать для вашего нового пользователя аутентификацию с помощью вместо :

Затем предоставьте вашему новому пользователю соответствующие права. Например, вы можете предоставить пользователю права доступа ко всем таблицам в базе данных, а также можете добавлять, изменять и удалять права пользователя с помощью этой команды:

После этого закройте командную строку MySQL:

Теперь вы можете получить доступ к веб-интерфейсу, набрав доменное имя или открытый IP-адрес вашего сервера и добавив :

Выполните вход в интерфейс с помощью пользователя root или с новым именем пользователя и паролем, которые вы только что задали.

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

Теперь, когда вы можете подключаться и взаимодействовать с phpMyAdmin, осталось только установить более жесткие правила безопасности системы, чтобы защитить ее от атак.

Шаг 7 — Инициализация Maildir и тестирование клиента

Теперь мы можем протестировать клиент.

Самый простой способ создания структуры Maildir в домашнем каталоге — отправить себе электронное письмо. Для этого мы можем использовать команду Поскольку файл будет доступен только после создания Maildir, нам нужно отключить запись в него для нашего первого письма. Опция поможет нам в этом.

Для отправки письма добавьте строку в команду . Измените команду, чтобы сделать получателем вашего пользователя Linux:

Вы можете получить следующий ответ:

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

Вы должны увидеть созданную структуру каталогов и новое сообщение в каталоге :

Похоже наше письмо доставлено.

Управление почтой с помощью клиента

Используйте клиент для проверки почты:

Вы должны увидеть новое сообщение:

Просто нажмите для вывода этого сообщения:

Вы можете веернуться к списку сообщений, введя и нажав :

Поскольку это сообщение не очень полезно, мы можем удалить его, введя и нажав :

Для выхода и возврата в терминал введите и нажмите :

Отправка писем с помощью клиента

Вы можете протестировать функцию отправки писем, набрав сообщение в текстовом редакторе:

Введите текст, которы вы хотите отправить по почте:

~/test_message

Мы можем использовать команду , чтобы направить сообщение в процесс . По умолчанию сообщение будет отправлено от имени вашего пользователя Linux. При желании вы можете изменить поле «From» с помощью атрибута :

Приведенные выше опции:

  • : строка темы письма
  • : изменение поля «From» письма. По умолчанию в этом поле указан текущий пользователь Linux. Опция позволяет задать другого отправителя.
  • : учетная запись получателя письма. Измените этот адрес на адрес учетной записи, к которому у вас есть доступ .

Вы можете просмотреть отправленные сообщения в клиенте . Запустите интерактивный клиент еще раз с помощью следующей команды:

После этого откройте список отправленных сообщений с помощью следующей команды:

Вы можете управлять отправленными письмами с помощью тех же команд, которые используются для входящих писем.

Решение проблем

Большинство трудностей решается чтением логов. Для opendkim они будут попадать в общий log-файл почты. Включить его непрерывный просмотр можно следующей командой.

а) для Red Hat / CentOS / FreeBSD:

tail -f /var/log/maillog

б) для Debian / Ubuntu:

tail -f /var/log/mail.log

Также, очень часто, проблемы возникают из-за неправильной настройки прав на ключи. Нужно иметь ввиду, что некоторые системы, из соображений безопасности, выдают ошибку, если на файлы выданы слишком широкие права на чтение. То есть, если разрешить читать файлы всем (chmod 644), система будет возвращать ошибку. Если в логах видим «error loading key», скорее всего, проблема с правами. Внимательно выполните повторно рекомендации 2-о пункта данной инструкции.

Еще одно часто появляющееся сообщение — «opendkim no signing table match for». Оно говорит, что для домена, от которого отправляется почта, нет соответствий в файле SigningTable. Либо была допущена опечатка, либо, на самом деле, для домена отправки не нужно использовать DKIM.

Настройка аутентификации на Postfix

Аутентификация на postfix будет выполняться методом dovecot. Для этого устанавливаем его. Заодно, устанавливаем и postfix (на случай, если его нет еще в системе). В зависимости от используемой операционной системы используем разные команды.

а) если используем Ubuntu / Debian:

apt-get update

apt-get install postfix dovecot-imapd dovecot-pop3d

б) если используем CentOS / Red Hat:

yum install postfix dovecot

После установки пакетов, разрешаем автозапуск dovecot и postfix:

systemctl enable postfix dovecot

Открываем на редактирование конфигурационный файл нашего MTA Postfix:

vi /etc/postfix/main.cf

Добавляем строки (или меняем значения):

smtpd_sasl_type = dovecot
smtpd_sasl_auth_enable = yes
smtpd_sasl_path = private/auth
smtpd_relay_restrictions =
        permit_mynetworks
        permit_sasl_authenticated
        reject_unauth_destination

* где:

  • smtpd_sasl_type — тип плагина, который используется для SASL-аутентификации. Командой postconf -a мы можем получить список механизмов аутентификации, которые поддерживаются почтовой системой.
  • smtpd_sasl_auth_enable — разрешает или запрещает аутентификацию по механизму SASL.
  • smtpd_sasl_path — путь до файла для обмена аутентификационной информацией. Используется для взаимодействия нескольких систем — в нашем примере Postfix + Dovecot.
  • smtpd_relay_restrictions — правила разрешения и запрета использования MTA при пересылке. В нашем случае:

    • permit_mynetworks — разрешить отправку с компьютеров, чьи IP-адреса соответствуют настройке mynetworks.
    • permit_sasl_authenticated — разрешить отправку писем тем, кто прошел авторизацию.
    • reject_unauth_destination — запретить всем, кто не прошел проверку подлинности.

Проверяем корректность настройки:

postconf > /dev/null

Если команда не вернула ошибок, перезапускаем Postfix:

systemctl restart postfix

Переходим к настройке dovecot — открываем файл:

vi /etc/dovecot/conf.d/10-master.conf

… и приводим опцию service auth к следующему виду:

service auth {
  …
  unix_listener /var/spool/postfix/private/auth {
    mode = 0660
    user = postfix
    group = postfix
  }
  …
}

* если соответствующей секции unix_listener нет, то ее нужно создать

Обратите внимание, что для обмена аутентификационными данными мы применяем файл /var/spool/postfix/private/auth, который в конфигурационном файле postfix был указан, как private/auth

Отключаем требование ssl для аутентификации (на текущем этапе нам это не нужно):

vi /etc/dovecot/conf.d/10-ssl.conf

Проверяем, чтобы значение ssl не было required:

ssl = yes

* нас устроит оба варианта — yes или no.

Настройки аутентификации приводим к следующему виду:

vi /etc/dovecot/conf.d/10-auth.conf

auth_mechanisms = plain login

* данные механизмы позволяют передачу данных в открытом виде.

В этом же файле проверяем, что снят комментарий со следующей строки:

!include auth-system.conf.ext

Проверяем корректность настройки dovecot:

doveconf > /dev/null

Если команда ничего не вернула, перезапускаем сервис:

systemctl restart dovecot

В качестве логина и пароля можно использовать любую системную учетную запись. Создадим ее для теста:

useradd smtptest

passwd smtptest

Мы настроили простую аутентификацию на сервере SMTP. Для проверки можно воспользоваться любым почтовым клиентом. Пример настройки thunderbird:

Пробуем отправить письмо. Отправка должна потребовать ввода логина и пароль — используем аутентификационные данные для записи, созданной выше.

Мы завершили настройку аутнтификации на postfix при отправке письма. Добавим проверку данных через LDAP.

Настройка брандмауэра

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

Для Iptables

Как правило, Iptables используется для систем на базе Debian.

Для того, чтобы открыть нужные нам порты, вводим:

iptables -I INPUT 1 -p tcp –match multiport –dports 25,465,587 -j ACCEPT

iptables -I INPUT 1 -p tcp –match multiport –dports 110,143,993,995 -j ACCEPT

* где мы откроем следующие порты:

  • 25 — стандартный SMTP через STARTTLS;
  • 110 — стандартный POP3 через STARTTLS;
  • 143 — стандартный IMAP через STARTTLS;
  • 465 — защищенный SMTP через SSL/TLS;
  • 587 — защищенный SMTP через STARTTLS;
  • 993 — защищенный IMAP через SSL/TLS;
  • 995 — защищенный POP3 через SSL/TLS.

Для сохранения правил установим пакет:

apt-get install iptables-persistent

И выполняем команду:

netfilter-persistent save

Firewalld

Firewalld, в основном, используется в системах на базе Red Hat.

Для открытия нужных нам портов вводим команды:

firewall-cmd –permanent –add-port=25/tcp –add-port=465/tcp –add-port=587/tcp

firewall-cmd –permanent –add-port=110/tcp –add-port=143/tcp –add-port=993/tcp –add-port=995/tcp

И применяем настройки:

firewall-cmd –reload

* где мы откроем следующие порты:

  • 25 — стандартный SMTP через STARTTLS;
  • 110 — стандартный POP3 через STARTTLS;
  • 143 — стандартный IMAP через STARTTLS;
  • 465 — защищенный SMTP через SSL/TLS;
  • 587 — защищенный SMTP через STARTTLS;
  • 993 — защищенный IMAP через SSL/TLS;
  • 995 — защищенный POP3 через SSL/TLS.

Настройки DNS

Для работы вашей почтовой системы необходимо настроить следующие записи DNS:

Запись, указывающая полное доменное имя (имя хоста) вашей системы на IPv4-адрес вашего почтового сервера.

Полное доменное имя состоит из двух частей: имени хоста и имени домена.

Запись MX, чтобы указать, какой почтовый сервер отвечает за прием сообщений электронной почты от имени домена получателя. В нашем случае мы хотим, чтобы все электронные письма, отправленные на @linuxize.com электронной почты @linuxize.com принимались почтовым сервером mail.linuxize.com .

Запись SPF, которая используется для проверки того, какие почтовые серверы одобрены для отправки электронной почты от имени данного домена. В приведенном ниже примере мы утверждаем почтовые серверы домена (mx), и если проверка SPF не удалась, результатом будет мягкий сбой (~ все):

Конечно, вам необходимо заменить доменное имя и IP-адрес на ваше реальное доменное имя и IP-адрес вашего почтового сервера.

Обратный DNS (PTR)

Обратный DNS (PTR) — это IP-адрес для сопоставления доменного имени, полная противоположность DNS, который сопоставляет доменные имена с IP-адресами.

Большинство почтовых серверов будут выполнять обратный поиск DNS на IP-адресе, который пытается подключиться к ним, и могут не принимать электронные письма с сервера, если запись PTR не установлена.

В большинстве случаев записи PTR можно установить через веб-интерфейс вашего хостинг-провайдера или связавшись со службой поддержки и попросив их настроить для вас правильную запись PTR.

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

Защита от СПАМа

1. Обновление правил в SpamAssassin

Для улучшения защиты от СПАМ-сообщений мы включим автоматическое обновление правил для SpamAssassin. Для этого вводим:

su – zimbra -c “zmlocalconfig -e antispam_enable_rule_updates=true”

su – zimbra -c “zmlocalconfig -e antispam_enable_restarts=true”

После перезапустим соответствующие службы:

su – zimbra -c “zmamavisdctl restart”

su – zimbra -c “zmmtactl restart”

2. Черные списки

Чтобы усилить защиту, разрешим проверку отправителя в черных списках:

su – zimbra -c ‘zmprov mcf zimbraMtaRestriction “reject_rbl_client zen.spamhaus.org”‘

* в данном примере мы подключаем rbl-список от zen.spamhaus.org.

3. Настройка mynetworks

После установки Zimbra в опции postfix mynetworks может оказаться подсеть, в которой находится наш сервер. На практике, это приводит к возможности отправки сообщений без пароля, что в свою очередь, позволяет любому вирусу в нашей сети делать нелегальную рассылку.

Задаем для mynetworks только адрес локальной петли и адрес сервера:

su – zimbra -c ‘zmprov ms zimbra.dmosk.ru zimbraMtaMyNetworks “127.0.0.0/8 192.168.1.15/32″‘

* где 192.168.1.15 — IP-адрес нашего почтового сервера.

Перезапускаем postfix:

su – zimbra -c ‘postfix reload’

Проверить текущую настройку можно командой:

su – zimbra -c ‘postconf mynetworks’

Настройка DNS

Смотрим содержимое файла txt, который был сформирован при генерировании сертификата для домена:

cat /etc/opendkim/dmosk.ru/relay.txt

* где dmosk.ru — домен, для которого производилась настройка.

И используя данное содержимое, в панели управления нашим DNS создаем TXT-запись следующего формата:

relay._domainkey IN TXT “v=DKIM1; k=rsa; p=MIGfMA0GCSqG…rhyaj8OcbwIDAQAB”

* где relay — название нашего селектора MIGfMA0GCSqG…rhyaj8OcbwIDAQAB — сокращенная запись открытого ключа (она длиннее).

Дополнительные необязательные записи

_domainkey IN TXT “o=~; r=postmaster@dmosk.ru”

* где o=~ означает, что не все сообщения подписываются для домена (o=- — говорит, что все письма используют DKIM).

_adsp._domainkey IN TXT “dkim=all”

* all запрещает принимать письма от домена без цифровой подписи. Другие варианты: discardable — блокировать сообщения на стороне получателя, unknown — по умолчанию (такую запись создавать не обязательно).

Дополнительные настройки

Добавление отправителей в белый список

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

vi /opt/zimbra/conf/amavisd.conf.in

Находим строку:

   { # a hash-type lookup table (associative array)
   …
   }

… и внутри фигурных скобок {} добавим нужный нам домен или конкретного отправителя:

   …
   ‘dmosk.ru’                           =>  -10.0,
   ‘sender@dmosk2.ru’                   =>  -10.0,
}

* таким образом мы сказали, что для писем с домена dmosk.ru и отправителя sender@dmosk2.ru отнимать 10 баллов за СПАМ. Такие письма начнут приходить без блокировки (при условии, что не будет отправлен явный СПАМ, который наберет очень много баллов).

После настройки перезапускаем amavis:

su – zimbra -c “zmamavisdctl stop && zmamavisdctl start”

Размер отправляемого сообщения

Задать максимальный размер сообщений можно командой:

su – zimbra -c ‘zmprov modifyConfig zimbraMtaMaxMessageSize 31457280’

* в данном примере мы задаем максимальный размер сообщения 30 мб.

После перезапускаем postfix:

su – zimbra -c “postfix reload”

Настройка IP и DNS

Обеспечение внешнего статического IP-адреса, публичного домена и записи PTR

Это основные требования для запуска собственного почтового сервера.

  • Публичный статический IP-адресIP-адрес почтового сервера должен быть общедоступным и постоянным во времени. Убедиться в этом можно у хостинг или Интернет-провайдера.

  • Доменное имя указывает на IPDNS-запись публичного доменного имени почтового сервера должна указывать на этот IP-адрес. Им можно управлять в настройках DNS провайдера доменного имени.

  • IP указывает на доменное имяСамое главное, обратная DNS-запись (именуемая PTR) должна указывать на доменное имя почтового сервера по IP-адресу. Можно попросить своего хостинг-провайдера или поставщика интернет-услуг настроить его. Его можно легко проверить по IP-адресу онлайн (например, тут), или с помощью команды ‘nslookup’ в Windows и команды ‘host’ в системах на основе UNIX.

Настройка MX записи в DNS

Запись почтового обмена (MX) указывает почтовый сервер, ответственный за прием сообщений электронной почты от имени домена.

Например, если наш домен – mycompany.com, почтовый сервер – mail.mycompany.com, то запись DNS для mycompany.com будет:

Type

Host

Value

Priority

TTL

MX

@

mail.mycompany.com

10

1 min

где:

  • Priority (приоритет) используется, когда в домене более одного почтового сервера.

  • TTL (время жизни) можно установить любое предпочтительное значение, а наименьшее значение используется для применения конфигурации DNS как можно скорее при отладке настроек.

Настройка DKIM записи в DNS

Почта, идентифицированная ключами домена (DKIM) — это протокол безопасности электронной почты, который прикрепляет зашифрованную цифровую подпись к электронному письму. Принимающий сервер проверяет его с помощью открытого ключа, чтобы убедиться, что электронное письмо не было подделано.

Понадобятся приватный и открытый ключи. Их можно создать с помощью онлайн-инструментов, например Power DMARC Toolbox – DKIM Record Generator, или с помощью команд OpenSSL (приведен пример для Windows):

  • Создать приватный ключopenssl.exe genrsa -out private.key 2048

  • Создать публичный ключ из приватногоopenssl.exe rsa -in private.key -pubout -outform der 2>nul | openssl base64 -A > public.key.txt

И запись DNS будет выглядеть так:

Type

Host

Value

TTL

TXT

selector._domainkey

v=DKIM1; k=rsa; p=public_key

1 min

где:

  • selector – самостоятельно выбранный идентификатор (например, mysrv), который будет использоваться в приложении почтового сервера (смотрите ниже).

  • public_key – открытый ключ, закодированный алгоритмом base64 (содержимое public.key.txt).

  • TTL (время жизни) имеет то же значение, что и в предыдущем разделе.

Настройка SPF записи в DNS

Инфраструктура политики отправителя (SPF) — это стандарт проверки подлинности электронной почты, который проверяет IP-адрес отправителя по списку авторизованных IP-адресов владельца домена для проверки входящей электронной почты.

Тут запись DNS будет выглядеть так:

Type

Host

Value

TTL

TXT

@

v=spf1 a mx include:relayer_name -all

1 min

где:

  • relayer_name – имя необязательного внешнего почтового сервера-ретранслятора (смотрите ниже). Если не нужно – убирается вместе с “include:”.

  • TTL (время жизни) имеет то же значение, что и в предыдущем разделе.

Можно использовать удобный онлайн-генератор записи SPF.

Дополнительные записи DNS

Некоторые поля не обязательны, но желательно иметь.

  • DMARCЗапись доменной проверки подлинности сообщений, отчетов и соответствия (DMARC) позволяет собственному почтовому серверу декларировать политику того, как другие почтовые серверы должны реагировать на недостоверные сообщения от него.

  • BIMIИндикаторы бренда для идентификации сообщений (BIMI) — это новый стандарт, созданный для того, чтобы упростить отображение логотипа рядом с сообщением. Кроме того, BIMI предназначен для предотвращения мошеннических электронных писем и улучшения доставки.

  • TLS-RPTTLS-отчетность (TLS-RPT) дает ежедневные сводные отчеты с информацией о электронных письмах, которые не зашифровываются и не доставляются.

  • MTA-STSСтрогая транспортная безопасность агента пересылки почты (MTA-STS) – это новый стандарт, направленный на повышение безопасности SMTP, позволяя доменным именам выбирать строгий режим безопасности транспортного уровня, требующий аутентификации и шифрования.

Все эти записи кроме MTA-STS могут быть созданы с помощью Power DMARC Toolbox. Конфигурация MTA-STS похожа на , также описывалась на habr, и, наконец, может быть проверена с помощью Hardenize.

Geary

Глядя на Evolution и Sylpheed, появляется мысль «Ну куда уж проще?». А есть куда, и это доказывает почтовый клиент Geary. Все это потому, что он является частью платформы GNOME и, соответственно, стилизован под нее. Дополнительным подтверждением тому является базовый функционал – никаких лишних опций, здесь есть только самое необходимое.

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

Как установить Geary

Чтобы установить почтовый клиент Geary, достаточно лишь открыть «Терминал» и ввести в нем вот такую команду:

sudo apt install geary

Включение шифрования SMTP

Теперь вы можете включить шифрование SMTP, запросив бесплатный сертификат TLS от Let’s Encrypt для вашего домена (с помощью Certbot) и настроив Postfix для использования этого сертификата при отправке сообщений.

Certbot содержится в стандартном репозитории пакетов Ubuntu, но там может находиться не самая актуальная версия. Лучше использовать следующую команду для добавления официального репозитория:

Нажмите в диалоге  для подтверждения. Обновите кэш диспетчера пакетов вашего сервера.

Установите последнюю версию Certbot:

При начальной настройке сервера вы установили простой брандмауэр . Вам нужно настроить его, чтобы разрешить трафик через порт HTTP , и тем самым завершить подтверждение вашего домена. Запустите следующую команду для его активации:

Итоговый результат будет выглядеть следующим образом:

Теперь порт открыт, и мы можем запустить Certbot для получения сертификата:

Эта команда предписывает Certbot выдавать сертификаты с размером ключа RSA 4096 бит, запустить временный отдельный веб-сервер () для проверки и выполнить проверку через порт  (). Перед запуском команды обязательно замените  именем вашего домена и введите свой адрес электронной почты, когда система его запросит.

Результат будет выглядеть примерно следующим образом:

Как указано в примечаниях, ваши сертификат и файл закрытого ключа сохранены в каталоге .

Получив сертификат, откройте файл  для редактирования:

Найдите следующий раздел: /etc/postfix/main.cf

Измените файл следующим образом, заменяя  на ваше доменное имя, где это необходимо. При этом также будут изменены ваши настройки TLS для Postfix: /etc/postfix/main.cf

Закончив, сохраните и закройте файл.

Перезапустите Postfix, чтобы применить изменения:

Попробуйте отправить электронное письмо еще раз:

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

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

Подключение к шаре

Теперь разберем примеры подключения к нашим шарам из разных систем.

Windows

Для разового подключения можно использовать проводник, прописав в нем адрес сервера через косые линии:

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

В открывшемся окне прописываем путь до сетевой папки и выбираем имя диска:

Сетевой диск настроен.

Но мы может сделать те же действия из командной строки:

net use x: \\samba.dmosk.local\AD ACL /persistent:yes

* где x: — имя сетевого диска; \\samba.dmosk.local\AD ACL — путь до сетевого каталога; persistent:yes — указывает на то, что нужно восстанавливать данный диск каждый раз при входе в систему.

Монтирование

В Linux мы можем монтировать удаленный каталог с помощью команды mount, например:

mount -t cifs “//192.168.1.15/ad” /mnt -o user=dmosk

* где 192.168.1.15 — IP-адрес сервера; mnt — каталог, куда монтируем сетевую шару; dmosk — пользователь, под которым выполняем подключение к сетевому каталогу.
** в систему должен быть установлен пакет cifs-utils.

Подробнее, процесс монтирования описан в инструкции Как в Linux монтировать шару CIFS.

SMB Browser

Также мы можем увидеть содержимое удаленных папок на samba при помощи клиента smb. Для начала установим данного клиента:

а) на Red Hat / CentOS / Fedora:

yum install samba-client

б) на Debian / Ubuntu / Mint:

apt-get install samba-client

После вводим команду:

smbclient -L 192.168.1.15 -U staff@dmosk.local

* где 192.168.1.15 — сервер samba, к которому мы пытаемся подключиться; staff@dmosk.local — учетная запись, под которой выполняется подключение.

… мы получим список каталогов, которые расшарены на сервере.

Также мы можем подключиться к конкретной папке, например:

smbclient \\\\192.168.1.15\\ad -U staff@dmosk.local

Мы подключимся клиентом samba — можно выполнить запрос на показ содержимого:

smb: \> ls

Или полный список возможных команд:

smb: \> help

Настройка DKIM

Отдельно рассмотрим процесс настройки подписи DKIM на почтовом сервере Zimbra. Формирование ключей выполняется для каждого из доменов из командной строки. Подключаемся к серверу по SSH и вводим команду:

su – zimbra -c “/opt/zimbra/libexec/zmdkimkeyutil -a -d dmosk.ru”

* данная команда создаст последовательности ключей для домена dmosk.ru.

Мы должны получить ответ на подобие:

Public signature to enter into DNS:
5D8C3E02-4EFA-11EA-872A-D9A5B4628C49._domainkey IN      TXT     ( “v=DKIM1; k=rsa; ”
          “p=MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEA5iLy58AJ1fdB15BZgh/VtGfZsi+TrDyvqqZaL5pJ+MQaQrpqHW8AF5kyxW2QzAMjyKzySMZX0PoHUuV93Yxf2t52IFihvb7ivqmRwlqFV3gU7j8zqbAGWHfZo4Ydw0kUmU6pm+Z85aWt4k7rQ7vWXludQGf8yIaSMMmodxze9E5VUOtUA18dIEEPcbwSgOO6YhQLuC78T4FiF5”
          “8epQnsX0voSfg9tMW+r+P1b5fTy5Guyqh1plWYseKxPzHKHbc4Lokcgo1AZzKG5Mvo5OCXsKUE1fSoc366AFSoUnWr23P7oUbf+NjXzPMS8ESGA9TfpDA6eRJT4QEpi72AdIy4rQIDAQAB” )  ; —– DKIM key 5D8C3E02-4EFA-11EA-872A-D9A5B4628C49 for dmosk.ru

В данном ответе нас интересуют записи 5D8C3E02-4EFA-11EA-872A-D9A5B4628C49._domainkey — это имя для TXT в домене dmosk.ru; “v=DKIM1; k=rsa; ” “p=M…AB” — содержимое записи.

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

opendkim-testkey -d dmosk.ru -s 5D8C3E02-4EFA-11EA-872A-D9A5B4628C49 -x /opt/zimbra/conf/opendkim.conf

* где dmosk.ru — наш домен; 5D8C3E02-4EFA-11EA-872A-D9A5B4628C49 — селектор, который мы видели в записи 5D8C3E02-4EFA-11EA-872A-D9A5B4628C49._domainkey.
* если при вводе команды мы получим ошибку «Command ‘opendkim-testkey’ not found», необходимо установить opendkim-tools командой apt-get install opendkim-tools (deb) или yum install opendkim-tools (RPM).

Для просмотра имеющихся записей DKIM можно воспользоваться командой:

su – zimbra -c “/opt/zimbra/libexec/zmdkimkeyutil -q -d dmosk.ru”

Бэкапы

Так как почтовый сервер я делал для себя и очень ограниченного круга людей, то много пространства серверу не нужно, емкость всего диска 20 Гб. Схема резервного копирования такая: один раз бэкапится виртуальная машина почтового сервера целиком, чтобы случае чего не настраивать сервер заново. А во вне делается бэкап почтового каталога. Естественно все бэкапы шифруем. Для копий каталога отлично подойдет VPS, у которого целых 25 Гб пространства, бэкапить буду с помощью restic. Но прежде надо настроить ssh подключение до VPS по сертификату.

На почтовом сервере генерируем RSA ключ, на все вопросы мастера просто жмем Enter:

Копируем открытый ключ на VPS:

Устанавливаем Restic

Создаем репозиторий (копии будут храниться на VPS в каталоге ):

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

Подхватываем файлик:

Попробуем выполнить резервное копирование почтового каталога:

Проверяем, что в репозитории что-то появилось:

Если есть наш только что созданный снапшот, то двигаемся дальше. Создаем файл с содержимым:

Делаем его исполняемым:

И добавляем в на запуск раз в сутки:

Поделитесь в социальных сетях:FacebookTwitterВКонтакте
Напишите комментарий