| Version 17 (modified by , 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.