wiki:AdminMail
close Warning: Can't synchronize with repository "keplertools" (/srv/svn/keplertools does not appear to be a Subversion repository.). Look in the Trac log for more information.

Version 12 (modified by bau, 8 years ago) ( diff )

--

Infos zum Mailserver der paedml

DNS-Einträge

Damit der Server auch über OpenVPN über eine Adresse erreichbar ist, ist auf allen DNS-Servern (auch bei BelWUE) der Name emails.kg-fds.de eingerichtet, der zeigt auf:

  • Lehrernetz (grau) 10.16.112.4
  • Schülernetz (grün) 10.32.1.1
  • Internet (BelWUE) 10.32.1.1

Die Adresse ist also nicht öffentlich gebrauchbar. Von außen ist der Server über die Adresse paedml.kg-fds.de zugänglich:

  • Lehrernetz (grau) 10.16.112.4
  • Schülernetz (grün) 10.32.1.1
  • Internet (BelWUE) 141.10.54.243

Im Einsatz sind

  • das HORDE-Framework
  • Cyrus/Postfix als MTA
    • /etc/cyrus.conf Cyrus-Konfiguration
    • /etc/postfix/main.cf Postfix-Konfiguration
    • /var/spool/cyrus/mail/ Hier liegen die eMails der User
    • /etc/sieve/ Hier liegen die Weiterleitungsscripte (cyrus-sieve, Horde-Ingo)

Anpassungen

TLS auf dem SMTP

Nach ​Anleitung mit Hintergrundinformation ​TLSReadme wurde dem SMTP TLS beigebracht:

#TLS Support
smtpd_tls_security_level = may
smtpd_tls_auth_only = no
smtp_use_tls = yes
smtpd_use_tls = yes
smtp_tls_note_starttls_offer = yes
smtpd_tls_key_file  = /etc/ssl/private/server.pem
smtpd_tls_cert_file = /etc/ssl/private/server.pem
smtpd_tls_CAfile    = /etc/ssl/private/ca.pem
smtpd_tls_loglevel = 1
smtpd_tls_received_header = yes
smtpd_tls_session_cache_timeout = 3600s
tls_random_source = dev:/dev/urandom

und getestet nach ​Heise. Das Zertifikat wird mit Let'sEncrypt alle drei Monate neu erzeugt, dir Dienste (auch Postfix) anschließend neu gestartet

Cyrus-SASL-Auth für den SMTP

Für das sichere Relaying darf der SMTP in den internen Netzen nicht einfach auf Port 25 offen sein - sonst könnte jede/r einfach beliebige eMails mit beliebigen Absendern losschicken.

Nach ​Anleitung vorgegangen, in /etc/postfix/main.cf eingefügt:

# SASL Auth
smtpd_sasl_auth_enable = yes
broken_sasl_auth_clients = yes
smtpd_sasl_security_options = noanonymous

smtpd_recipient_restrictions = permit_mynetworks, permit_sasl_authenticated, reject_unauth_destination
smtpd_client_restrictions =  permit_sasl_authenticated, permit_mynetworks
smtpd_helo_restrictions = reject_invalid_helo_hostname
smtpd_sender_restrictions = permit_sasl_authenticated, permit_mynetworks, reject_unlisted_sender, reject_unknown_sender_domain

disable_vrfy_command = yes

zwei kleinere Stolpersteine:

# alles was hier steht, wird kommentarlos akzeptiert
# deshalb darf hier nicht die Domain kg-fds.de stehen

mydestination = paedml.kg-fds.de, localhost

# Diese Netzwerke dürfen ohne Authentifikation senden
# da stehen unsere Server

mynetworks = 10.16.112.0/23 127.0.0.1

Aktuell wird kein TLS erzwungen (s.o.), es wird die Authentifizierung PLAIN LOGIN angeboten aber auch verlangt (noanonymous). Testen mit Thunderbird oder nach ​Anleitung. Auch die eMail-Systeme unserer Server und Clients müssen nun Verifizieren, damit sie einliefern dürfen. Für die Server kann laut ​Anleitung IP bezogen eine Ausnahme aufgenommen werden

Weiterleitungsscripte bearbeiten

Datei ingo.script unter /etc/sieve im Userverzeichnis bearbeiten

  /usr/lib/cyrus/bin/sievec ingo.script ingo.bc

Eine Mailbox reparieren

su cyrus
/usr/sbin/cyrreconstruct -rf user.username  

Die Mailboxen können mit dem Befehl

cyradm --user cyrus --server localhost

bearbeitet werden. Das Passwort von cyradmin steht in /etc/imap.secret. (cyrus ist der Admin des IMAP-Servers) Die wichtigsten Befehle sind dabei

  • lm - list mailboxes z.B. lm user.[Name].*
  • dm - delete mailbox
  • cm - create mailbox z.B. cm user.[Name].backup

Mailbox aus einem Backup wiederherstellen

  • Backup unter /var/backup/mail/ nach /var/spool/cyrus/[Buchstabe]/user/[Name]/ zurücksichern (tar -xzf [Filename]
  • /var/spool/cyrus/[Buchstabe]/user/[Name]/[Name] nach /var/spool/cyrus/[Buchstabe]/user/[Name]/backup umbenennen
  • chown cyrus.mail /var/spool/cyrus/[Buchstabe]/user/[Name]/backup -R
  • cyradm --user cyrus --server localhost cm user.[Name].backup lm user.[Name].* exit
  • su cyrus /usr/sbin/cyrreconstruct -rf user.[Name]

Admin-Programm aufrufen

cyradm localhost --user cyrus
Passwort aus /etc/cyrus.secret
help

Scripte in /usr/local/sbin/:

  • Einen mailalias herausfinden
    /root/scripte/mailalias.sh xyz.gmx.de
  • Ein überlaufendes Mailpostfach sichern und dann leeren
    /root/scripts/maildel.sh username

    Wiederherstellen einzelner Mails:
    • Sicherung unter /var/backup/mail suchen und entpacken (Unterverzeichnis wird automatisch erstellt)
    • Gewünschte Mails (das sind Dateien mit einer Nummer und einem Punkt) in das Spool-Verzeichnis des Users schieben (unter /var/spool/cyrus/mail)
    • Mailbox wie oben beschrieben reparieren (cyrusreconstruct)
  • Mailquota der User checken
    /root/scripts/mailquota.sh
    erzeugt die Datei /root/scripts/mailquota die vom php-Script /root/scripts/mailquota.php ausgewertet wird

Mailqueue

mailq

zeigt die Queue an

postsuper -d ALL

löscht alle festhängenden Mails des Queue

postqueue -f

liefert alles, was auf Halde liegt aus.

Note: See TracWiki for help on using the wiki.