GNU/Linux >> LINUX-Kenntnisse >  >> Debian

So installieren Sie einen E-Mail-Server mit ISPConfig unter Debian 10

Dieses Tutorial verwendet als Beispiel eine Konfiguration mit einem einzelnen Server. ISPConfig 3.1 ist auf Debian 10.0, Buster installiert (siehe ISPConfig Perfect Server Installationsanleitung für die eigentliche Serverinstallation), der Zweck dieser Anleitung ist es, Ihnen die Schritte zu zeigen, nachdem Sie den ersten Server installiert haben, um ein funktionierendes Mailsystem für Ihr eigenes einzurichten Domänenname. Ich habe ISPConfig während des Testens dieses Tutorials auf 3.1.15 aktualisiert.

Was benötigt wird

Um dieses Tutorial erfolgreich für einen ordnungsgemäß funktionierenden E-Mail-Server zu verwenden, benötigen Sie

  • ein Host, auf dem Sie ISPConfig (und ein Betriebssystem) installieren
  • Ich empfehle 2 GB Speicher mit 4 GB Swap, sollte für den Mailserver ausreichen.
  • Der Host muss eine Internetverbindung mit Port 25 haben, der in beide Richtungen offen ist
  • Host hat eine feste IP-Adresse
  • Host muss einen A-Eintrag für seine IP-Adresse haben (oder AAAA, wenn IPv6 verwendet wird)
  • Sie müssen einen MX-Eintrag für den DNS-Namensdienst für den Host erstellen
  • Sie müssen einen Host-Reverse-DNS-Namensdienst-PTR-Eintrag erhalten, der mit dem Host-FQDN übereinstimmt

Der Speicherbedarf ist für SPAM-Filter. Sie können mit 1 GB Arbeitsspeicher auch bei laufenden SPAM-Filtern auskommen, wenn der 4-GB-Auslagerungsspeicher vorhanden ist, um Speichermangelsituationen zu vermeiden.

Ports öffnen

Der Mailserver muss Port 25 sowohl eingehend als auch ausgehend geöffnet haben. Stellen Sie sicher, dass Ihr Host diesen Port geöffnet hat, bevor Sie den E-Mail-Server auf diesem Host einrichten.

Es gibt Möglichkeiten, E-Mail auch dann zum Laufen zu bringen, wenn Port 25 nicht geöffnet ist, aber es beinhaltet das Versenden von E-Mails über einen anderen Host, der das tut Port 25 offen haben. Es kann sinnvoller sein, den E-Mail-Server auf diesem anderen Host zu installieren und den ersten vollständig zu vergessen, was E-Mail betrifft.

DNS Name Service-Einträge

Der Mailserver benötigt einen FQDN, einen vollständig qualifizierten Domänennamen (Lesen Sie darüber in Wikipedia:FQDN). In diesem Beispiel lautet der Domainname taleman.ovh . Um zu zeigen, dass der Hostname des Mailservers nicht mail sein muss, verwenden wir posti als Hostname. Der FQDN ist also posti.taleman.ovh .

Dieser Host ist auf dem System eines Dienstanbieters installiert, er bietet die Registrierung von Domains, Namensdienste und Reverse-Namensdienste an. Die habe ich verwendet.

IP-Adresse ist 178.33.154.66. Ich habe Folgendes getan:

  • die Domain taleman.ovh registriert
  • diese IP-Adresse als A-Eintrag zum DNS-Namensdienst mit dem Namen posti.taleman.ovh hinzugefügt
  • MX-Eintrag für Domain taleman.ovh mit Wert posti.taleman.ovh hinzugefügt
  • Reverse-Name-Service-PTR-Eintrag für diese IP-Adresse hinzugefügt, der auf posti.taleman.ovh verweist

Der MX-Eintrag wird für die E-Mail-Domäne erstellt. Also erstelle ich es für taleman.ovh und es verweist auf posti.taleman.ovh, den E-Mail-Server, der E-Mails für diese Domain empfängt.

Umgekehrter Namensdienst

Lesen Sie mehr über Reverse Name Service im Name Service Tutorial. In diesem Beispielfall muss der Reverse Name Service posti.taleman.ovh.

zurückgeben

Mein Dienstanbieter überprüfte das Vorhandensein eines A-Eintrags, bevor das Hinzufügen des entsprechenden PTR möglich war. Ich hatte ein kleines Problem, bevor ich herausfand, dass das Hinzufügen deshalb fehlgeschlagen ist.

Namensdienst testen

Testen Sie den Namensdienst besser jetzt, da das Senden und Empfangen von E-Mails nicht funktioniert, wenn der Namensdienst nicht richtig eingerichtet ist. Wenn Ihre Workstation Windows anstelle von Linux oder Unix ist, verwenden Sie den Befehl nslookup anstelle von host.

$ Host taleman.ovh
taleman.ovh hat die Adresse 188.165.143.5
taleman.ovh Mail wird von 10 posti.taleman.ovh verwaltet.

Das obige Ergebnis zeigt, dass dem Domänennamen eine IP-Nummer zugeordnet ist (die sich in diesem Fall von der IP-Nummer des E-Mail-Servers unterscheidet, aber E-Mails nicht betrifft), und dass es einen MX-Eintrag gibt, der darauf verweist posti.taleman.ovh. Der Teil „Mail wird bearbeitet von“ stammt aus dem MX-Eintrag. Dieser MX-Eintrag wird benötigt, wenn E-Mails, die an @taleman.ovh-Adressen gesendet werden, auf posti.taleman.ovh empfangen werden sollen.

Überprüfen Sie dann, ob der Name-Service-Eintrag für den Mailserver-FQDN (in diesem Fall posti.taleman.fi) ein A-Eintrag ist und auf die richtige IP-Nummer verweist.

$ dig posti.taleman.ovh |grep "ANTWORTABSCHNITT" --after-context=3 
;; ANTWORTTEIL:
posti.taleman.ovh. 3600 IN A 178.33.154.66
;; Abfragezeit:56 ms

Prüfen Sie abschließend, ob der Reverse Name Service die IP-Nummer wieder in den FQDN des Mailservers auflöst.

$ host 178.33.154.66
66.154.33.178.in-addr.arpa Domänennamenzeiger posti.taleman.ovh.

Anstelle der Befehle host und dig können Sie Webseiten verwenden, die den Namensdienst testen. Ich kenne intoDNS und MXToolbox.

Wenn Sie die obigen Tests nicht zum Erfolg führen können, können Sie dieses Tutorial zum Einrichten des Namensdienstes ausprobieren.

Betriebssystem installieren

Ich verwende Debian Version 10 Buster, also folge ich diesem Tutorial:

https://www.howtoforge.com/tutorial/debian-10-buster-minimal-server/

Ersetzen Sie die IP-Nummer, den Hostnamen und den Domänennamen durch Ihre Werte.

Da ich dieses Tutorial auf Englisch schreibe, habe ich Englisch als Sprache gewählt, aber Finnland als Land und United_Kingdom en_GB.UTF-8 als Gebietsschema.

[E-Mail-geschützt]:/tmp# cat /etc/debian_version 10.0
[email protected]:~# locale
LANG=en_GB.UTF-8
LANGUAGE=en_GB:en
LC_CTYPE="en_GB.UTF-8"
LC_NUMERIC="en_GB.UTF-8"
LC_TIME="en_GB.UTF-8"
LC_COLLATE="en_GB.UTF-8"
LC_MONETARY="en_GB.UTF-8"
LC_MESSAGES="en_GB.UTF-8"
LC_PAPER="en_GB.UTF-8"
LC_NAME="en_GB.UTF-8"
LC_ADDRESS="en_GB.UTF-8"
LC_TELEPHONE="en_GB.UTF-8"
LC_MEASUREMENT="en_GB.UTF-8"
LC_IDENTIFICATION="en_GB.UTF-8"
LC_ALL=
[E-Mail geschützt ]:~# cat /etc/timezone
Europe/Helsinki

Vergewissern Sie sich, dass Sie den Hostnamen richtig eingerichtet haben. Die Mailsystemkonfiguration, die ISPConfig durchführt, wird nicht funktionieren, wenn der Hostname falsch ist.

[E-Mail-geschützt]:~# Hostname posti
[E-Mail-geschützt]:~# Hostname -f posti.taleman.ovh
[E-Mail-geschützt]:~#

Installation von ISPConfig

Ich entscheide mich, Apache als Webserver zu installieren, also folge ich für Debian Buster diesem Perfect Server Guide.

Ich habe openssh-server auf dem Host installiert und die Root-Anmeldung mit dem SSH-Schlüssel eingerichtet, sodass ich direkt als Root auf den Host zugreifen kann. Passwortlose Anmeldungen mit OpenSSH oder sichere passwortlose Anmeldungen mit SSH.

[email protected]:/tmp# free -h

Ich bevorzuge Editoren im Emacs-Stil gegenüber Nano, also installiere ich jetzt jed, um das Bearbeiten von Dateien angenehmer zu machen.

Ich hatte /etc/host und /etc/hostname nach der Installation des Betriebssystems korrekt eingerichtet, also habe ich gerade überprüft, ob sie korrekt waren, indem ich dem Perfect Server Guide folgte. Achten Sie auf den Hostnamen und den FQDN, wenn Sie diese durcheinander bringen, werden Sie am Ende feststellen, dass Ihr E-Mail-Server nicht funktioniert. Der Schaden kann repariert werden, aber es ist einfacher, ihn von Anfang an zu beheben.

[E-Mail-geschützt]:/tmp# Hostname
posti
[E-Mail-geschützt]:/tmp# Hostname -f
posti.taleman.ovh

Für den Rest folge ich einfach dem Perfect Server Guide. Beachten Sie, dass Sie die Befehle aus der Anleitung meist ausschneiden und in die Befehlszeile einfügen können.

Ich habe Mailman nicht installiert, ich habe nicht vor, Mailman auf diesem Host zu verwenden. Ebenso habe ich auf die Installation von BIND DNS Server, Webalizer, AWStats verzichtet. Ich habe Roundcube Webmail installiert, da dieser Host ein E-Mail-Server wird.

In Kapitel 18 (Installieren des PHPMyAdmin-Datenbankverwaltungstools) habe ich den Befehl

verwendet
/usr/bin/apg -m 32 -x 32

um das 32 Zeichen lange Blowfish-Secret zu generieren.

System wird verwendet

E-Mail-Domain und Postfächer erstellen

Jetzt melde ich mich als Admin bei ISPConfig an und

  • Neuen Kunden hinzufügen
  • Fügen Sie eine neue Domain hinzu (E-Mail-Domain!) und füllen Sie das Formular aus
  • Neues Postfach hinzufügen

Erstellen Sie die DKIM-Schlüssel und nehmen Sie sie auf, indem Sie auf die Schaltflächen in der im Bild nummerierten Reihenfolge klicken. Informationen zu DKIM finden Sie in Wikipedia.

Abbildung 1:Mail-Domain erstellen

Warten Sie dann zwei Minuten oder bis die rote Kugel mit der Nummer im oberen Teil des ISPConfig-Panels verschwindet.

Melden Sie sich als ersten Test mit dem oben erstellten Postfach bei Roundcube Webmail an und senden Sie eine E-Mail an dieselbe Adresse. ISPConfig sendet eine Willkommensnachricht an jedes erstellte Postfach, daher sollte dort bereits eine Nachricht vorhanden sein. Verwenden Sie die Schaltfläche „Verfassen“ und schreiben Sie eine kurze Testnachricht.

Abbildung 2:Roundcube-Webmail

Abbildung 3:Senden von Roundcube

Die Nachricht sollte bald im Postfach erscheinen.

Testen Sie dann eine E-Mail an ein anderes Postfach, das Sie haben, und können Sie überprüfen, ob die E-Mail dort ankommt. Als nächstes kannst du Test von woanders an das oben erstellte Postfach schicken.

Beachten Sie, dass wenn Sie Greylisting für das Postfach aktiviert haben, die E-Mail, die von außerhalb Ihres Servers gesendet wird, nicht sofort im Postfach ankommt. Sie sollten jedoch sofort im E-Mail-Protokoll Einträge der versuchten Zustellung sehen, damit Sie sehen können, dass die E-Mail Ihren Server erreichen kann. Der Greylisting-Eintrag in der Datei /var/log/mail.log sieht ungefähr so ​​aus:

29. August 19:08:42 posti postfix/smtpd[16911]:NOQUEUE:ablehnen:RCPT von mta-out1.inet.fi[62.71.2.194]:450 4.2.0 <[email protected]>:Recipient address abgelehnt:Greylisted, siehe http://postgrey.schweikert.ch/help/taleman.ovh.html; from=<****@*****.***> to=<[email protected]> proto=ESMTP helo=<******.****.***> 

Sie können das E-Mail-Protokoll beispielsweise in einem Terminalfenster wie diesem überwachen:

tail -f /var/log/mail.log

Oder verwenden Sie diese Befehle, wenn Sie nur an den Greylisting-Einträgen interessiert sind:

tail -f /var/log/mail.log | grep Auf der Greylist

oder

grep auf der grauen Liste /var/log/mail.log

Greylisting verzögert nur die erste E-Mail vom gleichen Absender an den gleichen Empfänger. Sobald diese erste E-Mail empfangen wurde, kommen die folgenden E-Mails ohne zusätzliche Verzögerung an.

Bei mir hat alles auf Anhieb funktioniert. Das zeigt, dass der ISPConfig Perfect Server Guide wirklich funktioniert.

E-Mail-Client verbinden

Verwendung von Thunderbird als Beispiel-Mail-Client. Andere E-Mail-Client-Anwendungen funktionieren ähnlich.

ISPConfig macht aus dem Kontonamen die E-Mail-Adresse.

Abbildung 4:Thunderbird-Kontoeinstellungen

Abbildung 5:Thunderbird-Servereinstellungen

Verbindungssicherheit STARTTLS bedeutet, dass die Verbindung ungeschützt startet und dann auf verschlüsselt umschaltet, wenn beide Seiten die Verschlüsselung unterstützen. SSL/TSL bedeutet, dass die Sitzung von Anfang an verschlüsselt ist. SSL/TSL ist wahrscheinlich etwas sicherer, also versuchen Sie, ob Ihr Client damit funktioniert.

Abbildung 6:Ausgangsservereinstellungen von Thunderbird

SPF verwenden

Lesen Sie mehr über Sender Policy Framework von Wikipedia. Ursprünglich stand SPF für Sender Permitted From, was schön ist, sich daran zu erinnern, was es bedeutet. Nachdem Sie etwas über SPF gelesen haben, können Sie den Eintrag selbst erstellen, prüfen, ob Ihr Name-Service-Provider einen SPF-Eintrag generieren kann, oder Internet-Suchmaschinen mit

verwenden
SPF-Assistent

Finden Sie eine Website, die den SPF-Namensdiensteintrag für Sie erstellt. Schneiden Sie dann den Eintrag aus und fügen Sie ihn in Ihren Namensdienst ein. Fügen Sie einen TXT-Eintrag hinzu, oder fügen Sie vielleicht auf einem DNS-System einen SPF-Eintrag hinzu.

Überprüfen Sie, wie der SPF im Namensdienst aussieht, wie hier

$ dig taleman.ovh -t TXT | grep spf
taleman.ovh. 3000 IN TXT "v=spf1 mx ~all"

Oder so:

$ dig +short taleman.ovh TXT
"v=spf1 mx ~all"
"1|www.taleman.ovh"

Verwendung von DKIM

Lesen Sie mehr über DomainKeys Identified Mail von Wikipedia. ISPConfig hat die DKIM-Schlüssel beim Erstellen der E-Mail-Domäne für Sie erstellt (wenn Sie daran gedacht haben, das DKIM-Kästchen anzukreuzen). Schneiden Sie den öffentlichen DNS-Eintrag aus und fügen Sie ihn ein Schlüssel zu Ihrem Namensdienst als TXT-Eintrag. Ihr Name-Service-Provider bietet möglicherweise ein Tool an, um das Erstellen von DKIM-Einträgen zu vereinfachen. Halten Sie den privaten DKIM-Schlüssel geheim.

Überprüfen Sie, wie das DKIM im Namensdienst aussieht, wie folgt:

$ host -t txt default._domainkey.taleman.ovh.
default._domainkey.taleman.ovh beschreibender Text "v=DKIM1;h=sha256;s=*;p=MIIB(I cut long string kürzer)0rp" "sTGLXyK(kürzer schneiden)B;t=s;"

Wenn ISPConfig die DKIM-Schlüssel erstellt hat, wird der private Schlüssel an die richtige Stelle in den Amavis-Einstellungen kopiert.

Es gibt eine Website mail-tester.com, die nützlich ist, um zu überprüfen, ob SPF und DKIM funktionieren. Gehen Sie zu dieser Website, sie gibt eine E-Mail-Adresse an und Sie senden eine E-Mail von Ihrem Server dorthin. Warten Sie dann eine Minute und überprüfen Sie die Website erneut.

Zertifikate erstellen

ISPConfig kann selbst signierte Zertifikate erstellen, diese werden während der Installation von ISPConfig erstellt, es sei denn, Sie haben sich gegen die Erstellung entschieden. Selbst wenn Sie diese selbstsignierten Zertifikate erstellt haben, ist es eine gute Idee, geeignete Zertifikate zu erstellen, denen Browser, E-Mail-Programme und andere E-Mail-Server vertrauen.

Es gibt ein tolles Tutorial:Securing ISPConfig with a free Let's Encrypt SSL Certificate

Nach diesem Tutorial bemerkte ich, dass die erstellte Website die Debian-Standardwebseite zeigte, bis ich das LE-Zertifikat für die Website erstellte. Auch ISPConfig Panel war wackelig, ich glaube, weil es das selbstsignierte Zertifikat hatte und jetzt dieses neue Zertifikat oder überhaupt kein Zertifikat. Durch Aktualisieren der Seiten im Browser wurde dies behoben.

Wenn Zertifikate eingerichtet sind, geben Sie die https-Adresse des Servers im Browser ein. Wenn Sie mit einer anderen Maustaste auf das Symbol links neben der Adressleiste des Browsers klicken, werden Informationen über das Zertifikat angezeigt.

Gehen Sie zur Registerkarte ISPConfig Panel System, Interface Main Config und Mail. Dort gesetzt

SSL/TLS-verschlüsselte Verbindung für SMTP verwenden

zu SSL.

Weitere Tests des Zertifikats sind mit Tools auf Websites möglich, verwenden Sie Internet-Suchmaschinen mit

SSL-Test

als Suchwörter. Diese Tools testen normalerweise die Website, beim Testen von Zertifikaten, die der E-Mail-Server hat, suchen Sie mit

SSL-Test-Mailserver

ISPConfig Roundcube-Plugins

Diese Plugins sind nützlich für Webmail-Benutzer. Sie ermöglichen beispielsweise das Ändern des E-Mail-Passworts in Roundcube. Einige andere Einstellungen können auch in Roundcube geändert werden. Sie können alle im ISPConfig-Bedienfeld geändert werden, aber einige E-Mail-Benutzer möchten das Bedienfeld möglicherweise nicht verwenden.

Ich habe ISPConfig Rouncube Plugins mit Tutorial ISPConfig 3 Roundcube Plugin auf Debian 9 installiert. Tutorial funktionierte genau auf Debian 10 Buster, außer dass jetzt ispconfig3_account/config/config.inc.php eine weitere Zeile hat:

$config['soap_validate_cert'] =true;

Dies kann beim Wert true bleiben, da das Zertifikat im vorherigen Kapitel dieses Tutorials ordnungsgemäß eingerichtet und getestet wurde. Wenn der Host jedoch kein gültiges Zertifikat hat, ändern Sie diese Einstellung auf „false“.

Ich hatte ein Problem. Bei einigen Elementen im Kontobereich wurde eine Fehlermeldung angezeigt

Ein Fehler ist aufgetreten.Soap-Fehler:Die Anmeldung ist von 
nicht erlaubt

Ich habe dies gelöst, indem ich Remote Access aktiviert und posti.taleman.ovh für diesen rcmail-remote-Benutzer geschrieben habe, den ich nach dem Tutorial erstellt habe. Sieht so aus, als ob das Tutorial falsch ist, wenn "Remote Access" nicht aktiviert werden muss. Jetzt scheint es mir, dass es sowohl für Einzelserver-Setups als auch für ISPConfig-Multiserver-Setups mit einem separaten E-Mail-Server benötigt wird.

Weitere Verwendung

Jetzt können Sie eine weitere E-Mail-Domäne erstellen. Denken Sie daran, einen MX-Eintrag für diese Domain zu erstellen und ihn auf Ihren E-Mail-Server zu verweisen. Sie können für alle von Ihnen erstellten E-Mail-Domänen denselben E-Mail-Server verwenden. Dies wird normalerweise so gemacht, da es eine ziemliche Verschwendung wäre, für jede E-Mail-Domäne einen separaten E-Mail-Server zu erstellen.

Fehlerbehebung

Nach diesem Tutorial funktioniert mein frisch eingerichteter E-Mail-Server. Wenn Ihres nicht funktioniert, überprüfen Sie, ob Sie dieses Tutorial befolgt und einige Schritte nicht übersprungen haben.

Das Lesen des Forums hat gezeigt, dass häufige Ursachen für einen nicht funktionierenden E-Mail-Server falsche Einstellungen für Hostname und Hostname -f und/oder Fehler in der Datei /etc/postfix/main.cf sind.

Wenn Sie Probleme mit dem DNS-Namensdienst vermuten, überprüfen Sie diese mit DNS mit ISPConfig -tutorial. Es gibt Website-Tools, die DNS überprüfen, wie intodns.com, dnschecker.com, mxtoolbox.com.

Wenn E-Mails nicht empfangen oder nicht gesendet werden, übernimmt Postfix diese Funktionen und sie werden in /var/log/mail.log protokolliert. Tun Sie das auch

tail -f /var/log/mail.log | grep postfix, um zu sehen, was passiert, wenn E-Mails empfangen oder gesendet werden.

Wenn Sie Probleme haben, sich mit einem E-Mail-Client (z. B. Thunderbird) zu verbinden, verwenden Sie dies, um zu sehen, was passiert:

tail -f /var/log/mail.log | grep Taubenschlag

Falls eine bestimmte E-Mail problematisch ist, können Sie die Mail-Log-Einträge anhand der ID dieser E-Mail finden. Zum Beispiel:

23. September 14:19:34 nach postfix/smtps/smtpd[10260]:A9F2880C76:client=dsl-tkubng21-58c1ce-191.dhcp.inet.fi[99.99.99.99],sasl_method=PLAIN, [email protected ]

Die ID für diese E-Mail lautet A9F2880C76. Protokolleinträge für diese E-Mail finden Sie mit

# grep A9F2880C76 /var/log/mail.log

Der Befehl mailq zeigt E-Mails an, die sich in der Postfix Deferred Queue befinden. Das sind die E-Mails, die noch nicht zugestellt wurden. Es ist normal, dass dort einige aktuelle Einträge vorhanden sind, E-Mails können nicht immer sofort zugestellt werden. Sie können den Inhalt dieser E-Mails mithilfe der Warteschlangen-ID wie folgt anzeigen:

# postcat /var/spool/postfix/deferred/A/A9F2880C76

Howtoforge hat ISPConfig-Foren, fragen Sie dort nach Rat.


Debian
  1. So installieren Sie Redis Server unter Debian 11

  2. So installieren Sie den HTTP-Git-Server mit Nginx unter Debian 11

  3. So installieren Sie MySQL 8.0 / 5.7 unter Debian 11 / Debian 10

  4. So installieren Sie ProFTPD unter Debian 8

  5. So installieren Sie Odoo 12 auf Debian 9

So installieren Sie I2P auf einem Debian-Server:

So installieren Sie Icinga 2 auf Debian 8

So installieren Sie VNC unter Debian 10

So installieren Sie VNC-Server unter Debian 11

So installieren Sie ISPConfig unter Debian 11

So installieren Sie Nginx mit PHP-FPM unter Debian 11