Skip to content

Pimp my Mailserver ...

ubuntu Wieder ein Haken auf der Liste.

Ich hatte schon länger vor, unsere Mailserver - Postfix für SMTP und Dovecot für IMAPS - mit einem fremd signierten Zertifikat zu versehen. Bisher hat ein selbst signiertes den Job erledigt.

Die Schritte sind recht einfach.

Bei CAcert muss die zu sichernde Domain hinzugefügt werden, dort bitte auch nur die Domain und nicht den Hostnamen verwenden. Das löst eine Mail aus, die entweder an den Domain-Eigentümer oder an root@, hostmaster@, postmaster@ admin@ oder webmaster@ gehen kann, andere Adressen sind nicht erlaubt. In der Mail ist ein Link, den man zur Bestätigung klicken muss.

Mittels
openssl req -new -newkey rsa:2048 -nodes -keyout server.key -out server.csr
kann man sich einen Certificate Signing Request bauen (Datei server.csr).

$ openssl req -new -newkey rsa:2048 -nodes -keyout server.key -out server.crt
Generating a 2048 bit RSA private key
..................................................................+++
..........+++
writing new private key to 'server.key'
-----
You are about to be asked to enter information that will be incorporated
into your certificate request.
What you are about to enter is what is called a Distinguished Name or a DN.
There are quite a few fields but you can leave some blank
For some fields there will be a default value,
If you enter '.', the field will be left blank.
-----
Country Name (2 letter code) [GB]:DE
State or Province Name (full name) [Berkshire]:Northrine-Westphalia
Locality Name (eg, city) [Newbury]:Wanne-Eickel
Organization Name (eg, company) [My Company Ltd]:Schattenparker GbR
Organizational Unit Name (eg, section) []:Server Administration
Common Name (eg, your name or your server's hostname) []:server.domain.tld
Email Address []:hostmaster@domain.tld


Die Fragen müssen natürlich mit den eigenen Daten beantwortet werden.

Den Inhalt der resultierenden CRT-Datei kopiert man in das entsprechende Formular bei CAcert (Server Zertifikate / Neu) und man bekommt dann das richtige Zertifikat zurück (ich empfehle, Class 3 signieren zu lassen).

Auf dem Webserver oder Mailserver wird an den entsprechenden Stellen in der Konfiguration der Pfad zur Key-Datei und zum Zertifikat eingetragen und nach dem Neustart wird das Zertifkat zur Verbindung verwendet.

Die meisten Clients haben die root-Zertifikate von CAcert noch nicht eingebaut, daher kann man sie hier herunterladen und je nach Client an der richtigen Stelle einbauen.

Für das Palm Pre mit der heute aktuellen Software-Version:
prior to webOS 1.2 you had to copy the .crt files to the phone's memory using USB mode, load the certificate manager (Device Info; More Info (button at bottom); Certificate Manager (Preferences menu at top)), and import the certificates (icon in lower left of screen to browse for them).
Funktioniert bestens.

Fragen? Fragen!

Trackbacks

Keine Trackbacks

Kommentare

Ansicht der Kommentare: Linear | Verschachtelt

Alphager am :

*Ich setze dieselbe Kombination (postfix+dovecot) ein. Habe vor 3 Monaten den Volltextindex von dovecot aktiviert und bin begeistert. Hast du noch irgendwelche Ideen, was man bei dovecot oder postfix unbedingt aktivieren sollte?

Dirk Deimeke am :

*Oh, Volltextindex? Wie?

Generell halte ich es so, dass ich nach aussen nur IMAPS und POP3S spreche, damit niemand auf die Idee kommen kann, sein Passwort im Klartext über das Netz zu übertragen.

Ansonsten steht Sieve noch auf der Liste, damit lassen sich Server-basierte Filterregeln erstellen.

Alphager am :

*http://wiki.dovecot.org/Plugins/FTS

Das ist ein bei Plugin, was zu dovecot dazugehört (und immer mitgeliefert wird). Ich benutze wg. dem geringen Aufwand squat.
Aktivierung erfolgt über die Zeile

fts = squat

im Plugin-Bereich der dovecot.conf. Der Indexer läuft allerdings nur los, wenn eine Suche gestartet wird (und nicht, wenn eine neue Email reinkommt). Deswegen habe ich mir ein kleines Shellscript geschrieben, dass per cronjob losläuft, um den Index aufzufrischen.

Suchen gehen danach wirklich sehr schnell über die Bühne; ich habe ~30'000 Emails in meiner Maildir und warte unter einer Sekunde auf Ergebnisse.

Unki am :

*Das ist interessant. Möchtest Du das Skipt veröffentlichen? Gut daß ich in der nächsten Woche Urlaub habe ...

Dirk Deimeke am :

*Vielen Dank für den Tipp! Werde ich mal auf meine Mailserverliste schreiben.

Dirk Deimeke am :

*Ich hätte auch Interesse, vielleicht lässt sich das auch gut mit Horde verheiraten.

Alphager am :

*Ok, das Script besteht eigentlich aus zwei Teilen: Ein Teil, der die ganzen Unterordner einer Mailbox herausfindet und ein Teil, der für jeden Unterordner den Suchvorgang startet.

Hier der Teil, der die Unterordner findet: http://pastebin.com/f6dbff641

Hier der Teil, der den Suchvorgang auslöst:
http://pastebin.com/f791883cb

Die Qualität von dem Ganzen ist *miserabel*; ich hatte bis jetzt keine Zeit, das auf eine sinnvolle Art und Weise zu machen. Also ein mehr als dreckiges Konstrukt, dass nicht benutzt werden sollte...

Das Ganze funktioniert wahrscheinlich nur, wenn es wirklich ein mapping Systemnutzer Dovecotnutzer gibt (sprich: keine virtuellen Mailboxen).

Ursprünglich wurde das Ding für ein System geschrieben, was eine uralte Bash-version hatte, die Background-prozesse noch nicht voll unterstützt hat (bzw. ich war zu doof, die zu kapieren). Deswegen läuft der zweite Teil unter zsh.

Ich mache mir den Umstand zu Nutze, dass man mit der dovecot-binary als angemeldeter Benutzer direkt IMAP-Befehle auf seine Mailbox absetzen kann, ohne vorher wilde Authentifizierungsmaßnahmen durchzuführen.

Mein Problem damals war, dass dovecot die Verbindung nach einem EOF direkt schließt; ein einfaches "cat $befehle | dovecot" bringt nichts, da der indexer (zumindest beim ersten Mal) schon ein paar Sekunden laufen muss. Deswegen habe ich diesen hässlichen Umweg über tail -f gewählt. Tail schickt kein EOF und wird beim beenden vom aufrufendem Script gekillt.

Dirk Deimeke am :

*Das sieht wirklich bitter aus. Ich guck mir das mal näher an, vermutlich gibt es interne Dovecot-Funktionen oder einen Parameter, der die Indexierung erledigen kann.

Danke!

Alphager am :

*Wenn du da was findest: bitte posten!
Laut dem Entwickler von Dovecot ist ein Script, was die SUche auslöst, der einzige Weg...

Alphager am :

*Hast du dazu etwas gefunden? Mir ist dies mal wieder auf den Radar gekommen, aber ich sehe immer noch keine saubere Lösung.

Kommentar schreiben

Gravatar, Favatar, Pavatar, Identica, Twitter, MyBlogLog Autoren-Bilder werden unterstützt.
BBCode-Formatierung erlaubt
Umschließende Sterne heben ein Wort hervor (*wort*), per _wort_ kann ein Wort unterstrichen werden.
Standard-Text Smilies wie :-) und ;-) werden zu Bildern konvertiert.
Die angegebene E-Mail-Adresse wird nicht dargestellt, sondern nur für eventuelle Benachrichtigungen verwendet.
:'(  :-)  :-|  :-O  :-(  8-)  :-D  :-P  ;-) 
Formular-Optionen