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 17 (modified by bau, 4 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

disable_vrfy_command = yes

zwei kleinere Stolpersteine:

# Diese Netzwerke dürfen ohne Authentifikation senden
# in 10.16.112.X stehen unsere Server

mynetworks = 10.16.112.0/23 127.0.0.1

# Clients werden ansonsten rausgeblockt
# außer sie stehen in der /etc/postfix/check_clients

smtpd_client_restrictions =  permit_sasl_authenticated, permit_mynetworks check_client_access hash:/etc/postfix/client_checks, reject


#damit wuerden Empfaenger geblockt
#smtpd_recipient_restrictions = permit_mynetworks, permit_sasl_authenticated, reject_unauth_destination
#damit wuerden Sender geblockt
#smtpd_sender_restrictions = permit_sasl_authenticated, permit_mynetworks, reject_unlisted_sender, reject_unknown_sender_domain

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
    
    Passwort aus /etc/imap.secret
  • su cyrus
    /usr/sbin/cyrreconstruct -rf user.[Name]

einzelne Mails in einem Unterordner wiederherstellen

Es können auch nur einzelne Mails wiederhergestellt werden. Dazu z.B. das Backup irgendwo entpacken. Die Mails sind Dateien mit einfachen Nummern, die können irgendwohin kopiert werden.

  • Ordner als User in dessen Account anlegen:
    cyradm --user cyrus --server localhost
    cm user.[Name].Backup
    
  • Files dorthin kopieren (Achtung: Müssen dem User cyrus.mail gehören)
  • /usr/sbin/cyrreconstruct -rf user.username

Quota anzeigen / anpassen

cyradm localhost --user cyrus
# Passwort aus /etc/imap.secret

listquota user.[NAME]

/usr/lib/cyrus/bin/quota user.wangyiwen

# Quota fixen
/usr/lib/cyrus/bin/quota -f user.wangyiwen

# Quota auf 160MB erhöhen
setquota user.[NAME] 160000

Admin-Programm aufrufen

cyradm localhost --user cyrus
#Passwort aus /etc/imap.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.