Emailserver/DKIM (exim)
Inhaltsverzeichnis
Zusaetzliche Pakete
installiere DKIM-abhaengigkeiten fuer Spamassassin
apt-get install libmail-dkim-perl
installiere DKIM-abhaengigkeiten fuer exim4
fuer etch wird das backports-repo benoetigt!
apt-get install libsmdkim2 libsmdkim-dev
Key erzeugen
Public/Private Key Paar erstellen
openssl genrsa -out ./private/mail2009._domainkey.domain.tld.key 1024
Public Key extrahieren
openssl rsa -in ./private/mail2009._domainkey.domain.tld.sec.key -out ./certs/mail2009._domainkey.domain.tld.pub.key -pubout -outform PEM
Keys ins exim4 verzeichnis kopieren
cp -a ./private/mail2009._domainkey.domain.tld.key /etc/exim4/ cp -a ./certs/mail2009._domainkey.domain.tld.pub.key /etc/exim4/
DNS TXT-Tecord
p= string erzeugen
grep -v -e "^-" ./certs/mail._domainkey.domain.tld.pub.key | tr -d "\n"
dkim-public key
mail2009._domainkey IN TXT "v=DKIM1\; k=rsa\; t=y\;p=MIGfMA0GCSqGSIb3D.....DTm+gq9FwsB/PSdrbYeEQIDAQAB"
_ssp ist die Senderpolicy für DKIM. unknown heisst es wird signiert oder auch nicht
_ssp._domainkey IN TXT "t=y\; dkim=unknown"
Spamassassin
installiere abhaengigkeiten fuer DKIM
apt-get install libmail-dkim-perl
In der local.cf einfach eingetragen:
loadplugin Mail::SpamAssassin::Plugin::DKIM
Exim4
Exim4 (>= 4.69)
### transport/30_exim4-config_remote_smtp ################################# # This transport is used for delivering messages over SMTP connections. remote_smtp: debug_print = "T: remote_smtp for $local_part@$domain" driver = smtp .ifdef OUTGOING_INTERFACE interface = OUTGOING_INTERFACE .endif dkim_domain = $sender_address_domain dkim_selector = tsst2008 dkim_private_key = /etc/exim4/${dkim_selector}.${dkim_domain}.private.pem # to disable TLS on outgoing connections, uncomment this # hosts_avoid_tls = *
Exim4 (< 4.69)
diese versionen haben leiden keinen buildin DKIM support
und muessen gepatcht werden
TODO: schritte und patches eintragen...
Exim4-4.69 on Etch
sources.list anpassen
deb-src http://ftp.de.debian.org/debian lenny main contrib non-free
nun src-paket holen
cd /usr/src apt-get install build-essential debuild devscripts apt-get source exim4 ... unpacks stuff ... cd exim4-4.69/ fakeroot debian/rules unpack-configs
fix build-dependencies
apt-get build-dep exim4
wenn hier fehler auftreten wegen libdbd4.x dann muss im file debian/control folgendes geaendert werden:
s/libdb4.6-dev/libdb4.4-dev/gci
und die installation muss angestossen werden:
apt-get install libdb4.4-dev
die compile-config fuer exim4-heavy nach custom kopieren
und anpassen:
cp EDITME.exim4-heavy EDITME.exim4-custom echo "EXPERIMENTAL_DKIM=yes" >> EDITME.exim4-custom echo "LDFLAGS += -ldkim" >> EDITME.exim4-custom
packe configs wieder zusammen
fakeroot debian/rules pack-configs
rules file anpassen: debian/rules
finde die zeile
extradaemonpackages=exim4-daemon-heavy
und ersetze sie durch
extradaemonpackages=exim4-daemon-heavy exim4-daemon-custom
oder
echo "extradaemonpackages=exim4-daemon-heavy exim4-daemon-custom" >> debian/rules
dkim patch holen (wenn libdkim version == 1.0.19)
wget 'http://bugs.debian.org/cgi-bin/bugreport.cgi?msg=5;filename=99_libdkim_1.0.19.dpatch;att=1;bug=486437' -O - | \ cat >> 80_libdkim_patch.dpatch
dkim-patch in die patches-liste eintragen (wenn libdkim version == 1.0.19):
echo "80_libdkim_patch" >> debian/patches/00list
nun noch ein:
debuild
oder
debuild -uc -us
FERTIG!!!