Как настроит почтовый сервер

Настройка почты на сервере

Добавление почтового домена

Для работы с почтой в первую очередь необходимо добавить почтовый домен (возможно, вы уже сделали это на этапе создания нового пользователя, установив галочку «Создать почтовый домен»).

Как при работе от root, так и при работе от пользователя, добавить почтовый домен можно через раздел ПочтаПочтовые доменыСоздать.

В открывшейся форме заполните необходимые поля:

  • Имя — имя домена.
  • Владелец (доступно только для root) — пользователь, которому будет принадлежать новый домен.
  • Действие по умолчанию — можно выбрать, что будет происходить с письмами, отправленными на несуществующий ящик на указанном домене.
    Возможные варианты:
    • Сообщить об ошибке — отправителю уйдет уведомление о том, что ящик не существует, письмо будет удалено.
    • Игнорировать и удалить — отправителю не будет отправлено уведомление; письмо будет удалено.
    • Перенаправить на адрес — можно указать почтовый адрес, на который будут перенаправляться такие письма.
    • Перенаправить на домен — можно указать почтовый домен, на который будут перенаправляться такие письма.

Нажмите Ок — почтовый домен создан.

Создание почтового ящика

Cоздать ящик можно в разделе ПочтаПочтовые ящикиСоздать.

Читайте также:  Не работает smooth scrolls

В открывшейся форме заполните необходимые поля:

  • Имя — имя ящика, которое будет указываться перед @. Например, admin, info, support и так далее. В имени могут использоваться латинские буквы, цифры, тире и точки.
  • Домен — на каком домене должен быть создан ящик (т.е., что указано после @).
  • Псевдоним — можно указать дополнительные имена для ящика. Например, если вы укажете sales, то все письма, отправленные на несуществующий ящик sales@mydomain.com, будут доставлены на тот ящик, который вы сейчас создаете. Здесь можно указать несколько псевдонимов через пробел. Сам домен при этом указывать не требуется, т.к. все настройки в любом случае будут касаться только домена в поле «Домен».
  • Слать копии на e-mail — можно указать ящики, на которые будет приходить копии всех входящих писем, поступивших на создаваемый ящик.
  • Макс.размер — можно указать максимальный размер ящика
  • Примечание — здесь можно указать любую дополнительную информацию.

Нажмите Ок — почтовый ящик создан.

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

После создания почтового домена и почтового ящика необходимо правильно настроить DNS-записи домена: MX, SPF, DMARC, DKIM и PTR.

  1. В панели vds.timeweb.ru перейдите в раздел Домены и поддомены.
  2. Нажмите на значок шестеренки рядом с нужным доменом и выберите пункт Настройки DNS.
  3. Создайте новую MX-запись или отредактируйте имеющуюся, кликнув на значок карандаша. В качестве значения укажите ваш домен, например:
  4. Удалите прочие MX-записи, если они были созданы.

В SPF-записи указывается список серверов, с которых разрешена отправка писем от имени вашего домена.

Для настройки SPF:

  1. В панели vds.timeweb.ru перейдите в раздел Домены и поддомены.
  2. Нажмите на значок шестеренки рядом с нужным доменом и выберите пункт Настройки DNS.
  3. Если TXT-запись с параметром «v=spf1» уже существует, ее необходимо отредактировать, нажав на значок карандаша. Если подобной записи еще нет, необходимо нажать на «Добавить DNS-запись» справа вверху и выбрать пункт «TXT».

В окне настройки DNS-записи поле «Хост» оставьте пустым. В поле «Значение» укажите следующую запись, заменив 1.1.1.1 на IP-адрес вашего сервера:

1. Включите DKIM в панели ISPmanager:

  • Под пользователем root перейдите в раздел НастройкиКонфигурация ПО.
  • Найдите в списке «Почтовый сервер (SMTP/POP3/IMAP)» и дважды кликните по нему
  • Отметьте пункт «OpenDKIM (exim)» и нажмите «Применить изменения».
  • Перейдите в раздел ПочтаПочтовые домены и дважды кликните по нужному домену.
  • Отметьте пункт «Включить DKIM для домена».
  • Также отметьте пункт «Включить DMARC для домена» — эта запись потребуется нам на следующем шаге.
  • Нажмите Ok.

Произведенная настройка добавит необходимые TXT-записи для домена (dkim._domainkey и _dmarc).

2. Скопируйте полученную запись:

  • Перейдите в раздел Управление DNS.
  • Выделите нужный домен и нажмите Управлять DNS-записями.
  • Найдите запись вида «dkim._domainkey.вашдомен» и дважды кликните по строчке с ней.
  • Скопируйте содержимое поля «Значение».

3. Пропишите DKIM у домена:

  • В панели vds.timeweb.ru перейдите в раздел Домены и поддомены.
  • Нажмите на значок шестеренки рядом с вашим доменом и выберите пункт Настройки DNS.
  • Если TXT-запись с параметром «v=DKIM1» уже существует, ее необходимо отредактировать, нажав на значок карандаша. Если подобной записи еще нет, необходимо нажать на «Добавить DNS-запись» справа вверху и выбрать пункт «TXT».
  • В окне настройки DNS-записи в поле «Хост» укажите dkim._domainkey. В поле «Значение» вставьте DKIM-запись, скопированную в ISPmanager.

DMARC

1. Включите DMARC в панели ISPmanager.

Вероятно, вы сделали это на предыдущем шаге с DKIM. Если же нет, то:

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

2. Скопируйте полученную запись:

  • Перейдите в раздел Управление DNS.
  • Выделите нужный домен и нажмите Управлять DNS-записями .
  • Найдите запись вида «_dmarc.вашдомен» и дважды кликните по строке с ней.
  • Скопируйте содержимое поля «Значение».

3. Пропишите DMARC у домена:

  • В панели vds.timeweb.ru перейдите в раздел Домены и поддомены.
  • Нажмите на значок шестеренки рядом с вашим доменом и выберите пункт Настройки DNS.
  • Если TXT-запись с параметром «v=DMARC1» уже существует, ее необходимо отредактировать, нажав на значок карандаша. Если подобной записи еще нет, необходимо нажать на «Добавить DNS-запись» справа вверху и выбрать пункт «TXT».
  • В окне настройки DNS-записи в поле «Хост» укажите _dmarc. В поле «Значение» вставьте DMARC-запись, скопированную в ISPmanager.
  1. В панели ISPmanager перейдите в раздел НастройкиНастройкисистемы.
  2. В поле «Имя сервера» укажите ваш домен. Этим именем ваша почтовая служба будет представляться при отправке письма.
  3. В панели vds.timeweb.ru перейдите на вкладку Конфигурация.
  4. В поле «IPv4-адрес» кликните на имя сервера и также укажите ваш домен.

Почтовый клиент

Для непосредственной работы с почтой необходимо добавить ящик в какой-либо почтовый клиент.

Настройки, которые при этом необходимо указать, доступны в разделе Почта — выбрать ящик — Управление ящикомНастройки для почтовых клиентов.

В открывшемся окне вы найдете данные, которые потребуются для настройки почтового клиента, а также сможете скачать готовые файлы с настройками для Thunderbird и Outlook.

Источник

Настройка POP, IMAP и SMTP для Outlook.com

Если вы пытаетесь добавить вашу учетную запись на Outlook.com в другое почтовое приложение, вам могут потребоваться параметры POP, IMAP или SMTP для Outlook.com. Вы можете найти их ниже или по ссылке Настройка POP и IMAP на Outlook.com.

Если вы хотите добавить учетную запись Outlook.com на смарт-устройство, например на камеру безопасности дома, вам потребуется пароль приложения. Дополнительные информации см. в Outlook.com учетной записи в другом почтовом приложении или на смарт-устройстве.

Если вы хотите добавить учетную запись Outlook.com в другую почтовую программу, поддерживающую протокол POP или IMAP, используйте указанные ниже параметры сервера.

Сведения о сервере входящей и исходящей почты одинаковы.

Доступ по протоколу POP отключен по умолчанию. Сведения о его включении см. в разделе Включение доступа по протоколу POP в Outlook.com.

Outlook.com не требуется безопасная проверка пароля (SPA).

Имя сервера IMAP outlook.office365.com

Метод шифрования IMAP TLS

Имя pop-сервера outlook.office365.com

Метод шифрования POP TLS

Имя SMTP-сервера: smtp-mail.outlook.com

Метод шифрования SMTP Starttls

Если вы хотите получать доступ к почте в Outlook.com по протоколу POP, вам потребуется включить его.

Выберите Параметры > Просмотреть все параметры Outlook > Почта > Синхронизация электронной почты.

В разделе параметров POP и IMAP выберите Да в строке Разрешить устройствам и приложениям использовать протокол POP.

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

Для учетных записей Gmail с доступом по протоколу POP, выполните указанные ниже действия.

Для учетных записей Yahoo с доступом по протоколу POP, выполните указанные ниже действия.

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

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

Перейдите на страницу https://account.live.com/activity и войдите в систему, указав адрес электронной почты и пароль учетной записи, в которой возникает проблема.

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

Нажмите кнопку Это я, чтобы разрешить подключение по протоколу IMAP.

Попробуйте подключиться к учетной записи с помощью IMAP-клиента.

Дополнительные сведения о том, как пользоваться страницей «Недавние действия», см. в статье Что такое страница «Недавние действия»?.

Если вы используете Outlook.com для доступа к учетной записи, использующей домен, который не является @live.com, @hotmail.com или @outlook.com, возможно, вы не сможете синхронизировать свои учетные записи с помощью IMAP. Чтобы устранить эту проблему, удалите подключенную учетную запись IMAP в Outlook.com и перенастроите ее как подключение ПО POP. Чтобы получить инструкции по перенастройке учетной записи для использования POP, обратитесь к поставщику учетной записи электронной почты.

Если вы используете учетную запись GoDaddy, следуйте этим инструкциям, чтобы изменить параметры учетной записи GoDaddy для использования подключения по протоколу POP. Если использование протокола POP не решило проблему, или необходимо включить протокол IMAP ( отключен по умолчанию), следует обратиться в службу поддержки GoDaddy.

Есть дополнительные вопросы?

Примечание. Чтобы получить поддержку, сначала требуется выполнить вход. Если вам не удается войти в систему, перейдите на страницу Поддержка учетной записи.

Источник

Настраиваем домашний почтовый сервер и уходим с «бесплатной» почты

С каждым годом рекламы в интернете становится все больше, а подают ее с каждым разом все навязчивее. Дошло уже до почты: реклама в интерфейсе почтового ящика выглядит как первое непрочитанное письмо, которое машинально хочется открыть. Я не против рекламы, особенно когда она в тему и не сбивает с толку. Но маскировать её под непрочитанное письмо ‒ это перебор. Чувствуется, что следующим шагом рекламу начнут вставлять прямо в тело письма.

Мы уже привыкли, что наша активность в интернете анализируется для подсовывания релевантной рекламы. Но там нет персональных данных в чистом виде: есть пользователь-1 с такими-то привычками, есть пользователь-2 с другими привычками, пользователь-3, 4, 5 и т.д.

Совсем другое дело почта. Обработка почты ‒ это зачастую обработка персональных данных. Все что вы покупаете ‒ квитанции приходят к вам на почту, какими сервисами вы пользуетесь ‒ регистрационные данные и отчеты приходят к вам на почту, купили билеты в отпуск ‒ все данные о вашей поездке у вас в почте. А почта у вас где?

Проблема в том, что вся почта обрабатывается, плюс нет гарантий, что не будет случаев злоупотребления. А реклама в почте ‒ это просто вишенка на торте. Так что если вы неугомонный параноик, то вам давно пора отказаться от «бесплатной» почты.

Но отказаться не так то просто:

Можно завести ящик на другом почтовом сервисе, но там тоже не будет никаких гарантий отсутствия обработки писем.

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

Можно сделать почту на каком-нибудь зашифрованном protonmail’e, но по этой же причине он стал так популярен у мошенников, что был заблокирован в этой стране.

В голове остается один вариант ‒ делать почтовый сервер прямо дома. Идея на первый взгляд смешная, но если разобраться, то можно получить довольно интересный результат с некоторыми дополнительными бонусами для всей домашней сети. Что у меня из этого вышло ‒ читайте далее.

Домашний сервер

Очевидно, что для почтового сервера нам нужен комп или его аналог, который будет доступен извне 24/7. Можно было бы посмотреть в сторону чего-нибудь компактного и маломощного типа Raspberry Pi, но т.к. мне нужен задел на будущее для других домашних систем, то я отдал предпочтение полноценному компу. На комп устанавливается гипервизор VMWare ESXi, а на нем уже живут виртуальные машины с необходимыми функциями и в том числе почтовый сервер. Такой подход дает дополнительную гибкость при проведении экспериментов и распределении ресурсов, а в случае чего виртуальные машины можно легко перенести на другое железо. Если нет особых требований к скорости работы, то для компа можно взять обычный HDD, т.к. от разделов подкачки виртуальных машин б/ушный SSD может быстро деградировать. Либо делать виртуальные машины без swap. Либо ставить два диска: основной диск виртуальной машины живет на SSD, а раздел подкачки на HDD. Компьютер я выбрал HP ProDesk 600 G2 SFF с процессором i5-6500: компактный корпус, достаточно низкое энергопотребление и ESXi на него устанавливается как родной. Все это хозяйство в режиме простоя потребляет 25 Вт, под нагрузкой 40-45 Вт. В частных объявлениях такой комп вполне реально найти за вменяемые деньги.

ESXi устанавливается со всеми настройками по умолчанию, затем сетевому интерфейсу присваивается статический IP. Более подробно и с картинками см. здесь.

Связь, электричество, бэкапы

Дома, в отличие от датацентра возможны перебои электричества, поэтому нужен ИБП с батареей на несколько часов работы сервера и роутера. От этого же электричества зависит работа оборудования внутридомового провайдера, поэтому ИБП для домашнего сервера не решает проблему отключения провайдерского оборудования и интернета вместе с электричеством. Получается, что на домашний роутер должно быть заведено два провайдера: основной (например, по витой паре или оптике) и резервный (через LTE модем). В разных роутерах процесс настройки выглядит по разному, но суть не меняется. Для резервного интернет-канала я взял LTE модем Huawei E3372-320. Свисток хорош тем, что есть в свободной продаже в разлоченном виде и он оснащен разъемами для внешних антенн, что в некоторых ситуациях может сильно улучшить качество связи.

Однако, с двумя провайдерами у вас будет два разных серых IP адреса, а почтовому серверу нужно нормальное доменное имя и по хорошему белый IP. Выход из ситуации у меня такой: арендуется виртуальный сервер (VPS) за границей, на нем настраивается VPN-сервер, а на почтовом сервере настраивается туннель до VPS. Кроме того, туннель можно поднять прямо с домашнего роутера (если он умеет) и таким образом ликвидируется сразу два зайца: мы получаем статический белый IP не зависящий от локальных провайдеров, а после тюнинга маршрутизации на роутере ‒ централизованный обход блокировок Роскомпозора для всех устройств домашней сети. Схема получается примерно такая:

Будет не очень весело, если жесткий диск домашнего сервера неожиданно накроется вместе со всей почтой. Поэтому необходимость бэкапов сервера даже не обсуждается. О настройке бэкапов поговорим в конце статьи.

Условные обозначения

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

Hostname (имя компьютера) почтового сервера ‒ mail

IP адрес VPS сервера ‒ 1.2.3.4

Локальная домашняя сеть 192.168.1.0 с маской /24 (255.255.255.0) и шлюзом 192.168.1.1

IP адрес почтового сервера в локальной сети ‒ 192.168.1.3

Внутри VPN тунеля IP адрес VPN сервера 192.168.77.1, IP адрес VPN клиента 192.168.77.3

Арендуем VPS, настраиваем VPN сервер

Есть куча разных VPS провайдеров, я выбрал vps2day.com, потому что они не просят персональные данные при регистрации, платить можно криптой, можно выбрать страну, где разместить сервер. Для целей VPN будет достаточно VPS в базовой конфигурации, который обойдется в 5 €/месяц. Сперва я зарегистрировал почтовый ящик на protonmail’e, а затем на него оформил аккаунт в vps2day, закинул крипту и арендовал VPS. В качестве ОС я выбрал Debian 10, через несколько минут после оформления аренды на почту приходит отбойник с IP адресом сервера и учетными данными для SSH подключения.

В качестве решения для VPN я выбрал Wireguard, но для установки на Debian 10 надо добавить его репозиторий в apt:

Создаем каталог для файлов конфигурации (если его вдруг нет), назначаем права доступа туда, переходим в него и генерируем закрытый и открытый ключи:

На выходе получим два файла: privatekey с закрытым ключом и publickey с открытым ключом. Создаем файл конфигурации /etc/wireguard/wg0.conf вида:

Чуть позже мы дополним этот файл, а пока едем дальше.

Регистрация домена, настройка DNS

При регистрации домена в зоне .RU нужно предоставлять паспортные данные, а делать этого не очень хочется. В международной зоне список необходимых для регистрации данных скромнее. Для регистрации можно указать все тот же ящик с protonmail’a. В качестве примера представим, что мы зарегистрировали домен example.com.

В редакторе DNS зоны нужно добавить «А» запись с именем mail и с указанием на внешний IP нашего почтового сервера, коим будет являться арендованный VPS:

Запись «MX» с приоритетом 10 и указанием на mail.example.com:

Запись «TXT» с SPF v=spf1 ip4:1.2.3.4 mx

Запись «TXT» DMARC v=DMARC1; p=reject; adkim=s; aspf=s; pct=100; :

Создание виртуальной машины

На ESXi создаем виртуальную машину (ВМ). Диск почтового сервера будем шифровать, поэтому нужно учесть один нюанс. По умолчанию гипервизор создает swap файл, равный размеру оперативной памяти виртуальной машины в каталоге ВМ. Таким образом есть вероятность, что ключ шифрования диска, хранимый в памяти ВМ во время работы окажется в swap файле на гипервизоре, что совсем не здорово. Чтобы этого не случилось, в настройках виртуальной машины нужно зарезервировать всю отведенную под ВМ оперативную память, тогда swap файл будет нулевой длины.

Установка системы и начальная конфигурация

В гостевой ОС вполне можно отказаться от раздела подкачки, особенно если назначить ВМ достаточное количество оперативки, а datastore гипервизора находится на SSD. Я взял Debian 10, процесс установки полностью стандартный за исключением разметки диска. Имя сервера задаем mail, домен example.com. Система ставится в минимальной конфигурации. В разметке дисков я сделал первый раздел под /boot и второй раздел с шифрованием:

После установки системы я делаю несколько базовых вещей. Удаляю созданного при установке пользователя командой deluser —remove-home .

Задаю статический адрес, если это не было сделано во время установки. Для этого правим файл /etc/network/interfaces . Обратите внимание, что сетевой адаптер вашего сервера может называться по другому, в моем примере ens192 . Секция файла с настройкой сетевого адаптера должна получиться такой:

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

Чтобы не углубляться в настройку домашних роутеров, VPN туннель мы будем делать сразу с почтового сервера до VPS и завернем туда весь трафик. Поэтому имеет смысл поменять DNS сервера на публичные. Для этого правим файл /etc/resolv.conf , конечный вид которого примет вид:

IPv6 я тоже отключаю, для этого в конец файла /etc/sysctl.conf добавляю строку:

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

Проверить, отключился ли IPv6 довольно легко. Для этого нужно просмотреть вывод нижеследующей команды на наличие ipv6 адресов:

Устанавливаем ssh и wget:

Включаю логин по паролю для root по SSH, для этого в файле /etc/ssh/sshd_config добавляем строку PermitRootLogin yes . Применяем изменения:

Коннектимся к серверу по ssh и едем дальше.

Настройка VPN подключения

Устанавливаем wireguard на почтовом сервере так же как это делали на VPS несколькими шагами выше:

Создаем файл конфигурации /etc/wireguard/wg0.conf следующего содержания:

Теперь идем по SSH на VPS сервер и в файл конфигурации /etc/wireguard/wg0.conf добавляем:

На VPS сервере в файл /etc/sysctl.conf добавляем строку net.ipv4.ip_forward = 1 , чтобы разрешить форвардинг трафика, а чтобы применить эту настройку без перезагрузки, даем команду sysctl -w net.ipv4.ip_forward = 1 .

На VPS создаем небольшой скрипт фаерволла, который будет срабатывать при каждом включении сетевого адаптера. Создаем файл /etc/network/if-up.d/firewall , содержимое файла спрятал под спойлер.

Не забываем сделать файл исполняемым командой chmod +x /etc/network/if-up.d/firewall

На VPS сервере запускаем wireguard:

Возвращаемся на почтовый сервер и запускаем wireguard там:

Состояние подключения можно посмотреть командой wg show . Если хоть какие-то данные в обоих направления пошли, значит все ОК и можно двигаться дальше:

Настройка почтового сервера

В интернете есть пара отличных гайдов по развертыванию почтового сервера на Debian: e-mail caramel и ispmail. Основная сложность настройки заключается в том, что нужно правильным образом сконфигурировать довольно много файлов и нигде не накосячить. Нужно настроить Apache, PostgreSQL, Postfix, Dovecot, rspamd, sieve, сгенерировать SSL сертификаты и DKIM, выставить права. Со знанием дела весь процесс занимает несколько часов, а у новичков может легко занять пару дней и не факт что все получится с первого раза.

По гайду «e-mail caramel» на выходе получается почтовый сервер с IMAP протоколом для клиентов с обязательным шифрованием STARTTLS и Nextcloud’ом в качестве webmail. Сервер убирает из писем мета-теги User-Agent и Received. Учет почтовых пользователей ведется в БД.

Чтобы не заниматься курением конфигов, а результат был предсказуем ‒ я сделал скрипт, который автоматизирует 90% всего процесса из вышеупомянутого гайда с некоторыми отличиями:

Я не хочу ставить на почтовый сервер ресурсоемкий Nextcloud, вместо него я буду использовать Rainloop

Подрежем еще несколько мета-тегов: X-Mailer, X-Originating-IP, X-PHP-Originating-Script, Mime-Version. При этом в оригинальном гайде фильтрация конфигурируется в master.cf, а у меня в main.cf

Скрипт устанавливает необходимые пакеты, конфигурирует apache, БД, конфигурирует почтовые службы и на выходе получается практически готовый к употреблению почтовый сервер. При этом я пока не стал включать в скрипт генерирование SSL и DKIM, сделаем это руками чуть ниже.

Скрипт пока не тестировался на корректность работы при многократном запуске. Если почтовый сервер у вас развернут как виртуальная машина, то перед выполнением лучше сделать снапшот ВМ.

Скачиваем и распаковываем скрипт:

Всего в каталоге 3 файла:

mailserver-setup.sh — основной скрипт конфигурирования сервера

mailuser-addnew.sh — скрипт создания почтового юзера

mailuser-setpass.sh — скрипт смены пароля для существующего почтового юзера

Запускаем mailserver-setup.sh . Скрипт попросит ввести следующие данные: имя хоста почтового сервера (в этом гайде это просто mail), имя домена, который был ранее зарегистрирован (например, example.com), IP адрес почтового сервера в локальной сети. Имя хоста + домен как раз образуют полное имя mail.example.com. По завершению работы скрипта почтовые сервисы остаются в выключенном состоянии, т.к. перед запуском надо сгенерировать SSL сертификаты и DKIM. Так же по завершению будет отображен админский пароль от БД. Этот пароль нужно вставить в скрипты mailuser-addnew.sh и mailuser-setpass.sh вместо слова PASSWORD, см в файлах вторую строку:

Генерирование сертификатов, завершение настройки

Генерируем SSL сертификат командой. Не забываем заменить example.com на свой домен:

Генерируем DKIM. В команде ниже вместе example.com ‒ ваш домен, а вместо 20210121 можно взять текущую дату (ггггммдд):

Результатом выполнения команды будет такой текст:

В файл /etc/rspamd/dkim_selectors.map нужно добавить дату, чтобы получилось примерно так:

Идем в редактор DNS зоны у регистратора, добавляем запись «TXT» с именем 20210121._domainkey и значением v=DKIM1; k=rsa; p=. Дата в имени у вас будет своя, параметры перечисляются без двойных кавычек. Примерно так:

Тут есть нюанс. По умолчанию длина ТХТ записи может быть до 255 символов, а т.к. мы сгенерировали 2048 битный DKIM ключ, то его длина выходит за это ограничение и если вы внимательно посмотрите на результат генерации ключа, параметр p разбит на два, каждый из которых в своих двойных кавычках. Если регистратор поддерживает ТХТ записи большей длины, то две части можно просто схлопнуть, убрав кавычки. У GoDaddy, например, максимальная длина TXT записи 1024 символа. А если регистратор не поддерживает больше 255 символов, то ключ записывается в две ТХТ записи. Или можно сгенерировать более короткий ключ на 1024 бита.

Последнее что нужно сделать ‒ поправить файл /etc/postfix/master.cf . Необходимо раскомментировать строку:

И 4 вложенных параметра, начинающихся на «-o». Двойной пробел перед ними нужно сохранить. Последний параметр, возможно нужно будет просто дописать. На всякий случай в архиве со скриптом приложен готовый к употреблению файл master.cf. Должно получиться так:

Теперь заведем первый почтовый ящик. Для этого нужно воспользоваться скриптом mailuser-addnew.sh. Нужно будет ввести короткое имя (слово до @example.com), доменное имя (сам example.com) и пароль два раза. После этого можно попробовать настроить любой почтовый клиент используя созданную учетную запись.

В качестве примера пусть будет oleg@example.com. Для настройки почтового клиента набор параметров будет таким: почтовый адрес oleg@example.com, имя пользователя для IMAP и для SMTP так же oleg@example.com, сервер входящей почты IMAP mail.example.com, исходящей почты тоже mail.example.com, способ подключения везде STARTTLS.

Для проверки корректности настройки DKIM и SPF, можно воспользоваться ресурсом https://dkimvalidator.com, отправив туда тестовое письмо и посмотрев отчет. Все проверки должны быть в статусе pass (пройдено).

Устанавливаем Rainloop webmail

Все необходимые php модули для Rainloop уже были установлены скриптом. Скачиваем актуальную версию проекта, распаковываем, задаем права, включаем vhost на веб-сервере:

Логинимся в админку rainloop по адресу https://mail.example.com/?admin с логином admin и паролем 12345 . Пароль естественно надо будет сменить, это делается в разделе Security.

Далее добавляем наш почтовый сервер. Идем в раздел Domains, отключаем все прочие почтовые сервера и жмем по кнопке Add Domain:

Вводим параметры нашего домена и жмем Add:

Дополнительно в закладке Login можно так же указать домен:

Теперь можно пробовать заходить в webmail https://mail.example.com используя короткое имя пользователя (без @example.com):

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

В качестве небольшого тюнинга безопасности Apache добавим пару строк в файл /etc/apache2/apache2.conf . Это скроет данные о версии веб-сервера:

Для применения изменений перезагрузим Apache командой service apache2 reload .

phpPgAdmin

В БД mail_server есть три основные таблицы: alias, sharedmail_boxes, users. Все пользователи с хешами паролей хранятся в users. С помощью таблицы alias можно сделать псевдонимы к уже существующим почтовым ящикам, а с помощью таблицы shared_mailboxes можно сделать доступ к определенным ящикам для нескольких людей. Вход в phpPgAdmin по адресу http://локальный-ip-адрес-сервера/phppgadmin с логином postgres и паролем, который был сгенерирован скриптом.

Если нет нужды ковырять таблицы, то можно отключить сайт с phpPgAdmin вообще:

Бэкапы

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

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

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

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

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

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

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

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

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

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

Заключение

Теперь настройку почтового сервера можно считать полностью завершенной.

Как видно, владение своим почтовым сервером стоит некоторых денег. Цена складывается из оплаты регистрации домена, аренды VPS, оплаты второго провайдера дома и в конце концов электричества. В моем случае получается в районе 950 ₽ в месяц за всё. С другой стороны резервный интернет канал и VPN будут полезны для всей домашней сети, но об этом мы поговорим в следующий раз.

Спасибо, что дочитали. Комментарии, вопросы, замечания и пожелания приветствуются!

Источник

Оцените статью