Настройка собственного почтового сервера
Если есть необходимость освежить в памяти как всё это работает, то есть давняя, но актуальная статья об архитектуе почтовых систем.
Есть три основных шага, чтобы установить и настроить собственный почтовый сервер.
- Настройка IP и DNS
- Выбор и запуск приложения почтового сервера
- Добавление своего почтового сервера в белые списки
Настройка IP и DNS
Обеспечение внешнего статического IP-адреса, публичного домена и записи PTR
Это основные требования для запуска собственного почтового сервера.
- Публичный статический IP-адрес
IP-адрес почтового сервера должен быть общедоступным и постоянным во времени. Убедиться в этом можно у хостинг или Интернет-провайдера. - Доменное имя указывает на IP
DNS-запись публичного доменного имени почтового сервера должна указывать на этот 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
- 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
selector._domainkey
v=DKIM1; k=rsa; p=public_key
- selector — самостоятельно выбранный идентификатор (например, mysrv), который будет использоваться в приложении почтового сервера (смотрите ниже).
- public_key — открытый ключ, закодированный алгоритмом base64 (содержимое public.key.txt).
- TTL (время жизни) имеет то же значение, что и в предыдущем разделе.
Настройка SPF записи в DNS
Инфраструктура политики отправителя (SPF) — это стандарт проверки подлинности электронной почты, который проверяет IP-адрес отправителя по списку авторизованных IP-адресов владельца домена для проверки входящей электронной почты.
Тут запись DNS будет выглядеть так:
Type
Host
Value
TTL
v=spf1 a mx include:relayer_name -all
- relayer_name — имя необязательного внешнего почтового сервера-ретранслятора (смотрите ниже). Если не нужно — убирается вместе с «include:».
- TTL (время жизни) имеет то же значение, что и в предыдущем разделе.
Можно использовать удобный онлайн-генератор записи SPF.
Дополнительные записи DNS
Некоторые поля не обязательны, но желательно иметь.
- DMARC
Запись доменной проверки подлинности сообщений, отчетов и соответствия (DMARC) позволяет собственному почтовому серверу декларировать политику того, как другие почтовые серверы должны реагировать на недостоверные сообщения от него. - BIMI
Индикаторы бренда для идентификации сообщений (BIMI) — это новый стандарт, созданный для того, чтобы упростить отображение логотипа рядом с сообщением. Кроме того, BIMI предназначен для предотвращения мошеннических электронных писем и улучшения доставки. - TLS-RPT
TLS-отчетность (TLS-RPT) дает ежедневные сводные отчеты с информацией о электронных письмах, которые не зашифровываются и не доставляются. - MTA-STS
Строгая транспортная безопасность агента пересылки почты (MTA-STS) — это новый стандарт, направленный на повышение безопасности SMTP, позволяя доменным именам выбирать строгий режим безопасности транспортного уровня, требующий аутентификации и шифрования.
Все эти записи кроме MTA-STS могут быть созданы с помощью Power DMARC Toolbox. Конфигурация MTA-STS похожа на Google, также описывалась на habr, и, наконец, может быть проверена с помощью Hardenize.
Выбор и запуск приложения почтового сервера
Конечно, хостинг должен позволять устанавливать программное обеспечение. Можно использовать любое подходящее приложение для почтового сервера. Например, есть бесплатный hMailServer для Windows, который предоставляет все необходимые функции с минимальным использованием ресурсов. Для систем на базе UNIX существует множество бесплатных почтовых серверов, таких как Exim Internet Mailer или iRedMail.
Если вы знаете ещё хорошие программы, то поделитесь ими в комментариях. Подробный обзор выбора такого программного обеспечения, конечно, заслуживает отдельной статьи.
Инициализация
Когда программное обеспечение выбрано и установлено, самое время его настроить.
- Домен и пользователи
Нужно добавить домен и начальный набор пользователей почтового сервера. - Безопасность
Чтобы обеспечить соответствующий уровень безопасности, мы должны добавить сертификат SSL для домена. Конфигурацию SSL можно проверить здесь. - Подпись сообщений
Далее, следует настроить DKIM. Нужно указать полученные выше приватный ключ и селектор. Кроме того, методы заголовка и тела должны быть установлены на «расслабленный», алгоритм подписи должен быть установлен на «SHA256», иначе на некоторых SMTP серверах не проходит проверка (например, google). - Защита от спама
Наконец, нужно настроить антиспам-проверку специальными узлами черных списков, такими как spamhaus.org, чтобы защитить пользователей почтового сервера от нежелательных сообщений.
Протоколы электронной почты
Нужно настроить три протокола электронной почты, которые необходимы для её отправки и получения.
SMTP
SMTP используется для приема входящей и исходящей почты с/на другие почтовые серверы. И это позволяет пользователям домена отправлять свои сообщения.
- 25 порт
Этот порт необходим для управления входящими подключениями от других почтовых серверов. Метод безопасности следует установить в STARTTLS. - 587 порт
Он нужен для почтовых клиентов собственного почтового сервера. Метод безопасности следует установить в STARTTLS. - 465 порт
Он не является официальным и может потребоваться для старых почтовых клиентов. И метод безопасности следует установить в SSL/TLS.
POP3, IMAP
POP3 и IMAP используются отдельными почтовыми клиентами, такими как Outlook на ПК или любой почтовый клиент на мобильных телефонах. Это позволяет пользователям домена управлять своими сообщениями.
Порт 993 следует использовать для защищенных соединений IMAP, а порт 995 — для POP3. Для обеспечения совместимости с большинством клиентов метод безопасности следует установить в SSL/TLS (не STARTTLS).
Также можно настроить порты 143 для IMAP и 110 для POP3, но они не шифруются и сейчас их уже мало кто использует.
Проверка
Итак, когда все настроено, нужно протестировать почтовый сервер, отправив письмо кому-нибудь из списка пользователей. Кроме того, в некоторых почтовых приложениях есть функция самодиагностики (см. ниже пример от hMailServer).
Теперь пора проверить отправку на внешний адрес.
Аккаунт Gmail.com
Если есть учетная запись Gmail.com (что наверняка), можно отправить тестовое письмо на свой адрес Gmail. Затем открываем свою электронную почту в браузере и нажимаем «Показать подробности».
Если есть «подписано: домен», подпись DKIM настроена правильно. Если есть «отправлено по почте: домен», SPF в порядке.
Также, можно убедиться в оригинальных заголовках, что статус проверки пройден.
Также, в Outlook можно видеть те же заголовки в свойствах сообщения.
Специальные онлайн-сервисы
Существует множество онлайн-сервисов, которые могут проверять отправку электронной почты. Ниже приведены некоторые из них.
- AppMailDev
Этот сервис позволяет тестировать конфигурацию почтового сервера, такую как DKIM и SPF, отправляя электронное письмо на указанный сгенерированный почтовый адрес. Нужно просто следовать инструкциям на экране и результаты теста будут отображены там же. - DKIMValidator
Предоставляет те же функции, что и предыдущая служба. Результаты тестирования будут отправлены на адрес отправителя. - HAD Email Auth Tester
Чтобы проверить отправку сообщения здесь, нужно отправить специальное сообщение на tester@email-test.had.dnsops.gov. Результаты тестирования будут отправлены на адрес отправителя. - PowerDMARC
Этот сервис предоставляет только облегченную проверку всех атрибутов, но у него есть удобные инструменты, указанные в ссылках выше.
Итак, если всё настроено правильно, но сервер присутствует в чёрных списках спама, нужно внести его в белый список.
Добавление почтового сервера в белые списки
Итак, если всё вышеперечисленное настроено правильно, другие почтовые серверы по-прежнему могут отмечать сообщения как спам и отклонять их. Это бывает, когда IP (или его диапазон) домена попадает в какой-то черный список. Чаще всего причиной этого является использование соседних IP-адресов для рассылки спам-сообщений.
Внесение в белый список в публичных источниках
Итак, сначала проверим IP (и, если необходимо, домен) онлайн на наличие в каких-либо черных списках. Его можно проверить в любом онлайн-чекере, который можно найти через поиск. Например, MXToolBox проверяет самые популярные черные списки. Также, multirbl.valli.org показывает много источников черного списка и доверие к каждому из них.
Затем нужно последовательно просмотреть каждый элемент в результатах и прочитать рекомендации о том, как внести IP-адрес в белый список в конкретном источнике черного списка. Но не все из них могут позволить это сделать бесплатно, например, немецкий UCEPROTECT®-Network.
Внесение в белый список определенных почтовых серверов
Некоторые серверы, такие как Outlook, имеют свои собственные черные списки. Проверка проста — приложение почтового сервера уведомит о неудачной доставке в почтовом клиенте. Большинство почтовых серверов предоставляют в ответе URL-адреса разблокировки. Таким образом, нужно открыть такой URL и следовать инструкциям, например, как этот.
Обход черных списков
Если какой-то официальный черный список не разрешает добавление в исключения или когда-нибудь почта перестает отправляться на определенный домен — можно использовать внешние службы ретрансляции SMTP. Они позволяют использовать их в качестве шлюзов (или прокси) при отправке почты.
- MailerSend
Один из самых дешевых — позволяет бесплатно отправлять 20 тысяч писем в месяц и имеет низкую стоимость дополнительной отправки. Но есть особенность: поля CC и BCC пока не поддерживаются. - SendInBlue
Это еще один хороший сервис, который позволяет бесплатно отправлять 9 тысяч писем в месяц с лимитом 200 в день. Но есть нюансы: встроенное отслеживание электронной почты нельзя отключить и высоковатая цена сверх бесплатного лимита.
В каждой службе нужно зарегистрироваться и получить подтверждение почтового домена. После подтверждения, каждый из них дает указания на то, что должно быть настроено для DNS (DKIM, SPF и DMARK) и почтового приложения (адрес сервера ретрансляции SMTP, порт и учетные данные).
Заключение
Итак, теперь можно использовать все преимущества выделенного почтового сервера. Надеюсь, что этот материал поможет наиболее эффективно достичь поставленной цели. Если есть какие-либо вопросы или предложения по этой теме, буду рад обсудить в комментариях.
Записки IT специалиста
Настраиваем свой почтовый сервер. Что нужно знать. Ликбез
- Автор: Уваров А.С.
- 08.12.2022
Последнее время мы уделяли мало внимания почтовым системам, но вновь возросший интерес заставил нас вернуться к этой теме. Основные затруднения начинающих при работе с почтой состоят в том, что почта — это сложная система, состоящая из нескольких компонентов, взаимодействующих как между собой, так и с внешними системами. Кроме того, почта крайне чувствительная к правильной настройке DNS. Чтобы разобраться и не запутаться во всем этом мы предлагаем освежить знания по базовому устройству систем электронной почты при помощи этой статьи.
Научиться настраивать MikroTik с нуля или систематизировать уже имеющиеся знания можно на углубленном курсе по администрированию MikroTik. Автор курса, сертифицированный тренер MikroTik Дмитрий Скоромнов, лично проверяет лабораторные работы и контролирует прогресс каждого своего студента. В три раза больше информации, чем в вендорской программе MTCNA, более 20 часов практики и доступ навсегда.
Общее устройство и принципы работы почтового сервера
Севрер электронной почты — это сложная система, состоящая из множества компонентов, которые взаимодействуют между собой. Поначалу кажется, что разобраться во всем этом многообразии довольно сложно. Но это не так, почтовый сервер содержит ряд ключевых компонентов, вокруг которых уже выстраиваются дополнительные и для понимания происходящих процессов достаточно знать основные принципы работы.
Давайте рассмотрим схему ниже, она предельно упрощена и содержит только самые важные элементы, которые лежат в основе любой почтовой системы.
Их ровно три:
- Message transfer agent (MTA) — агент передачи сообщений. Данный компонент, собственно, и является почтовым сервером в узком понимании этого термина, он работает по протоколу SMTP и его основная задача прием и передача почтовых сообщений, как для внешних получателей, так и для внутренних. Взаимодействует как с внешними серверами, так и с почтовыми клиентами. И это единственный компонент почтового сервера, который имеет связь с внешним миром. Основная задача MTA — это отправка почты внешним получателям и получение почты для внутренних.
- Message delivery agent (MDA) — агент доставки сообщений. Он обеспечивает доставку полученных от MTA сообщений к месту прочтения клиентским приложением. Проще говоря, именно с помощью MDA почтовый клиент может получить доступ к собственной почте. Работает по протоколам POP3 и IMAP, также отдельные решения могут использовать проприетарные протоколы, такие как MAPI Exchange. MDA не взаимодействует с внешними системами и не принимает участие в отправке почты, его задача — доставка уже полученных сообщений клиенту почтовой системы.
- Хранилище почтовых ящиков — третий компонент почтового сервера, отвечающий за хранение полученных и отправленных сообщений. Различные системы могут использовать разные форматы хранения, в Linux системах наиболее распространены mbox и Maildir, но на этом варианты хранилищ не исчерпываются.
С почтовым сервером взаимодействует клиент электронной почты — Mail User Agent (MUA) — он может быть как в виде отдельного приложения, так и в виде популярного ныне веб-интерфейса. В любом случае это только разновидности почтового клиента, принцип их работы одинаков.
Когда пользователь хочет получить свою почту, он обращается к агенту доставки сообщений (MDA), сегодня MDA несут важную дополнительную функцию — ведение базы пользователей и их аутентификацию. Проверив, что пользователь тот, за кого себя выдает MDA предоставляет ему доступ к собственному ящику в хранилище при помощи выбранного пользователем протокола. Во всех современных решениях используется протокол IMAP, который позволяет гибко управлять собственным почтовым ящиком и не требует обязательного скачивания сообщений клиентом.
Если же мы хотим отправить почту, то почтовый клиент связывается с MTA, либо с дополнительным компонентом — Message submission agent (MSA) — агентом отправки почты, он использует отдельный порт — 587 и его задача получение сообщений от почтового клиента и передача их MTA для отправки по назначению. Вне зависимости от наличия MSA клиент всегда может отправить почту непосредственно через MTA.
Мы не стали добавлять MSA на основную схему, чтобы не плодить дополнительных сущностей, но о его существовании надо знать, чтобы не удивляться наличию дополнительного порта на почтовом сервере. Его появление во многом обусловлено ограниченностью протокола SMTP, тогда как для взаимодействия с клиентами нужны были дополнительные функции, поэтому MSA работает через протокол ESMTP (Extended SMTP) и поддерживает, например, такие возможности, как аутентификацию пользователей. Чаще всего функции MTA и MSA выполняет один и тот же пакет.
Теперь, читая, скажем, про связку Postfix + Dovecot + Roundcube вы будете четко понимать, что речь идет про MTA (Postfix), MDA (Dovecot) и веб-клиента MUA (Roundcube), представлять назначение каждого компонента и не путаться во взаимодействии с ними.
Обязательные DNS-записи: MX и PTR
Итак, мы хотим отправить почту. Пользователь открывает MUA, быстро создает сообщение и нажимает кнопку Отправить. Дело сделано, но мало кто задумывается о том, что происходит после, все мы привыкли что уже через считанные секунды наше сообщение будет в почтовом ящике получателя.
На самом деле сообщению предстоит достаточно длительный путь, сопровождаемый активной работой компонентов как сервера отправителя, так и сервера получателя. Но пойдем по порядку.
Первым в дело вступает MTA, он анализирует поле адреса назначения в заголовках письма, допустим мы видим там:
To: Maria Smirnova
From: Ivanov Ivan
Если домен получателя отличается от обслуживаемого MTA домена, то он должен каким-то образом узнать, кому именно отправлять почту. Для этого он использует систему DNS, запросив специальную запись — MX. MX — Mail Exchanger — особая DNS-запись, указывающая на адрес почтового шлюза домена, таких записей может быть несколько, они отличаются приоритетом, чем больше число — тем ниже приоритет.
MX-запись никак не связана с отправкой почты, но именно она указывает на узел, который уполномочен принимать почту в данном домене. Данная запись должна содержать именно имя узла, а не IP-адрес, после чего сервер-отправитель сделает еще один запрос, чтобы по имени хоста получить его IP-адрес. Данные записи прописываются администратором домена и в базовом варианте будут выглядеть так:
@ IN MX 10 srv-mx-01
srv-mx-01 IN A 203.0.113.25
Первая запись — это MX-запись для домена, которая говорит кому отправлять почту. Вторая запись сопоставляет имя srv-mx-01.example.com и действительный IP-адрес узла.
Часто администраторы предпочитают использовать псевдонимы — CNAME — для указания на отдельные почтовые узлы. Это удобно, но в любом случае MX-запись должна содержать реальное имя узла, а не псевдоним, поэтому правильно будет так:
@ IN MX 10 srv-mx-01
smtp IN CNAME srv-mx-01
imap IN CNAME srv-mx-01
srv-mx-01 IN A 203.0.113.25
Принимать почту в домене могут несколько серверов, или один, но на разных каналах. Допустим у нас есть основной канал и есть резервный, тогда набор записей будет выглядеть так:
@ IN MX 10 srv-mx-01
@ IN MX 20 srv-mx-02
srv-mx-01 IN A 203.0.113.25
srv-mx-02 IN A 198.51.100.25
Если сервер-отправитель не сможет отравить почту первому MX-серверу в списке, то он переключится на второй. Обратите внимание на разный приоритет серверов: 10 и 20, таким образом пока доступен сервер с приоритетом 10 почта никогда не будет направляться серверу с приоритетом 20.
А если мы укажем несколько серверов с одинаковым приоритетом? Почта будет направляться на все из них по принципу Round-robin, т.е., чередуясь по кругу, такое решение можно использовать для балансировки нагрузки.
C MX-записями разобрались, переходим к PTR. PTR — Pointer — соответствие адреса имени, позволяет на основании IP-адреса получить имя хоста этого узла. Какое это имеет отношение к отправке и получению почты? Да никакого, наличие или отсутствие PTR-записи никак не влияет на процесс отправки или получения почты. Но зачем же тогда она нужна?
Основное ее назначение — это защита от спама. Уже давно существует соглашение, что добросовестный отправитель почты имеет PTR-запись. Это позволяет сразу отсечь огромный пласт взломанных и инфицированных систем, потому как прописать PTR-запись может только владелец IP-адреса, т.е. хостер или провайдер. Поэтому даже получив полный доступ к инфраструктуре, включая DNS-сервер, злоумышленник все равно не сможет добавить или изменить PTR-запись.
Для кого следует прописывать обратную запись? Для имени узла, фактически отправляющего почту, вне зависимости от того, какие домены он обслуживает. Так один почтовый сервер может обслуживать множество доменов, но PTR-запись мы должны прописать для фактического имени хоста. В классическом виде PTR-запись будет выглядеть так:
25.113.0.203 IN PTR srv-mx-01.example.com.
Обращаем внимание на то, что в PTR всегда указывается полное доменное имя FQDN и обязательно с точкой на конце. Но это знание более академическое, так как обратной зоной будет управлять ваш провайдер и прямого доступа туда у вас не будет.
Еще один интересный момент, это обратные записи для нескольких каналов одного сервера, ошибкой будет прописать:
25.113.0.203 IN PTR srv-mx-01.example.com.
25.100.51.198 IN PTR srv-mx-02.example.com.
Почему? Да потому что сервера srv-mx-02 у нас физически не существует, мы придумали его как второе имя для основного сервера srv-mx-01 и в заголовках писем в качестве отправителя будет присутствовать именно это имя. Кроме того, как мы уже говорили, MX-сервера не имеют никакого отношения к процессу отправки почты.
Поэтому правильно будет сделать PTR-записи так:
25.113.0.203 IN PTR srv-mx-01.example.com.
25.100.51.198 IN PTR srv-mx-01.example.com.
И еще раз предупредим, все записи выше даны сугубо в академических целях, в реальности вам нужно будет только сообщить провайдеру (или провайдерам) для какого узла им нужно сделать PTR-запись.
SPF — Sender Policy Framework
SPF — это специальный тип DNS-записи в формате TXT, позволяющий владельцу домена указать те узлы, которые имеют право отправлять почту от имени домена. Эта запись не является обязательной, но ее наличие резко снижает вероятность попадания вашей корреспонденции в спам.
Чаще всего содержимое SPF сводится к стандартному:
@ IN TXT "v=spf1 +a +mx ~all"
Запись состоит из списка тегов и значений, теги в SPF-записи называются механизмами и могут иметь следующие значения:
- v — версия SPF, это обязательный механизм, сейчас доступно единственное значение v=spf1
- a — определяет узлы на основе доменного имени (A-записи), формат a:example.com, если домен не указан, то применяется текущий домен
- mx — определяет узлы на основе MX-записей домена, если домен не указан, то применяется текущий домен
- ip4/ip6 — определяет узлы на основе IPv4 или IPv6 адреса
- all — все остальные узлы
- include — включает в состав SPF-записи указанного домена, например, include:_spf.yandex.net
- redirect — использовать для домена SPF-записи указанного домена.
Для уточнения действий к механизмам применяются квалификаторы (префиксы):
- + — Аутентификация пройдена. Узлу разрешена отправка почты от имени домена.
- — — Аутентификация не пройдена. Узлу запрещена отправка почты от имени домена.
- ~ — Аутентификация с неполным отказом. Скорее всего, узлу запрещена отправка почты от имени домена.
- ? — Нейтральный квалификатор, обозначает что для узла нет явных указаний, обычно используется как ?all
Таким образом стандартная запись читается как: разрешено отправлять почту узлам перечисленным в A и MX записях домена, остальным, скорее всего запрещено. При аутентификации с неполным отказом письма от прочих узлов обычно не отвергаются получателем, а помечаются как подозрительные. Квалификатор «+» подразумевается по умолчанию и его можно не указывать. Если нам нужно указать несколько узлов, то используем несколько механизмов. Например:
@ IN TXT "v=spf1 a a:mail.example.org mx -all"
Здесь мы указали, что отправлять почту можно с узлов указанных в A и MX записях текущего домена, а также с узла mail.example.org.
Если у вас есть домены с которых никогда не должна отправляться почта, то не будет лишним указать для них следующую SPF-запись:
@ IN TXT "v=spf1 -all"
Теперь немного об include и redirect, может показаться, что они делают одно и тоже, но есть тонкости. Механизм redirect просто перенаправляет вас к записям указанного в нем домена. Это удобно, если сервер обслуживает сразу несколько доменов, это позволяет иметь одну единственную запись, которую будут использовать все остальные. Также это применяется при использовании своего домена совместно c публичными почтовыми системами:
@ IN TXT "v=spf1 redirect=_spf.yandex.net"
Такая запись указывает использовать для домена записи, указанные у публичной службы.
Если же вместе с публичными сервисами вы используете собственные сервера, то вам нужно использовать механизм include, который подгрузит записи указанного домена к вашим собственным.
@ IN TXT "v=spf1 ip4:203.0.113.25 include=_spf.yandex.net ~all"
Данная запись говорит о том, что отправлять почту имеет право узел с адресом 203.0.113.25, а также все остальные, которые перечислены в записях указанного домена.
DKIM — DomainKeys Identified Mail
Если говорить коротко, то DKIM — это технология электронно-цифровой подписи, которая позволят получателю убедиться, что письмо действительно принадлежит отправителю. Для этого на каждом почтовом сервере, которые отправляют почту в нашем домене мы генерируем ключевую пару RSA. Закрытый ключ мы добавляем в конфигурацию почтового сервера и теперь он будет подписывать все исходящие письма.
Если сервер обслуживает несколько доменов, то ключевые пары нужно создать для каждого домена.
Для того, чтобы проверить подлинность подписи мы публикуем открытый ключ и используем для этого систему DNS, сформировав специальную запись типа TXT:
m1._domainkey TXT "v=DKIM1; k=rsa; p="
Где m1 — селектор, он выбирается произвольно и должен быть уникальным для каждого почтового сервера, также селектор указывается в конфигурации почтового сервера при настройке подписи DKIM. Он нужен для того, чтобы получатель мог получить открытый ключ именно того сервера, который отправил данное письмо.
Механизм предельно прост, при подписи письма сервер отправитель добавляет в заголовки селектор, сервер получатель извлекает селектор и ищет в DNS запись DKIM для этого селектора, после чего извлекает оттуда открытый ключ и проверяет подлинность подписи.
Технология DKIM не является обязательной к применению, но значительно повышает вероятность доставки ваших писем получателям.
DMARC — Domain-based Message Authentication, Reporting and Conformance
DMARC — это техническая спецификация, обеспечивающая единые механизмы проверки почты по SPF и DKIM, а также формирование и отправку отчетов. На первый взгляд выглядит сложно и непонятно, но на самом деле позволяет отправителю не только дать прямые указания что делать с почтой, но и получать обратную связь от получателей, что очень важно если вы только тестируете отправку почты.
В простейшем случае DMARC запись выглядит так:
_dmarc TXT "v=DMARC1; p=none; rua=mailto:report@example.com"
Запись состоит из тегов:
- v — версия DMARC, обязательный тег, в настоящее время единственное значение v=DMARC1
- p — правило для домена, указывает какое действие следует предпринять если письмо не прошло проверку, может иметь значения: none — ничего не делать, quarantine — поместить письмо в карантин, reject — отклонить письмо.
- sp — правило для субдоменов, принимает такие же значения, как и p.
- aspf и adkim — позволяют указать строгость проверки, по умолчанию используется мягкая проверка, при которой результат будет провален только при провале и SPF и DKIM, с помощью данных опций и значения s (strict) мы можем ужесточить проверку, и она будет провалена при провале только одной из указанных опций.
- pct — процент писем, подлежащих фильтрации DMARC, удобно для постепенного внедрения проверки, например, мы можем для начала указать 10% и потом по отчетам анализировать правильность настройки почтовой для отправляемых нами писем.
- rua и ruf — адреса для направления ежедневных отчетов о применении политик DMARC, при этом ruf используется для отчета только о письмах, не прошедших проверку.
- fo — определяет о каких не пройденных проверках сообщать владельцу домена, по умолчанию значение 0 — сообщать только если не пройдены проверки SPF и DKIM, 1 — если не пройдена хотя бы одна проверка, s или d — если не пройдена SPF или DKIM.
В самом простом варианте мы говорим получателям ничего не делать с не прошедшими проверку письмами и слать нам отчеты на указанный адрес.
Более сложная политика может выглядеть так:
_dmarc TXT "v=DMARC1; p=quarantine; sp=reject; rua=mailto:report@example.com; ruf=mailto:admin@example.com; fo=1; pct=25"
Данная запись предписывает не прошедшие проверку письма основного домена отправлять в карантин, поддоменов — отклонять, сообщать если не пройдена даже одна из проверок и фильтровать 25% входящей почты. Отчеты присылать на указанные адреса, в нашем случае они разные. Общий отчет направляется в один почтовый ящик, отчет о не прошедших проверку письмах в другой.
Научиться настраивать MikroTik с нуля или систематизировать уже имеющиеся знания можно на углубленном курсе по администрированию MikroTik. Автор курса, сертифицированный тренер MikroTik Дмитрий Скоромнов, лично проверяет лабораторные работы и контролирует прогресс каждого своего студента. В три раза больше информации, чем в вендорской программе MTCNA, более 20 часов практики и доступ навсегда.
Помогла статья? Поддержи автора и новые статьи будут выходить чаще:
Или подпишись на наш Телеграм-канал:
Как выбрать почтовый сервер
Несмотря на современные технологии связи, электронная почта остается неизменным атрибутом коммуникации с клиентами и сотрудниками. Компания, которая думает о своем имидже, должна позаботиться о наличии собственного почтового сервера.
Что такое почтовый сервер
Почтовый сервер представляет собой специализированное программное обеспечение, работающее только с электронными сообщениями. Для развертывания работы данного ПО необходимы аппаратные мощности. Очевидно, что чем больше планируется прием/передача писем, тем выше требования к оборудованию.
Компьютер, на котором установлено соответствующее программное обеспечение и работающий только на электронную корреспонденцию, называется файловым сервером. Он может быть как физическим (полностью выделенная машина), так и виртуальным. В последнем случае на одном компьютере могут быть организованы несколько серверов, мощность распределяется поровну между ними.
Что такое почтовый клиент
Почтовый клиент (E-mail client) – это специализированное ПО, которое позволяет организовать работу с разными сервисами на одном сервере. В функции таких средств входят:
- отправка и прием электронной корреспонденции;
- редактирование писем;
- фильтрация и сортировка информации;
- организация автоматической отправки писем;
- передача и прием писем из других клиентов.
Почтовый клиент существенно экономит время владельцу при наличии более двух ящиков. Больше нет необходимости вручную принимать корреспонденцию, сортировать ее. Все операции выполнит клиент в считанные минуты.
Функции серверов почты
Основные функции данного решения:
- прием и передача электронной корреспонденции;
- хранение электронных писем;
- оповещение владельца о новой корреспонденции;
- обеспечение защиты от атак и вирусов при приеме почты с внешних источников.
Почтовый сервер также должен определять и блокировать спам-сообщения. Таким образом достигается эффективное управление всей входящей корреспонденцией без угрозы внутренней сети компании.
К дополнительной функции можно отнести организацию канала связи для внутреннего использования (между сотрудниками, корпоративная коммуникация).
Задачи почтового сервера
Специалисты выделяют спектр задач этой аппаратно-программной оболочки. Сюда входят:
- организация постоянного доступа ко всем ящикам домена (разных доменов);
- управление накопленной информацией по дисковому массиву;
- контроль доступа пользователя – создание, изменение, удаление почтовых ящиков внутренней сети;
- рассылка почты по внутренним клиентам;
- обеспечение резервного копирования корреспонденции.
Одной из важнейших задач является поиск оптимальных путей отправки корреспонденции адресату. Маршрутизация реализуется протоколами и e-mail агентами с функциями транспортировки (MTA) и доставки (MDA).
Почтовый сервер для предприятия
Выбор зависит от нескольких факторов:
- количество клиентов внутри обслуживаемой сети;
- нагрузка;
- необходимость долгосрочного хранения информация.
Примерами программного обеспечения почтового узла являются Mail.ru (корпоративная версия), Kerio Connect, Novell GroupWise. В выборе оптимального для своих нужд сервера не помешает мнение специалистов. IT-инженеры ittelo.ru имеют большой опыт в создании подобных решений для предприятий разных масштабов и помогут подобрать наиболее выгодное в плане функциональности и бюджета решение.
Почтовый сервер для бизнеса
Среди основных вариантов для бизнеса стоит отметить следующие:
- GMail – широко популярный почтовый веб-сервис, который интегрируется в собственный домен (Google Apps Mail).
- Яндекс.Почта – популярен в России, поддерживает функцию подключения личного домена, администрации аккаунтов сотрудников.
- Zoho Mail – бизнес-решение, поддерживает сразу несколько рабочих доменов, мощный и функциональный инструмент.
- Proton – сервис из Швеции, обеспечивает повышенный уровень безопасности почты благодаря сквозному шифрованию.
Перечень далеко не органичен описанными решениями. Под каждую задачу можно подобрать оптимальный вариант.
Преимущества собственного почтового сервера
- возможность реализовать массовую рассылку почты в один клик;
- красивый адрес – для поддержания имиджа компании этот фактор достаточно важен;
- высокая степень конфиденциальности – к вашему оборудованию никто не имеет прямого доступа;
- возможность рассылки корпоративной почты между сотрудниками без обязательного доступа в интернет;
- экономия трафика при отправке больших объемов писем.
Персональный почтовый сервер – это решение для больших компаний, которым важна прямая коммуникация между сотрудниками и клиентами.
Почтовый сервер для 100 человек
Для реализации личного почтового сервера достаточно оборудования со следующими параметрами:
- энергоэффективный процессор линейки Xeon E;
- от 16 Гб оперативной памяти стандарта DDR4;
- несколько слотов под жесткие диски;
- несколько портов для сетевого подключения – основной и резервный.
Примером может быть модель DELL PowerEdge R630. Достаточно популярная линейка для небольших решений. Отличается повышенной энергоэффективностью, оснащен системой iLO для удаленного управления всеми параметрами устройства.
Почтовый сервер для 200 человек
По мере повышения нагрузки возрастают и требования к оборудованию. С поставленными задачами легко справляются сервера типа HP Proliant DL360 Gen9. Их особенности:
- 8 слотов для установки жестких дисков, поддержка быстрой замены устройств «на горячую»;
- мощные 8 ядерные процессоры класса Xeon Silver;
- 16 Гб оперативной памяти с возможностью дальнейшего расширения;
- несколько сетевых портов на 1 Гбит.
Для монтажа в рэковые стойки производитель предусмотрел дополнительный вариант данного сервера с высотой 1U.
Почтовый сервер на 400–500 человек
Подобные решения необходимы для крупных компаний с филиалами. Такие сервера должны быстро обрабатывать тонны почтового трафика, при этом обеспечивая надежный уровень защиты информации. На что стоит ориентироваться при выборе оборудования:
- многоядерность – чем больше ядер, тем лучше это скажется на производительности;
- повышенный объем оперативной памяти – для такой системы рекомендуется не менее 64 Гб ОЗУ;
- поддержка горячей замены жестких дисков SAS.
Немаловажным фактором является высокая отказоустойчивость. При выборе оборудования необходимо учитывать этот параметр.
Использование локального почтового сервера
Локальный почтовый сервер работает на конкретную сеть. Это может быть объединение компьютеров в частной сети компании, фирмы или небольшого предприятия. Таким образом реализуется возможность внутренней почтовой рассылки и отправки (приема) информации через интернет.
Популярными являются решения на базе SMTP. Он используется для локальной и веб-сети. SMTP легко настроить на ОС Windows и расширить на все устройства корпоративной сети. Дополнительно SMTP-стандарт может использоваться для приема системных и лог-сообщений, что может быть полезно администраторам.
Протоколы email-систем
Высокая скорость работы оборудования – результат не только аппаратной части, но и использования специальных протоколов. По сути, это правила обмена данными. К ним относятся стандарты:
- SMTP – перенаправление всей исходящей информации на почтовый сервер;
- POP3 – прием и доставка писем адресату через локальные ресурсы;
- IMAP – схожая с POP3 система, однако работающая по другому принципу.
В IMAP также выполняется сбор писем, однако обработка данных происходит только в пределах сервера. Почта не хранится где-нибудь в других местах. Это дает возможность IMAP быть более безопасным протоколом.
Выбор оборудования
Для каждой задачи выбирается оптимальное оборудование. При этом можно использовать следующие правила:
- надежность – оборудование должно быть стабильно по своей аппаратной части, иметь несколько сетевых каналов и блоков питания (идеальный случай);
- чем производительнее сервер, тем быстрее выполняется почтовая рассылка и прием информации;
- почтовый сервер должен быть легко обслуживаемым – сложное ПО будет требовать команды техподдержки каждый раз при возникновении внештатной ситуации.
Еще один важный параметр – тишина. Это актуально для оборудования в не рэковом исполнении, монтируемых в кабинетах и рабочих офисах.
Требования для запуска собственного почтового сервера
Приведем пример базовых требований:
- если используется хостинг, представитель должен разрешить установку собственного ПО;
- обеспечение внешнего статического IP-адреса, публичного домена, записи PTR – адреса сервера должны быть публичными и неизменными во времени;
- IP должен указывать на ваше доменное имя;
- выбор правильного почтового ПО (клиента).
Немаловажным будет ввести почтовый сервер в белый список. В противном случае другие клиенты могут воспринимать рассылку как спам. По этой причине ваш IP диапазон должен быть чистым.
Выбор хостинг-провайдера
Почтовый хостинг ничем не отличается от серверного. В обоих случаях провайдер отдает свои аппаратные мощности в аренду клиентам. Большая часть хостингов предлагает бесплатные версии свои пользователям. Однако это не всегда оправдано – грамотным хостинг считается в тех случаях, когда входящая и исходящая электронная корреспонденция обслуживается выделенным оборудованием.
На что смотреть при выборе провайдера:
- тарифы и условия использования;
- варианты серверов;
- наличие техподдержки на месте;
- уровень защиты.
Немаловажным критерием также станет стаж провайдера на рынке подобных услуг.
Какие порты нужны для почтового сервера
Для протокола SMTP используются:
- 25 порт – входящие соединения от других серверов;
- 587 порт – собственный почтовый сервер;
- 465 – используется более для старых почтовых клиентов.
В первых двух портах метод защиты должен быть установлен в режиме STARTTLS.
Для IMAP используется 993 порт. POP3 для работы подключает 995. Для организации совместимости с разными клиентами методы защиты следует установить SSL/TLS.
Порты 143 и 110 сейчас практически не применяются. Более того, они не защищены шифрованием.
Чем отличается почтовая программа от почтового сервера
Почтовая программа – это ПО, главная функция которого заключается в объединении нескольких почтовых ящиков в одном месте. Основное преимущество заключается в экономии времени и бюджета. Пользователям больше нет необходимости проверять почту по-отдельности – все находится в одном месте.
Почтовый сервер – более сложное решение. Представляет собой аппаратно-программный комплекс, который позволяет создать личный адрес электронной почты и рассылать (принимать) письма через него. Такое решение оправдано для компаний, которым важен уникальный адрес, сопоставимый с названием бренда. Более того, программное оборудование снимает ограничения на объем почты.
Что такое почтовый сервер?
Почтовый сервер нужен для того, чтобы отправлять и получать электронную почту. Можно использовать бесплатный, например, на Google, Mail, Yandex или Yahoo, а можно создать почту на собственном домене или сделать из обычного web-сервера.
О том, что такое почтовый сервер, из чего он состоит и как работает, рассказывают специалисты «Смарт Офис».
Как работает?
Существует несколько основных типов почтовых серверов:
Входящие используют протоколы POP3 и IMAP, которые работают на портах 110 и 143. Исходящие задействую порт 25 и протокол SMTP.
Протокол — это специфический набор команд для перенаправления и аутентификации писем.
SMTP (Simple Mail Transfer Protocol)
Что такое SMTP и зачем он нужен? Он отвечает за корректное выполнение процесса «сохранить и переслать», для этого он работает совместно с агентом пересылки MTA (Mail Transfer Agent). Основная задача протокола — «расшифровать» почтовому серверу, как именно нужно переместить e-mail между разными MTA. Простыми словами, письмо разбивается на строки кода, которые читают серверные службы. Это будет не просто текст, который видит пользователь, а строчки, разделенные кодовыми символами для идентификации.
В процессе перемещения e-mail пройдет через несколько MTA, сохраняясь на каждом этапе.
Интересный факт: SMTP-протокол понимает только простой текст. Для работы с картинками и вложениями используют расширение MIME.
POP3 и IMAP
Протоколы POP3 и IMAP отвечают за прием электронной почты на сервере. IMAP лучше подойдет для бизнеса, так как при его использовании все e-mail будут сохраняться на почтовом сервере. Это удобно, если доступ к ящику нужен для нескольких сотрудников, которые пользуются разными девайсами (смартфон, компьютер, планшет). При этом если сотрудник прочитал, изменил или удалил письмо, остальные это увидят.
POP3 предполагает скачивание e-mail на компьютер пользователя и удаление их с почтового сервера. Это может быть актуально только в случае, если с ящиком будет работать только один человек или несколько сотрудников, но с одного компьютера. Чаще всего этот протокол применяют только в случае нестабильного интернет-соединения или если пересылаемая информация имеет большую ценность и не может храниться на почтовых серверах с общим доступом.
Алгоритм работы
Алгоритм работы почтового сервера довольно простой. Когда пользователь нажмет кнопку «Отправить», почтовый клиент подключится к SMTP-серверу домена. Это необходимо для того, чтобы передать другой машине адрес отправителя и получателя e-mail, «перевести» в код текст, картинки и вложения. Затем письмо отправится на POP3 или IMAP-сервер домена.
Как система находит почтовый сервер получателя? Здесь подключается DNS, который «переведет» имя домена получателя в IP-адрес. После того как e-mail придет в очередь на стороне POP3 или IMAP, письмо будет ждать разрешения на загрузку со стороны получателя. Как только такое разрешение будет получено, сообщение можно будет открыть.
Интересный факт: почтовый сервер состоит всего из трех основных компонентов: клиент, сервер и агент. Только агент взаимодействует с обеими сторонами процесса — клиентами и серверами.
Настройки
Настройкой почтового сервера чаще всего занимаются IT-специалисты на стороне пользователя или провайдера (если это удаленный сервер). Сделать из своего web-сервера почтовый можно с помощью вспомогательных программ или с использованием встроенных возможностей операционной системы.
Что нужно настроить обязательно:
- домен и доменное имя — в том числе и для входящих писем;
- режим доставки — можно поставить e-mail в очередь;
- IP;
- список доверенных серверов — для защиты от спама и от писем с вредоносным кодом.
Что можно настроить, чтобы было удобнее работать:
- Адресную книгу. Экономит время при отправке писем. Контакты можно синхронизировать: вверху списка будут те, с которыми переписываетесь чаще всего.
- Фильтры. Внешние и внутренние фильтры нужны, чтобы защититься от спама и DDoS-атак. В облачном почтовом сервере их, вероятно, уже установил и настроил провайдер.
- Очередность. Можно проверить, почему письма приходят с задержкой. Основных причин немного: ящик переполнен, настройки сбились, произошла хакерская атака.
- Антиспам. Чаще всего почтовые серверы защищают от спама как с помощью фильтров, так и специальных программ. Еще можно настроить черные и белые списки входящих адресов.
Интересный факт: чтобы защититься от спама, можно использовать особенности протокола SMTP. Защищенное SMTP-соединение можно создать с помощью логина и пароля или настроить передачу трафика только по TLS (понадобится сертификат и ключ). Все это не только защитит ваш ящик от ненужных писем, но и не позволит мошенникам использовать ваш почтовый сервер для рассылки спама.
Кому нужен?
Несмотря на то, что деловая переписка стремительно перемещается в мессенджеры, электронной почтой до сих пор пользуются для коммуникации с партнерами и клиентами. Информационные рассылки при этом теряют свою популярность — чаще всего такие письма просто не читают или сразу отправляют в спам.
В каких случаях e-mail актуален:
- отправка прайс-листа;
- официальная презентация компании;
- деловая формальная переписка;
- подписка на новости компании, информирование о скидках;
- периодические информационные рассылки, если на них подписались сами получатели.
Какой почтовый сервер использовать?
Можно использовать любой бесплатный e-mail на общедоступном сервисе. Такой ящик подойдет для личной переписки. Адрес домена (то, что после знака @) будет совпадать с используемым сервисом (Mail, Google, Yahoo, Yandex). Несмотря на то, что такие ящики работают достаточно стабильно, для бизнеса они не подойдут.
- мало места на выделенном диске;
- нет возможностей тонкой настройки под свои нужды;
- ограниченный выбор имени;
- низкий уровень безопасности для бизнеса.
Второй вариант — зарегистрировать свой домен и создать почтовый ящик на нем. В этом случае после знака @ будет идти имя вашего домена (чаще всего совпадает с названием компании). Это удобно, недорого и презентабельно. Потребители воспринимают такие e-mail лучше, чем разосланные с бесплатных сервисов. Однако такая система тоже не обходится без минусов:
- нельзя настроить сам почтовый сервер, но можно фильтры, антиспам и сбор почты;
- если на сервере неполадки, ваш IT-отдел не будет иметь соответствующего уровня доступа для их устранения, придется ждать, пока с этим разберется провайдер.
Собственный почтовый сервер — это лучший вариант, если вам нужен удобный интерфейс, безопасность, тонкие настройки клиента и самого сервера. Можно арендовать готовый вариант из облака или превратить web-сервер в e-mail.
Провайдеры предлагают различные варианты почтовых серверов для бизнеса любого масштаба. Почему это удобно:
- можно все настроить под себя;
- если возникает проблема с отправкой и получением писем, можно найти и устранить причину самостоятельно, без службы поддержки провайдера;
- машины размещены в ЦОД уровня не ниже TIER III — это значит, что серверы защищены от перегрева, пожара, затопления, а все их комплектующие регулярно обновляются;
- можно выбрать подходящую конфигурацию в рамках бюджета, например, не платить за большой объем диска, если не планируете масштабных рассылок;
- несмотря на совместное пользование ресурсами, арендаторы облачных почтовых серверов не ощущают присутствия друг друга — вы получаете ровно столько ресурсов, за сколько платите.
Заключение
Почтовый сервер — это необходимость для любого бизнеса. Даже если вы ведете всю деловую переписку в WhatsApp или Telegram, все равно нужно будет отправлять официальные письма, сообщать клиентам о скидках и акциях, подписывать пользователей на услуги компании.
Для того чтобы e-mail работал эффективно, лучше всего использовать собственный почтовый сервер (физический или в облаке). Облачный обойдется дешевле — не нужно будет платить за регулярную модернизацию и оборудовать серверную.
Если вы хотите узнать подробнее, какие возможности есть у облачных вариантов почтовых серверов, обратитесь к специалистам «Смарт Офис».