Richten Sie Postfix MTA und IMAP / POP3 ein

Um eine E-Mail von unserem CentOS 7-Server zu senden, benötigen wir das Setup, um einen modernen Mail Transfer Agent (MTA) zu konfigurieren. Mail Transfer Agent ist der Daemon, der für das Senden ausgehender E-Mails für Systembenutzer oder Unternehmens-Internetdomänen über SMTP verantwortlich ist.

Es ist erwähnenswert, dass in diesem Lernprogramm nur das Einrichten des Dämons für die lokale Verwendung erläutert wird. Wir gehen nicht detailliert auf die erweiterte Konfiguration zum Einrichten eines MTA für den Geschäftsbetrieb ein. Dies ist eine Kombination vieler Fähigkeiten, einschließlich, aber nicht beschränkt auf: DNS, Abrufen einer statischen routbaren IP-Adresse, die nicht auf der schwarzen Liste steht, und Konfigurieren erweiterter Sicherheits- und Diensteinstellungen. Kurz gesagt, dieses Tutorial soll Sie mit der Grundkonfiguration vertraut machen. Verwenden Sie dieses Lernprogramm nicht für die MTA-Konfiguration eines mit dem Internet verbundenen Hosts.

Wir haben uns für den kombinierten Fokus auf Sicherheit und einfache Verwaltung entschieden Postfixals MTA für dieses Tutorial. Der in den älteren Versionen von CentOS installierte Standard-MTA ist Sendmail .Sendmailist ein großartiger MTA. Nach der bescheidenen Meinung des Autors trifft Postfix jedoch einen Sweet Spot, wenn es um die folgenden Hinweise für einen MTA geht. Mit der aktuellsten Version von CentOS hat Postfix Sendmail als Standard-MTA abgelöst.

Postfix ist ein weit verbreiteter und gut dokumentierter MTA. Es wird aktiv gepflegt und weiterentwickelt. Es erfordert nur minimale Konfiguration (dies ist nur E-Mail) und ist effizient mit Systemressourcen (auch dies ist nur E-Mail).

Step 1 - Installieren Sie Postfix über YUM Package Manager.

[root@centos]# yum -y install postfix

Step 2 - Konfigurieren Sie die Postfix-Konfigurationsdatei.

Die Postfix-Konfigurationsdatei befindet sich unter: /etc/postfix/main.cf

In einer einfachen Postfix-Konfiguration muss für einen bestimmten Host Folgendes konfiguriert werden: Hostname, Domäne, Ursprung, inet_interfaces und Ziel.

Configure the hostname- Der Hostname ist ein vollständig qualifizierter Domänenname des Postfix-Hosts. Im OpenLDAP-Kapitel haben wir die CentOS-Box benannt: centos in der Domäne vmnet.local . Bleiben wir bei diesem Kapitel.

# The myhostname parameter specifies the internet hostname of this
# mail system. The default is to use the fully-qualified domain name
# from gethostname(). $myhostname is used as a default value for many
# other configuration parameters.
#
myhostname = centos.vmnet.local

Configure the domain- Wie oben erwähnt, ist die Domain, die wir in diesem Tutorial verwenden, vmnet.local

# The mydomain parameter specifies the local internet domain name.
# The default is to use $myhostname minus the first component.
# $mydomain is used as a default value for many other configuration
# parameters.
#
mydomain = vmnet.local

Configure the origin - Für die Einrichtung eines einzelnen Servers und einer einzelnen Domäne müssen Sie nur die folgenden Abschnitte auskommentieren und die Standard-Postfix-Variablen beibehalten.

# SENDING MAIL
#
# The myorigin parameter specifies the domain that locally-posted
# mail appears to come from. The default is to append $myhostname,
# which is fine for small sites.  If you run a domain with multiple
# machines, you should (1) change this to $mydomain and (2) set up
# a domain-wide alias database that aliases each user to
# [email protected].
#
# For the sake of consistency between sender and recipient addresses,
# myorigin also specifies the default domain name that is appended
# to recipient addresses that have no @domain part. 
#
myorigin = $myhostname
myorigin = $mydomain

Configure the network interfaces- Wir werden Postfix auf unserer einzelnen Netzwerkschnittstelle und allen mit dieser Schnittstelle verknüpften Protokollen und IP-Adressen abhören lassen. Dazu lassen Sie einfach die Standardeinstellungen für Postfix aktiviert.

# The inet_interfaces parameter specifies the network interface
# addresses that this mail system receives mail on.  By default,
# the software claims all active interfaces on the machine. The
# parameter also controls delivery of mail to user@[ip.address].
#
# See also the proxy_interfaces parameter, for network addresses that
# are forwarded to us via a proxy or network address translator.
#
# Note: you need to stop/start Postfix when this parameter changes. 
#
#inet_interfaces = all
#inet_interfaces = $myhostname
#inet_interfaces = $myhostname, localhost
#inet_interfaces = localhost
# Enable IPv4, and IPv6 if supported
inet_protocols = all

Step 3 - Konfigurieren Sie die SASL-Unterstützung für Postfix.

Ohne SASL-Authentifizierungsunterstützung erlaubt Postfix nur das Senden von E-Mails von lokalen Benutzern. Oder es wird ein Fehler beim Weiterleiten verweigert , wenn die Benutzer E-Mails von der lokalen Domäne weg senden.

Note - - SASL oder Simple Application Security Layer Frameworkist ein Framework für die Authentifizierung, das verschiedene Techniken unter verschiedenen Application Layer-Protokollen unterstützt. Anstatt die Authentifizierungsmechanismen dem Protokoll der Anwendungsschicht zu überlassen, nutzen SASL-Entwickler (und -Konsumenten) aktuelle Authentifizierungsprotokolle für Protokolle höherer Ebenen, in denen möglicherweise nicht die Bequemlichkeit oder sicherere Authentifizierung (wenn vom Zugriff auf gesicherte Dienste die Rede ist) integriert ist.

Installieren Sie das Paket "cyrus-sasl *"

[root@centos]# yum -y install  cyrus-sasl 
Loaded plugins: fastestmirror, langpacks 
Loading mirror speeds from cached hostfile 
 * base: repos.forethought.net 
 * extras: repos.dfw.quadranet.com 
 * updates: mirrors.tummy.com 
Package cyrus-sasl-2.1.26-20.el7_2.x86_64 already installed and latest version
Nothing to do

Konfigurieren Sie /etc/postfix/main.cf für SASL Auth

smtpd_sasl_auth_enable = yes
smtpd_recipient_restrictions =
permit_mynetworks,permit_sasl_authenticated,reject_unauth_destination
smtpd_sasl_security_options = noanonymous
smtpd_sasl_type = dovecot
smtpd_sasl_path = private/auth

Meine SASL-Optionen in der main.conf

##Configure SASL Options Entries:
smtpd_sasl_auth_enable = yes
smptd_recipient_restrictions =
permit_mynetworks,permit_sasl_authenticated,reject_unauth_destination
smtp_sasl_type = dovecot
smtp_sasl_path = private/auth/etc

Step 4 - Konfigurieren Sie FirewallD so, dass eingehende SMTP-Dienste zugelassen werden.

[root@centos]# firewall-cmd --permanent --add-service=smtp 
success

[root@centos]# firewall-cmd --reload 
success

[root@centos]#

Überprüfen wir nun, ob unser CentOS-Host die Anforderungen an Port 25 (SMTP) zulässt und beantwortet.

Nmap scan report for 172.16.223.132 
Host is up (0.00035s latency). 
Not shown: 993 filtered ports 
PORT    STATE  SERVICE 
   20/tcp  closed ftp-data 
   21/tcp  open   ftp 
   22/tcp  open   ssh 
   25/tcp  open   smtp 
   80/tcp  open   http 
   389/tcp open   ldap 
   443/tcp open   https 
MAC Address: 00:0C:29:BE:DF:5F (VMware)

Wie Sie sehen, lauscht SMTP und der Dämon antwortet auf die Anfragen aus unserem internen LAN.

Installieren Sie Dovecot IMAP und POP3 Server

Dovecot ist ein sicherer IMAP- und POP3-Server, der für die Anforderungen eingehender E-Mails einer kleineren bis größeren Organisation ausgelegt ist. Aufgrund der intensiven Verwendung mit CentOS werden wir Dovecot als Beispiel für die Installation und Konfiguration eines Posteingangsservers für CentOS und MTA SASL Provider verwenden.

Wie bereits erwähnt, werden wir keine MX-Einträge für DNS konfigurieren oder sichere Regeln erstellen, die es unseren Diensten ermöglichen, E-Mails für eine Domain zu verarbeiten. Wenn Sie diese Dienste nur auf einem Internet-Host einrichten, kann dies zu Sicherheitslücken ohne SPF-Datensätze führen.

Step 1 - Installieren Sie Dovecot.

[root@centos]# yum -y install dovecot

Step 2 - Taubenschlag konfigurieren.

Die Hauptkonfigurationsdatei für Dovecot befindet sich unter: /etc/dovecot.conf . Wir werden zuerst die Hauptkonfigurationsdatei sichern. Es wird empfohlen, vor dem Bearbeiten immer Konfigurationsdateien zu sichern. Auf diese Weise werden beispielsweise Zeilenumbrüche von einem Texteditor zerstört und jahrelange Änderungen gehen verloren. Das Zurücksetzen ist einfach, da das aktuelle Backup in die Produktion kopiert wird.

Aktivieren Sie Protokolle und Daemon-Dienste für Dovecot

# Protocols we want to be serving. 
protocols = imap imaps pop3 pop3s

Jetzt müssen wir dem Dovecot-Daemon ermöglichen, beim Start zuzuhören -

[root@localhost]# systemctl start  dovecot 
[root@localhost]# systemctl enable dovecot

Stellen Sie sicher, dass Dovecot lokal auf die angegebenen Ports wartet: imap, pop3, imap gesichert und pop3 gesichert.

[root@localhost]# netstat -antup | grep dovecot 
 tcp        0        0 0.0.0.0:110        0.0.0.0:*        LISTEN        4368/dovecot
 tcp        0        0 0.0.0.0:143        0.0.0.0:*        LISTEN        4368/dovecot
 tcp        0        0 0.0.0.0:993        0.0.0.0:*        LISTEN        4368/dovecot
 tcp        0        0 0.0.0.0:995        0.0.0.0:*        LISTEN        4368/dovecot
 tcp6       0        0 :::110                :::*          LISTEN        4368/dovecot
 tcp6       0        0 :::143                :::*          LISTEN        4368/dovecot
 tcp6       0        0 :::993                :::*          LISTEN        4368/dovecot
 tcp6       0        0 :::995                :::*          LISTEN        4368/dovecot

[root@localhost]#

Wie zu sehen ist, überwacht Dovecot die angegebenen Ports für IPv4 und IPv4.

POP3 110
POP3s 995
IMAP 143
IMAPs 993

Jetzt müssen wir einige Firewall-Regeln festlegen.

[root@localhost]# firewall-cmd --permanent --add-port=110/tcp 
success
 
[root@localhost]# firewall-cmd --permanent --add-port=143/tcp 
success
 
[root@localhost]# firewall-cmd --permanent --add-port=995/tcp 
success
 
[root@localhost]# firewall-cmd --permanent --add-port=993/tcp 
success
 
[root@localhost]# firewall-cmd --reload 
success
 
[root@localhost]#

Unser Server für eingehende E-Mails akzeptiert Anfragen nach POP3 , POP3s , IMAP und IMAPs an Hosts im LAN.

Port Scanning host: 192.168.1.143

   Open TCP Port:   21          ftp 
   Open TCP Port:   22          ssh 
   Open TCP Port:   25          smtp 
   Open TCP Port:   80          http 
   Open TCP Port:   110         pop3 
   Open TCP Port:   143         imap 
   Open TCP Port:   443         https 
   Open TCP Port:   993         imaps 
   Open TCP Port:   995         pop3s