blog.alexanderkoch.net Nerdy news from /home/alex

9Nov 090

Plesk, Qmail, xinetd und SSL – die Zweite

Im Februar hatte ich jede Menge Stress durch die Umstellung eines Mailservers auf xinetd, siehe Artikel. Mitte September lief dann das SSL-Zertifikat ab und ich musste ein neues generieren, was ich nach diesem Blogeintrag tat (Vielen Dank nochmal an dieser Stelle, hat mir viel Arbeit erspart!).

Leider genügt das für ein Setup mit SMTP über stunnel nicht, was ich dummerweise erst gestern beim erfolglosen Versuch des Versendens einer Mail über die Kiste bemerkte. Im stunnel-Log sah das so aus:

2009.11.08 19:47:53 LOG3[15442:3083773632]: SSL_CTX_use_certificate_chain_file: error:0906D06C:PEM routines:PEM_read_bio:no start line

Die Meldung weist auf ein fehlerhaft strukturiertes Zertifikat hin, und ein Vergleich mit dem (glücklicherweise gesicherten) alten zeigte die im neuen fehlenden DH-Parameter.
Diese stammten im alten Zertifikat von /var/qmail/control/dhparam512.pem, von wo aus ich sie dann einfach ans Ende des neuen Zertifikats anfügte - passt.

Bin mir noch nicht sicher, ob das nur ein Dirty Hack war oder sogar sauber... ;)

19Feb 094

Qmail-SMTP über xinetd mit SSL

Kürzlich verweigerte der Qmail-SMTPd auf dem von mir betreuten Mailserver den Dienst, was ich als Anlass nahm, gleich von inetd auf xinetd umzusteigen. Das ermöglichte dann den Einsatz von Spamdyke als ultimatives Bollwerk gegen unerwünsche Mails.

Extrem hilfreich dabei waren dieses HowTo und die Stunnel-Homepage. TLS lief out-of-the-box; die SSL-Realisierung war etwas tricky, daher hier meine funktionierende config für xinetd mit stunnel für SSL und eingebundenem Spamdyke:

service smtps
{
	socket_type	= stream
	protocol	= tcp
	wait		= no
	disable		= no
	user		= root
	instances	= 100
	env		= SMTPAUTH=1 END=1
	server          = /usr/bin/stunnel
	server_args     = -D 3 -o /var/log/stunnel.log -T -p /var/qmail/control/servercert.pem -l /var/qmail/bin/tcp-env -- smtps -Rt0 /var/qmail/bin/relaylock /usr/local/bin/spamdyke -f /etc/spamdyke.conf /var/qmail/bin/qmail-smtpd /var/qmail/bin/smtp_auth /var/qmail/bin/true /var/qmail/bin/cmd5checkpw /var/qmail/bin/true
}