PDF de programación - Postfix + Cyrus + Courier + AMaViS + Spamassassin + ClamAV + Mysql

Imágen de pdf Postfix + Cyrus + Courier + AMaViS + Spamassassin + ClamAV + Mysql

Postfix + Cyrus + Courier + AMaViS + Spamassassin + ClamAV + Mysqlgráfica de visualizaciones

Publicado el 22 de Mayo del 2018
634 visualizaciones desde el 22 de Mayo del 2018
198,4 KB
20 paginas
Creado hace 17a (16/11/2006)
Postfix + Cyrus + Courier + AMaViS +

Spamassassin + ClamAV + Mysql

Alejandro Bárcena Campos
[email protected]
m77

¿Qué es el correo electrónico?
El correo electrónico (electronic mail, e-mail o email) es un método de almacenamiento y reenvío de
mensajes. Básicamente comprende:

● Elaboración
● Envío
● Recepción

Los mensajes son transferidos de manera electrónica sobre un sistema de comunicación.

[email protected]

[email protected]



Origen del correo electrónico
El correo electrónico nació mucho antes que el Internet, de hecho es una de las herramientas que
jugaron un papel crucial para la creación de Internet. El MIT creó el “Sistema compatible de tiempo
compartido” (CTSS) en 1961; éste permitía que múltiples usuarios entraran a la IBM 7094 desde
terminales remotas por dial-up, y que guardaran sus archivos en el disco duro. Esta nueva habilidad
alentaba a los usuarios a compartir información de una nueva manera. El correo electrónico comenzó en
1965, como un sistema para que los usuarios de una computadora mainframe de “tiempo compartido”
pudieran comunicarse. Aunque la historia exacta sobre el correo electrónico es muy obscura, se puede
decir que los primeros sistemas que contaron con esta facilidad fueron los SDC Q32 y los CTTS del
MIT.

El correo electrónico pronto se extendió a ser un sistema para redes, permitiendo a los usuarios enviar
mensajes entre diferentes equipos en 1966. Después ARPANET (1969) hizo una gran contribución a la
evolución del correo electrónico, incrementó su popularidad hasta que se convirtió en su aplicación
principal. En 1971 Ray Tomlinson comenzó a separar el nombre del usuario del nombre de la
computadora por medio de la @.

Postfix + Cyrus + Courier + AMaViS +

Spamassassin + ClamAV + Mysql

Alejandro Bárcena Campos
[email protected]
m77

¿Cómo funciona el correo electrónico?

Postfix + Cyrus + Courier + AMaViS +

Spamassassin + ClamAV + Mysql

Alejandro Bárcena Campos
[email protected]
m77

¿Qué pasa si deseo recibir correo para un dominio que no sea local?

● Dominios virtuales. Además del dominio local (/etc/defaultdomain), tu puedes recibir correo para

otros dominios, llamados dominios virtuales. No existe un límite para la cantidad de dominios
virtuales que quieras administrar.

● Base de datos. No es necesario que las cuentas de correo estén ligadas a los usuarios del sistema,
incluso, ni siquiera tienen que estar en un archivo de texto. Postfix soporta búsquedas en los
sistemas de bases de datos comunes (como MySQL y PostgreSQL). Esta técnica resulta muy
cómoda ya que puedes escribir una pequeña aplicación web para administrar la base de datos, o
incluso delegar la administración de las cuentas a tus usuarios.

Los componentes que emplearemos:

● Postfix: El MTA (Mail Tranfer Agent) que recibe los correos vía el SMTP (Simple Mail Transfer

Protocol) y los entrega en diferentes partes del disco duro.

● SASL (Librería Cyrus): Si tus usuarios se conectan fuera de tu red, Postfix no los dejará usarlo.
SASL (Simple Authentication and Security Layer) les proveerá el mecanismo de autentificación
para que Postfix confíe en ellos.

● Courier: Es un servidor de correo, como Postfix, pero sólo utilizaremos su parte de POP3/IMAP.
● AMaViS: Un explorador de correo que nos permitirá filtrar el contenido. AmaViS llamará a Clamav

y a Spamassassin.

● Clamav: Antivirus para Unix.
● Spamassassin: Filtro de spam que emplea el análisis de texto basado en Perl.
● MySQL: La Base de Datos que guarda la información que controla el comportamiento de Postfix.

(Usuarios, dominios, forwardings y contraseñas)

Postfix + Cyrus + Courier + AMaViS +

Spamassassin + ClamAV + Mysql

Alejandro Bárcena Campos
[email protected]
m77

Postfix + Cyrus + Courier + AMaViS +

Spamassassin + ClamAV + Mysql

Alejandro Bárcena Campos
[email protected]
m77

Paso 1: Instalar los paquetes de Debian que se requieren.
Paquetes absolutamente necesarios:

● postfix (Elegir: “Sólo local”)
● postfix-mysql
● postfix-doc

Si la Base de Datos estará en la misma máquina:

● mysql-server

Si vamos a ofrecer acceso por medio de POP3/IMAP:

● courier-authdaemon
● courier-authmysql
● courier-pop (para POP3 no encriptado)
● courier-pop-ssl (para POP3 encriptado por SSL)
● courier-imap (para IMAP no encriptado)
● courier-imap-ssl (para IMAP encriptado por SSL)

Si deseamos aceptar correo para usuarios fuera de nuesta red:

● postfix-tls (autentificación encriptada de SMTP)
● libsasl2 (la librería Cyrus SASL)
● libsasl2-modules (el mecanismo para la librería de SASL)
● libsasl2-modules-sql
● openssl (para crear los certificados)

Si queremos analizar el correo para prevenir virus y spam:

● amavisd-new
● spamassassin
● clamav
● clamav-daemon
● zoo
● unzip
● unarj
● lha (¡en non-free!)

Postfix + Cyrus + Courier + AMaViS +

Spamassassin + ClamAV + Mysql

Alejandro Bárcena Campos
[email protected]
m77

Paso 2: Crear la Base de Datos.
Al instalar mysql-server, éste permite la conexión del usuario root sin password, por lo que es lo primero
que debemos cambiar:

mysqladmin -u root password password-de-mysql

Creamos la base de datos, la llamaremos 'proveedor'.

mysqladmin -u root -p create proveedor

Ahora necesitaremos un usuario con los permisos suficientes para accesar a nuestra base de datos. Para
esto abriremos una conexión con MySQL desde el shell:

mysql -u root -p

Ingresamos el siguiente comando SQL:

grant select on proveedor.* to proveedor_admin@localhost identified by 'tu-password';

El comando pasado crea un nuevo usuario de la base de datos llamado proveedor_admin, quien sólo
tiene el privilegio para ejecutar 'SELECT'. (Esto es sólo por cuestiones de seguridad). Para finalizar,
necesitamos recargar la información de permisos en MySQL, ésto se hace con el siguiente comando de
SQL:

flush privileges;

Postfix + Cyrus + Courier + AMaViS +

Spamassassin + ClamAV + Mysql

Alejandro Bárcena Campos
[email protected]
m77

Paso 3: Crear las tablas.
Ahora crearemos las tablas que contendrán la información de control para Postfix. Primero le decimos a
MySQL cuál base de datos emplearemos:

USE proveedor;

Dominios
La primera de nuestras tablas sólo contendrá una columna, el nombre del dominio virtual. De aquí
Postfix tomará los datos necesarios para saber si aceptamos, o no, correo para ese dominio virtual.

CREATE TABLE dominios (

dominio varchar(50) NOT NULL,
PRIMARY KEY (dominio) ) TYPE=MyISAM;

Forwardings
La tabla forwardings será utilizada para generar pseudónimos de una dirección de correo a otra.
También puede ser empleada para redirecciones generales (incluso para tu dominio local).

CREATE TABLE forwardings (

origen varchar(80) NOT NULL,
destino TEXT NOT NULL,
PRIMARY KEY (origen) ) TYPE=MyISAM;

Usuarios
Finalmente la tabla usuarios que tendrá la información acerca de las cuentas de correo. Cada
usuario debe tener un nombre de usuario y una contraseña para accesar a su correo mediante
POP3 o IMAP. Como los usuarios tienden a olvidar las cosas (no te imaginas cuántas contraseñas te
puedes encontrar debajo de los teclados), he decidido emplear la cuenta de correo como el nombre
de usuario. De esta manera, también postfix sabrá cómo almacenar el correo en el disco duro.

CREATE TABLE ususarios (

email varchar(80) NOT NULL,
password varchar(20) NOT NULL,
PRIMARY KEY (email) ) TYPE=MyISAM;

Postfix + Cyrus + Courier + AMaViS +

Spamassassin + ClamAV + Mysql

Alejandro Bárcena Campos
[email protected]
m77

Paso 4: Trazamos los mapas de definición para la base de datos.
Es necesario indicarle a Postfix que la información de control se encuentra alojada en una base de datos.
Por tal motivo crearemos 4 archivos de texto en /etc/postfix. Postfix corre, usualmente, en un directorio
de chroot (/var/spool/postfix), por este motivo no puede acceder a ningún archivo fuera de él. Por lo
general, un programa local se comunica con MySQL por medio de un archivo de sockets
(/var/run/mysqld/mysqld.sock). Como te podrás dar cuenta, este archivo resulta inaccesible para Postfix;
así que hay 2 opciones:

1. Tratar de cambiar de lugar el archivo de socket. Lo cuál nos traerá muchos problemas en un futuro.
2. Utilizar la red de TCP. (Así lo conectaremos)

Ventaja: No necesitamos preocuparnos por las restricciones del chroot.
Desventaja: El servidor de MySQL será accesible por la interfase lo, lo cuál en teoría podría ser un
problema de seguridad.

mysql-dominios_virtuales.cf
Será un simple trazo de mapa de los dominios virtuales a la cadena virtual. Este mapeo es usado
para la definición de virtual_mailbox_domains. No usar localhost en el archivo, sino Postfix tratará
de realizar la conexión por el archivo de sockets.

user = proveedor_admin
password = tu-password
dbname = proveedor
table = dominios
select_field = 'virtual'
where_field = dominio
hosts = 127.0.0.1

Postfix + Cyrus + Courier + AMaViS +

Spamassassin + ClamAV + Mysql

Alejandro Bárcena Campos
[email protected]
m77

mysql-forwardings_virtuales.cf
Este mapeo leerá la tabla de forwardings para proporcionar la manera en que se redireccionarán
las direcciones de correo. Lo usaremos para virtual_alias_maps.

user = proveedor_admin
password = tu-password
dbname = proveedor
table = forwardings
select_field = destino
where_field = origen
hosts = 127.0.0.1

mysql-buzones_virtuales.cf
La siguiente definición trabajará con los buzones de correo de los usuarios. Le indicará a Postfix el
lugar en el disco duro en el cuál deberá almacenar el correo para cada dirección de correo
determinada. Lo usaremos para el mapeo de virtual_mailbox_maps.

user = proveedor_admin
password = tu-password
dbname = proveedor
table = usuarios
select_field = CONCAT(SUBSTRING_IND
  • Links de descarga
http://lwp-l.com/pdf11192

Comentarios de: Postfix + Cyrus + Courier + AMaViS + Spamassassin + ClamAV + Mysql (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