- Настройка собственного почтового сервера
- Настройка IP и DNS
- Обеспечение внешнего статического IP-адреса, публичного домена и записи PTR
- Настройка MX записи в DNS
- Настройка DKIM записи в DNS
- Настройка SPF записи в DNS
- Дополнительные записи DNS
- Выбор и запуск приложения почтового сервера
- Инициализация
- Протоколы электронной почты
- POP3, IMAP
- Проверка
- Аккаунт Gmail.com
- Специальные онлайн-сервисы
- Добавление почтового сервера в белые списки
- Внесение в белый список в публичных источниках
- Внесение в белый список определенных почтовых серверов
- Обход черных списков
- Заключение
- Как правильно настроить DNS для почтового сервера
- Запись типа NS— Name Server, сервер имён
- Запись типа MX — Mail eXcanger, сервер обмена электронной почтой
- Запись типа A — Address, IP-адрес, соответствующий доменному имени
- Запись типа PTR — PoinTeR, указатель в обратной зоне DNS
- Запись типа TXT/SPF — TeXT, текстовый указатель/Sender Policy Framework, структура политики отправителя
- Запись типа TXT/DKIM — TeXT, текстовый указатель/Domain Keys Identified Mail, электронная почта, идентифицированная доменными ключами
- Частые вопросы
- MX-запись что это?
- SPF-запись почтового сервера — какую указать?
- PTR-запись для почты — что указать?
Настройка собственного почтового сервера
Если есть необходимость освежить в памяти как всё это работает, то есть давняя, но актуальная статья об архитектуе почтовых систем.
Есть три основных шага, чтобы установить и настроить собственный почтовый сервер.
Настройка 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 используется для приема входящей и исходящей почты с/на другие почтовые серверы. И это позволяет пользователям домена отправлять свои сообщения.
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, порт и учетные данные).
Заключение
Итак, теперь можно использовать все преимущества выделенного почтового сервера. Надеюсь, что этот материал поможет наиболее эффективно достичь поставленной цели. Если есть какие-либо вопросы или предложения по этой теме, буду рад обсудить в комментариях.
Источник
Как правильно настроить DNS для почтового сервера
Многие современные методы борьбы со спамом активно используют службу DNS для выявления нежелательных сообщений электронной почты. Поэтому правильная настройка DNS-зоны для собственного сервера корпоративной почты позволит администратору избежать множества проблем с приёмом электронной почты от удалённых хостов и с отправкой электронной почты со своего сервера.
Рассмотрим настройку DNS-зоны на примере наиболее распространённого ПО BIND для правильной работы хостинга корпоративной почты. Итак, в доменной зоне должны в обязательном порядке быть указаны следующие строки:
Запись типа NS— Name Server, сервер имён
В записях типа NS указываются имена DNS, которые будут поддерживать доменную зону. По требованиям регистраторов доменных имён в целях доступности и отказоустойчивости их должно быть не менее двух и они должны быть расположены в различных подсетях класса C. Имя должно заканчиваться точкой иначе DNS-сервер интерпретирует имя как поддомен текущей зоны.
NS ns1.tendence.ru.
NS ns2.tendence.ru.
NS ns3.tendence.ru.
Запись типа MX — Mail eXcanger, сервер обмена электронной почтой
Основная запись в доменной зоне, указывающая на имена почтовых хостов этого домена, без которой невозможны приём и отправка (косвенно) почты. Невозможность отправки почты указана как косвенная потому, что подавляющее большинство почтовых серверов перед приёмом сообщения в целях защиты от спама обязательно проверит наличие в DNS-зоне MX-записей и их соответствие IP-адресу отправителя. Если такой записи нет или она не соответствует указанной, удалённый почтовый сервер с высокой вероятностью откажет в приёме электронной почты. Указание MX-записи отличается от синтаксиса рассмотренной ранее A-записи тем, что MX поддерживает приоритеты. Приоритет MX — целое число от нуля включительно, указывающее несколько возможных почтовых серверов для этого домена, и определяющее порядок их перебора отправителем в случаях недоступности некоторых из них. Обратите внимание, адресом почтового сервера в MX не может быть IP, только доменное имя.
MX 0 mx1.tendence.ru.
MX 5 mx2.tendence.ru.
MX 10 mx3.tendence.ru.
MX 100 mx4.tendence.ru.
В примере выше наибольшим приоритетом (0) в приёме почты обладает хост mx1.tendence.ru Именно к нему в первую очередь будут обращаться для отправки сообщений на ваш корпоративный почтовый сервер все отправители. Если по каким-то причинам в соединении с этим хостом будет отказано, отправитель перейдёт к попытке отправки на почтовый сервер со следующим приоритетом — 5, mx2.tendence.ru и так далее. Таким образом, MX-записи дают возможность гибкой настройки балансировки нагрузки (можно указать несколько записей с один и тем же приоритетом) и отказоустойчивости хостинга почты.
Запись типа A — Address, IP-адрес, соответствующий доменному имени
Необходима для преобразования доменного имени непосредственно в IP-адрес. Должна соответствовать внешнему статическому маршрутизируемому IP-адресу, выделенному провайдером.
mail A 192.168.0.1
Запись типа PTR — PoinTeR, указатель в обратной зоне DNS
Исключительно важная запись, значение rDNS-записи в работе хостинга почты невозможно переоценить! Удалённые почтовые серверы проверяют наличие и содержимое этой записи при попытке отправить им почту и их системы антиспама придают очень весомое значение результатам проверки. Рекомендуется давать им осмысленное имя, которое соответствует имени, данному почтовому серверу в MX и A-записях. Почтовые серверы Mail.ru, например, вообще не принимают электронную почту от почтовых серверов с неправильными с их точки зрения PRT/rDNS-записями. Так, почта от хоста 4-3-2-1.dsl-pool.prodiver.ru будет отклонена из-за исчезающей вероятности наличия у серьёзного корпоративного почтового сервера такого имени. Как правило запись в эту зону вносится вашим хостером или провайдером, если вы не владеете собственной автономной системой (AS).
1 PTR mx1.tendence.ru.
Также желательно указать следующие необязательные записи. Их наличие позволит серверам-получателям, принимающим вашу электронную почту, однозначно идентифицировать ваш домен и не путать сообщения, с него поступающие, со спамом.
Запись типа TXT/SPF — TeXT, текстовый указатель/Sender Policy Framework, структура политики отправителя
Замечательное средство защиты от подделки адреса отправителя, принятое в качестве стандарта RFC с 2006 года. Является эффективным, быстрым и использующим крайне мало ресурсов как со стороны отправителя, так и получателя средством. Остаётся только сожалеть, что за прошедшие годы не все владельцы доменов внедрили у себя SPF-записи. Если бы это произошло, спама в электронной почте стало бы на порядок меньше. SPF заметно уменьшает вероятность ложного определения сообщения с вашего email-сервера как спам. Заключается в явном указании списка IP-адресов/хостов, которые имеют право на отправку электронной почты от имени домена.
TXT «v=spf1 +mx -all»
Строка такого вида указывает используемую версию SPF — 1 (а другой пока и нет, сделано для совместимости с будущими версиями протокола), разрешает приём почты домена со всех адресов, указанных в MX и запрещает приём почты со всех других хостов. Такой настройки будет достаточно в большинстве случаев для предотвращения подделки адресов корпоративной почты и снижения шансов маркировки ваших сообщений как спама.
Запись типа TXT/DKIM — TeXT, текстовый указатель/Domain Keys Identified Mail, электронная почта, идентифицированная доменными ключами
Криптографическая технология, принятая в качестве стандарта с 2007 года. Как и SPF призвана предотвратить подделку адресов отправителя, уникальным образом идентифицировать его, а также подтвердить, что при доставке сообщение электронной почты не было изменено. Требует наличия программного обеспечения для подписания каждого сообщения доменным ключом. Для проверки используется открытый ключ, указанный в зоне DNS:
selector._domainkey TXT «v=DKIM1; p=MIGfMA1CSqGSIb1DQEBAQUAA4GNADCBiQKBgQCnmGN26HP/0oxTdlKSaivGvO0y38tY6RbBbJXHerIE1aHkCk/PTJhnD3hAIEhLobIqWazInJFZMO1W/jqUP2MxH16lU/jzuZvvUH3l8/kq4egAxYiwcya6ksVe0OzTtkF2XHFzhvGxQ/SJD/26PugcDS2NwVIG9PrWL9POXwIDAQAB»
_domainkey TXT «o=-»
Имя selector означает конкретный ключ (их может быть несколько), используемый для подписания сообщения, параметр v — версия DKIM, p — собственно ключ. Политика o=- указывает, что неподписанные/неправильно подписанные сообщения должны отклоняться. Именно такой режим рекомендуется для применения, ведь повсеместное внедрение этой технологии позволило бы навсегда решить проблему спама. Подключение DKIM к корпоративной почте позволит сообщениям сотрудников не быть ложно опознанными как спам у получателей. Более подробную информацию по подключению DKIM к вашему почтовому серверу ищите в документации к нему.
Затрудняетесь с самостоятельной настройкой почтового сервера? Поручите все заботы профессионалам — хостинг корпоративной почты с технической поддержкой 24/7.
Частые вопросы
MX-запись что это?
Запись или записи, указывающие на имена почтовых серверов, обслуживающих почту домена, называются MX-записями. MX это аббревиатура от Mail eXchanger (англ. — обмен почтой). На записанные в них имена хостов будет направляться входящая электронная почта, предназначенная для этого доменного имени. Без хотя бы одной MX-записи функционирование email на домене невозможно.
SPF-запись почтового сервера — какую указать?
Наиболее простая и полезная для владельца домена SPF-запись будет выглядеть так:
TXT «v=spf1 +mx -all»
Это инструкция почтовым серверам-получателям принимать сообщения с домена только с хостов, указанных как MX-записи домена, и отвергать со всех остальных. Далее можно ещё надёжнее защитить свою почту от подделок и спама, подключить DKIM и DMARC-записи.
PTR-запись для почты — что указать?
Для сервера почты следует указать осмысленный PTR (от англ. PoinTeR – указатель). Электронная почта с сервера без PTR или с автоматически сгенерированным значением будет скорее всего помещена в спам или вовсе отвергнута получателями.
Источник