Электронная почта — один из самых популярных каналов распространения спама, малвари и фишинговых ссылок. Существует куча софта, который защищает почтовые серверы от этих напастей, да вот незадача: большинство таких программ стоит денег, и порой немалых. В этой статье я расскажу, как усилить безопасность корпоративных почтовых серверов (MS Exchange и Postfix) с помощью доступных штатных средств — DKIM-, SPF- и DMARC-записей, не требующих использования дорогостоящих коммерческих продуктов.
Итак, прежде чем мы приступим непосредственно к изменению настроек безопасности нашего почтового сервера, нужно разобраться с тем, что именно мы собираемся настраивать. Если тебя не пугают страшные на вид аббревиатуры, состоящие из трех и более заглавных букв латинского алфавита, ты можешь пропустить этот раздел. Остальных приглашаю освежить свои знания, ибо повторение, как гласит народная мудрость, мать учения.
Важно помнить, что, к сожалению, настройка DKIM-, SPF- и DMARC-записей не панацея от всех бед. Если почтовый сервер был взломан, эти функции безопасности не смогут защитить от нелегитимного трафика. Поэтому важно заранее продумать эшелонированную защиту системы, включая антиспам-фильтры, антивирусное детектирование и прочее.
DKIM (Domain Keys Identified Mail) — это, условно говоря, цифровая подпись, которая подтверждает подлинность отправителя и гарантирует целостность доставленного письма. Подпись добавляется в служебные заголовки сообщения и остается незаметной для самого пользователя. Поскольку в DKIM используется асимметричная система шифрования, репозиторий сервера всегда хранит два ключа шифрования — открытый (сертификат) и закрытый. С помощью закрытого ключа формируются заголовки для всей исходящей почты, а открытый ключ как раз добавляется в DNS-записи в виде TXT-файла.
Статус DKIM проверяется автоматически на стороне получателя при сохранении письма в контейнер (именной почтовый ящик). И если домен в письме не авторизован для отправки сообщений, то письмо может быть помечено подозрительным или же сразу помещено в папку «Спам», в зависимости от настроенной политики безопасности. Кстати, это одна из ключевых причин, почему письма определенных отправителей постоянно попадают в спам, даже несмотря на валидность домена отправителя.
Для работы с DKIM требуется выполнение следующих условий:
Для интересующихся этой темой в нашем журнале публиковался краткий гайд «Как настроить почтовый сервер для обхода спам-фильтров: руководство по DNS, SPF, DKIM», который поможет тебе взглянуть на проблему рассылки спама, вредоносного ПО и фишинга глазами владельца почтового ботнета. 🙂
SPF (Sender Policy Framework) — это еще одна специальная подпись, содержащая информацию о серверах, которые могут отправлять почту с твоего домена. То есть SPF позволяет владельцу домена указать в TXT-записи для DNS-домена специальным образом сформированную строку, содержащую весь список серверов, которые имеют право отправлять email-сообщения с обратными адресами в этом домене. А если сказать то же самое понятными словами, то в этой записи мы сообщаем, с каких почтовых серверов можно посылать письма от имени сотрудников нашей компании. Воу! Вот так просто! В общем, наличие SPF снижает вероятность, что твое письмо попадет в спам.
Важно помнить, что SPF-запись должна быть только одна для одного домена, хотя уже в рамках одной SPF может содержаться несколько записей. И нужно сказать, что для поддоменов будут нужны свои записи. И никак иначе! Безопасность требует времени и усердия. 🙂
DMARC (Domain-based Message Authentication, Reporting and Conformance) — это еще одна подпись, которая позволяет серверу получателя принять решение, что делать с пришедшим письмом. Важно заметить, что DMARC — это скорее дополнительная фича к уже используемым DKIM и SPF. Например, если отправленное сообщение не прошло проверку DKIM и SPF, то оно не пройдет и DMARC. Все логично. А вот если письмо успешно прошло хотя бы одну проверку (DKIM или SPF), то и проверку DMARC оно тоже преодолеет. Также при помощи DMARC можно получать репорты от почтовых систем с информацией, сколько через них пыталось пройти или прошло поддельных сообщений на ваш домен. Из сказанного становится понятно, что DMARC добавляется только после того, как уже настроены записи SPF и DKIM.
С использованием DKIM, SPF и DMARC можно противостоять email-спуфингу и распространению малвари. Однако важно понимать, что это не гарантирует безопасности в случае взлома сервера, например путем компрометации админки или применения эксплоита, а также если письма форвардятся через иные почтовые сервисы с сомнительной репутацией или с полностью отсутствующими записями DKIM, SPF и DMARC.
Некоторые полезные ссылки для проверки корректности настройки DKIM- и SPF-записей, а также репутации домена:
SPF Policy Tester — онлайн-сервис проверки корректности SPF-записи. Для проведения теста на сайте указываешь почтовый адрес, с которого хочешь отправлять письма, и IP-адрес почтового сервера. Если все хорошо, то после нескольких секунд ожидания внизу страницы должна появиться зеленая надпись PASS
.
Dkimvalidator.com — разработчики этого сервиса дают тебе адрес почты, на который нужно выслать письмо. После этого можно просмотреть отчет о валидности DKIM. Все просто!
Mail-tester.com — еще один вариант аналогичного сервиса, где тебе предоставляется адрес почты для отправки тестового сообщения, а после этого можно посмотреть отчет о доставке. Если возникли проблемы, из представленного репорта можно понять, в чем именно заключаются косяки.
Также не стоит забывать о регистрации своего сервера в службах постмастера для публичных почтовых серверов (если ты, конечно, администрируешь такой сервер). Это позволит тебе не только получать статистику по рассылкам, но и заработать чуть больше доверия от этого почтового сервиса. Вот самые известные и часто используемые постмастеры: Mail.RU, Yandex и Gmail.
В практической части мы рассмотрим конфигурирование описанных выше настроек безопасности на примере двух наиболее популярных почтовых серверов — опенсорсного Postfix на Debian (ну, или Ubuntu Server) и проприетарного Microsoft Exchange Server 2013+. Предполагается, что почтовые серверы у тебя уже установлены и настроены под твой домен, поэтому рассматривать будем только само конфигурирование фич на обезличенных данных.
Общий принцип работы нашего почтового сервера будет таков:
Ну что, погнали!
Перед любыми операциями по конфигурированию системы не забывай сделать бэкап! Даже одна неправильно включенная опция может отрезать всех пользователей от получения и отправки почтовой корреспонденции. И обязательно тестируй все изменения перед переносом в их продакшен!
Если ты отправляешь все сообщения только с одного сервера (почтовые клиенты не считаются), то в SPF-записи будет достаточно указать IP-адрес этого сервера:
example.com. IN TXT "v=spf1 +a +mx ip4:31.34.56.78 -all"
Описание опций:
v=spf1
— используемая версия SPF;+
— принимать корреспонденцию (Pass). Этот параметр установлен по умолчанию. То есть, если никаких параметров не установлено, это автоматически Pass
;-
— отклонить (Fail);~
— мягкое
отклонение (SoftFail). Письмо будет принято, но будет помечено как спам;?
— нейтральное отношение, то есть никаких действий не предпринимать;mx
— включает в себя все адреса серверов, указанные в MX-записях домена;ip4
— опция позволяет указать конкретный IP-адрес или подсеть IP-адресов;a
— указываем поведение в случае получения письма от конкретного домена;include
— включает в себя хосты, разрешенные SPF-записью указанного домена;all
— все остальные серверы, не перечисленные в SPF-записи.Материалы из последних выпусков можно покупать отдельно только через два месяца после публикации. Чтобы продолжить чтение, необходимо купить подписку.
Подписка позволит тебе в течение указанного срока читать ВСЕ платные материалы сайта. Мы принимаем оплату банковскими картами, электронными деньгами и переводами со счетов мобильных операторов. Подробнее о подписке
1 год7590 р. Экономия 1400 рублей! |
1 месяц720 р. 25-30 статей в месяц |
Уже подписан?
Читайте также
Последние новости