Технология DomainKeys Identified Mail (DKIM) объединяет несколько существующих методов антифишинга и антиспама с целью повышения качества классификации и идентификации легитимной электронной почты. Вместо традиционного IP-адреса, для определения отправителя сообщения DKIM добавляет в него цифровую подпись, связанную с именем домена организации. Подпись автоматически проверяется на стороне получателя, после чего, для определения репутации отправителя, применяются «белые списки» и «чёрные списки».

1. Устновка dkim-milter

В файл

/etc/make.conf

добавить срочку:

WITH_POSTFIX=yes

Устанавливаем

cd /usr/ports/mail/dkim-milter
make install

2. Настрайка dkim-milter

cp /usr/local/etc/mail/dkim-filter.conf.sample /usr/local/etc/mail/dkim-filter.conf

открываем файл

/usr/local/etc/mail/dkim-filter.conf

Раскоментируем там строку

KeyList        /var/db/dkim/keylist

Пропишем порт для соединения:

Socket            inet:10026@localhost

Генерируем ключи для домена, вместо domain.tld нужно подставить реальный домен, для каждого домена необходимо генерировать свою пару ключей

mkdir -p /var/db/dkim/keys/domain.tld
cd /var/db/dkim/keys/domain.tld
dkim-genkey -r -d domain.tld
mv default.private default

Теперь необходимо добавить сгенерированые ключи в файл ключей «/var/db/dkim/keylist», создадим его

touch /var/db/dkim/keylist

Добавляем в него

*@domain.tld:domain.tld:/var/db/dkim/keys/domain.tld/default

Этой строкой мы устанавливаем наш ключ на все поддомены. Вобще ключей может быть несколько для одного домена (иерархия) или свой для каждого поддомена.

Меняем пользователя и права доступа к папке /var/db/dkim/

chmod -R 600 /var/db/dkim/
chown -R mailnull:mailnull /var/db/dkim

3. Настройка Postfix

Открываем «/usr/local/etc/postfix/main.cf», добавляем туда:

smtpd_milters = inet:localhost:10026
non_smtpd_milters = inet:localhost:10026
milter_protocol = 2
milter_default_action = accept

4. Запуск

Активируем milter-dkim в /etc/rc.conf

milterdkim_enable="YES"

Запускаем milter-dkim

/usr/local/etc/rc.d/milter-dkim start
postfix reload

5. Добавление DNS записей

Без записи в ДНС вся система работать не будет, пре-генерированый файл который необходимо вставить в файл настройки зоны named лежит /var/db/dkim/keys/domain.tld/default.txt

но как показала практика в конце строки все нужно удалить иначе named не воспринимает эту запись правильно.

Обновляем зону

rndc reload domain.tld

Должно работать.

Основано на http://www.unibia.com/unibianet/freebsd/how-setup-domainkeys-identified-mail-dkim-postfix-and-freebsd