PDF de programación - Servicios avanzados V: Servidor de correo (SMTP) y protocolos de entrega final

Imágen de pdf Servicios avanzados V: Servidor de correo (SMTP) y protocolos de entrega final

Servicios avanzados V: Servidor de correo (SMTP) y protocolos de entrega finalgráfica de visualizaciones

Publicado el 16 de Marzo del 2019
1.504 visualizaciones desde el 16 de Marzo del 2019
236,4 KB
30 paginas
Creado hace 10a (03/11/2013)
Administración y Gestión de Redes

Servicios avanzados V: Servidor de correo...

Servicios avanzados V: Servidor de correo (SMTP) y

protocolos de entrega final.

Autor: Enrique V. Bonet Esteban

Introducción.

Los primeros sistemas de correo electrónico simplemente consistían en
protocolos de transferencia de archivos, generalmente protocolos como UUCP o FTP1,
con la convención de que la primera línea de cada mensaje, es decir del archivo,
contenía la dirección del destinatario.

A medida que se acumuló experiencia, se observó las carencias de este método
de funcionamiento (dificultad en enviar el mensaje a más de un destinatario, etc.), y se
propusieron sistemas de correo electrónico más elaborados. De esta forma, en 1982 se
publicaron las propuestas de correo electrónico del ARPANET como RFC 821
(protocolo de transmisión) y RFC 822 (formato de mensaje), consistiendo, en esta
época, un sistema de correo electrónico en dos subsistemas distintos:

• Un agente de transferencia de mensaje, encargado de transmitir los mensajes del
remitente al destinatario. En Internet, el correo electrónico se transfiere de la
computadora origen a la computadora destino, mediante el establecimiento de
una conexión TCP desde la computadora origen al puerto 25 de la computadora
destino. Para ello se utiliza el protocolo SMTP (Simple Mail Transfer Protocol).

• Un agente de usuario, que permite leer y enviar el correo electrónico. Los
agentes de usuario son programas locales que proporcionan un método basado
en comandos, basado en menús o basado en la interacción gráfica, para
comunicarse con el sistema de correo electrónico.

En la actualidad, y con la popularización de los ordenadores personales, los
usuarios suelen enviar y/o recibir el correo en su propio ordenador personal, de forma
que se han desarrollado protocolos de entrega final de correo, los cuales permiten que
los usuarios descarguen el correo a su ordenador personal sin necesidad de utilizar un
agente de usuario en el propio servidor de correo. De los protocolos de entrega final
existentes los más conocidos son POP3 e IMAP.

Un sencillo esquema con el funcionamiento actual del correo electrónico puede

verse en la figura siguiente.

1 Tanto UUCP como FTP son protocolos de transferencia de archivos entre ordenadores cuya misión es
transferir archivos de cualquier tipo entre ordenadores en Internet. Actualmente el más conocido y
utilizado de los dos es FTP.

Doble Titulación Informática + Telemática

1

Administración y Gestión de Redes

Servicios avanzados V: Servidor de correo...



PC

SERVIDOR

Usuario local

SERVIDOR

Recepción de correo

Envío de correo

Puerto 110

Puerto 25

Puerto 25

Transferencia de correo

Puerto 25

Configuración del servidor de SMTP.

El servidor de Simple Mail Transfer Protocol (protocolo sencillo de transferencia
de correo) es el encargado de transferir el correo entre los ordenadores de Internet desde
el ordenador origen al ordenador destino. SMTP es un protocolo cliente/servidor en
formato ASCII que, como hemos dicho, utiliza una conexión TCP al puerto 25 del
servidor para el envío del correo.

Los comandos de SMTP fueron definidos en el RFC 821, y modificados en el

RFC 1425, donde se definió el ESMTP (Extended Simple Mail Transfer Protocol)2.

Por su parte, el formato de los mensajes se definió en el RFC 822, y fue
extendido en el RFC 1521, en el cual se introdujo la definición de los formatos MIME
(Multipurpose Internet Mail Protocol)3.

Actualmente se encuentran disponibles distintos servidores de SMTP, pero
nosotros nos centraremos en la configuración del servidor sendmail4, el cual se
encuentra en el directorio /usr/sbin, pudiendo funcionar en modo de “demonio”, esto es,
puede permanecer en estado de espera escuchando el puerto TCP 25 o bien puede ser
ejecutado por xinetd5. El funcionamiento por defecto es que permanezca escuchando el
puerto TCP 25.

Los ficheros de configuración de sendmail se encuentran dentro del directorio
/etc/mail. En dicho directorio pueden encontrarse, básicamente, dos tipos de ficheros en
función de su extensión, ficheros de extensión .cf y ficheros de extensión .db. Ambos
tipos de ficheros contienen las instrucciones básicas que configuran el funcionamiento
de sendmail. Sin embargo, y dada la dificultad de sintaxis de esos ficheros, existen otros
ficheros, de sintaxis más sencilla, que son los que realmente se configuran, siendo
convertidos a los ficheros anteriores mediante utilidades del sistema6.

En concreto, los ficheros de extensión .cf contienen las instrucciones básicas de
funcionamiento de sendmail, y son creados a partir de los ficheros de extensión .mc que
se encuentran en el mismo directorio. La conversión se realiza mediante el programa
m4, que se encuentra en /usr/bin. La sintaxis de ejecución de dicho comando es:

2 Una explicación de los comandos de SMTP y ESMTP pueden verse en el apéndice A.
3 Una explicación de los formatos de mensajes RFC 822 y RFC 1521 se encuentra en el apéndice B.
4 El servidor sendmail es el más extendido de todos y se encuentra disponible en la mayoría de sistemas
operativos.
5 Veremos el servidor xinetd en temas posteriores.
6 Por ejemplo, el fichero sendmail.mc que instala inicialmente el sistema tiene una longitud de 178 líneas,
mientras que su conversión en sendmail.cf, tiene una longitud de 1840 líneas.

Doble Titulación Informática + Telemática

2

Administración y Gestión de Redes

Servicios avanzados V: Servidor de correo...

/usr/bin/m4 /etc/mail/fichero.mc > /etc/mail/fichero.cf

Donde puede observarse que la salida del programa debe ser redirigida a un
fichero pues, por defecto, la salida del programa se dirige a la salida estándar,
generalmente la pantalla.

Por otra parte, los ficheros de extensión .db especifican permisos de acceso, etc.,
al servidor de sendmail, y son creados a partir de ficheros sin extensión, pero que
poseen el mismo nombre que el fichero de extensión .db. La creación se realiza
mediante el comando makemap, que se encuentra en /usr/sbin. El comando makemap
convierte un fichero de texto en un fichero de base de datos7 que pueda ser leído por
sendmail. La conversión se realiza con el comando:

/usr/bin/makemap hash /etc/mail/fichero </etc/mail/fichero

Donde puede observarse que la entrada al programa debe ser especificada desde
el fichero de texto, pues por defecto, makemap lee de la entrada estándar, generalmente
el teclado.

Configuración de los ficheros .mc.

En el directorio /etc/mail existen dos ficheros con extensión .mc, los ficheros
submit.mc y sendmail.mc. La existencia de dos ficheros de configuración surge a partir
de la versión 8.12 de sendmail y es introducida por motivos de seguridad. A partir de
esa versión de sendmail, el programa se ejecuta como dos agentes distintos, el MTA
(Mail Transport Agent) encargado de transferir el correo entre diferentes ordenadores, y
el MSA (Mail Submission Agent) encargado de recibir los correos de los usuarios y
escribirlos en la cola de correos a enviar.

La separación en dos agentes distintos es consecuencia de que el MTA se ejecuta
como un usuario adecuado a su labor, generalmente el usuario root, mientras que su uso
como MSA requiere que cualquier usuario pueda escribir en ciertos directorios del
sistema, como puede ser el directorio con la cola de correos a enviar, lo que requiere dar
permisos para que todo el mundo pueda escribir en dicho directorio, o bien, activar
como mínimo el bit de GID para que un usuario, al ejecutar sendmail en modo de MSA,
pueda escribir en ese directorio.

Los ficheros .mc poseen las siguientes palabras clave8:

Palabra

dnl

Comienzo de comentario. Todo lo que siga en la línea se considera un
comentario y no será tenido en cuenta.

Descripción

7 Existen tres formatos de la base de datos, dbm, btree y hash, siendo por defecto el formato dbm el
utilizado.
8 Una explicación más detallada de estas y otras palabras claves existentes, así como los valores que
pueden tomar, puede encontrarse en el fichero /usr/share/sendmail-cf/README o en la URL
http://www.sendmail.org.

Doble Titulación Informática + Telemática

3

Administración y Gestión de Redes

Servicios avanzados V: Servidor de correo...

Palabra

divert(n)

include
sinclude
define

Descripción

Las líneas que siguen deben ser ignoradas en la salida (n=-1) o incluidas
en la salida (n>=0). De forma general para incluir las líneas n será 0,
aunque puede tomar valores hasta 9 para indicar su inclusión según
ciertas condiciones y/o orden.
Incluye el contenido del fichero indicado.
Incluye el contenido del fichero indicado.
Permite definir el valor de una macro de configuración con el valor
indicado.

VERSIONID Incluye como información el mensaje escrito.
OSTYPE
MAILER
DOMAIN
FEATURE

Define el sistema operativo sobre el que ejecuta sendmail.
Tipos de correo que son aceptados.
Define los ordenadores que aceptarán cada tipo de correo.
Especifica opciones particulares de configuración de sendmail.

El fichero submit.mc.

El fichero submit.mc que se encuentra instalado por defecto es el siguiente:

divert(-1)
#
# Copyright (c) 2001-2003 Sendmail, Inc. and its suppliers.
# All rights reserved.
#
# By using this file, you agree to the terms and conditions set
# forth in the LICENSE file which can be found at the top level of
# the sendmail distribution.
#
#

#
# This is the prototype file for a set-group-ID sm-msp sendmail that
# acts as a initial mail submission program.
#

divert(0)dnl
sinclude(`/usr/share/sendmail-cf/m4/cf.m4')
VERSIONID(`linux setup')dnl
define(`confCF_VERSION', `Submit')dnl
define(`__OSTYPE__',`')dnl dirty hack to keep proto.m4 from complaining
define(`_USE_DECNET_SYNTAX_', `1')dnl support DECnet
define(`confTIME_ZONE', `USE_TZ
  • Links de descarga
http://lwp-l.com/pdf15522

Comentarios de: Servicios avanzados V: Servidor de correo (SMTP) y protocolos de entrega final (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