PDF de programación - Postfix: Guía de Configuración

Imágen de pdf Postfix: Guía de Configuración

Postfix: Guía de Configuracióngráfica de visualizaciones

Actualizado el 2 de Junio del 2021 (Publicado el 15 de Abril del 2017)
1.098 visualizaciones desde el 15 de Abril del 2017
79,2 KB
9 paginas
Creado hace 21a (08/07/2002)
Historia

TuxTips

Artículos

Eventos

Screenshots

Info

Links

Contacto

100% Libre de M$

Principal > Artículos > correo

1.- Que es Postfix

Postfix: Guía de Configuración

Por Juan Carlos Inostroza O.([email protected])

Postfix es un MTA (Mail Transport Agent), escrito originalmente por Wietse Venema, que comenzo siendo una alternativa a Sendmail. Sendmail
controla cerca del 70% del movimiento de correo electronico en internet. El problema que Sendmail es demasiado complicado para configurar. Peor aun
si se quiere hacer cosas mas alla de una configuracion simple. Postfix es una de las alternativas, como lo son tambien Qmail y Zmailer.

1.1.- Instalando Postfix

Como cualquier programa que corra en GNU/Linux, o se precie de serlo, esta la opcion de instalarlo via codigos fuentes. En sistemas RedHat, preferente
mas facil, se puede ahorrar el (tedioso) trabajo de compilar e instalar, ya que archivos en formato RPM ayudan bastante a hacer la vida mas facil.

Para instalar Postfix desde codigo fuente:

Bajar el ultimo snapshot desde http://www.postfix.org
Agregar un usuario sin privilegios, ojala llamado postfix.
Descomprimir los fuentes en algun directorio, con el usuario sin privilegios
El paso tipico, ./configure, make
Como superusuario (root), hacer make install

Usando RPMs, es algo mas simple =)

Bajar el ultimo snapshot en RPM
Como superusuario, ejecutar rpm -ihv postfix-XXXXXXX.rpm

Para evitar referencias malas de directorios, prefiero guiarme por la estructura de instalacion de programas RedHat.

1.2- Entendiendo unas pocas cosas antes

Antes de comenzar a configurar, se debe entender ciertas cosas en la configuracion de Postfix.

Puede usarse el par parametro = valor en el archivo de configuracion. Asi tambien, $parametro se puede pasar como valor a otra variable. Esto es mas
para ahorrar tipeos =).

Por ejemplo

parametro1 = valor1
parametro2 = $parametro1 (que es equivalente a parametro2 = valor1).

Algunas direcciones IP pueden encubrirse para evitar que el Postfix haga peticiones al DNS. Esto es usar naked ip addresses. Para ingresar una direccion
IP desnuda y evitar que Postfix resuelva el nombre, se usan los corchetes cuadrados [ ].

parametro1 = [192.168.5.15]

2.- Configurando Postfix

En /etc/postfix se encuentran los archivos de configuracion. Estos son dos: main.cf y master.cf. main.cf es el archivo principal, donde reside el corazon
del funcionamiento de Postfix. El archivo master.cf es un tipo de archivo tipo inetd.conf, donde los distintos programas de Postfix ven su forma de
funcionar. Advertencia: el archivo master.cf es el mas delicado y complicado. No modificar si no se sabe que se esta haciendo.

2.1- Primeras cosas: hostname, domain, networks

Lo primero es ingresar a main.cf el nombre del host ($myhostname), el dominio ($mydomain). Networks se usa para indicarle a Postfix que maquinas,
distinguidas por IP o direccion son consideradas locales y pueden usar al servidor de correo (MAILSVR en adelante) para envios. Networks puede ser
una colección de Ips o una clase completa.

Por ejemplo, nuestro MAILSVR se llama foo1.bar.com y el dominio se llama bar.com, modificamos las siguientes lineas en main.cf:

myhostname = foo1.bar.com
mydomain=bar.com

Lo siguiente es indicar si se quiere enmascarar las direcciones de correo. Esto es para que usuarios que pertenezcan a distintos subdominios aparezcan

que son enviados desde un mismo dominio (bar.com). Esto es solamente usado si se tiene un dominio con distintas maquinas. El valor por defecto es
$mydomain

myorigin = $myhostname
myorigin = $mydomain

El parametro mydestination especifica que dominios entregar localmente, en vez de enviarlo a otras maquinas. El valor por defecto es entregarlo al
mismo MAILSVR. Puede especificarse ninguno o varios dominios y tablas de lookup con separaciones por espacios o comas.

mydestination = $myhostname localhost.$mydomain
mydestination = $myhostname $mydomain
mydestination = $myhostname www.$mydomain ftp.$mydomain

Precaucion : siempre agregar $myhostname y localhost.$mydomain para evitar loops de entregas de correo.

Generalmente los mails rebotan. Algunas veces, algunos mails que no rebotan simplemente no son entregados. Para ello, existe un usuario, postmaster
que a quien llegan los correos no entregados. Generalmente llegan aquellos correos con un gran debug con errores.

Para saber por que no se entrego correo, la directiva notify_classes indica el nivel de error a notificar. Los valores que puede tener son

bounce : envia a postmaster copias de los correos no entregados, pero estas copias son modificadas para proteger la privacidad del mensaje.
2bounce : envia dos copias del mail que rebota
policy: informa a postmaster las peticiones rechazadas por politicas UCE de otros servidores. Llega una copia de la transaccion
protocol : informa a postmaster cualquier error de protocolos, cliente o servidor, o intentos de algun cliente de ejecutar comandos no
implementados. Se recibe una copia de la transaccion completa
resource : informa a postmaster de los mail no entregados por algun problema de recursos (errores read/write, queue, etc)
software : informa a postmaster de problemas de software

Cualquiera de estas opciones son combinables.

notify_clases = resource, software

La directiva mynetworks permite que una red se considere local para Postfix. Esto es para distinguir entre maquinas conocidas de las extrañas (fuera de
la red). Las maquinas consideradas como locales pueden usar a MAILSVR como un open relay incluso.

Puede configurarse una clase A, B o C, dependiendo de la cantidad de maquinas.

mynetworks = 192.168.1.0/28, 127.0.0.0/8

El parametro inet_interfaces indica que interfaces de red debe escuchar MAILSVR. Los mails enviados a user@direccion_de_red seran entregados
localmente, y direccionados a un dominio que este listado en $mydestination.

El valor por defecto es all (todas las interfaces). Si se tienen interfaces virtuales, se debe indicar cuales de las interfaces escuchar.

inet_interfaces = all
inet_interfaces = virtual.host.name # dominio virtual
inet_interfaces = $myhostname localhost.$mydomain # mailer no virtual

La opcion relay_domains restringe los dominios donde los clientes usan a MAILSVR para enviar correo (relay) o que destinos va a servir MAILSVR.
Por defecto, Postfix relega (relay) correo a: clientes confiables que su direccion esta en $mynetworks clientes confiables que esten en $relay_domains o
algun subdominio clientes no confiables los cuales el destino sea $relay_domains o algun subdominio de el.

Postfix ademas acepta correo para:

destinos que esten en $inet_interfaces
destinos que esten en $mydestination
destinos que esten en $virtual_maps

relay_domains = $mydestination

2.2- Opciones Adicionales

La opcion queue_directory especifica el lugar de la cola de Postfix. Es tambien el directorio raiz de los demonios de Postfix (que corren chrooted).

queue_directory = /var/spool/postfix

command_directory y daemon_directory contienen la ruta donde estan los comandos de Postfix y los demonios, respectivamente

command_directory=/usr/sbin
daemon_directory=/usr/libexec/postfix

mail_owner indica el usuario que es propietario de la cola de Postfix. Especificar un usuario que no comparta un grupo con otras cuentas y que no posea
otros archivos o procesos en la misma maquina. O sea, ni nobody ni daemon. Se debe usar un usuario dedicado.

La instalacion de Postfix crea el usuario y el grupo postfix. Seria logico usarlo para mail_owner. =)

mail_owner = postfix

default_privs indica los privilegios por defecto del agente de entrega de correo para ejecutar un comando o abrir un archivo. NO especificar un usuario
con privilegios o el usuario postfix. Generalmente se usa nobody.

default_privs = nobody

La opcion mail_spool_directory indica el directorio donde los mailboxes son almacenados, "alla UNIX".

mail_spool_directory = /var/mail

2.3- Uso de Tablas Lookup : HASH y REGEXP para filtros

Hay algunas de las opciones de Postfix que requieren saber que son tablas lookup (lookup tables). Son tablas, contenidas en un formato que Postfix
define como diccionario.

Estos diccionarios pueden ser de la siguiente forma:

regexp:/file/name
pcre:/file/name
hash:/file/name
mysql:/file/name.cf

Existen mas, pero estos son los mas conocidos.

Pcre y Mysql requieren que Postfix se recompile con este soporte.

Las tablas (maptype) son archivos (mapname) con separacion por comas o espacios (o una dbase) donde se crea una expresion regular y un resultado.
Los resultados pueden ser los siguientes:

OK : permitida la accion
REJECT : accion rechazada
RELAY : permite relay
ERRORNO razon : un numero de error y una razon del error

Algunos de los numeros de errores que se deben devolver son:

450 : Unknown address - DNS error
554 : UCE restriction
504 : Non-FQDN sender

Regexp y PCRE (Perl Common Regular Expressions) son muy similares en su uso.

Una tabla regexp puede ser, por ejemplo:

/^[email protected].*/ OK
/^postmaster@.*$/ RELAY
/[aA][cC]v@subdominio.*$/ REJECT
/hahaha/ 550 Esto es un vil SPAM

Una tabla HASH es de la siguiente forma:

(patron) (separacion) (accion)

y recuerda bastante la generacion de /etc/mail/access de Sendmail.

Una separacion puede ser un blanco (espacio).
Un patron puede venir de una base de datos, tabla NIS, SQL etc. de la siguiente forma:

usuario@dominio
nombre.de.dominio
usuario@
numero.ip.de.cliente, numero.ip.de , numero.ip , numero : direcciones de red.

Las acciones son de la siguiente forma
[45]XX text : rechaza el mensaje que aparezca en el patron y responde con el codigo y con el texto indicado.
REJECT : simplemente rechaza. Un error generico es desplegado
OK : acepta.

Un ejemplo de una tabla HASH puede ser:
midominio1.com OK
[email protected] REJECT
spammer@ REJECT
192.168.1.99 450 Unresolved

Despues de tener la tabla HASH hay que crear el
  • Links de descarga
http://lwp-l.com/pdf2882

Comentarios de: Postfix: Guía de Configuración (0)


No hay comentarios
 

Comentar...

Nombre
Correo (no se visualiza en la web)
Valoración
Comentarios...
CerrarCerrar
CerrarCerrar
Cerrar

Tienes que ser un usuario registrado para poder insertar imágenes, archivos y/o videos.

Puedes registrarte o validarte desde aquí.

Codigo
Negrita
Subrayado
Tachado
Cursiva
Insertar enlace
Imagen externa
Emoticon
Tabular
Centrar
Titulo
Linea
Disminuir
Aumentar
Vista preliminar
sonreir
dientes
lengua
guiño
enfadado
confundido
llorar
avergonzado
sorprendido
triste
sol
estrella
jarra
camara
taza de cafe
email
beso
bombilla
amor
mal
bien
Es necesario revisar y aceptar las políticas de privacidad