GNU/Linux >> Tutoriales Linux >  >> Debian

Cómo configurar un servidor de correo simple pero poderoso usando Postfix, Dovecot y Sasl en Debian 6 (Squeeze)

El siguiente artículo tiene como objetivo instalar y configurar un servidor de correo POP3/IMAP/SMTP simple en su VPS Debian usando Postfix, Dovecot y SASL.

¿Qué es Postfix? Es un reemplazo directo para el viejo y maduro Sendmail. Postfix también intenta ser muy rápido, fácil de administrar y seguro.

¿Qué es Dovecot? Es un servidor IMAP y POP3 de código abierto para sistemas tipo *NIX, escrito principalmente con la seguridad en mente.

¿Qué es SASL? SASL, la capa de seguridad y autenticación simple, es un mecanismo genérico para que los protocolos realicen la autenticación.

1.) Requisitos previos

– Es posible que desee comprobar si su nombre de host/nombre de dominio es un FQDN válido (nombre de dominio completo) y si tiene un registro MX DNS válido.

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

ok, el nombre de host 'mydomain.com' tiene un registro MX y:

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

el conjunto de registros MX se resuelve en la IP de nuestro servidor Debian (12.34.56.78)

2.) Actualice el sistema e instale los paquetes necesarios

– Antes de continuar, debemos asegurarnos de tener un sistema completamente actualizado.

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

2.a) Instalar sufijo

# apt-get install postfix

(cuando se le solicite, elija "Sitio de Internet" y luego establezca "midominio.com" como nombre de correo del sistema).

2.b) Instalar palomar

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

2.c) Instalar sasl para la autenticación de usuarios

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

(habilite el demonio sasl configurando START=yes en /etc/default/saslauthd . también puede reducir la cantidad de subprocesos configurando THREADS=3 por ejemplo)
o si te sientes valiente:

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

configurar /etc/postfix/sasl/smtpd.conf

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

reiniciar SASL

# /etc/init.d/saslauthd restart

3.) Crear un usuario del sistema Para manejar los correos entrantes y solo tiene acceso a los buzones.

– crear grupo utilizado para buzones virtuales

# groupadd vmail -g 2222

– crear usuario utilizado para buzones virtuales

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

4.) Preparar el certificado SSL para usar el transporte SSL

– copie/mueva su ssl a algún directorio, por ejemplo /etc/sample-ssl/

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

5.) Configuración de sufijos

– antes de hacer cualquier otra cosa, asegúrese de tener una copia de seguridad del archivo de configuración original

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

5.a) configurar el archivo de configuración principal de postfix (/etc/postfix/main.cf)

– asegúrese de cambiar 'mydomain.com' con su nombre de dominio y también configure las rutas ssl apropiadamente

# 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) crear /etc/postfix/vmail_domains que contenga los dominios para los cuales postfix aceptará correos electrónicos

– el formato es de 2 columnas. dominio a la izquierda, estado a la derecha. si no hay nada en el lado derecho, el dominio está deshabilitado.

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

5.c) crear /etc/postfix/vmail_mailbox que contenga los buzones aceptados

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

5.d) crear /etc/postfix/vmail_aliases que contenga los alias virtuales

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

hash de los archivos de configuración

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

6.) Configuración de palomar

– antes de hacer cualquier otra cosa, asegúrese de tener una copia de seguridad del archivo de configuración original

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

– crear el archivo de configuración principal de palomar

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

asegúrese de establecer la configuración para que coincida con sus rutas y necesidades

– crear nuestro archivo de usuario:

# touch /etc/dovecot/users.conf

– a continuación, use el siguiente comando para generar un hash de contraseña para un usuario en particular:

# dovecotpw -s SHA1

(la contraseña generada se agrega a users.conf sin la parte {SHA1}, por ejemplo :)

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

7.) Configurar permisos y completar la instalación

# 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

– entregar los correos entrantes a dovecot

# vim /etc/postfix/master.cf

(añadir lo siguiente)

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

– mientras lo hace, es posible que también desee habilitar el puerto de envío descomentando la siguiente línea:

submission inet n       -       -       -       -       smtpd

– recargar los servicios

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

Por supuesto, no tiene que hacer nada de esto si utiliza uno de nuestros servicios de alojamiento VPS optimizado para Debian, en cuyo caso simplemente puede pedirle a nuestros administradores expertos de Linux que lo instalen por usted. Están disponibles las 24 horas del día, los 7 días de la semana y atenderán su solicitud de inmediato.

PD. Si te gustó esta publicación, compártela con tus amigos en las redes sociales usando los botones de la izquierda o simplemente deja una respuesta a continuación. Gracias.


Debian
  1. Cómo configurar el servidor y el cliente NTP en Debian 9 Stretch Linux

  2. Cómo configurar el servidor Rsyslog en Debian 11

  3. Cómo instalar Spamassassin con Postfix y Dovecot en Ubuntu/Debian Server

  4. Instale el servidor de correo Postfix y Dovecot en Ubuntu o Debian

  5. Configurar el reenvío de correo en postfix en Ubuntu o Debian

Cómo configurar Symfony 4 en el servidor Debian 9

Cómo configurar el servidor de correo Postfix en Ubuntu 16.04 (Dovecot - MySQL)

Cómo instalar y configurar Postfix en Debian

Cómo configurar un servidor de correo completo (Postfix) usando 'SquirrelMail' (Webmail) en Ubuntu/Debian

Cómo configurar el servidor OpenLDAP en Debian 10

Cómo configurar un servidor de correo con todas las funciones con Postfix, Dovecot y Roundcube en Ubuntu 18.04