SPF-запись - проверяем валидность отправителя

Как всем известно, протокол отправки электронной почты SMTP, подразумевает, что в качестве отправителя можно указать любой почтовый ящик. Таким образом можно послать письмо, подставив в поле “From” вымышленное значение. Процесс такого почтового обмана называется Спуфинг (e-mail spoofing). Чтобы бороться с этим явлением, был разработан и введен в действие стандарт SPF – Sender Policy Framework (структура политики отправителя). SPF позволяет владельцу домена указать в TXT-записи домена специальным образом сформированную строку, указывающую список серверов, имеющих право отправлять email-сообщения с обратными адресами в этом домене. Рассмотрим простой пример SPF-записи. 1 example.org. IN TXT "v=spf1 +a +mx -all" Теперь более детально о допустимых опциях. Рассмотрим варианты поведения получателя, в зависимости от используемых опций: v=spf1 - используемая версия SPF. + - принимать корреспонденцию (Pass). Этот параметр установлен по умолчанию. Тоесть, если никаких параметров не установлено, то это “Pass”; - - Отклонить (Fail); ~ - “мягкое” отклонение (SoftFail). Письмо будет принято, но будет помечено как СПАМ; ? - нейтральное отношение; mx - включает в себя все адреса серверов, указанные в MX-записях домена; ip4 - опция позволяет указать конкретный IP-адрес или сеть адресов; a - указываем поведение в случае получения письма от конкретного домена; include - включает в себя хосты, разрешенные SPF-записью указанного домена; all - все остальные сервера, не перечисленные в SPF-записи. Итак, попробуем разобраться, что же значит SPF-запись, указанная выше. +a - разрешает прием писем от узла, IP-адрес которого совпадает с IP-адресом в A-записи для example.org; +mx - разрешает прием писем, если отправляющий хост указан в одной из MX-записей для example.org; -all - все сообщения, не прошедшие верификацию с использованием перечисленных механизмов, следует отвергать. Для лучшего понимания того, как работает SPF, рассмотрим еще один, более сложный пример. ...

20 червня 2018 · 4 хвилин · 679 слів · dimetrius

Добавляем DKIM подписи в Exim, параллельно настраиваем SPF, DMARC на примере CentOS

Создаём директорию 1 mkdir /etc/exim/dkim Генерируем ключ 1 openssl genrsa -out /etc/exim/dkim/example.com.key 1024 из него генерируем публичную часть ключа 1 openssl rsa -in /etc/exim/dkim/example.com.key -out /etc/exim/dkim/example.com.key.pub -pubout Прописываем в DNS публичную часть ключа 1 mail._domainkey IN TXT "v=DKIM1; g=*; k=rsa; p=MIGfMA0GCSqGSIb3DQEBA..." Проверяем что запись корректно добавилась на DNS dig mail._domainkey.example.com TXT Настраиваем Exim 1 2 3 4 5 6 7 8 9 10 11 12 13 14 begin transports # тут добавляем наш DKIM DKIM_DOMAIN = ${lc:${domain:$h_from:}} DKIM_FILE = /etc/exim/dkim/${lc:${domain:$h_from:}}.key DKIM_PRIVATE_KEY = ${if exists{DKIM_FILE}{DKIM_FILE}{0}} remote_smtp: driver = smtp dkim_domain = DKIM_DOMAIN dkim_private_key = DKIM_PRIVATE_KEY dkim_selector = mail dkim_canon = relaxed dkim_strict = yes Не забываем перезагрузить Exim (service exim reload) Параллельно обычно приходится настраивать SPF и DMARC. Это не сложно. Добавляем на DNS подобные записи: 1 2 example.com. IN TXT "v=DMARC1\;p=reject" example.com. IN TXT "v=spf1 mx a ip4:222.222.222.222 ~all" 222.222.222.222 это IP для примера, обычно приходится прописывать, когда почта отправляется с интерфейсного IP, который не совпадает с записями A, MX… статья не закончена

13 квітня 2016 · 1 хвилина · 163 слів · dimetrius