15 \newcommand{\F}[1]{\texttt{#1}} % file |
16 \newcommand{\F}[1]{\texttt{#1}} % file |
16 \newcommand{\U}[1]{\underline{#1}} % underline |
17 \newcommand{\U}[1]{\underline{#1}} % underline |
17 \newcommand{\C}[1]{\texttt{\textbf{#1}}} |
18 \newcommand{\C}[1]{\texttt{\textbf{#1}}} |
18 \newcommand{\NL}{\tabularnewline} |
19 \newcommand{\NL}{\tabularnewline} |
19 \newcommand{\Tilde}{\~{}} |
20 \newcommand{\Tilde}{\~{}} |
20 \newcommand{\Prompt}{\texttt{linux:\Tilde\#\,}} |
21 \newcommand{\Prompt}{\texttt{linux:\Tilde\#\,\,}} |
21 |
22 |
22 \newcommand{\Notice}[1]{\marginpar{\footnotesize\raggedright{}#1}} |
23 \newcommand{\Notice}[1]{\marginpar{\footnotesize\raggedright{}#1}} |
23 \newcommand{\Linux}[1]{\Prompt#1\newline} |
24 \newcommand{\Linux}[1]{\Prompt#1\newline} |
24 |
25 |
25 \title{Mailsystem --- CMS-AG --- Systemdokumentation} |
26 \title{Mailsystem --- CMS-AG --- Systemdokumentation} |
60 |
61 |
61 Wenn nicht anders erwähnt, stehen alle Komponenten unter der \emph{GNU Public |
62 Wenn nicht anders erwähnt, stehen alle Komponenten unter der \emph{GNU Public |
62 Licence} oder ähnlichen freien Lizenzen. |
63 Licence} oder ähnlichen freien Lizenzen. |
63 |
64 |
64 \section{Struktur} |
65 \section{Struktur} |
|
66 \label{p:struktur} |
65 |
67 |
66 Mails kommen von außen und werden vom SMTP-Server \N{Exim} entgegen |
68 Mails kommen von außen und werden vom SMTP-Server \N{Exim} entgegen |
67 genommen. Dieser lässt die Mails schon während des Empfangs vom |
69 genommen. Dieser lässt die Mails schon während des Empfangs vom |
68 Spamscanner \N{SpamAssassin} prüfen und übergibt sie anschließend an |
70 Spamscanner \N{SpamAssassin} prüfen und übergibt sie anschließend an |
69 den Virenscanner. |
71 den Virenscanner. |
70 |
72 |
71 Sind die Nachrichten vom Virenscanner geprüft werden Sie vom |
73 Sind die Nachrichten vom Virenscanner geprüft, werden Sie vom |
72 SMTP-Server an das \qq{Mailstorage} \N{Cyrus} übergeben. |
74 SMTP-Server an das \qq{Mailstorage} \N{Cyrus} übergeben. |
73 |
75 |
74 Der Cyrus-Server verwaltet die Mailboxen und stellt sie für einen |
76 Der \N{Cyrus}-Server verwaltet die Mailboxen und stellt sie für einen |
75 Zugriff über POP3 bzw. IMAP zur Verfügung. |
77 Zugriff über POP3 bzw. IMAP zur Verfügung. |
76 |
78 |
77 Ausgehende Mails werden vom jeweiligen Client direkt an den |
79 Ausgehende Mails werden vom jeweiligen Client direkt an den |
78 SMTP-Server geliefert, dieser besorgt, nach Virentests, dann die |
80 SMTP-Server geliefert. Dieser startet einen Virentest und stellt |
79 Zustellung. |
81 anschließend die Nachrichten zu. |
80 |
82 |
81 Die Nutzerverwaltung erfolgt komplett im LDAP. |
83 Die Nutzerverwaltung erfolgt komplett im LDAP. |
82 |
84 |
83 \subsection{Sicherheit} |
85 \subsection{Sicherheit} |
84 \label{p:security} |
86 \label{p:security} |
85 |
87 |
86 Wenn möglich versendet der SMTP-Server die Nachrichten über |
88 Wenn möglich versendet der SMTP-Server die Nachrichten über |
87 TLS/SSL-gesicherte Verbindungen. Für eingehende Mails stellt er |
89 TLS-gesicherte Verbindungen. Für eingehende Mails stellt er |
88 TLS/SSL zur Verfügung. |
90 TLS zur Verfügung. |
89 |
91 |
90 Anmelde-Daten (SMTP-Authentifizierung, POP- bzw. |
92 Anmeldedaten (SMTP-Authentifizierung, POP- bzw. |
91 IMAP-Authentifizierung) \emph{sollten} ausschließlich über TLS- bzw |
93 IMAP-Authentifizierung) \emph{sollten} ausschließlich über TLS- bzw |
92 SSL-gesicherte Verbindungen gesandt werden. Im internen Netz |
94 SSL-gesicherte Verbindungen gesandt werden. Im internen Netz |
93 (LAN-Seite des Mailservers) sind POP/IMAP-Verbindungen derzeit auch |
95 (LAN-Seite des Mailservers) sind alle Verbindungen derzeit auch |
94 ungesichert möglich.\Notice{Das sollte schnellstens geändert |
96 ungesichert möglich.\Notice{Das sollte schnellstens geändert |
95 werden!} |
97 werden!} |
96 |
98 |
97 Jeder der beteiligten LDAP-Server stellt seine Daten |
99 Jeder der beteiligten LDAP-Server stellt seine Daten |
98 auf \T{ldap://127.0.0.1/} und SSL-verschlüsselt auf \T{ldaps:///} zur Verfügung. |
100 auf \T{ldap://127.0.0.1/} und SSL-verschlüsselt auf \T{ldaps:///} zur Verfügung. |
213 uid & Nutzer-ID (Anmeldung am POP3/IMAP-Server, Name der Mailbox) \\ |
215 uid & Nutzer-ID (Anmeldung am POP3/IMAP-Server, Name der Mailbox) \\ |
214 userPassword & Passwort für SMTP/POP3/IMAP (Klartext)\\ |
216 userPassword & Passwort für SMTP/POP3/IMAP (Klartext)\\ |
215 cmsMailPrimaryAddress & primäre Mailadresse (incl. Domain-Name \N{cms.de})\\ |
217 cmsMailPrimaryAddress & primäre Mailadresse (incl. Domain-Name \N{cms.de})\\ |
216 cmsMailAddress & alternative Adressen \\ |
218 cmsMailAddress & alternative Adressen \\ |
217 cmsMailGroup & Mitgliedschaft in Mailgruppen \\ |
219 cmsMailGroup & Mitgliedschaft in Mailgruppen \\ |
218 cmsMailForwardingAddress & Weiterleitungsadresse (analog \N{\Tilde/.forward}) \\ |
220 cmsMailForwardingAddress & Weiterleitungsadresse (analog \F{\Tilde/.forward}) \\ |
219 sn & Nachname (ungenutzt, muss aber gesetzt sein) \\ |
221 sn & Nachname (ungenutzt, muss aber gesetzt sein) \\ |
220 cn & allgemeiner Name (ungenutzt, muss aber gesetzt sein) |
222 cn & allgemeiner Name (ungenutzt, muss aber gesetzt sein) |
221 \end{longtable} |
223 \end{longtable} |
222 |
224 |
223 Für Weiterleitungsinformation analog zur klassischen |
225 Für Weiterleitungsinformation analog zur klassischen |
304 Bei Bedarf ist dieses Regelwerk flexibel erweiterbar mit Black- und |
306 Bei Bedarf ist dieses Regelwerk flexibel erweiterbar mit Black- und |
305 Whitelists. |
307 Whitelists. |
306 |
308 |
307 \subsection{SMTP-Authentifizerung/Authorisierung} |
309 \subsection{SMTP-Authentifizerung/Authorisierung} |
308 |
310 |
309 Wie eben erwähnt ist ein Senden von Mail über den Mailserver nur |
311 Das Senden von Mail über den Mailserver ist nur |
310 nach einer erfolgreichen Authentifizierung möglich. |
312 nach einer erfolgreichen Authentifizierung möglich.\footnote{Einige |
|
313 Hosts dürfen auch ohne Authentifizierung senden. Dafür ist auf dem |
|
314 Server eine Liste mit IP-Adressen hinterlegt.} |
311 |
315 |
312 Es werden die Authentifizierungsverfahren PLAIN und LOGIN |
316 Es werden die Authentifizierungsverfahren PLAIN und LOGIN |
313 unterstützt. Da in beiden Fällen Klartextpassworte übertragen |
317 unterstützt. Da in beiden Fällen Klartextpassworte übertragen |
314 werden, sind diese Verfahren nur zulässig, wenn eine gesicherte |
318 werden, sind diese Verfahren nur zulässig, wenn eine gesicherte |
315 Verbindung (START TLS) aufgebaut wurde (siehe auch Abschnitt |
319 Verbindung (START TLS) aufgebaut wurde (siehe auch Abschnitt |
316 \vref{p:securit}). Die entsprechende |
320 \vref{p:security}). Die entsprechende |
317 Einstellung in den Mailclients heißt meistens \qq{TLS} oder \qq{TLS |
321 Einstellung in den Mailclients heißt meistens \qq{TLS} oder \qq{TLS |
318 wenn möglich}.\footnote{% |
322 wenn möglich}.\footnote{% |
319 Zum Thema TLS/SSL:\newline |
323 Zum Thema TLS/SSL:\newline |
320 Grundsätzlich verwenden beide das selbe Verschlüsselungsverfahren. |
324 Grundsätzlich verwenden beide das selbe Verschlüsselungsverfahren. |
321 Wenn TLS erwähnt wird, dann als Protokollerweiterung zu einem |
325 Wenn TLS erwähnt wird, dann als Protokollerweiterung zu einem |
352 \item Es wird im LDAP-Baum \N{ou=Aliases,ou=Mail,\dots} nach Aliases |
356 \item Es wird im LDAP-Baum \N{ou=Aliases,ou=Mail,\dots} nach Aliases |
353 gesucht. Mit eventuell neuen ermittelten Adressen beginnt das |
357 gesucht. Mit eventuell neuen ermittelten Adressen beginnt das |
354 Routing von vorn. Suchfilter ist \N{mail=\V{local\_part}}. |
358 Routing von vorn. Suchfilter ist \N{mail=\V{local\_part}}. |
355 |
359 |
356 Mehrere Aliase mit dem selben Namen sind nicht zulässig, aber |
360 Mehrere Aliase mit dem selben Namen sind nicht zulässig, aber |
357 mehrere Adressen, die in und dem selben Alias zugeordnet sind |
361 mehrere Adressen, die ein und dem selben Alias zugeordnet sind |
358 (als ein einfacher Verteiler). |
362 (als ein einfacher Verteiler). |
359 |
363 |
360 \item Es wird im LDAP-Baum \N{ou=Users,ou=Mail,\dots} nach Objekten |
364 \item Es wird im LDAP-Baum \N{ou=Users,ou=Mail,\dots} nach Objekten |
361 gesucht, die den \N{local\_part} als Mail-Attribut haben. |
365 gesucht, die den \N{local\_part} als Mail-Attribut haben. |
362 Suchfilter ist hier wieder \N{mail=\V{local\_part}}. |
366 Suchfilter ist hier wieder \N{mail=\V{local\_part}}. |
377 POP3/IMAP-Server übergeben. |
381 POP3/IMAP-Server übergeben. |
378 |
382 |
379 \end{enumerate} |
383 \end{enumerate} |
380 |
384 |
381 Alle \N{mail}-Attribute (incl. der abgeleiteten \N{cmsMailAddress}, |
385 Alle \N{mail}-Attribute (incl. der abgeleiteten \N{cmsMailAddress}, |
382 \N{cmsMailGroup}) müssen \emph{ohne} Domain-Namen angegeben werden. |
386 \N{cmsMailGroup}) müssen \emph{ohne} Domainnamen angegeben werden. |
383 Dagegen dürfen in der Ziel-Adresse \N{cmsMailForwardingAddress} und |
387 Dagegen dürfen in der Ziel-Adresse \N{cmsMailForwardingAddress} und |
384 in der primären Mailadresse \N{cmsMailPrimaryAddress} auch voll |
388 in der primären Mailadresse \N{cmsMailPrimaryAddress} auch voll |
385 qualifizierte Adressen angegeben werden. |
389 qualifizierte Adressen angegeben werden. |
386 |
390 |
387 \subsection{Adress-Rewriting} |
391 \subsection{Adress-Rewriting} |
389 Ausgehende Mails werden nicht verändert. Jedoch wird bei Nutzern, |
393 Ausgehende Mails werden nicht verändert. Jedoch wird bei Nutzern, |
390 die sich authentifiziert haben, eine \N{Sender:}-Zeile mit der |
394 die sich authentifiziert haben, eine \N{Sender:}-Zeile mit der |
391 primären Mailadresse des Nutzers eingefügt, |
395 primären Mailadresse des Nutzers eingefügt, |
392 wenn die \N{From:}-Zeile von der primären Mailadresse des Absenders |
396 wenn die \N{From:}-Zeile von der primären Mailadresse des Absenders |
393 abweicht. |
397 abweicht. |
|
398 |
|
399 \subsection{Administration} |
|
400 |
|
401 Viel zu administrieren sollte es am \N{Exim} nicht geben. Ab und zu |
|
402 kann man die Warteschlange mit \C{mailq} oder besser \C{exipick} kontrollieren. |
|
403 Eingefrorene Mails sollten nach einigen (7) Tagen automatisch verschwinden. |
|
404 |
|
405 Im Zweifelsfall ist ein Blick in die Logfiles (vor allem |
|
406 \F{paniclog} und \F{rejectlog}) interessant. |
|
407 |
|
408 Zum Adress-Test (um zu überprüfen, wie eine bestimmte Mail geroutet |
|
409 werden \emph{würde}) kann das folgende Kommando verwendet werden: |
|
410 |
|
411 \Linux{\C{exim4 -v -bv} \V{user@domain}} |
|
412 |
|
413 Damit können lokale und externe Adressen getestet werden. Mails |
|
414 werden bei diesem Test keine verschickt. |
394 |
415 |
395 \subsection{Files} |
416 \subsection{Files} |
396 |
417 |
397 \begin{longtable}{ll} |
418 \begin{longtable}{ll} |
398 \bf Funktion & \bf Datei \NL\hline |
419 \bf Funktion & \bf Datei \NL\hline |
402 \end{longtable} |
423 \end{longtable} |
403 |
424 |
404 Nach Änderungen der Konfiguration muß im Konfigurationsverzeichnis |
425 Nach Änderungen der Konfiguration muß im Konfigurationsverzeichnis |
405 \C{make} aufgerufen werden, damit die Änderungen wirksam werden. |
426 \C{make} aufgerufen werden, damit die Änderungen wirksam werden. |
406 |
427 |
407 \subsection{Administration} |
|
408 |
|
409 Viel zu administrieren sollte es am \N{Exim} nicht geben. Ab und zu |
|
410 kann man die Warteschlange mit \C{mailq} oder besser \C{exipick} kontrollieren. |
|
411 Eingefrorene Mails sollten nach einigen (7) Tagen automatisch verschwinden. |
|
412 |
|
413 Im Zweifelsfall ist ein Blick in die Logfiles (vor allem |
|
414 \F{paniclog} und \F{rejectlog}) interessant. |
|
415 |
|
416 Zum Adress-Test (um zu überprüfen, wie eine bestimmte Mail geroutet |
|
417 werden \emph{würde}) kann das folgende Kommando verwendet werden: |
|
418 |
|
419 \Linux{\C{exim4 -v -bv} \V{user@domain}} |
|
420 |
|
421 Damit können lokale und externe Adressen getestet werden. Mails |
|
422 werden bei diesem Test keine verschickt. |
|
423 |
428 |
424 \section{POP3/IMAP} |
429 \section{POP3/IMAP} |
425 |
430 |
426 Vom SMTP-Server \N{Exim} kommt die Mail per LMTP zum \N{Cyrus}. Der |
431 Vom SMTP-Server \N{Exim} kommt die Mail per LMTP zum \N{Cyrus}. Der |
427 verwaltet sein eigenes Mailstore in \F{/var/spool/cyrus}. Dort |
432 verwaltet sein eigenes Mailstore in \F{/var/spool/cyrus}. Dort |
435 zugreifen. Allerdings steht per POP3 nur die Inbox zur Verfügung, |
440 zugreifen. Allerdings steht per POP3 nur die Inbox zur Verfügung, |
436 die Unterpostfächer sind nur über IMAP verfügbar.\Notice{Es gibt |
441 die Unterpostfächer sind nur über IMAP verfügbar.\Notice{Es gibt |
437 noch kein Backup vom Mailserver!} |
442 noch kein Backup vom Mailserver!} |
438 |
443 |
439 Zum Zugriff auf die Postfächer ist eine Anmeldung erforderlich. |
444 Zum Zugriff auf die Postfächer ist eine Anmeldung erforderlich. |
440 Zur Sicherheit siehe \vref{p:security}. |
445 Zur Sicherheit siehe Abschnitt \vref{p:security}. |
441 |
446 |
442 Der übertragene User-Name wird im LDAP unter |
447 Der übertragene User-Name wird im LDAP unter |
443 \N{ou=Users,ou=Mail,\dots} gesucht. Genau dieser Name ist dann auch |
448 \N{ou=Users,ou=Mail,\dots} gesucht. Genau dieser Name ist dann auch |
444 der Name der Mailbox. |
449 der Name der Mailbox. |
445 |
450 |
446 Als Mailclient empfehlen wir \emph{dringend} |
451 Als Mailclient empfehlen wir \emph{dringend} |
447 \N{Mozilla-Thunderbird}. Dieser Client ist auf allen Plattformen |
452 \N{Mozilla-Thunderbird}. Dieser Client ist auf allen Plattformen |
448 (Windows, Unix) verfügbar, ist in der Lage, mehrere Konten zu |
453 (Windows, Unix) verfügbar. Es können mehrere Konten verwaltet |
449 verwalten und beherrscht auch die verwendeten |
454 \N{Thunderbird} beherrscht TLS und SSL als Verschlüsselungsprotokoll. |
450 Verschlüsselungsprotokolle. Über kostenfreie Plugins ist auch |
455 Über kostenfreie Plugins ist auch GnuPG-Verschlüsselung und Signatur der Mails möglich. |
451 GnuPG-Verschlüsselung und Signatur der Mails möglich. |
|
452 |
|
453 \subsection{Files} |
|
454 |
|
455 \begin{longtable}{ll} |
|
456 \bf Funktion & \bf Datei \NL\hline |
|
457 Konfiguration & \F{/etc/imapd.conf} \\ |
|
458 & \F{/etc/cyrus.conf} \\ |
|
459 Spool & \F{/var/spool/cyrus} \\ |
|
460 Logfiles & \F{/var/log/mail.log} |
|
461 \end{longtable} |
|
462 |
|
463 Nach Änderungen an den Konfigurationsdateien muss \C{invoke-rc.d |
|
464 cyrus22 restart}\footnote{bzw. \C{invoke-rc.d cyrus restart}} |
|
465 aufgerufen werden, sonst sind die Änderungen unwirksam |
|
466 |
|
467 |
456 |
468 \subsection{Administration} |
457 \subsection{Administration} |
469 |
458 |
470 Sollten die in Abschnitt \vref{p:admin} beschriebenen Werkzeuge |
459 Sollten die in Abschnitt \vref{p:admin} beschriebenen Werkzeuge |
471 nicht ausreichen, ist mit \C{cyradm} noch einiges zu retten: |
460 nicht ausreichen, ist mit \C{cyradm} noch einiges zu retten: |
486 localhost$>$ \C{quit}\\ |
475 localhost$>$ \C{quit}\\ |
487 \Linux{\_} |
476 \Linux{\_} |
488 \end{longtable} |
477 \end{longtable} |
489 |
478 |
490 Mehr Information findet sich wie immer in der Manual-Seite |
479 Mehr Information findet sich wie immer in der Manual-Seite |
491 \T{cyradm(8)}.\footnote{Aufruf:\C{man cyradm}} |
480 \T{cyradm(8)}.\footnote{Aufruf: \C{man cyradm}} |
492 |
481 |
493 Eine direkte Verbindung mit den Mailboxen ist mit jedem beliebigen |
482 Eine direkte Verbindung mit den Mailboxen ist mit jedem beliebigen |
494 IMAP-Client möglich, z.B. auch mit \N{Mutt}: |
483 IMAP-Client möglich, z.B. auch mit \N{Mutt}: |
495 |
484 |
496 \Linux{\C{mutt -f imaps://\U{cyrus}@localhost\U{/user/hannes}}} |
485 \Linux{\C{mutt -f imaps://\U{cyrus}@localhost\U{/user/hannes}}} |
497 \Linux{\C{mutt -f imap://\U{hannes}@localhost/}} |
486 \Linux{\C{mutt -f imap://\U{hannes}@localhost/}} |
|
487 |
|
488 \subsection{Files} |
|
489 |
|
490 \begin{longtable}{ll} |
|
491 \bf Funktion & \bf Datei \NL\hline |
|
492 Konfiguration & \F{/etc/imapd.conf} \\ |
|
493 & \F{/etc/cyrus.conf} \\ |
|
494 Spool & \F{/var/spool/cyrus} \\ |
|
495 Logfiles & \F{/var/log/mail.log} |
|
496 \end{longtable} |
|
497 |
|
498 Nach Änderungen an den Konfigurationsdateien muss \C{invoke-rc.d |
|
499 cyrus22 restart}\footnote{bzw. \C{invoke-rc.d cyrus restart}} |
|
500 aufgerufen werden, sonst sind die Änderungen unwirksam |
|
501 |
498 |
502 |
499 |
503 |
500 \section{Administration des Mailsystems} |
504 \section{Administration des Mailsystems} |
501 \label{p:admin} |
505 \label{p:admin} |
502 |
506 |
527 \Linux{\C{ma \U{account} --ls}} |
531 \Linux{\C{ma \U{account} --ls}} |
528 \Linux{\C{ma \U{account} --ls 'h*'} \# Alle Nutzer beginnend mit `h'} |
532 \Linux{\C{ma \U{account} --ls 'h*'} \# Alle Nutzer beginnend mit `h'} |
529 |
533 |
530 \subsubsection{Anlegen} |
534 \subsubsection{Anlegen} |
531 |
535 |
532 Beim Anlegen werden nur Accounts und Mailboxen angelegt, wenn sie |
536 Beim Anlegen werden nur Accounts und Mailboxen angelegt, sofern |
533 noch nicht vorhanden sind. |
537 sie noch nicht vorhanden sind. Existieren die Accounts und |
534 In bestehende Accounts werden nur die |
538 Mailboxen schon, werden nur die notwendigen |
535 Mail-Attribute (\N{cmsMailPrimaryAddress}, \N{cmsMailAddress}) |
539 Mail-Attribute (\N{cmsMailPrimaryAddress}, \N{cmsMailAddress}) |
536 eingetragen, sofern sie nocht nicht vorhanden sind. |
540 eingetragen bzw. aktualisiert. |
537 |
541 |
538 \Linux{\C{ma \U{account} \U{--add} --fullname='Hans Hanson' --other='hh' hans}} |
542 \Linux{\C{ma \U{account} \U{--add} --fullname='Hans Hanson' --other='hh' hans}} |
539 |
543 |
540 Als primäre Mailadresse wird der Nutzername + \N{cms.de} angenommen. |
544 Als primäre Mailadresse wird der Nutzername + \N{cms.de} angenommen. |
541 |
545 |
631 \subsubsection{Anzeigen/Anlegen/Löschen} |
635 \subsubsection{Anzeigen/Anlegen/Löschen} |
632 |
636 |
633 Alle vorhandenen shared Mailboxen können mit einem einfachen |
637 Alle vorhandenen shared Mailboxen können mit einem einfachen |
634 |
638 |
635 \Linux{\C{ma \U{shared} --list}} |
639 \Linux{\C{ma \U{shared} --list}} |
636 \Linux{\C{ma \U{shared} --list `h*'}} |
640 \Linux{\C{ma \U{shared} --list 'h*'}} |
637 |
641 |
638 angezeigt werden. |
642 angezeigt werden. |
639 Anlegen und Löschen können mit \T{--add} bzw. \T{--del} erledigt werden. |
643 Anlegen und Löschen können mit \T{--add} bzw. \T{--del} erledigt werden. |
640 |
644 |
641 Die Zugriffsrechte zu den Mailboxen müssen derzeit per Hand geändert werden |
645 Die Zugriffsrechte zu den Mailboxen müssen derzeit per Hand geändert werden |