Benutzer-Werkzeuge

Webseiten-Werkzeuge


infrastruktur:mailserver

Unterschiede

Hier werden die Unterschiede zwischen zwei Versionen gezeigt.

Link zu der Vergleichsansicht

Beide Seiten, vorherige Überarbeitung Vorherige Überarbeitung
Nächste Überarbeitung
Vorherige Überarbeitung
infrastruktur:mailserver [2020/12/23 17:53]
keno
infrastruktur:mailserver [2021/01/13 22:26] (aktuell)
keno
Zeile 12: Zeile 12:
 Um Emails von deinem Server verschicken und auf ihm empfangen zu können, brauchst du einen Mail Transfer Agent (MTA). In dieser Anleitung benutzen wir [[https://​www.exim.org/​|Exim]]. Exim ist auf Debian normalerweise vorinstalliert. Andernfalls kann es mit dem folgenden Befehl installiert werden. Um Emails von deinem Server verschicken und auf ihm empfangen zu können, brauchst du einen Mail Transfer Agent (MTA). In dieser Anleitung benutzen wir [[https://​www.exim.org/​|Exim]]. Exim ist auf Debian normalerweise vorinstalliert. Andernfalls kann es mit dem folgenden Befehl installiert werden.
  
-  # apt install ​exim+  # apt install ​exim4
  
 Debian kann über [[https://​wiki.debian.org/​debconf|debconf]] automatisch angepasste Konfigurationsdateien für Exim erstellen. Dies passiert entweder bei der Installation des Pakets oder nachträglich mit: Debian kann über [[https://​wiki.debian.org/​debconf|debconf]] automatisch angepasste Konfigurationsdateien für Exim erstellen. Dies passiert entweder bei der Installation des Pakets oder nachträglich mit:
Zeile 100: Zeile 100:
   # certbot certonly --standalone -d anarcode.berlin   # certbot certonly --standalone -d anarcode.berlin
  
-Statt //​anarcode.berlin//​ solltest du hier die Domain angeben, die du als MX Resource Record bei deinem Domain-Anbieter hinterlegt hast. Das generierte Zertifikat und den privaten Schlüssel müssen wir anschließend ​https://​en.wikipedia.org/​wiki/​Gone_to_Earth_(Barclay_James_Harvest_album)noch an die richtige Stelle für Exim kopieren und die korrekten Dateizugriffsrechte setzen. Das muss auch immer wiederholt werden, wenn das Zertifikat abgelaufen ist und in ///​etc/​letsencrypt/​live/​anarcode.berlin///​ die neuen Zertifikate liegen.+Statt //​anarcode.berlin//​ solltest du hier die Domain angeben, die du als MX Resource Record bei deinem Domain-Anbieter hinterlegt hast. Das generierte Zertifikat und den privaten Schlüssel müssen wir anschließend noch an die richtige Stelle für Exim kopieren und die korrekten Dateizugriffsrechte setzen. Das muss auch immer wiederholt werden, wenn das Zertifikat abgelaufen ist und in ///​etc/​letsencrypt/​live/​anarcode.berlin///​ die neuen Zertifikate liegen ​(//​anarcode.berlin//​ ist hier wieder mit der Domain aus dem MX Resource Record zu ersetzen).
  
-  # cp /​etc/​letsencrypt/​live/​fullchain.pem /​etc/​exim4/​exim.crt +  # cp /​etc/​letsencrypt/​live/​anarcode.berlin/​fullchain.pem /​etc/​exim4/​exim.crt 
-  # cp /etc/letsnecrypt/​live/​privkey.pem /​etc/​exim4/​exim.key+  # cp /etc/letsencrypt/live/​anarcode.berlin/​privkey.pem /​etc/​exim4/​exim.key
   # chown root:​Debian-exim /​etc/​exim4/​exim.crt /​etc/​exim4/​exim.key   # chown root:​Debian-exim /​etc/​exim4/​exim.crt /​etc/​exim4/​exim.key
  
 Anschließend muss in der Exim-Konfiguration noch die Benutzung von TLS aktiviert werden und die Konfiguration neu geladen werden. Anschließend muss in der Exim-Konfiguration noch die Benutzung von TLS aktiviert werden und die Konfiguration neu geladen werden.
  
-<​file ​bash /​etc/​defaut/​exim4>​+<​file ​txt /​etc/​defaut/​exim4>​
 ... ...
 SMTPLISTENEROPTIONS='​-oX 25:​587:​10025 -oP /​run/​exim4/​exim.pid'​ SMTPLISTENEROPTIONS='​-oX 25:​587:​10025 -oP /​run/​exim4/​exim.pid'​
 +...
 </​file>​ </​file>​
  
Zeile 117: Zeile 118:
   # systemctl restart exim4.service   # systemctl restart exim4.service
  
-Der Port 587 für SMTPS muss nun noch geöffnet werden. Wenn du die [[https://​wiki.debian.org/​Uncomplicated%20Firewall%20%28ufw%29|Uncomplitated Firewall (ufw)]] installiert hast, geht das mit.+Der Port 587 für SMTP mit STARTTLS ​muss nun noch geöffnet werden. Wenn du die [[https://​wiki.debian.org/​Uncomplicated%20Firewall%20%28ufw%29|Uncomplitated Firewall (ufw)]] installiert hast, geht das mit:
  
   # ufw allow 587/tcp   # ufw allow 587/tcp
 +
 +<WRAP box info round>
 +Exim unterstützt keine direkte TLS-Verbindung. Die Verbindung zu Port 587 muss erst unverschlüsselt aufgebaut werden und wird dann über STARTTLS verschlüsselt,​ bevor Nutzer*innendaten ausgetauscht werden.
 +</​WRAP>​
  
 ===== - Message Store und SMTP-Authentifizierung ===== ===== - Message Store und SMTP-Authentifizierung =====
Zeile 127: Zeile 132:
   # apt install dovecot-core dovecot-imapd   # apt install dovecot-core dovecot-imapd
  
-===== - Webclient ​mit Squirrelmail ​=====+Auch für Dovecot müssen wir unser TLS-Zertifikat zur Verfügung stellen, damit eine verschlüsselte Verbindung möglich ist. Anschließend müssen wir den Port 993 für IMAPS öffnen. 
 + 
 +  # rm /​etc/​dovecot/​private/​* 
 +  # ln -s /​etc/​letsencrypt/​live/​anarcode.berlin/​fullchain.pem /​etc/​dovecot/​private/​dovecot.pem 
 +  # ln -s /​etc/​letsencrypt/​live/​anarcode.berlin/​privkey.pem /​etc/​dovecot/​private/​dovecot.key 
 +  # systemctl restart dovecot 
 +  # ufw allow 993/tcp 
 + 
 +Nun müssen wir Dovecot noch so konfigurieren,​ dass es die Mails von da liest, wo Exim sie hinschreibt. 
 + 
 +<file txt /​etc/​dovecot/​conf.d/​10-mail.conf>​ 
 +... 
 +mail_location ​maildir:​~/​Maildir 
 +... 
 +</​file>​ 
 + 
 +Nun können Nutzer*innen über IMAP von ihren Computern auf die auf dem Server gespeicherten Emails zugreifen. Um vom eigenen Computer auch noch über SMTP Emails verschicken zu können, müssen wir in Exim die entsprechende Authentifizierungsmethode aktivieren. Dazu installieren wir zunächst [[wpde>​Simple_Authentication_and_Security_Layer|SASL]] und aktivieren es. 
 + 
 +  # apt install sasl2-bin 
 + 
 +<file txt /​etc/​default/​saslauthd>​ 
 +... 
 +START=yes 
 +... 
 +</​file>​ 
 + 
 +  # systemctl enable saslauthd 
 +  # systemctl start saslauthd 
 + 
 +In ///​etc/​exim4/​exim4.conf.template//​ fügen wir nun die folgenden Linien hinzu (sind schon als Kommentar in der Datei vorhanden und wir müssen nur die # am Anfang jeder Zeile entfernen):​ 
 + 
 +<file txt /​etc/​exim4/​exim4.conf.template>​ 
 +plain_saslauthd_server:​ 
 +  driver ​plaintext 
 +  public_name ​PLAIN 
 +  server_condition ​${if saslauthd{{$auth2}{$auth3}}{1}{0}} 
 +  server_set_id = $auth2 
 +  server_prompts = : 
 +  .ifndef AUTH_SERVER_ALLOW_NOTLS_PASSWORDS 
 +  server_advertise_condition = ${if eq{$tls_in_cipher}{}{}{*}} 
 +  .endif 
 +</​file>​ 
 + 
 +Schließlich müssen wir noch die Nutzer*in //Debian-exim// zur Gruppe //sasl// hinzufügen und die Exim-Konfiguration neu laden. 
 + 
 +  # usermod -aG sasl Debian-exim 
 +  # update-exim4.conf 
 +  # systemctl restart exim4.service 
 + 
 +Damit sind wir mit diesem Abschnitt fertig. Alle Nutzer*innen des Debian-Systems sollten nun mit ihren normalen Zugangsdaten von ihren Computern aus Emails verschicken und empfangen können. Dazu können sie IMAP mit TLS auf Port 993 und SMTP mit STARTTLS auf Port 587 benutzen. Die Authentifizierungsmethode ist PLAIN, der anzugebende Nutzer*inname ist der, den die Nutzer*in auch auf dem Debian-Server hat. 
 + 
 +===== - Email-Nutzer*innen ohne Zugriff auf den Server ===== 
 + 
 +Mit den folgenden Befehlen kann eine Nutzer*in mit dem Namen //anna// hinzugefügt werden, die einen Mailaccount benutzen kann, sich allerdings im Server nicht einloggen kann (bspw. per SSH): 
 + 
 +  # useradd --create-home anna 
 +  # passwd anna 
 +  # usermod -s /​usr/​sbin/​nologin anna 
 + 
 +Der Account von //anna// ist dann also ein reiner Email-Account.
infrastruktur/mailserver.1608742416.txt.gz · Zuletzt geändert: 2020/12/23 17:53 von keno