Комментарии 28
Не помешала бы пара абзацев о том, что такое DKIM и зачем он нужен. :)
Тема целей и значения DKIM неоднократно раскрыта здесь на хабре, да и даже если бы не была — найти одноименную статью в Википедии никакого труда не составляет. Если же для вас это проблема, то моя статья не для вас.
Перед тем как написать коммент, я сделал аналогичный комикс, и обзорной статьи не нашел. Только решения конкретных задач.
Понимаете, когда посетитель Харба бежит глазами по списку статей, его мозг для каждой статьи отвечает на вопрос «Оно мне нужно?» Если ответ отрицательный, посетитель переходит к следующей статье. Если положительный, то открывает ее в новой вкладке.
Вам ничего не стоит написать в самом начале статьи что-то вроде:
DKIM — технология, позволяющая привязывать отправляемые сообщения к доменному имени при помощи цифровой подписи. Почтовые сервера вроде того же GMail относятся к таким письмам с бóльшим доверием и с меньшей вероятностью посчитает их спамом.
И тысячам посетителей Хабра не придется играть в квест «разберись, о чем все-таки эта статья».
Понимаете, когда посетитель Харба бежит глазами по списку статей, его мозг для каждой статьи отвечает на вопрос «Оно мне нужно?» Если ответ отрицательный, посетитель переходит к следующей статье. Если положительный, то открывает ее в новой вкладке.
Вам ничего не стоит написать в самом начале статьи что-то вроде:
DKIM — технология, позволяющая привязывать отправляемые сообщения к доменному имени при помощи цифровой подписи. Почтовые сервера вроде того же GMail относятся к таким письмам с бóльшим доверием и с меньшей вероятностью посчитает их спамом.
И тысячам посетителей Хабра не придется играть в квест «разберись, о чем все-таки эта статья».
В прошлом комментарии я дал ссылку более чем обзорную статью по обсуждаемому вопросу. Любой из тысяч пользователей Хабра может найти эту статью в первых строках ответа в Google по запросу «DKIM». То, что вы не нашли её сами, и что не увидели в прошлом моём комментарии ссылку на эту статью, удивляет меня непрерывно.
План действий для человека, не знакомого с сабжем, по вашему предложению:
1) Пробежать глазами тизер статьи и не понять, о чем статья.
2) Открыть полный текст статьи, пробежать глазами и не найти ответа.
3) Сделать поиск по Хабру.
4) Пролистать пару десятков результатов, открыть полный текст нескольких из них, не найти внятного ответа ни в одной.
5) Плюнуть на это дело, сделать поиск в Гугле/Википедии, прочитать (весьма мудрёный) ответ там.
План по моему предложению:
1) Пробежать глазами тизер статьи и сразу понять, о чем она.
И все благодаря двум вводным предложениям в самом начале статьи. Меня «непрерывно удивляет», что вы отрицаете их очевидную полезность.
PS Сама статья замечательная. Добавил в закладки, плюсанул в статью и в карму. Большое спасибо за ваш труд.
1) Пробежать глазами тизер статьи и не понять, о чем статья.
2) Открыть полный текст статьи, пробежать глазами и не найти ответа.
3) Сделать поиск по Хабру.
4) Пролистать пару десятков результатов, открыть полный текст нескольких из них, не найти внятного ответа ни в одной.
5) Плюнуть на это дело, сделать поиск в Гугле/Википедии, прочитать (весьма мудрёный) ответ там.
План по моему предложению:
1) Пробежать глазами тизер статьи и сразу понять, о чем она.
И все благодаря двум вводным предложениям в самом начале статьи. Меня «непрерывно удивляет», что вы отрицаете их очевидную полезность.
PS Сама статья замечательная. Добавил в закладки, плюсанул в статью и в карму. Большое спасибо за ваш труд.
При наличии связки Postfix+Amavis смысла в дополнительном пакете нет. достаточно в amavis добавить
$enable_dkim_verification = 1;
$enable_dkim_signing = 1;
dkim_key('domen.ru', 'key1', '/var/db/dkim/domen.ru.key.pem');
@dkim_signature_options_bysender_maps = (
{ '.' => { ttl => 21*24*3600, c => 'relaxed/simple' } } );
$interface_policy{'10024'} = 'DKIM_ALWAYS';
$policy_bank{'DKIM_ALWAYS'} = { originating => 1, };
У SpamAssassin тоже есть модуль для проверки и проставления подписи, но статья не об этом.
Так я про то, что последнее время нам все меньше попадают сервера без SpamAssasin или Amavis.
Да, хорошая тема с Amavis. правда я не нашел как разными ключами с разных шлюзов подписывать. Пока только разные пути (порты) для разных шлюзов задаю.
Не советую запрещать принятие почты без подписи dkim, по крайней мере на первое время после настройки dkim подписи.
А теперь собсвтенно почему:
Я тоже когда-то настроил себе на сервере dkim чрез dkim-milter (dkim-filter) для postfix. Проверил — все работает, gmail в заголовках показывает dkim=pass. Радости было много, но как выяснилось не надолго.
Через время (месяц) обнаруживаю, что некоторые письма не проходят проверку dkim и в заголовках того же gmail красуется
dkim=neutral (body hash did not verify)
Это значит что хеш подписи не сходится с текушим хешем тела письма. Эта ситуаци происходит когда, что-то изменило тело письма после совершения подписи по dkim. В моем случае после фильтра dkim-milter, что-то меняло тело письма.
Ситуаций, когда что-то меняет тело может быть много, в инете достаточно много такий кейсов когда «избранные» письма не проходят dkim проверку.
Мой же случай оказался в том, что тело некоторых писем состовлялось из файлов, которые были с EOL (End Of Line) в формате windows, т.е. \r\n и по всей видимости постфикс после дким фильтра менял формат EOL на Unix, т.е. — \n
А теперь собсвтенно почему:
Я тоже когда-то настроил себе на сервере dkim чрез dkim-milter (dkim-filter) для postfix. Проверил — все работает, gmail в заголовках показывает dkim=pass. Радости было много, но как выяснилось не надолго.
Через время (месяц) обнаруживаю, что некоторые письма не проходят проверку dkim и в заголовках того же gmail красуется
dkim=neutral (body hash did not verify)
Это значит что хеш подписи не сходится с текушим хешем тела письма. Эта ситуаци происходит когда, что-то изменило тело письма после совершения подписи по dkim. В моем случае после фильтра dkim-milter, что-то меняло тело письма.
Ситуаций, когда что-то меняет тело может быть много, в инете достаточно много такий кейсов когда «избранные» письма не проходят dkim проверку.
Мой же случай оказался в том, что тело некоторых писем состовлялось из файлов, которые были с EOL (End Of Line) в формате windows, т.е. \r\n и по всей видимости постфикс после дким фильтра менял формат EOL на Unix, т.е. — \n
Есть довольно средненькая по объхему рассылочка со своего сервера(Postfix,DKIM.SPF,PTR).
И все бы хорошо, но яндекс через раз признает DKIM валидным.
Что только не делал. В итоге написал в саппорт и онеи признали проблему на свой стороне.
Так что если у кого Яндекс чудит — не удивляйтесь.
И все бы хорошо, но яндекс через раз признает DKIM валидным.
Что только не делал. В итоге написал в саппорт и онеи признали проблему на свой стороне.
Так что если у кого Яндекс чудит — не удивляйтесь.
А еще в компаниях используются Exchange, Zimbra, exim, sendmail, postfix и свои центры выдачи эцп для писем.
И как мне, имея корпоративный exchange и аутлук/OWA/the bat/thunderbird/kmail проверить это Ваше непонятно кем и как подписанное письмо?
И как мне, имея корпоративный exchange и аутлук/OWA/the bat/thunderbird/kmail проверить это Ваше непонятно кем и как подписанное письмо?
Небольшая поправка, правда не знаю для всех ли дистрибутивов актуально, пробовал на Debian 6.
По дефолту opendkim слушает на сокете, а не на 8891
Посему, чтобы заставить его сулшать порт, необходимо в файл
/etc/default/opendkim
добавить строки
SOCKET=«inet:8891@localhost»
По дефолту opendkim слушает на сокете, а не на 8891
Посему, чтобы заставить его сулшать порт, необходимо в файл
/etc/default/opendkim
добавить строки
SOCKET=«inet:8891@localhost»
Конечно, упоминание aptitude и тег "debian" прямо говорят, что инструкция для Debian-подобных ОС, но эта информация для обладателей CentOS 6: по дефолту OpenDKIM как раз слушает указанный порт, а не указанный в статье сокет.
В статье OpenDKIM слушает сокет потому что его явно об этом попросили. Сокет кошерней как-то.
Скажите а для чего нужна эта запись «dig txt mail._domainkey.example.com» в DNS, Посмотрел несколько статей по теме, только в вашей ее встречаю. Что она делает не могли бы пояснить?
В моём случае ещё пришлось сделать такую правку, чтобы всё заработало:
chown opendkim:opendkim /etc/opendkim/mail.private
chmod 0400 /etc/opendkim/mail.private
Для приватного ключа ужесточаем права, на то он и приватный, чтобы его не могли использовать посторонние
chown opendkim:opendkim /etc/opendkim/mail.private
chmod 0400 /etc/opendkim/mail.private
Для приватного ключа ужесточаем права, на то он и приватный, чтобы его не могли использовать посторонние
Это в новой версии появилось. Спасибо что напомнили, дополню инструкцию.
Зарегистрируйтесь на Хабре, чтобы оставить комментарий
OpenDKIM + Postfix = просто