GNU/Linux >> Linux Esercitazione >  >> Debian

Come configurare un server di posta semplice ma potente utilizzando Postfix, Dovecot e Sasl in Debian 6 (Squeeze)

Il seguente articolo mira all'installazione e alla configurazione di un semplice server di posta POP3/IMAP/SMTP nel VPS Debian utilizzando Postfix, Dovecot e SASL.

Cos'è Postfix? È un sostituto del vecchio e maturo Sendmail. Postfix cerca anche di essere molto veloce, facile da amministrare e sicuro.

Cos'è Dovecot? È un server IMAP e POP3 open source per sistemi simili a *NIX, scritto principalmente pensando alla sicurezza.

Cos'è SASL? SASL, il livello di autenticazione e sicurezza semplice, è un meccanismo generico per i protocolli per eseguire l'autenticazione.

1.) Prerequisiti

– Potresti voler controllare se il tuo nome host/nome di dominio è un FQDN (nome di dominio completo) valido e ha un record DNS MX valido.

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

ok, il nome host "miodominio.com" ha un record MX e:

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

il set di record MX torna all'IP del nostro server Debian (12.34.56.78)

2.) Aggiorna il sistema e installa i pacchetti richiesti

– Prima di procedere ulteriormente, dobbiamo assicurarci di disporre di un sistema completamente aggiornato.

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

2.a) Installa suffisso

# apt-get install postfix

(quando richiesto, scegli "Sito Internet" e quindi imposta "miodominio.com" come nome di posta di sistema.)

2.b) Installare dovecot

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

2.c) Installare sasl per l'autenticazione degli utenti

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

(abilita il demone sasl impostando START=yes in /etc/default/saslauthd . potresti anche voler ridurre il numero di thread impostando THREADS=3 per esempio)
o se ti senti coraggioso:

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

imposta /etc/postfix/sasl/smtpd.conf

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

riavvia SASL

# /etc/init.d/saslauthd restart

3.) Crea utente di sistema Per la gestione della posta in arrivo e ha accesso solo alle caselle di posta.

– crea un gruppo utilizzato per le cassette postali virtuali

# groupadd vmail -g 2222

– creare l'utente utilizzato per le caselle di posta virtuali

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

4.) Prepara il certificato SSL per l'utilizzo del trasporto SSL

– copia/sposta il tuo SSL in qualche directory, ad esempio /etc/sample-ssl/

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

5.) Configurazione Postfix

– prima di fare qualsiasi altra cosa assicurati di avere il backup del file di configurazione originale

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

5.a) imposta il file di configurazione del postfix principale (/etc/postfix/main.cf)

– assicurati di cambiare 'miodominio.com' con il tuo nome di dominio e di impostare anche i percorsi SSL in modo appropriato

# 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) crea /etc/postfix/vmail_domains contenente i domini per i quali postfix accetterà le email

– il formato è 2 colonne. dominio a sinistra, stato a destra. se non c'è niente sul lato destro, il dominio è disabilitato.

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

5.c) crea /etc/postfix/vmail_mailbox contenente le caselle di posta accettate

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

5.d) crea /etc/postfix/vmail_aliases contenente gli alias virtuali

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

hash dei file di configurazione

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

6.) Configurazione Dovecot

– prima di fare qualsiasi altra cosa assicurati di avere il backup del file di configurazione originale

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

– crea il file di configurazione principale di dovecot

# 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
        }
    }
}

assicurati di impostare la configurazione in modo che corrisponda ai tuoi percorsi e alle tue esigenze

– creare il nostro file utente:

# touch /etc/dovecot/users.conf

– quindi, usa il comando seguente per generare l'hash della password per un particolare utente:

# dovecotpw -s SHA1

(la password generata viene aggiunta a users.conf senza la parte {SHA1}, ad esempio:)

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

7.) Configurazione delle autorizzazioni e completamento dell'installazione

# 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

– consegnare la posta in arrivo a dovecot

# vim /etc/postfix/master.cf

(aggiungi quanto segue)

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

– mentre ci sei, potresti anche voler abilitare la porta di invio decommentando la seguente riga:

submission inet n       -       -       -       -       smtpd

– ricaricare i servizi

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

Ovviamente non devi fare nulla di tutto questo se usi uno dei nostri servizi di hosting VPS ottimizzato Debian, nel qual caso puoi semplicemente chiedere ai nostri esperti amministratori Linux di installarlo per te. Sono disponibili 24 ore su 24, 7 giorni su 7 e si prenderanno immediatamente cura della tua richiesta.

PS. Se questo post ti è piaciuto condividilo con i tuoi amici sui social network utilizzando i pulsanti a sinistra o semplicemente lascia una risposta qui sotto. Grazie.


Debian
  1. Come installare Spamassassin con Postfix e Dovecot su Ubuntu/Debian Server

  2. Installa il server di posta Postfix e Dovecot su Ubuntu o Debian

  3. Imposta l'inoltro della posta in postfix su Ubuntu o Debian

  4. Installa e configura SpamAssassin in Debian 6 (Squeeze)

  5. Come installare e configurare un server DNS semplice (BIND) su Debian 9

Come configurare Symfony 4 su Debian 9 Server

Come configurare Postfix Mail Server su Ubuntu 16.04 (Dovecot - MySQL)

Come installare e configurare Postfix su Debian

Come configurare un server di posta completo (Postfix) utilizzando "SquirrelMail" (Webmail) su Ubuntu/Debian

Come configurare il server OpenLDAP su Debian 10

Come configurare un server di posta completo con Postfix, Dovecot e Roundcube su Ubuntu 18.04