Configuración Servidor de correo

Requerimientos
  • El servidor debe contar con una ip estática
  • Servidor dns configurado y activo
Configuración dns para el servicio de correo:
$ sudo nano /etc/bind/misitio.com.db

Editar el archivo de configuración de bind9 en la zona directa y agregar la siguiente linea:

email       IN    A         192.168.0.2
1w          IN    MX   10   email.misitio.com.

Para esta practica se configurar un servidor de correo con el dominio @misitio.com, no olvide remplazar por el dominio que se desea configurar.

Instalación de aplicaciones
sudo apt-get install dovecot-imapd dovecot-pop3d postfix -y

Durante la instalación se les solicitara el tipo de configuración y se debe seleccionar internet site

En el campo que se les muestra escribir el nombre del sitio, que en este caso es misitio.com

Generar los certificados necesarios para el correo

$ openssl genrsa -des3 -out misitio.key 2048
$ chmod 600 misitio.key

$ openssl req -new -key misitio.key -out misitio.csr

$ openssl x509 -req -days 365 -in misitio.csr -signkey misitio.key -out misitio.crt

$ openssl rsa -in misitio.key -out misitio.key.nopass

La estructura de los archivos quedaría de la siguiente manera

.
|-- misitio.crt
|-- misitio.csr
|-- misitio.key
`-- misitio.key.nopass

Copiarlos al directorio correcto

$ mv misitio.key.nopass misitio.key

$ openssl req -new -x509 -extensions v3_ca -keyout cakey.pem -out cacert.pem -days 365 

$ chmod 600 misitio.key
$ chmod 600 cakey.pem
$ sudo mv misitio.key /etc/ssl/private/
$ sudo mv misitio.crt /etc/ssl/certs/
$ sudo mv cakey.pem /etc/ssl/private/
$ sudo mv cacert.pem /etc/ssl/certs/

Editar la configuración de postfix, antes realizando un respaldo del archivo

$ sudo cp /etc/postfix/main.cf{,.bak}
$ sudo nano /etc/postfix/main.cf

Asegurarse que la linea que contenga misitio.com, sea remplazada por el nombre de su dominio.

Los tres puntos significan que pueden encontrar mas lineas de configuración mas arriba del archivo.

La configuración quedaría con las siguientes lineas modificadas y unas agregadas manualmente.

...
myhostame = misitio.com
mydomain = misitio.com
myorigin = $mydomain
mailbox_command =

home_mailbox = Maildir/
smtpd_sasl_type = dovecot
smtpd_sasl_path = private/auth
smtpd_sasl_auth_enable = yes

EJEMPLO: Esto es solo una parte de este archivo de configuración:

↑
smtpd_relay_restrictions = permit_mynetworks permit_sasl_authenticated defer_unauth_destination
myhostname = misitio.com
mydomain = misitio.com
alias_maps = hash:/etc/aliases
alias_database = hash:/etc/aliases
myorigin = $mydomain
mydestination = $myhostname, misitio.com, a.lan, localhost.lan, localhost
relayhost =
mynetworks = 127.0.0.0/8 [::ffff:127.0.0.0]/104 [::1]/128
mailbox_size_limit = 0
recipient_delimiter = +
inet_interfaces = all
inet_protocols = all

mailbox_command =

home_mailbox = Maildir/
smtpd_sasl_type = dovecot
smtpd_sasl_path = private/auth
smtpd_sasl_auth_enable = yes

Salir y guardar el archivo Desde la consola ejecutar los siguientes comandos, remplazando las claves con las que se generaron manualmente antes.

sudo postconf -e "smtpd_tls_auth_only = no"
sudo postconf -e "smtpd_use_tls = yes"
sudo postconf -e "smtp_use_tls = yes"
sudo postconf -e "smtp_tls_note_starttls_offer = yes"
sudo postconf -e "smtpd_tls_key_file = /etc/ssl/private/misitio.key"
sudo postconf -e "smtpd_tls_cert_file = /etc/ssl/certs/misitio.crt"
sudo postconf -e "smtpd_tls_CAfile = /etc/ssl/certs/cacert.pem"
sudo postconf -e "smtpd_tls_loglevel = 1"
sudo postconf -e "smtpd_tls_received_header = yes"
sudo postconf -e "smtpd_tls_session_cache_timeout = 3600s"

Si desea revisar los cambios, abra manualmente el archivo sudo nano /etc/postfix/main.cf

Reiniciar la aplicación postfix

sudo /etc/init.d/postfix restart

Los parámetros que acepta postfix son

sudo /etc/init.d/postfix [start,stop,restart,status]

Editar los archivos de dovecot, no sin antes realizar un respaldo:

$ sudo cp /etc/dovecot/conf.d/10-ssl.conf{,.bak}
$ sudo nano /etc/dovecot/conf.d/10-ssl.conf

Las siguientes lineas son las que se modificaran:

ssl = yes

ssl_cert = </etc/ssl/certs/misitio.crt
ssl_key = </etc/ssl/private/misitio.key

Guardar y salir Configurar la forma de iniciar sesión:

$ sudo cp /etc/dovecot/conf.d/10-auth.conf{,.bak}
$ sudo nano /etc/dovecot/conf.d/10-auth.conf

Se desactiva el inicio de sesión en texto plano, des-comentado la siguiente linea.

disable_plaintext_auth = yes

Editar el archivo de configuración de dovecot, para usuarios y grupo de usuarios permitidos.

$ sudo cp /etc/dovecot/conf.d/10-master.conf{,.bak}
$ sudo nano /etc/dovecot/conf.d/10-master.conf

Buscar las siguientes lineas, des-comentar las especificadas y agregar otras, quedando de la siguiente manera

↑
  # Postfix smtp-auth
  unix_listener /var/spool/postfix/private/auth {
    mode = 0666
    user = postfix
    group = postfix
  }
  ↓
$ sudo cp /etc/dovecot/conf.d/10-mail.conf{,.bak}
$ sudo nano /etc/dovecot/conf.d/10-mail.conf

Des-comentar la siguiente linea:

mail_location = maildir:~/Maildir

Comentar la siguiente linea:

mail_location = mbox:~/mail:INBOX=/var/mail/%u

Buscar la siguiente linea mail_privileged_group y modificarlo de la siguiente manera:

mail_privileged_group = mail

Esta es una parte del archivo como debería quedar:

↑
# See doc/wiki/Variables.txt for full list. Some examples:
#
mail_location = maildir:~/Maildir
#   mail_location = mbox:~/mail:INBOX=/var/mail/%u
#   mail_location = mbox:/var/mail/%d/%1n/%n:INDEX=/var/indexes/%d/%1n/%n
#
# <doc/wiki/MailLocation.txt>
#
# mail_location = mbox:~/mail:INBOX=/var/mail/%u
↓

↑
mail_privileged_group = mail 
↓

Puede agilizar la busqueda con la combinacion de teclas ctrl+w

Reiniciar la aplicación de dovecot

sudo /etc/init.d/dovecot restart

Los parametros que acepta dovecot son los siguientes:

sudo /etc/init.d/dovecot [start,stop,restart,status]

Se recomienda agregar nuevos usuarios para probar la conexión:

Rellenar todo lo que se le solicite al agregar al nuevo usuario

sudo adduser correo1
sudo adduser correo2

results matching ""

    No results matching ""