Hasta la fecha el servidor de correo más utilizado en Internet venía siendo sendmail ( el cual incorpora RedHat por defecto ). Postfix proporciona una alternativa a sendmail convirtiéndose en un software de diseño más simple, más modular y más fácil de configurar y administrar.
Sendmail sigue siendo una aplicación muy poderosa, estable y ampliamente desarrollada, pero la curva de aprendizaje y los diferentes agujeros de seguridad encontrados, han hecho que muchos administradores valoren otras alternativas.
La forma fácil de instalar postfix es a partir de un paquete rpm con la siguiente línea de comando:
$ rpm -ivh postfix-2.0.11-5.i386.rpm
Lo único que hay que tener en cuenta es que normalmente las distribuciones vienen con un software MTA instalado por defecto (sendmail) y habría que eliminarlo para que no haya conflictos entre ellos.
$rpm -evv sendmail fetcmail mutt
Los ficheros de configuración de postfix están instalados en el directorio '/etc/postfix' :
root@mis21 postfix]# ls install.cf main.cf master.cf postfix-script
El fichero principal de configuración para postfix es main.cf. El fichero install.cf contiene valores iniciales que serán definidos durante la instalación del paquete RPM. El fichero master.cf es el fichero de configuración del proceso maestro de Postfix. Cada línea de este fichero describe como un programa componente de correo debe ser ejecutado.
Por tanto administrar Postfix es tan simple como saber moverse a través del fichero main.cf que está además razonablemente comentado por su autor. Este fichero controla alrededor de 100 parámetros de configuración, pero afortunadamente la mayoría de valores por defecto serán una buena elección. Los parámetros son nombres de variable que definen algún comportamiento específico de Postfix ( myhostname, mydomain ).
En la mayoría de los casos ( el nuestro ) solo necesitaremos configurar un par de parámetros antes de poder usar el servidor Postfix:
Que dominio utilizar para el correo saliente.
myorigin especificará el dominio que aparecerá en el correo enviado por esta máquina.
De que dominios recibimos mail ( o lo resolvemos localmente ).
mydestination especifica que dominios resolverá localmente (almacenará) esta máquina en vez de reenviarlo a otra máquina.
Otros parámetros que deberíamos definir en segunda instancia, podrían ser los siguientes:
myhostname:
describe el nombre FQDN de la máquina que está ejecutando el servidor Postfix.
mydomain:
especifica el dominio padre de la variable $myhostname.
mynetworks:
este parámetro lista todas las redes a las que esta máquina está adscrita.
mydestination:
este parámetro especifica que dominios tiene que entregar localmente en vez de enviarlo a otras máquinas.
inet_interfaces:
especifica todas las direcciones de las interfaces de red donde el sistema Postfix está escuchando.
Postfix ofrece una gran variedad de parámetros que limitan la resolución de correo comercial no-solicitado (Unsolicited Commercial Email).
Por defecto, el servidor SMTP Postfix aceptará solamente correo que provenga o vaya a la red local o al dominio, de esta forma el sistema no puede ser usado como un retransmisor de correo (mail relay) para reenviar desde cualquier usuario extraño.
Sin embargo habrá que adoptar precauciones ya que la línea que separa el spam de los destinos legítimos es muy fina y puede provocar que añadiendo pequeños controles UCE provoquemos que se borre correo legítimo.
Teniendo en cuenta esto, la mayoría de sitios pueden correr el riesgo de definir unos pocos controles como los siguientes:
smtpd_recipient_limit:
define cuantos beneficiarios (recipientes) pueden ser direccionados en la cabecera del mensaje.
smtpd_recipient_restrictions:
No cualquier correo que llegue al servidor debe ser aceptado. Este parámetro le dice al servidor Postfix que chequee la dirección base del destinatario según algún criterio. Una de las formas mas fáciles es mantener una base de datos de acceso. Este fichero listará dominios, hosts, redes y usuarios que tienen permitido recibir mail a través de tu servidor.
Para ello habría que habilitarlo de la siguiente forma:
smtpd_recipient_restrictions = check_recipient_acces hash:/etc/postfix/access
smtpd_sender_restrictions:
por defecto Postfix aceptará conexiones SMTP de todo el mundo, exponiendo al servidor a lo que se ha dado en conocer como SMTP relaying. Si esto ocurriera, es posible que otros servidores rechacen el correo que provenga de nuestro dominio.
El mismo fichero de acceso se puede utilizar aquí para prevenir el relay.
El fichero aliases, normalmente situado en el directorio /etc/postfix, puede ayudar a mapear usuarios que realmente existen en servidores internos, o podemos mapear direcciones de correo de usuarios que no tienen cuenta real en nuestro servidor, o podremos de una forma fácil crear y mantener listas de correo. Una entrada típica en el /etc/postfix/aliases puede ser la siguiente:
Fernando.Ferrer: fferrer@dsic.upv.es
Una vez que se ha editado el fichero aliases, habrá que generar el nuevo mapa de alias con el comando newaliases.
Si un alias apunta a un servidor de mail diferente, este servidor debe pertenecer a un dominio para el cual el servidor SMTP esté configurado para retransmitir mail. Es decir o bien el FQDN del servidor o su dominio deben de ser incluidos en la variable mydestination.