Emailserver/DKIM (exim): Unterschied zwischen den Versionen

Aus SchnallIchNet
Wechseln zu: Navigation, Suche
Zeile 50: Zeile 50:
 
</pre>
 
</pre>
  
===Exim4 (< 4.69)===
+
===Exim4 (< 4.69) - works for me===
 +
in meinem fall war dies exim4-4.63 (std. Etch package)
 
diese versionen haben leiden keinen buildin DKIM support<br/>
 
diese versionen haben leiden keinen buildin DKIM support<br/>
 
und muessen gepatcht werden<br/>
 
und muessen gepatcht werden<br/>
 
TODO: schritte und patches eintragen...
 
TODO: schritte und patches eintragen...
 +
pakete installieren
 +
apt-get install dpatch fakeroot devscripts \
 +
  grep-dctrl debhelper gcc libc6-dev libssl-dev pbuilder
 +
 +
exim4 anpassen
 +
cd exim4-4.63
 +
fakeroot debian/rules unpack-configs
 +
 +
die compile-config fuer exim4-heavy nach custom kopieren<br/>
 +
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<br/>
 +
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
 +
 +
build-deps pruefen/installieren
 +
/usr/lib/pbuilder/pbuilder-satisfydepends
 +
 +
BAUEN ;-)
 +
debuild -us -uc
 +
 +
 +
 +
 +
 +
 +
 +
 +
  
 
===Exim4-4.69 on Etch===
 
===Exim4-4.69 on Etch===
 
lenny package libdkim holen '''(clean on Etch!!)'''
 
lenny package libdkim holen '''(clean on Etch!!)'''
 
  wget http://ftp.de.debian.org/debian/pool/main/libd/libdkim/libdkim-dev_1.0.19-3_i386.deb
 
  wget http://ftp.de.debian.org/debian/pool/main/libd/libdkim/libdkim-dev_1.0.19-3_i386.deb
 +
wget http://ftp.de.debian.org/debian/pool/main/libd/libdkim/libdkim0d_1.0.19-3_i386.deb
 +
dpkg -i libdkim-dev_1.0.19-3_i386.deb
  
 
sources.list anpassen
 
sources.list anpassen

Version vom 16. Januar 2009, 11:49 Uhr

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) - works for me

in meinem fall war dies exim4-4.63 (std. Etch package) diese versionen haben leiden keinen buildin DKIM support
und muessen gepatcht werden
TODO: schritte und patches eintragen... pakete installieren

apt-get install dpatch fakeroot devscripts \
 grep-dctrl debhelper gcc libc6-dev libssl-dev pbuilder

exim4 anpassen

cd exim4-4.63
fakeroot debian/rules unpack-configs

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

build-deps pruefen/installieren

/usr/lib/pbuilder/pbuilder-satisfydepends

BAUEN ;-)

debuild -us -uc






Exim4-4.69 on Etch

lenny package libdkim holen (clean on Etch!!)

wget http://ftp.de.debian.org/debian/pool/main/libd/libdkim/libdkim-dev_1.0.19-3_i386.deb
wget http://ftp.de.debian.org/debian/pool/main/libd/libdkim/libdkim0d_1.0.19-3_i386.deb
dpkg -i libdkim-dev_1.0.19-3_i386.deb

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!!!