RSS

  • YouTube
  • LinkedIn
  • Google

Servidor de Email –; Teil 3 ; Taubenschlag

Dies ist der dritte Teil des Prozesses der Erstellung des Mail-Servers auf einem CentOS 7. Wenn Sie durch Zufall hierher gekommen, Lesen Sie zuerst die vorherigen Publikationen

Teil 1 ; Installation von Paketen

Teil 2 ; Konfigurieren von MariaDB

Dovecot ist ein MDA (Mail Delivery Agent) Das ist ein Mittel, das Nachrichten von Postfix an virtuellen Meldungsfelder trägt. In diesem Abschnitt konfigurieren wir die Dovecot-Installation zu zwingen Sie Benutzer, SSL zu verwenden, wenn sie eine Verbindung herstellen, auf diese Weise niemals Passwörter im Klartext-Modus senden.

Ich habe gerne immer die originalen-Dateien von jeder Definition für zu halten, wenn ich am Ende immer die Einstellungen verloren. Ich kann sagen, dass dieser Schritt nicht erforderlich ist, wenn Sie dieses Tutorial vollständig durchführen, Jedoch, Wenn Sie bereits eine vorherige Konfiguration und es nur benutzt, um es zu verbessern empfehle ich Sie Kopien Ihrer Dateien erstellen.

In unserem Fall, die Konfigurationsdateien werden im /etc/dovecot/CONF.d/. Wir machen dann die Kopie mit dem Befehl:

$ sudo cp -R /etc/dovecot/conf.d /etc/dovecot/conf.d.orig

Benutzer anlegen

Dovecot speichert Nachrichten (und alle Ihre Inhalte) in einem Verzeichnis müssen, dass Sie in der Konfigurationsdatei definiert und, dass er, daß er tun kann unter einem Benutzer mit den entsprechenden Berechtigungen ausführen. Die folgenden Befehle werden diese Benutzer und Gruppen erstellen.. Ich verwende einen gemeinsamen Standard zu den Namen, die es leicht genug, um die Suche nach Lösungen für Probleme im Internet machen.

$ sudo groupadd -g 5000 vmail
$ sudo adduser -g 5000 -G mail -u 5000 -d /var/mail vmail

Bearbeitung von Konfigurationsdateien

Erste Datei wir Authentifizierung konfiguriert ist. Wie verwenden wir einen Tisch im MariaDB Datenbank zum Speichern von Benutzern und Kennwörtern, die wir, dass in beiden Dateien hinweisen. Der erste setzt den Authentifizierungstyp und zweitens als das Taubenhaus tun die Authentifizierung-Validierung.

Bearbeiten Sie die Datei /etc/dovecot/CONF.d/10-auth Datei und kommentieren (oder hinzufügen) die folgenden Zeilen:

$ sudo vim /etc/dovecot/conf.d/10-auth.conf

disable_plaintext_auth = yes
auth_mechanisms = plain login
!include auth-system.conf.ext
!include auth-sql.conf.ext

Nach, Bearbeiten Sie die Datei /etc/dovecot/CONF.d/auth-sql.conf.ext Sie haben die folgenden Zeilen:

$ sudo vim /etc/dovecot/conf.d/auth-sql.conf.ext

passdb {
  driver = sql

  # Path for SQL configuration file, see example-config/dovecot-sql.conf.ext
  args = /etc/dovecot/dovecot-sql.conf.ext
}

# <doc/wiki/UserDatabase.Static.txt>
userdb {
  driver = static
  args = uid=vmail gid=vmail home=/var/vmail/%d/%n
}

AUFMERKSAMKEIT: Die letzten paar Zeilen, die von der original-Kommentar über das Argument abweichen Haus.

Wir müssen auch die Datenverbindung mit dem MariaDB über Datei festgelegt. /etc/dovecot/dovecot-SQL.conf.ext. Diese Datei wird nicht in der Einrichtung erstellt, so wir schaffen.

$ sudo vim /etc/dovecot/dovecot-sql.conf.ext

connect = host=127.0.0.1 dbname=mypostfixdb user=mypostfixdbuser password=mypostfixdbuser_password
default_pass_scheme = SHA512-CRYPT
password_query = SELECT email as user, password FROM virtual_users WHERE email='%u';

HINWEIS: Verwenden Sie die gleichen Daten wie in der Schritt zum Einrichten der Datenbank MariaDB

Wir werden einige Änderungen an die Hauptkonfigurationsdatei von der Taubenschlag ist die 10-Master-Datei. Die Zahl vor der Datei zeigt die Ladereihenfolge (Priorität). Sie können Benutzer jedem Editor Ihrer Wahl. Ich mag Vim, weil ich so auf Ihre Befehle gewöhnt bin, aber nichts hindert, um z. B. Nano verwenden.

$ sudo vim /etc/dovecot/conf.d/10-master.conf

Verbessert die Sicherheit des Servers und die Angriffe, die wir Zugriff unverschlüsselt zu deaktivieren. Für das ordnen wir die Tür genügt 0 für Imap und POP3-Dienste. Nur Imaps und pop3s stehen zur Verfügung. Du musst einen SSL-Schlüssel verwenden, die wir schaffen, wird später voraus.

service imap-login {
  inet_listener imap {
    port = 0
  }
  inet_listener imaps {
    port = 993
    ssl = yes
  }
}
service pop3-login {
  inet_listener pop3 {
    port = 0
  }
  inet_listener pop3s {
    port = 995
    ssl = yes
  }
}

Auch die folgenden Einstellungen ändern:

service lmtp {
  unix_listener /var/spool/postfix/private/dovecot-lmtp {
    mode = 0600
    user = postfix
    group = postfix
  }
}
#############################
service auth {
  unix_listener auth-userdb {
    mode = 0600
    user = vmail
  }
  # Postfix smtp-auth
  unix_listener /var/spool/postfix/private/auth {
    mode = 0660
    user = postfix
    group = postfix
  }
  # Auth process is run as this user.
  user = dovecot
}

service auth-worker {
  user = vmail
}

SSL-Zertifikat

So wir die Kryptografiedienste notwendig verwenden erstellen beide Benutzerauthentifizierung auf Ihr Konto zuzugreifen und um sicherzustellen, dass die Postfixadmin und Roundcube unter sichere Verbindungen SSL-Schlüssel gültig. An dieser Stelle gehen wir die Konfiguration, indem Erstellen eines selbst-signierten Schlüssels (selbst signiert) die während der Installation das Taubenhaus entsteht. Dieser Schlüssel kann nicht verwendet werden, um die sichere Browser-Verbindung zu überprüfen. Später werden wir diese Einstellung einen SSL-Schlüssel erhalten durch Certbot verwenden (Hiermit können verschlüsseln) in Verbindung mit Nginx und DNS-Einstellungen.

Wenn Sie die Schritte dieser Anleitung folgen, Sie brauchen nicht, keine Änderung in der Datei /etc/dovecot/conf.d/10-ssl.conf die sollten die folgenden Zeilen enthalten.

ssl = required
ssl_cert = </etc/pki/dovecot/certs/dovecot.pem
ssl_key = </etc/pki/dovecot/private/dovecot.pem

Wenn die Dateien nicht vorhanden sind oder alternativ neu erstellen (muss getan werden, wenn Sie den Hostnamen geändert haben, zum Beispiel) gehen Sie wie folgt:

Bearbeiten Sie die Datei /etc/PKI/dovecot/dovecot-OpenSSL.cnf und ändern Sie die Einträge nach den Informationen, die Sie.

[ req ]
default_bits = 1024
encrypt_key = yes
distinguished_name = req_dn
x509_extensions = cert_type
prompt = no
[ req_dn ]
# country (2 letter code)
C=BR
# State or Province Name (full name)
ST=SAO PAULO
# Locality Name (eg. city)
L=SAO PAULO
# Organization (eg. company)
O=MRE Development
# Organizational Unit Name (eg. section)
OU=IMAP Server
# Common Name (*.example.com is also possible)
CN=mail.meudominio.com.br
# E-mail contact
emailAddress=postmaster@meudominio.com.br

[ cert_type ]
nsCertType = server

Nachdem Sie die Datei geändert haben, Wenn die Dateien bereits vorhanden /etc/PKI/Dovecot/certs/Dovecot.PEM und /etc/PKI/Dovecot/private/Dovecot.PEM, Löschen Sie sie und führen Sie das Skript mkcert.sh.

$ sudo rm -f /etc/pki/dovecot/certs/dovecot.pem /etc/pki/dovecot/private/dovecot.pem 
$ sudo /usr/libexec/dovecot/mkcert.sh

Die Ausgabe des Skripts sollte ungefähr so aussehen:

Generating a 1024 bit RSA private key
............++++++
........++++++
writing new private key to '/etc/pki/dovecot/private/dovecot.pem'
-----

subject= /C=BR/ST=SAO PAULO/L=SAO PAULO/O=MRE Development/OU=IMAP server/CN=mail.meudominio.com.br/emailAddress=postmaster@meudominio.com.br
SHA1 Fingerprint=FA:86:97:8F:52:06:04:71:BA:DC:07:BA:33:6A:9B:3F:8A:EE:ED:C5

Andere Konfiguration noch in der Datei/etc/dovecot/conf.d/10-ssl.conf Das optionale Attribut ist im Zusammenhang mit Verschlüsselung ssl_dh. Fügen Sie hinzu oder kommentieren Sie die Zeile:

ssl_dh = </etc/dovecot/dh.pem

und führen Sie den folgenden Befehl, um die Datei zu generieren .PEM:

$ openssl dhparam -out /etc/dovecot/dh.pem

Den obigen Befehl in der Regel läuft sehr lange dauern, manchmal sogar in der Nähe von 1 Zeit. Einen Befehl unten können Sie auch die gleiche Datei schneller generieren.

$ dd if=/var/lib/dovecot/ssl-parameters.dat bs=1 skip=88 | openssl dhparam -inform der > /etc/dovecot/dh.pem

Log-Datei

Durch in der Standardeinstellung Taubenschlag wird den Protokoll-Mechanismus verwenden. syslog die CentOS, die sendet in der Regel die Informationen in der Datei /Var/Log/messages. Wie später ich werde Ihnen zeigen, wie Sie mehrere Versuche, den Angriff zu verbreiten und eine davon beinhaltet die Verwendung von Skript fail2ban, dass macht Analyse der Protokolle ist eine eindeutige Datei am besten definieren, so dass wir nicht Log-Datei zu überwachen, die ändert sich ständig.

Eine einzigartige Log-Datei definieren, Öffnen wir die Dovecot-Log-Konfiguration /etc/dovecot/CONF.d/10-logging Datei und ändern Sie oder fügen Sie die folgenden Zeilen.

log_path = /var/log/dovecot.log
auth_verbose = yes
auth_verbose_passwords = sha1:8

Speichern Sie die Datei und starten Sie den Dienst

$ sudo systemctl restart dovecot

Stellen Sie sicher die file/var/log/dovecot.log wurde erstellt und enthält Informationen angibt, dass der Dienst ordnungsgemäß funktioniert.

$ sudo tail /var/log/dovecot.log
Apr 24 22:45:58 master: Info: Dovecot v2.2.36 (1f10bfa63) starting up for imap, pop3, lmtp (core dumps disabled)

Firewall-Regeln

Wenn Sie dieses Tutorial von Anfang an in einer Standard-Installation die folgenden, Es ist möglich, dass die Anschlüsse nach außen geschlossen sind. Die folgenden Befehle sollen die Türen Imaps freigeben (993), pop3s (995) bevor Sie eine e-Mail-Client wie Outlook oder Google Mail eine Verbindung herstellen können. Selbst wenn sie geöffnet sind, später in einer anderen Publikation, Ich werde Ihnen zeigen, dass eine Liste von Firewall-Regeln zur Verbesserung der Sicherheit.

Stellen Sie zunächst sicher, dass der Dienst firewalld läuft. Wenn Sie gestoppt werden, Öffnen Sie alle Türen, die einen Listenerdienst haben werden wahrscheinlich.

$ sudo systemctl status firewalld

Überprüfen Sie die Position des Staates, die als sein kann aktiv (Ausgeführte) oder als inaktiv (Toten). Bist du als inaktiv, Es gibt keine Notwendigkeit, weiter. Wenn Sie so aktiv, Wir werden eine Liste welche Ports nach außen geöffnet sind.

$ sudo firewall-cmd --list-services
ssh dhcpv6-client

Im obigen Beispiel, nur dhcpv6-Clients und ssh sind erlaubt. Wir fügen Sie dann die erforderlichen Ports zum empfangen und senden von E-mail extern.

$ sudo firewall-cmd --add-service=pop3s --permanent
success
$ sudo firewall-cmd --add-service=imaps --permanent
success
$ sudo firewall-cmd --reload
success
$ sudo firewall-cmd --list-services
ssh dhcpv6-client imaps pop3s

Wie Sie im Beispiel sehen können, Hinzufügen von Imaps und pop3s Diensten, die von Dovecot Service gehört werden. Später werden wir auch die smtp- und Submission-Ports hinzufügen, die vom Postfix-Dienst gehört werden. (Master). Beachten Sie, dass ich die Imap- und Pop3-Ports nicht unsicher öffnen werde, da ich die Verwendung von SSL/TLS erzwingen möchte..

Um sicherzustellen, dass die Türen sogar offen sind, können Sie Telnet an den Türen versuchen 993 und 995 von einem anderen System im selben Netzwerk und überprüfen Sie, ob die Datei /var/log/dovecot.log zeigt Versuche an. Wenn Sie nicht in der Lage sind, diese Weise zu testen, überprüfen Sie die Ausgabe des Befehls unten?

$ sudo netstat -tap
Active Internet connections (servers and established)
Proto Recv-Q Send-Q Local Address           Foreign Address         State       PID/Program name
tcp        0      0 0.0.0.0:sunrpc          0.0.0.0:*               LISTEN      1/systemd
tcp        0      0 0.0.0.0:ssh             0.0.0.0:*               LISTEN      2669/sshd
tcp        0      0 0.0.0.0:imaps           0.0.0.0:*               LISTEN      5946/dovecot
tcp        0      0 0.0.0.0:pop3s           0.0.0.0:*               LISTEN      5946/dovecot
tcp        0      0 mail.meudominio.com:ssh    gateway:65257           ESTABLISHED 4631/sshd: myuser

Und das ist jetzt alles. Die folgenden Lassen Sie uns Postfix einrichten 3.

Kommentare (3)

  1. [;] Servidor de Email –; Teil 3 ; Taubenschlag [;]

  2. [;] e e-mail utilizando as ferramentas mais comuns para ambiente OpenSource em Linux. Ich habe Postfix verwendet, Taubenschlag, Postfixadmin, Neu, Roundcube e [;]

Hinterlasse eine Antwort

Ihre e-Mail-Adresse wird nicht veröffentlicht. Pflichtfelder sind markiert *

Diese Seite benutzt Akismet, Spam zu reduzieren. Erfahren Sie, wie Ihre Kommentardaten verarbeitet wird.