ePrivacy and GPDR Cookie Consent by CookieConsent.com

Ralf Zimmermann SIEGNETZ.IT GmbH

Dovecot

Dovecot SSL absichern

Zurück zum Seitenanfang | Publiziert am

Dovecot gegen POODLE Attacke absichern


ssl_protocols = !SSLv2 !SSLv3
ssl_cipher_list = ALL:!LOW:!SSLv2:!EXP:!aNULL

Dovecot gegen FREAK Attacke absichern


ssl_cipher_list = ALL:!LOW:!SSLv2:!EXP:!aNULL:!EXPORT

Dovecot SSL Beispiel Konfiguration


ssl_ca = </etc/ssl/certs/ca_bundle.pem
ssl_cert = </etc/ssl/certs/server.crt
ssl_key = </etc/ssl/private/server.key
ssl_min_protocol = TLSv1.2
ssl_dh=</etc/dovecot/dh.pem
ssl_cipher_list = kEECDH:+kEECDH+SHA:kEDH:+kEDH+SHA:+kEDH+CAMELLIA:kECDH:+kECDH+SHA:kRSA:+kRSA+SHA:+kRSA+CAMELLIA:!aNULL:!eNULL:!SSLv2:!RC4:!MD5:!DES:!EXP:!SEED:!IDEA:!3DES

E-Mail Weiterleitungen mit Dovecot 2.2.15 und Pigeonhole-Sieve 0.4.6 ohne SPF,DMARC und DKIM Konflikte

Zurück zum Seitenanfang | Publiziert am

Ich habe einen interessanten von über Email Weiterleitung mit Dovecot und Sieve gelesen, der dem ein oder anderen in Sachen Email-Weiterleitung weiterhelfen könnte.

Wer Email Weiterleitungen auf andere Email Konten nutzt, bekommt immer mehr Probleme. Verwendet z.B. die Absender Domain SPF Records dann kann es sein, dass der Mailserver auf den weitergeleitet wird die Email nicht annimmt. Um dies möglich zu machen, hat man die Möglichkeit z.B. SRS (Sender Rewrite Scheme) zu verwenden. Dies in eine bestehende Mailserver Konfiguration einzubinden ist nicht jedermanns Sache. Der oben erwähnte Artikel zeigt eine vergleichbare einfache Umsetzung die auch prima funktioniert. Allerdings sollte jeder sicherstellen das es nicht zu Mail-Loops kommt.

Note: Wer die unten aufgeführte Konfiguration testen möchte, sollte Dovecot 2.2.15 und Pigeonhole-Sieve 0.4.6 einsetzen. Die aufgeführte Konfiguration dient nur als Beispiel und ist nicht perfekt. Es sollte vermieden werden Spam weiterzuleiten. Die beschriebene Methode basiert darauf das die weiterleitende Mailbox alle E-mails selbst mit DKIM signiert. Es ist also Vorsicht geboten und jeder sollte wohl überlegen was er da einbindet. Bei mir funktioniert es bisher problemlos.

Dovecot Sieve Konfiguration

sieve = ~/.dovecot.sieve 
sieve_dir = ~/sieve
sieve_redirect_envelope_from = sender
sieve_extensions = +notify +imapflags +editheader

Sieve Script Konfiguration

require ["fileinto", "include", "vacation", "imap4flags", "editheader", "variables", "regex", "envelope"];

if address :matches :all "to" ["r.zimmermann@siegnetz.de", "hausmeister@siegnetz.de"] {
 deleteheader "Reply-To";
 if envelope :matches "From" "*" {
 addheader "Reply-To" "\${1}";
 deleteheader "From";
 deleteheader "To";
 deleteheader "DKIM-Signature";
 deleteheader "DomainKey-Signature";
 deleteheader "X-DKIM";
 deleteheader "X-DomainKeys";
 addheader "From" "r.zimmermann@siegnetz.de";
 addheader "To" "r.zimmermann@example.com";
 redirect "r.zimmermann@example.com";
}
}


Dovecot & Pigeonhole-Sieve Abwesenheitsnotiz

Zurück zum Seitenanfang | Publiziert am

Vacation Sieve Konfiguration

Es kommt immer wieder vor das Abwesenheitsnotizen Mailinglisten oder Postfächer von Kollegen zumüllen. Mittels Sieve ist dieses Problem sehr schnell eleminiert. Es sind lediglich die Ausnahmen zu definieren, wann keine Abwesenheitsnotiz gesendet werden soll.

require ["date","relational","vacation","variables","fileinto", "include", "vacation", "imap4flags"];
...

if true {
if allof (
currentdate :value "ge" "date" "2014-12-20",
currentdate :value "le" "date" "2014-12-27")
{
if header :matches "Subject" "*" {
set "subjwas" ": \${1}";
}
if not anyof ( 
exists "X-Sieve",
exists "List-Id",
exists "List-ID",
exists "List-Help",
exists "List-Subscribe",
exists "List-Unsubscribe",
exists "List-Post",
exists "List-Owner",
exists "List-Archive",
header :contains "X-organizerEmail" "webcast@example.com",
header :contains "X-Mailer" "Example Server",
header :contains "Precedence" ["bulk","list"],
header :contains "List-Id" ["example1","example2"],
header :contains "List-ID" ["example1","example2"],
header :contains "List-Help" ["example1","example2"],
header :contains "List-Subscribe" ["example1","example2"],
header :contains "List-Unsubscribe" ["example1","example2"],
header :contains "List-Post" ["example1","example2"],
header :contains "List-Owner" ["example1","example2"],
header :contains "List-Archive" ["example1","example2"],
header :contains "Auto-Submitted" ["auto-replied"],
header :contains "X-antispameurope-delivered" ["spamreport"]
header :contains "from" ["chef@siegnetz.de","kunde@example.com"]
) {
vacation
  :days 3
  :subject "Abwesenheitsnotiz: \${subjwas}" 
  :addresses ["r.zimmermann@siegnetz.de", "hausmeister@siegnetz.de"]
"Ich bin vom 21.12.2014 bis zum 28.12.2014 nicht im Büro. Sie können mich 
in dringenden Fällen unter meiner mobilen Rufnummer +49123123456
erreichen.
";
}
}
}