Thank you for reading this post, don't forget to subscribe!
Технология DomainKeys Identified Mail (DKIM) объединяет несколько существующих методов антифишинга и антиспама с целью повышения качества классификации и идентификации легитимной электронной почты. Вместо традиционного IP-адреса, для определения отправителя сообщения DKIM добавляет в него цифровую подпись, связанную с именем домена организации. Подпись автоматически проверяется на стороне получателя, после чего, для определения репутации отправителя, применяются «белые списки» и «чёрные списки».
Обновим систему
1 |
# yum update |
Включим EPEL репозиторий
1 2 3 |
# wget -P /tmp http://mirror.pnl.gov/epel/6/i386/epel-release-6-8.noarch.rpm # rpm -Uvh /tmp/epel-release-6-8.noarch.rpm # rm -f /tmp/epel-release-6-8.noarch.rpm |
Установим OPENDKIM
1 |
# yum install opendkim |
Настройка OPENDKIM
1 2 |
# cp /etc/opendkim.conf{,.orig} # vim /etc/opendkim.conf |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 |
AutoRestart Yes AutoRestartRate 10/1h LogWhy Yes Syslog Yes SyslogSuccess Yes Mode sv Canonicalization relaxed/simple ExternalIgnoreList refile:/etc/opendkim/TrustedHosts InternalHosts refile:/etc/opendkim/TrustedHosts KeyTable refile:/etc/opendkim/KeyTable SigningTable refile:/etc/opendkim/SigningTable SignatureAlgorithm rsa-sha256 Socket inet:8891@localhost PidFile /var/run/opendkim/opendkim.pid UMask 022 UserID opendkim:opendkim TemporaryDirectory /var/tmp |
Настроим PUBLIC/PRIVATE ключи
1 2 3 4 |
# mkdir /etc/opendkim/keys/mydomain.com # opendkim-genkey -D /etc/opendkim/keys/mydomain.com/ -d mydomain.com -s default # chown -R opendkim: /etc/opendkim/keys/mydomain.com # mv /etc/opendkim/keys/mydomain.com/default.private /etc/opendkim/keys/mydomain.com/default |
добавим mydomain.com
в таблицу ключей через файл /etc/opendkim/KeyTable
1 |
default._domainkey.mydomain.com mydomain.com:default:/etc/opendkim/keys/mydomain.com/default |
далее добавим в /etc/opendkim/SigningTable
запись:
1 |
*@mydomain.com default._domainkey.mydomain.com |
домен и хост добавим в /etc/opendkim/TrustedHosts
:
1 2 3 |
127.0.0.1 mydomain.com host.mydomain.com |
и наконец добавим запись о зоне mydomain.com
в /etc/opendkim/keys/mydomain.com/default.txt
1 2 |
default._domainkey IN TXT ( "v=DKIM1; k=rsa; " "p=MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQDApHRr7ZmXRaAB+RQRbP4VdMwIrIHIP18KFtXRsv/xpWc0Gix6ZXN13fcG03KNGKZo2PY+csPkGC5quDnH5V0JEhDZ78KcDWFsU6u4fr9ktVAdt6P7jWXjcyqdHOZ8+YN4cAeU4lRFNgQvdupIcByYwzPYMgBFHfJm9014HvRqhwIDAQAB" ) ; ----- DKIM key default for mydomain.com |
если у Вас нет SPF записи, то неплохо было бы добавить и ее тоже
1 |
mydomain.com. 14400 IN TXT "v=spf1 a mx ~all" |
проверить dkim TXT запись можно с помощью dig
:
1 2 3 |
# dig +short default._domainkey.mydomain.com TXT "v=DKIM1\; k=rsa\; " "p=MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQDApHRr7ZmXRaAB+RQRbP4VdMwIrIHIP18KFtXRsv/xpWc0Gix6ZXN13fcG03KNGKZo2PY+csPkGC5quDnH5V0JEhDZ78KcDWFsU6u4fr9ktVAdt6P7jWXjcyqdHOZ8+YN4cAeU4lRFNgQvdupIcByYwzPYMgBFHfJm9014HvRqhwIDAQAB" |
Настроим POSTFIX
Добавим в /etc/postfix/main.cf
:
1 2 3 4 |
smtpd_milters = inet:127.0.0.1:8891 non_smtpd_milters = $smtpd_milters milter_default_action = accept milter_protocol = 2 |
Перезапустим службы
1 2 3 |
# service opendkim start # chkconfig opendkim on # service postfix restart |
Тест
Отправим тестовое письмо на check-auth@verifier.port25.com
и получим что-то вроде этого
1 2 3 4 5 6 7 |
========================================================== Summary of Results ========================================================== SPF check: pass DomainKeys check: neutral DKIM check: pass DKIM check: pass |
Вот и все. У нас Postfix с прикрученным OpenDKIM.