Informática
Oaxaca, México.
INSTALAR EL SERVIDOR SMTP
Como bien se ha indicado antes Postfix será el servidor SMTP que se utilizará para las instalaciones debido a los amplios motivos a su favor, tales como la sencillez a la hora de su configuración, su cada día mayor extensión…
Antes de nada hay que instalar el paquete Postfix de los repositorios. Una vez
Instalado Postfix en el equipo, son dos los archivos de configuración que habrá que tener en cuenta a la hora de configurar Postfix del modo que mejor nos convenga. La mayor parte de la configuración se lleva a cabo en el fichero main.cf, ya que la funcionalidad primordial del master.cf es la de definir cómo un programa se conecta a un servicio y que dominio corre cuando un servicio es solicitado.
La configuración básica del archivo main.cf es muy sencilla, basta con configurar
las siguientes l-ines de forma correcta:
1.- Especificar el Hostname y el Dominio de la máquina:
myhostname = mail.pfc-server.com
2.- Indicar el dominio del cual llega el correo local:
myorigin = $mydomain
3.- Indicar en que interfaces estará Postfix escuchando en el puerto 25. Si no se le indica nada solo escuchará por defecto en localhost:
inet_interfaces = all
4.- Indicar la lista de dominios que la máquina considerará como destino final para el que aceptar el correo:
mydestination = $myhostname, localhost.$mydomain, localhost, $mydomain
5.- Indicar cual es el fichero donde se almacenan los alias. Los alias son cuentas no reales, es decir, que no existen como tal en GNU/Linux, pero que pueden ser asociadas a una o varias cuentas de correo reales del sistema. Ejemplo del archivo alias:
sistemas: nagore, borja, andoni, agustin
desarrollo: alayn, cristina, ibon, Mikel
Los alias en este caso son sistemas y desarrollo. Al enviar un mail cuyo destinatario sea sistemas, dicho mail en realidad se enviará a los usuarios listados dentro de dicho alias.
El fichero alias puede disponer de muchas entradas, con lo cual tiene que ser
indexado en formato base de datos de Berkley, y hay que hacerlo cada vez que se
modifique, mediante el comando newaliases. Este comando genera un fichero aliases.db que es el que usará Postfix.
alias_maps=hash:/eretc/aliases
alias_database=hash:/etc/aliases
6.- Para que los clientes de nuestro servidor de correo puedan enviar correos a través de nuestro servidor, debe de habilitarse el relay en la variable mynetworks:
mynetworks_style = subnet
mynetworks = 192.168.0.0./16, 127.0.0.0/8
En este punto cabe aclarar lo que es un open relay, ya que es algo muy peligroso
que se ha de evitar a toda costa. Un open relay es cuando un servidor SMTP permite enviar correo a destinatiarios que no pertenecen a nuestro dominio. Un servidor solo ha de ser open relay para sus redes de confianza y redes locales, NUNCA para IP’s que no son de nuestra red, es decir, para los que no estén en la variable mynetworks.}
Si se quieren añadir más IP’s de oficinas remotas o clientes que tienen IP’s fijas
pueden añadirse en el fichero access. Además en en fichero access también pueden indicarse la direcciones a las que específicamente no se les permiten conexiones con nuestro servidor:
Ejemplo del fichero access:
#/etc/postfix/access
# Redes a las que se permite hacer relay
# Se le permite hacer relay a la red interna
192.168 RELAY
# Se deniegan direcciones de spamers conocidas
65.169.89 DENY no se aceptan mails de spammers
spammer@spammerland.com DENY no se aceptan mails de spammers
spammerland.com DENY no se aceptan mails de spammers
Tras añadir las líneas necesarias al fichero es necesario indexarlo del mismo modo que hacía falta para el fichero aliases, salvo que en este caso el mandato a ejecutar no es newaliases sino postmap: postmap Access
Para que Postfix utilice el fichero access además de los valores indicados en
mynetworks, deben añadirse las siguientes lineas al fichero main.cf:
smtpd_recipient_restrictions = permit_mynetworks
check_relay_domains
smtpd_sender_restrictions = hash:/etc/postfix/access
reject_unknown_sender_domain
7.- Una medida antispam interesante o para restringir quien es quien envía correo no deseado son las directivas header_checks y body_checks del main.cf:
header_checks = regexp:/etc/postfix/header_checks
body_checks = regexp:/etc/postfix/body_checks
8.- Tras realizar esta configuración básica inicial se rearranca Postfix (postfix restart) para comprobar que los cambios realizados funcionan correctamente. Puede realizarse una prueba manual de que el correo funciona:
telnet 127.0.0.1 25
Trying 127.0.0.1…
Connected to 127.0.0.1.
Escape carácter is ‘^]’.
220 mail.pfc-server.com ESMTP Postfix
mail from: admin.@pfc-server.com
250 Ok
rcpt to: admin.@pfc-server.com
250 Ok
data
354 End data with <CR><LF><CR><LF>
Prueba de envío de correo manual
.
250 Ok: queued as A7CBC33A9C
221 Bye
Connection closed by foreign host.
Haciendo cat /var/spool/mail/admin Podrá comprobarse si el correo ha llegado al usuario local admin.
9.- Modificación del sistema de buzones de Mailbox a Maildir.
La diferencia entre Mailbox y Maildir es que Mailbox guarda los mensajes en un
único fichero y Maildir guarda los mensajes es una estructura de ficheros y directorios, con lo cual no requiere bloque de ficheros para mantener la integridad de los mensajes. Si bien ambos formatos están ampliamente extendidos y son eficaces, el que se utilizará será Maildir, debido en gran parte a la comodidad e independencia de los mensajes que aporta la estructuración en directorios.
Por defecto tanto Dovecot como Postfix están predeterminadas a utilizar Mailbox, con lo cual, para habilitar maildir habrá que modificar los ficheros
/etc/postfix/main.cf y
/etc/dovecot/dovecot.conf:
#main.cf
home_mailbox = Maildir/
#dovecot.conf
default_mail_env = maildir:/home/%u/Maildir
10.- Convertir los buzones de mailbox a maildir
Pese a haber modificado las directrices que indican que ha cambiado el sistema de archivo, es primordial el cambiar el formato de buzones a los mensajes ya almacenados en el sistema, para ello se puede utilizar el programa mb2md.pl (mailbox to maildir), disponible en los repositorios: aptitude install mb2md
Una vez se tenga el script mb2md.pl, deberá ejecutarse como cada usuario (no
como root):
mb2md.pl –s /var/spool/mail/admin. /home/admin/Maildir
11.- Definir Dominios Virtuales
En Postfix tiene que crearse un fichero con una tabla de usuarios virtuales. La
directiva para indicarle a Postfix cuales son los usuarios es la siguiente:
# Para los Dominios Virtuales
virtual_alias_maps = hash:/etc/postfix/virtual
La sintaxis del fichero es la siguiente:
#usuario@dominiovirtual usuario_local
admin@zerbitzaria.com admin.zerbitzaria
pfc-server.com whatever
Esto significa que cuando se envíe un correo a la cuenta admin@zerbitzaria.com, el correo se entregará al usuario local admin.zerbitzaria.
Este formato permite tener un usuario llamado admin. (perteneciente al dominio principal) y otro usuario llamado admin..zerbitzaria destinado al dominio virtual zerbitzaria.com.
Para que Postfix pueda leer el fichero virtual, éste debe de estar en forma de base de datos de Berckley, para ello se ejecutará el comando postmap virtual.

