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 8. 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
# /etc/dovecot/conf.d/auth-sql.conf.ext
passdb {
  driver = sql
  args = /etc/dovecot/dovecot-mysql.conf.ext
}

userdb {
  driver = sql
  args = /etc/dovecot/dovecot-mysql.conf.ext
}

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-mysql.conf.ext

driver = mysql
connect = host=localhost dbname=mypostfixdb user=mypostfixdbuser password=mypostfixdbuser_password
default_pass_scheme = SHA512-CRYPT

# following should all be on one line.
password_query = SELECT username as user, password, concat('/home/vmail/', maildir) as userdb_home, concat('maildir:/home/vmail/', maildir) as userdb_mail, 'vmail' as userdb_uid, 'mail' as userdb_gid FROM mailbox WHERE username = '%u' AND active = '1'

# following should all be on one line
user_query = SELECT concat('maildir:/home/vmail/', maildir) as mail, CONCAT('*:messages=10000:bytes=', quota) as quota_rule FROM mailbox WHERE username = '%u' AND active = '1'

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. Para isso baste atribuirmos a o valor 0 para o atributo port nos serviços imap und pop3. Somente Imaps und pop3s estarão disponíveis. 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

Para que possamos usar os serviços de criptografia necessários tanto na autenticação do usuário ao acessar sua conta quanto para garantir que o postfixadmin und die RoundCube estejam sob conexões seguras devemos criar as chaves SSL validas. 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:

Atenção: A execução do comando abaixo costuma demorar bastante, manchmal sogar in der Nähe von 1 Zeit. É possível também utilizar um comando para gerar o mesmo arquivo de forma mais rápida.

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

Se desejar por conta e risco usar o modo rapido o comando está logo a seguir.

$ 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. Como mais adiante irei mostrar como barrar diversas tentativas de ataques e uma delas inclui o uso do script Fail2ban, que faz analise de logs é melhor definirmos um arquivo exclusivo para que não tenhamos que monitorar um arquivo que se altera constantemente.

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.