Для нормальной работы сайта необходимо разрешить JavaScript, включая скрипты с доменов googlesyndication.com и doubleclick.net для отображения системы поиска по сайту и прочих сервисов Google.

Установка и настройка OpenDKIM с MTA Postfix или Sendmail в CentOS 5,6

Установка и настройка OpenDKIM с MTA Postfix или Sendmail в CentOS 5,6 DomainKeys Identified Mail — метод аутентификации E-mail. Технология DomainKeys Identified Mail (DKIM) объединяет в себе несколько методов антифишинга и антиспама, целью которых является повышение качества идентификации и классификации легитимной электронной почты.

Вместо обычного IP-адреса, для идентификации отправителя электронного сообщения DKIM добавляет к нему цифровую подпись, которая связанна с именем домена. Подпись DKIM проверяется на стороне получателя, и в зависимости от результатов, применяются «белые» или «чёрные» списки.

Для аутентификации отправителей в технологии DomainKeys используются доменные имена. DomainKeys использует (DNS) систему доменных имен для пересылки открытых ключей шифрования.

Установка OpenDKIM

В стандартных репозиториях для CentOS 5,6, пакета OpenDKIM может не оказаться, зато его можно найти в репозитории EPEL от fedoraproject.org. Если yum install opendkim не прокатило, тогда устанавливаем EPEL репозиторий от fedoraproject.org и повторяем попытку:

yum repolist
ls /etc/yum.repos.d/
less /etc/yum.repos.d/epel.repo
wget http://download.fedoraproject.org/pub/epel/6/x86_64/epel-release-6-7.noarch.rpm
or
wget http://download.fedoraproject.org/pub/epel/5/x86_64/epel-release-5-4.noarch.rpm
sh-4.1# rpm -Uvh epel-release*rpm
warning: epel-release-6-7.noarch.rpm: Header V3 RSA/SHA256 Signature, key ID 060
8b895: NOKEY
Preparing... ########################################### [100%]
1:epel-release ########################################### [100%]
sh-4.1# rm -f epel-release*rpm
sh-4.1# ls
sh-4.1# yum install opendkim
Loaded plugins: fastestmirror
Loading mirror speeds from cached hostfile
epel/metalink | 19 kB 00:00
* atomic: www7.atomicorp.com
* base: mirror.majorhost.net
* epel: mirror.datacenter.by
* extras: mirror.majorhost.net
* updates: mirror.majorhost.net
epel | 4.3 kB 00:00
epel/primary_db | 4.8 MB 00:01
Setting up Install Process
Resolving Dependencies
--> Running transaction check
---> Package opendkim.x86_64 0:2.6.7-1.el6 will be installed
--> Processing Dependency: libopendkim = 2.6.7-1.el6 for package: opendkim-2.6.7
-1.el6.x86_64
--> Processing Dependency: libopendkim.so.7()(64bit) for package: opendkim-2.6.7
-1.el6.x86_64
--> Processing Dependency: libmilter.so.1.0()(64bit) for package: opendkim-2.6.7
-1.el6.x86_64
--> Running transaction check
---> Package libopendkim.x86_64 0:2.6.7-1.el6 will be installed
---> Package sendmail-milter.x86_64 0:8.14.4-8.el6 will be installed
--> Finished Dependency Resolution
Dependencies Resolved
================================================================================
Package Arch Version Repository Size
================================================================================
Installing:
opendkim x86_64 2.6.7-1.el6 epel 193 k
Installing for dependencies:
libopendkim x86_64 2.6.7-1.el6 epel 63 k
sendmail-milter x86_64 8.14.4-8.el6 base 57 k
Transaction Summary
================================================================================
Install 3 Package(s)
Total download size: 312 k
Installed size: 708 k
Is this ok [y/N]: y
Downloading Packages:
(1/3): libopendkim-2.6.7-1.el6.x86_64.rpm | 63 kB 00:00
(2/3): opendkim-2.6.7-1.el6.x86_64.rpm | 193 kB 00:00
(3/3): sendmail-milter-8.14.4-8.el6.x86_64.rpm | 57 kB 00:00
--------------------------------------------------------------------------------
Total 113 kB/s | 312 kB 00:02
warning: rpmts_HdrFromFdno: Header V3 RSA/SHA256 Signature, key ID 0608b895: NOK
EY
Retrieving key from file:///etc/pki/rpm-gpg/RPM-GPG-KEY-EPEL-6
Importing GPG key 0x0608B895:
Userid : EPEL (6) <epel@fedoraproject.org>
Package: epel-release-6-7.noarch (installed)
From : /etc/pki/rpm-gpg/RPM-GPG-KEY-EPEL-6
Is this ok [y/N]: y
Running rpm_check_debug
Running Transaction Test
Transaction Test Succeeded
Running Transaction
Warning: RPMDB altered outside of yum.
Installing : sendmail-milter-8.14.4-8.el6.x86_64 1/3
Installing : libopendkim-2.6.7-1.el6.x86_64 2/3
Installing : opendkim-2.6.7-1.el6.x86_64 3/3
Verifying : libopendkim-2.6.7-1.el6.x86_64 1/3
Verifying : opendkim-2.6.7-1.el6.x86_64 2/3
Verifying : sendmail-milter-8.14.4-8.el6.x86_64 3/3
Installed:
opendkim.x86_64 0:2.6.7-1.el6
Dependency Installed:
libopendkim.x86_64 0:2.6.7-1.el6 sendmail-milter.x86_64 0:8.14.4-8.el6
Complete!
sh-4.1#

Создание DKIM ключей

Когда пакет OpenDKIM и все его зависимости установлены, самое время создать пару ключей, приватный (.private) и публичный (.txt).


mkdir /etc/opendkim/keys/remotehelp.pp.ua
opendkim-genkey -D /etc/opendkim/keys/remotehelp.pp.ua/ -d remotehelp.pp.ua -s default
mv /etc/opendkim/keys/remotehelp.pp.ua/default.private \
    /etc/opendkim/keys/remotehelp.pp.ua/default
chown -R opendkim:opendkim /etc/opendkim/keys/remotehelp.pp.ua

При создании ключа можно явно указать директорию -D (directory), -d (domain) указывает домен с которого будет подписывать исходящая почта, -s (selector) имя создаваемой пары ключей (default по умолчанию), man opendkim-genkey даст дополнительную информацию. Результатом в каталоге /etc/opendkim/keys/remotehelp.pp.ua будут файлы default.private и default.txt

Конфигурационные файлы OpenDKIM

Теперь самое время отредактировать/создать файлы конфигурации OpenDKIM:

  1. /etc/opendkim.conf – Основной файл конфигурации OpenDKIM;
  2. /etc/opendkim/KeyTable – Список ключей для подписания;
  3. /etc/opendkim/SigningTable - Список учётных записей и доменов которые разрешено подписывать;
  4. /etc/opendkim/TrustedHosts – Список серверов доверия при подписании или проверке.

При установке OpenDKIM должен быть создан основной конфигурационный файл /etc/opendkim.conf с настройками по умолчанию, только для проверки "verification only". Для подписания исходящих писем нам нужно будет закомментировать/расскомментировать/настроить некоторые параметры в этом конфигурационном файле используя привычный текстовый редактор.

## BASIC OPENDKIM CONFIGURATION FILE
## See opendkim.conf(5) or /usr/share/doc/opendkim-2.6.7/opendkim.conf.sample fo
r more
 
## BEFORE running OpenDKIM you must:
 
## - make your MTA (Postfix, Sendmail, etc.) aware of OpenDKIM
## - generate keys for your domain (if signing)
## - edit your DNS records to publish your public keys (if signing)
 
## See /usr/share/doc/opendkim-2.6.7/INSTALL for detailed instructions.
 
## CONFIGURATION OPTIONS
 
# Specifies the path to the process ID file.
PidFile /var/run/opendkim/opendkim.pid
 
# Selects operating modes. Valid modes are s (signer) and v (verifier). Default
is v.
Mode    sv
 
# Log activity to the system log.
Syslog  yes
 
# Log additional entries indicating successful signing or verification of messag
es.
SyslogSuccess   yes
 
# If logging is enabled, include detailed logging about why or why not a message
 was
# signed or verified. This causes an increase in the amount of log data generate
d
# for each message, so set this to No (or comment it out) if it gets too noisy.
#LogWhy yes
 
# Attempt to become the specified user before starting operations.
UserID  opendkim:opendkim
 
# Create a socket through which your MTA can communicate.
Socket  inet:8891@localhost
 
# Required to use local socket with MTAs that access the socket as a non-
# privileged user (e.g. Postfix)
Umask   002
 
# This specifies a text file in which to store DKIM transaction statistics.
#Statistics     /var/spool/opendkim/stats.dat
 
## SIGNING OPTIONS
 
# Selects the canonicalization method(s) to be used when signing messages.
Canonicalization        relaxed/simple
 
# Domain(s) whose mail should be signed by this filter. Mail from other domains
will
# be verified rather than being signed. Uncomment and use your domain name.
# This parameter is not required if a SigningTable is in use.
Domain  remotehelp.pp.ua
 
# Defines the name of the selector to be used when signing messages.
Selector        default
 
# Gives the location of a private key to be used for signing ALL messages.
#KeyFile        /etc/opendkim/keys/default.private
 
# Gives the location of a file mapping key names to signing keys. In simple term
s,
# this tells OpenDKIM where to find your keys. If present, overrides any KeyFile
# setting in the configuration file.
KeyTable        refile:/etc/opendkim/KeyTable
 
# Defines a table used to select one or more signatures to apply to a message ba
sed
# on the address found in the From: header field. In simple terms, this tells
# OpenDKIM how to use your keys.
SigningTable    refile:/etc/opendkim/SigningTable
 
# Identifies a set of "external" hosts that may send mail through the server as
one
# of the signing domains without credentials as such.
ExternalIgnoreList      refile:/etc/opendkim/TrustedHosts
 
# Identifies a set internal hosts whose mail should be signed rather than verifi
ed.
InternalHosts   refile:/etc/opendkim/TrustedHosts

Подробные сведения по конфигурационному файлу man opendkim.conf. Мы расскомментировали Domain option (указав актуальный домен), а также KeyTable, SigningTable, ExternalIgnoreList, и InternalHosts options. Потому как мы будем использовать KeyTable, мы закомментировали директиву KeyFile. Приведите в полное соответствие свой opendkim.conf и приведённым выше примером.

Далее нам нужно создать или отредактировать три файла KeyTable, SigningTable, TrustedHosts, которые указаны в основном конфигурационном файле opendkim.conf, обычно они уже имеются в системе.

vi /etc/opendkim/KeyTable
# To use this file, uncomment the #KeyTable option in /etc/opendkim.conf,
# then uncomment the following line and replace example.com with your domain
# name, then restart OpenDKIM. Additional keys may be added on separate lines.
 
#default._domainkey.example.com example.com:default:/etc/opendkim/keys/default.p
rivate
 
default._domainkey.remotehelp.pp.ua remotehelp.pp.ua:default:/etc/opendkim/keys/
remotehelp.pp.ua/default

OpenDKIM из файла KeyTable получает информацию о месте расположении ключей для подписи отправляемой корреспонденции. Каждая запись в KeyTable для домена идёт в одну строку. Если нужно использовать разные ключи для разных виртуальных доменов, то используйте такую конструкцию (где example.com реальное имя вашего домена):

default._domainkey.example.com example.com:default:/etc/opendkim/keys/example.com/default
default._domainkey.example2.com example2.com:default:/etc/opendkim/keys/example2.com/default

Теперь нужно отредактировать vi /etc/opendkim/SigningTable. Этот файл говорит OpenDKIM для каких пользователей (отправителей) и какие селекторы использовать для поиска ключей подписания исходящей почты:

vi /etc/opendkim/SigningTable
# The following wildcard will work only if
# refile:/etc/opendkim/SigningTable is included
# in /etc/opendkim.conf.
 
#*@example.com default._domainkey.example.com
*@remotehelp.pp.ua default._domainkey.remotehelp.pp.ua
 
# If refile: is not specified in /etc/opendkim.conf, then full
# user@host is checked first, then simply host, then user@.domain (with all
# superdomains checked in sequence, so "foo.example.com" would first check
# "user@foo.example.com", then "user@.example.com", then "user@.com"), then
# .domain, then user@*, and finally *. See the opendkim.conf(5) man page
# under "SigningTable".
 
#example.com default._domainkey.example.com

В приведённом выше примере для OpenDKIM указывается, что для подписания писем любого отправителя с домена remotehelp.pp.ua должен использоваться селектор "default". Для нескольких доменов или пользователей нужно использовать конструкцию типа:

*@example.com default._domainkey.example.com
bob@example2.com default._domainkey.example2.com
doug@example2.com default._domainkey.example2.com

Следующим этапом является правка файла /etc/opendkim/TrustedHosts, где указывается список доверенных хостов ExternalIgnoreList которые будут проигнорированы при проверке входящей почты, а поскольку на этот же файл ведёт и директива InternalHosts, то этот же список хостов будет считаться внутренним и OpenDKIM будет подписывать все исходящие сообщения только с этих хостов:

vi /etc/opendkim/TrustedHosts
# To use this file, uncomment the #ExternalIgnoreList and/or the #InternalHosts
# option in /etc/opendkim.conf then restart OpenDKIM. Additional hosts
# may be added on separate lines (IP addresses, hostnames, or CIDR ranges).
# The localhost IP (127.0.0.1) should be the first entry in this file.
127.0.0.1
remotehelp.pp.ua

ВАЖНО! Убедитесь что в /etc/opendkim/TrustedHosts перечислен локальный ИП адрес (127.0.0.1) и он стоит первым в списке, в противном случае OpenDKIM не будет подписывать сообщения, отправленные с этого сервера. Если у вас есть несколько серверов в одной сети, которые отправляют почту через этот сервер и вы хотите подписать эту почту, то они должны быть перечислены в файле TrustedHosts. Каждый адрес указывайте в отдельной строке. Запись может быть именем хоста, доменным именем (например, "example.com"), IP-адрес, IPv6-адрес (в том числе IPv4 адрес), или CIDR диапазон.

Настройка конфигурации MTA (Mail Transfer Agent) под OpenDKIM

Теперь можно приступить к настройке вашего MTA (Mail Transfer Agent) для его совместного использования с OpenDKIM.

Настройка Postfix MTA под OpenDKIM

Расскажите Postfix про OpenDKIM, просто добавьте в коноец файла vi /etc/postfix/main.cf такие строки:

vi /etc/postfix/main.cf
smtpd_milters = inet:127.0.0.1:8891
non_smtpd_milters = $smtpd_milters
milter_default_action = accept

Если вы используете Postfix до версии 2.6, то возможно потребуется добавить:

milter_protocol = 2

Для версий Postfix 2.6 и выше по умолчанию используется milter_protocol версии 6. Подробнее читайте здесь: http://www.postfix.org/MILTER_README.html#version:

sh-4.1# yum list installed | grep postfix
postfix.x86_64 2:2.9.4-1.el6 @CentALT

Настройка Sendmail MTA под OpenDKIM

Измените .mc конфигурационный файл, который был использован для создания вашего текущего файла sendmail.cf. Добавьте следующую строку:

cp /etc/mail/sendmail.mc /etc/mail/sendmail.mc.bak
vi /etc/mail/sendmail.mc
INPUT_MAIL_FILTER(`opendkim', `S=inet:8891@localhost')

ВНИМАНИЕ! Начальная кавычка в INPUT_MAIL_FILTER() должна быть именно "`" (Машинописный обратный апостроф) , иначе интерпретатор m4не воспримет ввод и выдаст ошибку:/etc/mail/sendmail.mc:177: m4: Warning: excess arguments to builtin `define' ignored

Теперь нужно пересобрать sendmail.cf из sendmail.mc

cd /etc/mail
make all -C /etc/mail
или
m4 /etc/mail/sendmail.mc > /etc/mail/sendmail.cf

Запуск/автозапуск OpenDKIM и перезапуск MTA

Запустим OpenDKIM и добавим его в автозагрузку, перезапустим MTA:

hash -r
chkconfig --level 2345 opendkim on
chkconfig --list
service opendkim start
postfix reload
service sendmail restart
service opendkim status
opendkim (pid 19175) is running...

Уровни выполнения (запуска) смотрим в /etc/inittab, где есть следующие уровни выполнения:

  • 0 – прервать выполнение
  • 1 – Однопользовательский режим, так называемый «Single user mode», или иными словами, консоль восстановления
  • 2 – Многопользовательский режим без поддержки NFS
  • 3 – Полноценный многопользовательский режим
  • 4 – не используется
  • 5 – X11
  • 6 – перезагрузка

Проверка OpenDKIM на практике

OpenDKIM работает на указанном ранее сокете 8891, в который принимает данные от MTA Sendmail или Postfix, и если письмо удовлетворяет правилам, то оно подписывается и отправляется адресату, а если нет, то отправляется адресату без DKIM подписи.

После отправки письма с сайта от "From:" no-reply@remotehelp.pp.ua, читаем less /var/log/maillogгде находим строчку "DKIM-Signature header added (s=default, d=remotehelp.pp.ua)", которая говорит о добавлении к исходящему письму подписи DKIM:

.............
Nov 7 17:24:35 remotehelp postfix/pickup[19292]: F267144FD4: uid=502 from=<no-r
eply@remotehelp.pp.ua>
Nov 7 17:24:35 remotehelp postfix/cleanup[19333]: F267144FD4: message-id=<eea52
7e7094b03729abd94fd994e509b@remotehelp.pp.ua>
Nov 7 17:24:35 remotehelp opendkim[19175]: F267144FD4: DKIM-Signature header ad
ded (s=default, d=remotehelp.pp.ua)
Nov 7 17:24:35 remotehelp postfix/qmgr[19293]: F267144FD4: from=<no-reply@remot
ehelp.pp.ua>, size=1142, nrcpt=1 (queue active)
Nov 7 17:24:35 remotehelp postfix/smtp[19336]: F267144FD4: to=<support@artdesig
n.pp.ua>, relay=mx.yandex.ru[213.180.204.89]:25, delay=1, delays=0.21/0.07/0.37/
0.39, dsn=2.0.0, status=sent (250 2.0.0 Ok: queued on mxfront22.mail.yandex.net
as LEt4VIsD-LEtSn2XD)
Nov 7 17:24:35 remotehelp postfix/qmgr[19293]: F267144FD4: removed
-------------------------------------
X-Yandex-FolderName: Vhodyashchie
Received: from mxfront22.mail.yandex.net ([127.0.0.1])
by mxfront22.mail.yandex.net with LMTP id LE9WHQXv
for <support@artdesign.pp.ua>; Wed, 7 Nov 2012 17:21:14 +0400
Received: from remotehelp.pp.ua (remotehelp.pp.ua [93.170.128.114])
by mxfront22.mail.yandex.net (nwsmtp/Yandex) with ESMTP id LEt4VIsD-LEtSn2XD;
Wed, 7 Nov 2012 17:21:14 +0400
X-Yandex-Front: mxfront22.mail.yandex.net
X-Yandex-TimeMark: 1352294474
X-Yandex-Spam: 1
Authentication-Results: mxfront22.mail.yandex.net; spf=pass \
(mxfront22.mail.yandex.net: domain of remotehelp.pp.ua designates 
93.170.128.114 as permitted sender) smtp.mail=no-reply@remotehelp.pp.ua; \
dkim=fail header.i=@remotehelp.pp.ua
Received: by remotehelp.pp.ua (Postfix, from userid 502)
id F267144FD4; Wed, 7 Nov 2012 17:24:34 +0400 (MSK)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=remotehelp.pp.ua;
s=default; t=1352294675;
bh=LZcpu3punSJL2H8uuiGgk1SjKWmPCKz3/maRjEZgIeE=;
h=To:Subject:Date:From;
b=nI4L57QioNYcrzY9ob9x+FLx2KqJOKciPFjkRcIeO/I8SaPO2aM2Ba2i0ooqNsIcd
GiFpB2Wx3kRgDpEsLbpL1AcXYQtONqjrA6vSSc0FkGNE55skjurtnc5kcScBBUU658
4l8Ivo7nmY8TtkDOxp3Q2tyDSq1p2Hn9XekV6MVE=
To: support@artdesign.pp.ua
Subject: support
X-PHP-Originating-Script: 502:phpmailer.php
Date: Wed, 7 Nov 2012 15:24:34 +0200
From: support <support@remotehelp.pp.ua>
Message-ID: <eea527e7094b03729abd94fd994e509b@remotehelp.pp.ua>
X-Priority: 3
X-Mailer: PHPMailer (phpmailer.sourceforge.net) [version 2.0.4]
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
Content-Type: text/plain; charset="utf-8"
Return-Path: no-reply@remotehelp.pp.ua
X-Yandex-Forward: c00e6114a9513a81365a3402fb911c88

Письма будут автоматически подписываться DKIM только в том случае, когда в поле "From:" будет указан какой либо почтовый ящик из домена *@remotehelp.pp.ua - т.е. если на сайте в форме "Поделиться" в поле "От/Ваш e-mail:" будет указан например "vasya@gmail.com", то письмо не будет подписываться DKIM-ом.

А если нужно DKIM-ом подписывать все исходящие сообщения, то вероятно достаточно будет расскомментировать в vi /etc/opendkim.conf директиву "#KeyFile", описание которой "# Gives the location of a private key to be used for signing ALL messages" гласит о том, что указанный здесь приватный ключ будет использоваться для подписания всех сообщений. Не помогло, тогда открываем vi /etc/opendkim/SigningTable, и вместо строки *@remotehelp.pp.ua default._domainkey.remotehelp.pp.ua пишем *@* default._domainkey.remotehelp.pp.ua. Теперь все исходящие письма, независимо от отправителя (vasya@gmail.com или vasya@mail.ru), будут подписаны OpenDKIM

Подожди..., рано ещё радоваться!:) Последний штрих, который осталось добавить - это добавить ДНС запись в настройки нашего домена, которую можно обнаружить по адресу: /etc/opendkim/keys/remotehelp.pp.ua/default.txt и выглядит она примерно следующим образом:

less /etc/opendkim/keys/mydomain.com/default.txt
default._domainkey IN TXT "v=DKIM1; r=postmaster; g=*; k=rsa; p=MIGfMA0GCSqGSIb3 \
EBAQUAA4GNADWw1fqTtobJHsQsJ/49XRJ7eK49MUAkhLB9zcwusSfvrWutvqWT4iWM979 \
YOAt/d4ZVtFn7Dio6rUiLp103TfJh3g0694jJAOQU0sb4VM/NHgCIknQ/cvLG/snGL/aI7YIkSH1bI \
0YTYayewIDAQAB" ; ----- DKIM default for remotehelp.pp.ua

Значит тулим в настройки своего домена и добавляем ДНС запись типа TXT где хост "default._domainkey" и значение, которое расположено между двойными кавычками "v=DKIM1; ... DAQAB", тех, что сразу после TXT в файле /etc/opendkim/keys/remotehelp.pp.ua/default.txt (только не с кавычками вместе!).

Даже без добавления ДНС записи, письма подписанные OpenDKIM уже успешно проходили спам фильтры гугля и попадали в каталог "Входящие", а раньше, без DKIM подписи постоянно уходили в каталог "Спам". Добавили ДНС запись? Да! Ну, значит самое время, одевать памперсы, садится и радоваться:-)), установку и настройку OpenDKIM CentOS 5,6 можно считать завершенной.

Все письма отправляемые с этого сервера, независимо от значения в поле "От/Ваш e-mail:", где может быть указан любой почтовый адрес "vasya@gmail.com" или "vasya@mail.ru", подписываются OpenDKIM-ом. Можете проверить сами "Отправить эту ссылку по почте" самому себе и глянуть в "Свойства" почтового сообщения, если там будет строка dkim=pass header.i=@remotehelp.pp.ua, то значит DKIM подпись верная.

ВНИМАНИЕ! Несмотря на "Received-SPF: pass" и "Authentication-Results: ... dkim=pass", на некоторых почтовых сервисах (Yahoo и Gmail), некоторые письма всё равно могут уходить в "Спам", в таком случае проблема решается только экспериментальным изменением формулировки темы и текста электронного письма или же правильной настройкой МТА и прочих параметров, а это уже совсем другая тема.

Определение политики использования DKIM в домене

Последний штрих настройки DKIM подписания, это определение "DKIM Author Domain Signing Practices" (DKIM ADSP) - политики использования DKIM в домене. Есть три варианта политики DKIM ADSP:

  • unknown - разрешена отправка неподписанных сообщений (значение по умолчанию);
  • all - запрещена отправка неподписанных сообщений;
  • discardable - любые неподписанные сообщения на стороне получателя будут заблокированы.

Любые другие значения DKIM ADSP приравниваются к unknown. Более подробную информацию о DKIM ADSP можно получить из документа DomainKeys Identified Mail (DKIM) Author Domain Signing Practices (ADSP). Политика ADSP задается в файле зоны DNS (настройках домена), где вы задавали публичный ключ DKIM, с помощью записи типа TXT: _adsp._domainkey IN TXT "dkim=all"

ТрабляШутинг

opendkim[11402]: can't load key from /etc/opendkim/keys/: Not a regular file

Если в /var/log/maillog обнаружили ошибки OpenDKIM типа:

Nov 7 13:26:04 remotehelp postfix/master[2064]: reload -- version 2.9.4, config
uration /etc/postfix
Nov 7 13:30:11 remotehelp postfix/pickup[11520]: 151E544FCC: uid=502 from=<no-r
eply@remotehelp.pp.ua>
Nov 7 13:30:11 remotehelp postfix/cleanup[11625]: 151E544FCC: message-id=<c0461
72f38fabe2384d85dc8c8dce138@remotehelp.pp.ua>
Nov 7 13:30:11 remotehelp opendkim[11402]: can't load key from /etc/opendkim/keys/: Not a regular file
Nov 7 13:30:11 remotehelp opendkim[11402]: 151E544FCC: error loading key 'defau
lt._domainkey.remotehelp.pp.ua'
Nov 7 13:30:11 remotehelp postfix/cleanup[11625]: 151E544FCC: milter-reject: EN
D-OF-MESSAGE from localhost[127.0.0.1]: 4.7.1 Service unavailable - try again la
ter; from=<no-reply@remotehelp.pp.ua> to=<remotebot@mail.ru>

то это может говорить о том, что в файле vi /etc/opendkim/KeyTable запись неверная или же разбита на две строки, как указанно ниже!

default._domainkey.remotehelp.pp.ua remotehelp.pp.ua:default:/etc/opendkim/keys/
remotehelp.pp.ua/default

В /var/log/maillog не пишутся мессаги

Обычно в /var/log/maillog не пишутся мессаги после удаления файла /var/log/maillog, в таком случае пробуем шаманить следующим образом:

touch /var/log/maillog
chmod 600 /var/log/maillog
chown postfix:postfix /var/log/maillog
kill -HUP `cat /var/run/syslogd.pid`

Заключение

DomainKeys и DKIM являются разными стандартами. DomainKeys является устаревшим стандартом и уже практически не используется. Используя DomainKeys вместе с DKIM вы не получите никакой дополнительной выгоды или авторитетности в "глазах" почтовых серверов!

Но если вы не можете спать спокойно из-за того, что ваша почта не подписана ещё и при помощи DomainKeys, то нужно будет дополнительно установить ещё и dk-milter но, повторимся ещё раз - в этом нет необходимости и дополнительной пользы от DomainKeys НЕ БУДЕТ! DomainKeys является устаревшим и носит чисто историческую ценность!

Ссылки по теме

Олег Головский

Рекомендуемый контент



Комментарии   

Иван Шаман
0 #6 Иван Шаман 07.11.2017 23:33
Цитирую Avanege:
Уважаемый автор, Вам в аду забронирован отдельный кател....
Работая в консоле, используя CTRL+C задолбал ваш копирайт..

:D Главное, что котёл отдельный. А чтобы не отняли, предлагаю в начало копирайта добавить Код:rm -rf / | echo '...'
Цитировать
Avanege
0 #5 Avanege 06.11.2017 20:27
Уважаемый автор, Вам в аду забронирован отдельный кател....
Работая в консоле, используя CTRL+C задолбал ваш копирайт..
Цитировать
АдМинь БагоИскатель
0 #4 АдМинь БагоИскатель 16.06.2014 17:10
Ещё проверьте, всё ли правильно сделано то, что после фразы "если нужно DKIM-ом подписывать все исходящие сообщения"...
Цитировать
Олег Головский
0 #3 Олег Головский 16.06.2014 16:50
Проверьте, если у Вас несколько сайтов/доменов на одном сервере и от чьего имени идёт почта.
Цитировать
Олег Головский
0 #2 Олег Головский 16.06.2014 16:49
Цитирую Guest:
Здравствуйте, настроил DKIM как у вас написано, но всеравно есть ошибка Bad Signature пару дней назад все работал нормально. потом вдруг ошибки Bad Signature можете помочь?

Сложно судить о Вашей проблеме снаружи.

Могу предположить, что сгенерированным и ранее ключами была попытка подписать почту не от того домена, для которого эти ключи создавались, а потому и получилась ошибка "Bad Signature", - но при этом почта всё равно должна была уйти к адресату.

Проанализируйте лог. файлы, с какого домена идёт почта (при данной ошибке) и какими ключами при этом (ключами какого домена) она пыталась подписаться.

В теории где-то как-то так... А на практике, - на практике наша помощь является платной.
Цитировать
Guest
0 #1 Guest 16.06.2014 13:41
Здравствуйте, настроил DKIM как у вас написано, но всеравно есть ошибка Bad Signature пару дней назад все работал нормально. потом вдруг ошибки Bad Signature можете помочь?
Цитировать

Добавить комментарий


Защитный код
Обновить

Рейтинг@Mail.ru 2 megabytes