Está en la página 1de 11

Administración de

Postfix

Roberto García Fernández

INTRODUCCIÓN
 Servidores de correo
 Sendmail
 Más antiguo
 Smail
 Más sencillo pero menos extendido
 Qmail
 Compatible con Sendmail
 Muy seguro
 Exim
 Similar a Smail
 Postfix
 Se instalará y configurará en el curso
 ...

1
Servidor de correo Sendmail
 Usado en el 70% de las empresas
 Aplicación de dominio público
 Disponible en múltiples plataformas
 Muy completo
 Se dice que no se es un verdadero administrador de sistemas
Unix hasta que se haya editado el archivo sendmail.cf
 Se dice asimismo que se está loco si se intenta hacerlo dos
veces
 Sendmail es un programa increíblemente potente
 Y también, para la mayoría de la gente, increíblemente difícil
de aprender y comprender
 Falta de documentación
 Problemas de seguridad
 Alternativas: Qmail, Postfix, ...

Postfix
 Servidor de correo MTA muy potente
 Programado por Wietse Venema
 Alternativa a Sendmail
 Rápido, fácil de administrar y seguro
 Compatible con Sendmail
 http://www.postfix.org

2
Paquetes Linux de Postfix
 postfix - A high-performance mail transport agent
 postfix-dev - Postfix loadable modules development environment
 postfix-doc - Postfix documentation
 postfix-ldap - LDAP map support for Postfix
 postfix-mysql - MYSQL map support for Postfix
 postfix-pcre - PCRE map support for Postfix
 postfix-snap - Postfix Mail Transport Agent - snapshot release
 postfix-snap-dev - Postfix-snap loadable modules development
environment
 postfix-snap-doc - Postfix-snap documentation
 postfix-snap-ldap - LDAP map support for Postfix-snap
 postfix-snap-mysql - MYSQL map support for Postfix-snap
 postfix-snap-pcre - PCRE map support for Postfix-snap
 postfix-snap-tls - TLS and SASL support for Postfix snapshots
 postfix-tls - TLS and SASL support for Postfix

Entorno de pruebas
IP: 156.35.171.145/24
Gateway: 156.35.171.201
DNS: w.x.y.z
DNS sec: w.x.y.z

NIC green NIC red Uniovi


Internet
192.168.1.1
255.255.255.0

192.168.1.200
Switch

192.168.1.250
...
Mail Server 1 (Postfix) Mail Server 10 (Postfix)
IP: 156.35.171.134/24 IP: 156.35.171.144/24
servidor1.cursoservicios.com servidor10.cursoservicios.com

Obtener IP automáticamente
DHCP
Minimo: 192.168.1.200
Maximo: 192.168.1.250
Gateway: 192.168.1.1
DNS Primario: 192.168.1.1
DNS Sec: w.x.y.z

3
Instalación
 apt-get install postfix-doc postfix-pcre
 Directorio de ficheros de configuración
 /etc/postfix

 Fichero principal de configuración


 main.cf
 If you have not already configured Postfix, your mail system will be
broken and should not be used. You must then do the configuration
yourself by editing /usr/share/postfix/main.cf.dist and saving your
changes as /etc/postfix/main.cf, or by running dpkg-reconfigure Postfix.
main.cf will not be modified by the Postfix install process

Comandos básicos de postfix


 postfix stop  Detener el servidor
 postfix start  Arrancar el servidor
 postfix reload  El servidor relee la configuración sin
parar el servicio
 mailq  Ver la cola de mensajes
 postfix flush  Forzar el envío de mensajes de la cola
de espera
 postmap  Construir los ficheros auxiliares de Postfix
 postconf  Mostrar toda la configuración de Postfix
 newaliases  Reconstruir la base de datos de alias

4
Modos de ejecución
 Modo “internet site”
 Elpropio servidor se encarga de repartir los
mensajes a sus destinatarios
 No definida la opción “relayhost =“

 Modo “internet site with smarthost”


 El servidor no envía los mensajes directamente
 Los envía a otro servidor de correo
 relayhost=ip_o_nombre_servidor_smtp

Configuración Postfix
 Editar/ver etc/postfix/main.cf
 more main.cf (ver fichero)
 nano main.cf (editar fichero)
 Nombrando al servidor
 myhostname = servidorN.cursoservicios.com
 mydomain = cursoservicios.com
 Correo saliente
 myorigin = $mydomain o myorigin = $myhostname
 mynetworks
 Qué red o redes pueden enviar correo a través del servidor Postfix
 Correo entrante
 mydestination
 Servidores virtuales, dominios que gestiona el servidor como locales
 Alias
 alias_maps
 Equivalencias entre una dirección local (ficticia) y una dirección real
 Tabla en fichero etc/aliases
 Después de modificar fichero aliases:
 # newaliases

5
Configuración Postfix
 Recepción de correo
 /var/mail/usuario
 Ficheros log
 /var/log/mail.log
 Conectarse como root
 sudo su
 Añadir nuevos usuarios (como root)
 adduser
 Eliminar usuarios (como root)
 deluser
 Cambiar usuario
 su – nuevo_usuario

Prueba de funcionamiento local


Envío de correo SMTP desde <roberto> a <manolo, david>
root@ubuntu:/var/mail# telnet localhost 25
Trying 127.0.0.1...
Connected to localhost.
Escape character is '^]'.
220 servidor2.cursoservicios.com ESMTP Postfix (Ubuntu)
HELO prueba
250 servidor2.cursoservicios.com
MAIL FROM: <roberto@servidor2.cursoservicios.com>
250 2.1.0 Ok
RCPT TO: <manolo@servidor2.cursoservicios.com>
250 2.1.5 Ok servidor2.cursoservicios.com
RCPT TO: <david@servidor2.cursoservicios.com>
250 2.1.5 Ok
DATA roberto david manolo xabiel
354 End data with <CR><LF>.<CR><LF>
Hola a los dos:
Toy faciendo una prueba con SMTP
.
250 2.0.0 Ok: queued as F23933E0583 Los correos se entregan en:
QUIT /var/mail
221 2.0.0 Bye
Connection closed by foreign host.

6
Servidor de correo POP3
 Dovecot es un servidor IMAP y POP3 para
sistemas Linux
 Open source
 Buena elección para todo tipo de instalaciones
 Rápido, fácil de configurar
 No requiere una administración especial
 Utiliza muy poca memoria
 http://www.dovecot.org/
 http://wiki.dovecot.org/QuickConfiguration

Instalación Dovecot
 apt-get install dovecot-pop3d
 Editar fichero de configuración
 /etc/dovecot/dovecot.conf
 Cambiar las líneas
 protocols=pop3
 listen=*
 pop3_uidl_format=%08Xu%08Xv
 disable_plaintext_auth=no
 Para activarlo
 dovecot - -exec-mail pop3

7
Prueba de funcionamiento POP3
Recoger el correo del usuario <david>
root@ubuntu:/var/mail# telnet localhost 110
Trying 127.0.0.1...
Connected to localhost.
Escape character is '^]'.
+OK Dovecot ready.
USER david
+OK
PASS clavecorreo
+OK Logged in.
LIST
+OK 1 messages:
1 495
.
RETR 1
+OK 495 octets
Return-Path: <manolo@servidor2.cursoservicios.com> servidor2.cursoservicios.com
X-Original-To: david@servidor2.cursoservicios.com
Delivered-To: david@servidor2.cursoservicios.com
Received: from probando (localhost [127.0.0.1]) roberto david manolo xabiel
by servidor2.cursoservicios.com (Postfix) with SMTP id 9F2423E042D;
Mon, 28 May 2007 19:48:17 +0200 (CEST)
Message-Id: <20070528174838.9F2423E042D@servidor2.cursoservicios.com>
Date: Mon, 28 May 2007 19:48:17 +0200 (CEST)
From: manolo@servidor2.cursoservicios.com
To: undisclosed-recipients:;
eeeeeeeeeeeh
.
QUIT
+OK Logging out.
Connection closed by foreign host.

Configuración Outlook
Internet

Mail Server 2 (Postfix)


Mail Server 2 (Dovecot)
IP: 156.35.171.135/24
servidor2.cursoservicios.com

8
Correo a máquinas remotas
servidor1.cursoservicios.com
156.35.171.134
Auth? servidor2.cursoservicios.com?
Base de datos
MySQL
OK 156.35.171.135

Servidor DNS

SMTP
cliente2@servidor2.cursoservicios.com
Internet
cliente2

cliente1 SMTP POP3

servidor2.cursoservicios.com
156.35.171.135

Otras funcionalidades Postfix


 Recepción de un mensaje dirigido a un alias de usuario
 Añadir alias de usuario en /etc/aliases
 Recepción de un mensaje dirigido a un alias de una lista
 Envío a un conjunto de usuarios de una lista
 Crear lista en fichero de alias /etc/aliases
 Recepción de un mensaje dirigido a una dirección falsa
 Rechazar el envío de un mensaje a un usuario externo
 relayhosts =
 mynetworks = 127.0.0.0/8

9
Otras funcionalidades Postfix
 Rechazar el envío de un mensaje de spam enviado por
un usuario vetado
 Crear tabla hash sender_access
 Cambiar en Postfix
 smtp_sender_restrictions=check_sender_access
hash:/etc/postfix/sender_access
 Rechazar el envío de un mensaje de spam dirigido a un
usuario vetado
 Conexión rechazada con el campo rcpt to:
 Tabla hash recipient_access
 smtp_recipient_restrictions=check_recipient_access
hash:/etc/postfix/recipient_access

Otras funcionalidades Postfix


 Rechazar un mensaje de spam con la palabra
xxx en el Subject
 Crear el fichero header_check
 Añadir en main.cf
 header_checks=regexp:/etc/postfix/header_check
 Rechazar un mensaje de spam con la palabra
xxx en el Body
 Crearel fichero body_check
 body_checks=regexp:/etc/postfix/body_check
NOTA: Cada vez que se modifica un fichero
• # postmap fichero && postfix reload
Ficheros de alias: newaliases

10
Referencies
 www.postfix.org
 www.dovecot.org
 www.sendmail.org
 Guía rápida de Postfix
 Paco Brufal
 Práctica 2: Servidor de Correo
 Sergio Paracuellos, Ricardo Muñoz (Unizar)
 Configuración de Postfix
 Ricardo Palomares

11