Skip to content

By Тодор in Linux

Един много добър вариант да покажете, че писмата излизащи от вашият пощенски сървър не са спам е използването на така наречения domainkey. Идеята е следната:
Публичен ключ се съхранява в ТХТ запис на DNS-a на домейна от който ще изпращаме писмата, а с личният ключ се подписва всяко изпратено писмо. Така всеки спам филтър може да сравни двата ключа и да се увери, че писмото е автентично и не е спам. Подобен спам филтър ползва и Google.

Изтегляне на dk-milter:
#rpm -Uvh http://www.topdog-software.com/oss/dk-milter/dk-milter-1.0.2-1.i386.rpm

Генериране на ключовете:

#/usr/share/doc/dk-milter-1.0.2/gentxt.sh

Където
е име по избор, аз използвах “mx”:
#/usr/share/doc/dk-milter-1.0.2/gentxt.sh mx kamenitza.org

Това ще генерира няколко файла:
mx.txt:
mx._domainkey IN TXT "g=; k=rsa; t=y; p=MFwwDQYJKoZIhvcNAQEBBQADSwAwSAJBAMDcC/ip9pXcyRy6H9lw2Nl5aRjeg8KiIeL71tFsg+ja3P4Zm2aCCtjQevStFBKEAZG7cxIMY7mNdnum1dJj55cCAwEAAQ=="

mx.public:

-----BEGIN PUBLIC KEY-----
MFwwDQYJKoZIhvcNAQEBBQADSwAwSAJBAMDcC/ip9pXcyRy6H9lw2Nl5aRjeg8Ki
IeL71tFsg+ja3P4Zm2aCCtjQevStFBKEAZG7cxIMY7mNdnum1dJj55cCAwEAAQ==
-----END PUBLIC KEY-----

mx.private:

-----BEGIN RSA PRIVATE KEY-----
MIIBOwIBAAJBAMDcC/ip9pXcyRy6H9lw2Nl5aRjeg8KiIeL71tFsg+ja3P4Zm2aC
CtjQevStFBKEAZG7cxIMY7mNdnum1dJj55cCAwEAAQJAE/Ov2V3cAM0CkVJAEUK3
bGg/Ey+R+gTD9LORGcFcNC6h21sClpYV0mrIS1PkXX1cUZgQ9jl/gFzAXORL2E56
IQIhAP8+HmAS8RT+dCOCnioWa2kSmkwmITHnCdePrHVYl6l9AiEAwW6Kyks76ecG
TT8nPegYObAMqokM9fF3XBp4nLcHgaMCIQCGoDYXSIZeI2QQgsl3u4GF1ykJNydV
Ed5wEzjMYCEGZQIgHIs6ceWuPrL3zBhgqxL/2CtxgwzcW8K5MV86oy2jLu8CIQDA
kXZ6SyJvhJsw3KwhLsKU4IKAu1VM/YLzkKaffWVYBw==
-----END RSA PRIVATE KEY-----

Преместете liчният ключ (mx.private) в /etc/mail/domainkeys. След това:
#chown dk-milter:dk-milter mx.private
#chmod 600 mx.private

След това добавете в DNS конфигурацията на зоната на домейна
_domainkey IN TXT "t=y; o=~"
Съдържанието на текстовия файл mx.txt също трябва да бъде добавено в DNS зоната на домейна.

Следва редактиране на /etc/sysconfig/dk-milter:

USER="dk-milt"
PORT="inet:10027@127.0.0.1"
SIGNING_DOMAIN="domain.tld"
SELECTOR_NAME="mx"
KEYFILE="/etc/mail/domainkeys/mx.private"
SIGNER=yes
VERIFIER=yes
CANON=simple
REJECTION="bad=r,dns=t,int=t,no=a,miss=r"
EXTRA_ARGS="-h -l -D"
MILTER_GROUP="mail"

Стартиране на демона:
#/etc/init.d/dk-milter start

И на края редакция на /etc/postfix/main.cf:

smtpd_milters = inet:localhost:10027
non_smtpd_milters = inet:localhot:10027

И рестартирате postfix.

За да се тества дали работи тази конфигурация изпратете празно писмо до test@dktest.jason.long.name.

Информацията за тази статия е синтезирана от http://jason.long.name/dkfilter/

Tags: , , , , , ,

Comment Feed

No Responses (yet)



Some HTML is OK

or, reply to this post via trackback.