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

So richten Sie einen einfachen, aber dennoch leistungsstarken Mailserver mit Postfix, Dovecot und Sasl in Debian 6 (Squeeze) ein

Der folgende Artikel zielt darauf ab, einen einfachen POP3/IMAP/SMTP-Mailserver in Ihrem Debian-VPS mit Postfix, Dovecot und SASL zu installieren und zu konfigurieren.

Was ist Postfix? Es ist ein Ersatz für das alte und ausgereifte Sendmail. Postfix versucht außerdem, sehr schnell, einfach zu verwalten und sicher zu sein.

Was ist Dovecot? Es ist ein Open-Source-IMAP- und POP3-Server für *NIX-ähnliche Systeme, der hauptsächlich im Hinblick auf Sicherheit geschrieben wurde.

Was ist SASL? SASL, die einfache Authentifizierungs- und Sicherheitsschicht, ist ein generischer Mechanismus für Protokolle zur Authentifizierung.

1.) Voraussetzungen

– Möglicherweise möchten Sie überprüfen, ob Ihr Hostname/Domainname ein gültiger FQDN (vollständig qualifizierter Domainname) ist und einen gültigen MX-DNS-Eintrag hat.

# dig +short MX mydomain.com
10 mydomain.com.

ok, der Hostname „mydomain.com“ hat einen MX-Eintrag und:

# dig +short A $(dig +short MX mydomain.com | head -1 | cut -d' ' -f2)
12.34.56.78

der MX-Datensatz wird zurück zur IP unseres Debian-Servers (12.34.56.78) aufgelöst

2.) Aktualisieren Sie das System und installieren Sie die erforderlichen Pakete

– Bevor wir fortfahren, müssen wir sicherstellen, dass wir über ein vollständig aktuelles System verfügen.

# apt-get update
# apt-get upgrade
# apt-get dist-upgrade

2.a) Postfix installieren

# apt-get install postfix

(Wenn Sie dazu aufgefordert werden, wählen Sie „Internet Site“ und legen Sie dann „mydomain.com“ als System-E-Mail-Namen fest.)

2.b) Installieren Sie den Taubenschlag

# apt-get install dovecot-common dovecot-imapd dovecot-pop3d

2.c) Installieren Sie sasl für die Authentifizierung von Benutzern

# apt-get install libsasl2-2 libsasl2-modules sasl2-bin

(aktivieren Sie den Sasl-Daemon, indem Sie START=yes setzen in /etc/default/saslauthd . Sie können auch die Anzahl der Threads reduzieren, indem Sie THREADS=3 setzen zum Beispiel)
oder wenn Sie sich mutig fühlen:

# sed -i -e 's/START=no/START=yes/' -e 's/THREADS=5/THREADS=3/' /etc/default/saslauthd

/etc/postfix/sasl/smtpd.conf einrichten

# echo -e "pwcheck_method: saslauthd\nmech_list: plain login cram-md5 digest-md5" > /etc/postfix/sasl/smtpd.conf

SASL neu starten

# /etc/init.d/saslauthd restart

3.) Systembenutzer erstellen Für die Bearbeitung eingehender Mails und nur Zugriff auf die Postfächer.

– Erstellen Sie eine Gruppe, die für virtuelle Postfächer verwendet wird

# groupadd vmail -g 2222

– Erstellen Sie einen Benutzer, der für virtuelle Postfächer verwendet wird

# useradd vmail -r -g 2222 -u 2222 -d /var/vmail -m -c "mail user"

4.) Bereiten Sie ein SSL-Zertifikat für die Verwendung des SSL-Transports vor

– Kopieren/verschieben Sie Ihr SSL in ein Verzeichnis, zum Beispiel /etc/sample-ssl/

# mkdir /etc/sample-ssl
# rsync -Waq /path/to/certs/ /etc/sample-ssl/

5.) Postfix-Konfiguration

– Bevor Sie irgendetwas anderes tun, stellen Sie sicher, dass Sie eine Sicherungskopie der ursprünglichen Konfigurationsdatei haben

# cp /etc/postfix/main.cf{,.orig}

5.a) Richten Sie die Postfix-Hauptkonfigurationsdatei ein (/etc/postfix/main.cf)

– Stellen Sie sicher, dass Sie „mydomain.com“ durch Ihren Domainnamen ersetzen und auch die SSL-Pfade entsprechend einstellen

# vim /etc/postfix/main.cf
myhostname=mydomain.com
mydomain=mydomain.com
myorigin=$mydomain
mydestination = localhost
mynetworks = 127.0.0.0/8
inet_interfaces = all
mailbox_size_limit = 0
recipient_delimiter = +
debug_peer_level=2
smtpd_banner=$myhostname ESMTP $mail_name
biff=no
relayhost=
show_user_unknown_table_name=no
append_dot_mydomain = no
alias_maps = hash:/etc/aliases
alias_database = hash:/etc/aliases
virtual_mailbox_base=/var/vmail
virtual_mailbox_domains=hash:/etc/postfix/vmail_domains
virtual_mailbox_maps=hash:/etc/postfix/vmail_mailbox
virtual_alias_maps=hash:/etc/postfix/vmail_aliases
virtual_minimum_uid=100
virtual_uid_maps=static:2222
virtual_gid_maps=static:2222
virtual_transport=dovecot
smtpd_tls_cert_file=/etc/sample-ssl/ssl.crt
smtpd_tls_key_file=/etc/sample-ssl/ssl.key
smtpd_tls_CAfile=/etc/ssl/certs/ca-certificates.crt
smtp_tls_CAfile=/etc/ssl/certs/ca-certificates.crt
smtp_use_tls=yes
smtpd_use_tls=yes
smtpd_tls_loglevel=1
smtpd_tls_received_header=yes
tls_random_source=dev:/dev/urandom
smtp_tls_note_starttls_offer=yes
smtpd_tls_session_cache_timeout=3600s
smtpd_tls_session_cache_database = btree:${data_directory}/smtpd_scache
smtp_tls_session_cache_database = btree:${data_directory}/smtp_scache
queue_directory=/var/spool/postfix
smtpd_sasl_type=dovecot
smtpd_sasl_path=private/auth
smtpd_sasl_auth_enable=yes
broken_sasl_auth_clients=yes
smtpd_sasl_security_options=noanonymous
smtpd_sasl_tls_security_options=$smtpd_sasl_security_options
smtpd_sasl_local_domain=$myhostname
smtpd_sasl_application_name=smtpd
smtpd_helo_required=yes
smtpd_helo_restrictions=reject_invalid_helo_hostname
smtpd_recipient_restrictions=reject_unknown_recipient_domain, reject_unauth_pipelining, permit_mynetworks, permit_sasl_authenticated, reject_unauth_destination

5.b) Erstellen Sie /etc/postfix/vmail_domains mit den Domänen, für die Postfix E-Mails akzeptiert

– das Format ist 2 Spalten. Domäne links, Status rechts. wenn auf der rechten Seite nichts steht, ist die Domain deaktiviert.

# vim /etc/postfix/vmail_domains
mydomain.com      OK
my-otherdomain.com     OK

5.c) Erstellen Sie /etc/postfix/vmail_mailbox mit den akzeptierten Postfächern

# vim /etc/postfix/vmail_mailbox
[email protected] mydomain.com/info
[email protected] mydomain.com/admin
[email protected] my-otherdomain.com/webmaster

5.d) Erstellen Sie /etc/postfix/vmail_aliases mit den virtuellen Aliasen

# vim /etc/postfix/vmail_aliases
[email protected]    [email protected]
[email protected]   [email protected]
[email protected] [email protected]

Hashen Sie die Konfigurationsdateien

# postmap /etc/postfix/vmail_domains
# postmap /etc/postfix/vmail_mailbox
# postmap /etc/postfix/vmail_aliases

6.) Dovecot-Konfiguration

– Bevor Sie irgendetwas anderes tun, stellen Sie sicher, dass Sie eine Sicherungskopie der ursprünglichen Konfigurationsdatei haben

# cp /etc/dovecot/dovecot.conf{,.orig}

– Haupt-Dovecot-Konfigurationsdatei erstellen

# vim /etc/dovecot/dovecot.conf
protocols = imap imaps pop3 pop3s
log_timestamp = "%Y-%m-%d %H:%M:%S "
first_valid_uid=2222
last_valid_uid=2222
first_valid_gid=2222
last_valid_gid=2222
mail_privileged_group = vmail
disable_plaintext_auth=yes
auth_executable = /usr/lib/dovecot/dovecot-auth
auth_verbose = yes
mail_location = maildir:/var/vmail/%d/%n/Maildir
ssl_cert_file = /etc/sample-ssl/sample-chained.crt
ssl_key_file = /etc/sample-ssl/sample.key
protocol lda {
  auth_socket_path = /var/run/dovecot/auth-master
  postmaster_address = [email protected]
  mail_plugins = sieve
  log_path =
}
auth default {
    mechanisms = plain login
    passdb passwd-file {
        args = scheme=SHA1 /etc/dovecot/users.conf
    }
    userdb static {
        #args = /etc/dovecot/users.conf
        args = uid=2222 gid=2222 home=/var/vmail/%d/%n allow_all_users=yes
    }
    socket listen {
        master {
            path = /var/run/dovecot/auth-master
            mode = 0600
            user = vmail
            group = vmail
        }
        client {
            path = /var/spool/postfix/private/auth
            mode = 0660
            user = postfix
            group = postfix
        }
    }
}

Stellen Sie sicher, dass die Konfiguration Ihren Pfaden und Anforderungen entspricht

– Erstellen Sie unsere Benutzerdatei:

# touch /etc/dovecot/users.conf

– Als nächstes verwenden Sie den folgenden Befehl, um einen Passwort-Hash für einen bestimmten Benutzer zu generieren:

# dovecotpw -s SHA1

(Erzeugtes Passwort ohne den {SHA1}-Teil zur Users.conf hinzufügen, zum Beispiel:)

# cat /etc/dovecot/users.conf
[email protected]:7mh/MbZGZf7pc2pV6To7WuHJY8E=

7.) Berechtigungen einrichten und Installation abschließen

# chgrp vmail /etc/dovecot/dovecot.conf
# chmod g+r /etc/dovecot/dovecot.conf
# chown root:root /etc/dovecot/users.conf
# chmod 600 /etc/dovecot/users.conf

– eingehende Mails an dovecot zustellen

# vim /etc/postfix/master.cf

(Folgendes anhängen)

dovecot   unix  -       n       n       -       -       pipe
  flags=DRhu user=vmail:vmail argv=/usr/lib/dovecot/deliver -f ${sender} -d ${recipient}

– Wenn Sie schon dabei sind, möchten Sie vielleicht auch den Übermittlungsport aktivieren, indem Sie die folgende Zeile auskommentieren:

submission inet n       -       -       -       -       smtpd

– Dienste neu laden

# /etc/init.d/dovecot restart
# /etc/init.d/postfix restart

Natürlich müssen Sie nichts davon tun, wenn Sie einen unserer für Debian optimierten VPS-Hosting-Dienste verwenden. In diesem Fall können Sie einfach unsere erfahrenen Linux-Administratoren bitten, dies für Sie zu installieren. Sie sind rund um die Uhr erreichbar und kümmern sich umgehend um Ihr Anliegen.

PS. Wenn Ihnen dieser Beitrag gefallen hat, teilen Sie ihn bitte mit Ihren Freunden in den sozialen Netzwerken über die Schaltflächen auf der linken Seite oder hinterlassen Sie einfach unten eine Antwort. Danke.


Debian
  1. So richten Sie NTP-Server und -Client unter Debian 9 Stretch Linux ein

  2. So richten Sie den Rsyslog-Server unter Debian 11 ein

  3. So installieren Sie Spamassassin mit Postfix und Dovecot auf Ubuntu/Debian Server

  4. Postfix Mailserver und Dovecot auf Ubuntu oder Debian installieren

  5. Mail-Weiterleitung in Postfix auf Ubuntu oder Debian einrichten

Wie man Symfony 4 auf Debian 9 Server einrichtet

So richten Sie den Postfix-Mailserver unter Ubuntu 16.04 ein (Dovecot - MySQL)

So installieren und konfigurieren Sie Postfix unter Debian

So richten Sie einen vollständigen Mailserver (Postfix) mit „SquirrelMail“ (Webmail) unter Ubuntu/Debian ein

So richten Sie den OpenLDAP-Server unter Debian 10 ein

So richten Sie einen voll funktionsfähigen Mailserver mit Postfix, Dovecot und Roundcube unter Ubuntu 18.04 ein