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 NIC green 192.168.1.1 255.255.255.0 IP: 156.35.171.145/24 Gateway: 156.35.171.201 DNS: w.x.y.z DNS sec: w.x.y.z NIC red Uniovi Internet Switch 192.168.1.200 192.168.1.250... Mail Server 1 (Postfix) IP: 156.35.171.134/24 servidor1.cursoservicios.com Mail Server 10 (Postfix) IP: 156.35.171.144/24 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 El propio 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 RCPT TO: <david@servidor2.cursoservicios.com> 250 2.1.5 Ok DATA 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 QUIT 221 2.0.0 Bye Connection closed by foreign host. servidor2.cursoservicios.com roberto david manolo xabiel Los correos se entregan en: /var/mail 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> X-Original-To: david@servidor2.cursoservicios.com Delivered-To: david@servidor2.cursoservicios.com Received: from probando (localhost [127.0.0.1]) 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. servidor2.cursoservicios.com roberto david manolo xabiel 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 Base de datos MySQL servidor1.cursoservicios.com 156.35.171.134 Auth? OK servidor2.cursoservicios.com? 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 Crear el 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