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