====== DKIM + Postfix + Amavis ====== Что только не придумали, лишь бы от SMTP не избавляться... ===== DKIM + Postfix = просто ===== http://habrahabr.ru/post/141534/ ---- Подписывать исходящие письма с помощью DKIM в Postfix не просто, а очень просто. Для этого нам потребуется сам Postfix и замечательный во всех отношениях пакет dkim-filter. Установим его с помощью вашего пакетного менеджера: $ sudo aptitude install dkim-filter В конец его конфига /etc/dkim-filter.conf дописываем: Canonicalization relaxed/relaxed KeyList /etc/dkim-keys.conf Domain * BodyLengths yes On-DNSError accept Создадим каталог под ключи: $ sudo mkdir -p /etc/postfix/dkim/ $ sudo chgrp postfix /etc/postfix/dkim/ $ sudo chmod 750 /etc/postfix/dkim/ $ cd /etc/postfix/dkim/ Генерируем ключи для сервера mail.example.com: $ sudo dkim-genkey -d example.com -s mail -r Сейчас в mail.txt у нас лежит TXT запись, которую нужно добавить в DNS, а в mail.private лежит приватный ключ, который и будет использоваться для подписи писем. Запись, которую нужно добавить в DNS, будет вида: mail._domainkey.mydomain.ru. IN TXT "v=DKIM1; g=*; k=rsa; p=..." Теперь обязательно нужно удалить расширение у файла с ключом, потому что в описываемой мною схеме dkim-filter берёт имя сервера из имени файла с ключом: $ sudo mv mail.private mail В файл /etc/dkim-keys.conf записываем какие домены каким ключом нужно подписывать: *@mydomain.ru:mydomain.ru:/etc/postfix/dkim/mail *:mydomain.ru:/etc/postfix/dkim/mail Аналогично можно добавить свои отдельные ключи для других доменов или даже для отдельных адресов. Если не нужно, чтобы dkim-filter подписывал письма для всех других доменов, не указанных явно, последнюю строчку можно удалить. В /etc/default/dkim-filter объясним dkim-демону где ему ждать подключений: SOCKET="inet:8891@localhost" Наконец, добавим в конец /etc/postfix/main.cf следующие строки: milter_default_action = accept milter_protocol = 2 smtpd_milters = inet:localhost:8891 non_smtpd_milters = inet:localhost:8891 Не забываем добавить TXT запись и проверить, что она на месте: $ dig txt mail._domainkey.mydomain.ru Готово! Перезапускаем postfix и dkim-filter, отправляем тестовое письмо куда-нибудь на Яндекс и наслаждаемся успешным результатом проверки подписи: Если проверка прошла успешно то стоит формально запретить другим серверам принимать письма с вашим доменом, но без подписи, добавив в DNS нашу ADSP запись: _adsp._domainkey.mydomain.ru. IN TXT «dkim=all». ===== Google и DKIM ===== Как научить Google подписывать почту через DKIM: http://support.google.com/a/bin/answer.py?hl=en&answer=174124 ===== DKIM верификация средствами Amavisd-new и SpamAssassin ===== http://www.sergeysl.ru/freebsd-dkim-amavisd-new-spamassassin/ {{tag>postfix google DKIM dkim-filter milter}}