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