Pimp my Mailserver ...
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:
Fragen? Fragen!
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!
Kommentare
Ansicht der Kommentare: Linear | Verschachtelt
Alphager am :
Dirk Deimeke am :
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 :
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 :
Dirk Deimeke am :
Alphager am :
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 :
Danke!
Alphager am :
Laut dem Entwickler von Dovecot ist ein Script, was die SUche auslöst, der einzige Weg...
Dirk Deimeke am :
Alphager am :
Dirk Deimeke am :
Dirk Deimeke am :