<< Înapoi

Sendmail cu DKIM pe CentOS/Fedora

publicat 2009-08-10 14:16:50 de admin


Probabil ca multi dintre voi au probleme cu Yahoo! care le filtreaza mailurile in bulk. O solutie pentru a evita asta este folosirea DKIM.

DKIM este un framework de autentificare ce foloseste o cheie publica in DNS si semneaza digital mailurile cu cheia privata pereche. A fost creat ca un rezultat al imbinarii Yahoo! domainkeys cu Cisco Idendified Internet mail. Este definit in RFC 4871. 

Articolul va explica cum sa folositi dkim-milter pentru integrarea cu sendmail.

 

Instalare

Pentru Fedora (>10) pachetul este disponibil direct in repository de updates:


yum install dkim-milter

Pentru CentOS sau alte versiuni de Fedora, se poate lua rpm-ul sursa din repository de Fedora 10 si re-construi astfel:


yum install openssl-devel
rpmbuild --rebuild dkim-milter-xxx.src.rpm

Pachetul RPM corespunzator se va gasi in /usr/src/redhat/RPMS/i386 (sau x86_64 etc.)

 

Configurare

Pentru a genera perechea de chei puteti folosi acest script


wget http://www.topdog-software.com/files/dkim-genkey.sh
chmod +x dkim-genkey.sh
./dkim-genkey.sh -d domeniultau

Aceasta comanda va genera 2 fisiere cu cheia publica (default.txt) si cu cheia privata (default.private). Cheia publica se adauga in fisierul de zona pentru domeniu. Exemplu:


cat default.txt >> /var/named/chroot/var/named/domeniultau.zone

Cheia privata se muta in directorul cu dkim-milter:


mv default.private /etc/mail/dkim-milter/domeniultau_default.key.pem
chown dkim-milter:dkim-milter /etc/mail/dkim-milter/domeniultau_default.key.pem

Se editeaza fisierul /etc/mail/dkim-milter/dkim-filter.conf si se modifica liniile necesare. Fisierul este bine comentat, deci nu voi posta aici decat diferentele fata de fisierul implicit:


Domain domeniu.ro
KeyFile /etc/mail/dkim-milter/domeniultau_default.key.pem
MTA MSA
Selector default
SignatureAlgorithm rsa-sha1
Socket local:/var/run/dkim-milter/dkim-milter.sock
Syslog Yes
X-Header Yes

 

Atentie! Asigurati-va ca linia cu "KeyList" este comentata.

 

Integrare cu Sendmail

Pentru a activa dkim-milter ca filtru in sendmail, se editeaza /etc/mail/sendmail.mc si se adauga urmatoarele linii:


dnl # dkim - yahoo domainkeys implementation
INPUT_MAIL_FILTER(`dkim-filter', `S=local:/var/run/dkim-milter/dkim-milter.sock')

Se ruleaza comenzile:


cd /etc/mail
make
service named reload
service dkim-milter start
service sendmail restart
chkconfig dkim-milter on

Asta e tot. Succes!