Benutzer-Werkzeuge

Webseiten-Werkzeuge


mailserver

Unterschiede

Hier werden die Unterschiede zwischen zwei Versionen angezeigt.

Link zu dieser Vergleichsansicht

Beide Seiten der vorigen RevisionVorhergehende Überarbeitung
Nächste Überarbeitung
Vorhergehende Überarbeitung
mailserver [19.12.2023 14:15] – [Tests] thoogemailserver [17.10.2024 09:08] (aktuell) – [Spamassassin] thooge
Zeile 4: Zeile 4:
  
 Hinweise zur Installation eines Servers sind zu finden unter: https://wiki.pinneberg.freifunk.net/mail Hinweise zur Installation eines Servers sind zu finden unter: https://wiki.pinneberg.freifunk.net/mail
 +
 +  * [[Postfix]]
 +  * [[Dovecot]]
 +  * [[Sieve]]
 +===== OpenDKIM =====
 +
 +Public Key Verfahren
 +
 +  * Schlüsselpaar wird auf dem eigenen Mailserver erstellt
 +  * Ausgehende Mails werden signiert mit dem privaten Schlüssel
 +  * der öffentliche Schlüssel wird im DNS veröffentlicht
 +
 +Vorarbeiten
 +<code>
 +apt-get install opendkim opendkim-tools
 +mkdir /etc/opendkim
 +chmod 750 /etc/opendkim
 +chown opendkim:opendkim /etc/opendkim
 +mkdir /etc/opendkim/keys
 +chmod 700 /etc/opendkim/keys
 +chown opendkim:opendkim /etc/opendkim/keys
 +</code>
 +
 +Schlüssel erstellen
 +<code>
 +cd /etc/opendkim/keys
 +opendkim-genkey -d example.com -b 2048 -r -s 202410
 +</code>
 +
 +Tabellen anlegen
 +<code>
 +cd /etc/opendkim
 +touch trusted key.table signing.table
 +chmod 640 trusted key.table signing.table
 +</code>
 +
 +DNS-Server: Zonendatei anpassen
 +  youselector._domainkey.yourdomain.com yourdomain.com:selector:/etc/opendkim/keys/domain.private
 +
 +
 +Postfix-Integration
 +
 +opendkim-Socket innerhalb des Postfix-Jails sollte oben schon geschehen sein.
 +
 +<code>
 +adduser postfix opendkim
 +mkdir -m o-rwx /var/spool/postfix/opendkim
 +chown opendkim: /var/spool/postfix/opendkim
 +</code>
 +
 +<file conf main.cf>
 +smtpd_milters = unix:opendkim/opendkim.sock
 +milter_default_action = accept
 +</file>
 +===== Zustellung =====
 +
 +Im Standard wird die Zustellung von Mails mit von Postfix übernommen
 +  mailbox_command =
 +
 +Um erweiterte Funktionen wie z.B. Indexerstellung bei Zustelling, Filterregeln mit Sieve und Quota-Beachtung zu erhalten, kann der Dovecot-Delivery-Agent verwendet werden.
 +  mailbox_command = /usr/lib/dovecot/dovecot-lda -f "$SENDER" -a "$RECIPIENT"
 +
 +===== Greylisting =====
 +Es wird ''postgrey'' mit Socket verwendet, weil dieser weniger Overhead hat als den ganzen IP-Stack auf localhost. Siehe https://postgrey.schweikert.ch/.
 +
 +  * Socket konfigurieren und lokale Whitelist vorbereiten<file conf /etc/default/postgrey>
 +POSTGREY_OPTS="--unix=/var/spool/postfix/postgrey/socket --whitelist-clients=/etc/postgrey/whitelist_clients.local"
 +</file>
 +  * Lokale Whitelist vorbereiten, hier können vom Greylisting ausgenomme //Absender// eingetragen werden. Insbesondere die lokalen Netzwerke werden hier eingetragen<file conf /etc/postgrey/whitelist_clients.local>
 +# Local Whitelist
 +192.168.201.0/24
 +</file>
 +  * Whitelist für //Empfänger// konfigurieren. Hier nehmen wir die lokalen Netzwerke aus, sowie die Postmaster- und Abuse-Adressen . Bei Bedarf können weitere Adressen eingetragen werden.<file conf /etc/postgrey/whitelist_recipients>
 +postmaster@
 +abuse@
 +</file>
 +  * Socketumgebung vorbereiten<code>
 +mkdir /var/spool/postfix/postgrey
 +chown postfix:postgrey /var/spool/postfix/postgrey
 +chmod 770 /var/spool/postfix/postgrey
 +</code>
 +  * postgrey neu starten, damit der Socket aktiviert wird<code>
 +/etc/init.d/postgrey restart
 +</code>
 +  * Zeile in Postfix-Konfigurationsdatei einfügen<file conf /etc/postfix/main.cf>
 +smtpd_recipient_restrictions
 +    |...]
 +    check_policy_service unix:postgrey/socket
 +</file>
 +  * Postfix veranlassen, die Konfiguration neu zu laden<code>
 +/etc/init.d/postfix reload
 +</code>
  
 ===== Filter ===== ===== Filter =====
  
 Filterregeln können mit Sieve verarbeitet werden. Sieve kommt als  Filterregeln können mit Sieve verarbeitet werden. Sieve kommt als 
-Erweiterung zu Dovecot. Wird die Mailzustellung von Postfix aus über +Erweiterung zu [[Dovecot]]. Wird die Mailzustellung von [[Postfix]] aus über 
 ''dovecot-lda'' durchgeführt, kann Sieve in der zugehörigen Konfigurationsdatei ''dovecot-lda'' durchgeführt, kann Sieve in der zugehörigen Konfigurationsdatei
 ''15-lda.conf'' aktiviert werden. ''15-lda.conf'' aktiviert werden.
Zeile 22: Zeile 114:
 Mit Managesieve können die Filterregeln in Roundcube über das gleichnamige  Mit Managesieve können die Filterregeln in Roundcube über das gleichnamige 
 Plugin verwaltet werden. Damit ist alles hübsch integriert. Plugin verwaltet werden. Damit ist alles hübsch integriert.
 +
 +Spezielle Konfigurationsoptionen können in ''90-sieve.conf'' vorgenommen werden.
 +Im einfachsten Fall ist Sieve aber ohne dortige Konfiguration funktionsfähig.
 +
  
  
Zeile 37: Zeile 133:
 ===== Spamassassin ===== ===== Spamassassin =====
  
-Konfiguration in ''/etc/spamassassin/local.cf''+Die Konfiguration in ''/etc/spamassassin/local.cf''
 +Aktivierung des Cron-Jobs für Regelaktualisierung über ''/etc/default/spamassassim''
 +Konfiguration für ''spamd'' über ''/etc/default/spamd''
 + 
 +Spamassassin erpfiehlt einen lokalen DNS-Resolver wie z.B. ''unbound'': 
 +  apt-get install unbound 
 +Den resolver in ''/etc/resolv.conf'' aktivieren. 
 + 
 +<file conf /etc/default/spamassassin> 
 +CRON=1 
 +</file> 
 + 
 +<file conf /etc/default/spamd> 
 +OPTIONS="--create-prefs --max-children 5 --helper-home-dir --username debian-spamd --groupname debian-spamd" 
 +</file> 
 + 
 +<file conf /etc/spamassassin/local.cf> 
 +dns_available yes 
 +rewrite_header Subject *****SPAM***** 
 +</file>
  
 Aktivierung über die Transportkonfiguration von Postfix in ''master.cf''. Aktivierung über die Transportkonfiguration von Postfix in ''master.cf''.
 Z.B.: Z.B.:
 <code> <code>
 +smtp      inet  n                               smtpd
 +  -o content_filter=spamassassin
 +[...]
 spamassassin unix -                             pipe spamassassin unix -                             pipe
   user=debian-spamd argv=/usr/bin/spamc -f -e /usr/sbin/sendmail -oi -f ${sender} ${recipient}   user=debian-spamd argv=/usr/bin/spamc -f -e /usr/sbin/sendmail -oi -f ${sender} ${recipient}
Zeile 75: Zeile 193:
 </code> </code>
   * Einstellungen in der Konfigurationsdatei ''config.inc.php'' vornehmen   * Einstellungen in der Konfigurationsdatei ''config.inc.php'' vornehmen
-    * ''$config['smtp_log'] = false;'', Datensparsamkeit, ''logs/sendmail'' soll nicht geschrieben werden+    * ''$config['smtp_log'] = false;'', Datensparsamkeit, ''logs/smtp.log'' soll nicht geschrieben werden
  
  
Zeile 98: Zeile 216:
   chown -R 0 roundcubemail   chown -R 0 roundcubemail
   chgrp -R www-data roundcubemail   chgrp -R www-data roundcubemail
 +  chmod -R g-w roundcubemail
 +
 +  cd roundcubemail
 +  chmod g+w temp logs
 +  chmod g+w plugins/enigma/home
  
 Plugin Enigma: Das Verzeichnis ''home'' muß für die Gruppe ''www-data'' beschreibbar sein. Plugin Enigma: Das Verzeichnis ''home'' muß für die Gruppe ''www-data'' beschreibbar sein.
  
 Hinweise sind auch im ausgepacken Archiv in ''UPDATING'' vorhanden. Hinweise sind auch im ausgepacken Archiv in ''UPDATING'' vorhanden.
 +
 +==== Migration ====
 +
 +Roundcube-DB: Benutzer nach ID entfernen
 +
 +ID herausfinden
 +<code sql>
 +select user_id, username, mail_host, created from users;
 +</code>
 +
 +Löschen
 +<code sql>
 +delete from users where user_id=4;
 +</code>
 +
 +Detailtabellen sind über Constraints verknüpft und werden somit
 +automatisch bereinigt
  
 ==== Kalender ==== ==== Kalender ====
mailserver.1702995341.txt.gz · Zuletzt geändert: 19.12.2023 14:15 von thooge

Donate Powered by PHP Valid HTML5 Valid CSS Driven by DokuWiki