Bienvenido(a) a Alcance Libre 09/08/2022, 00:04
Creative Commons Reconocimiento-NoComercial-CompartirIgual 2.1
© 1999-2016 Joel Barrios Dueñas. Usted es libre de copiar, distribuir y comunicar públicamente la obra y hacer obras derivadas bajo las condiciones siguientes: a) Debe reconocer y citar al autor original. b) No puede utilizar esta obra para fines comerciales (incluyendo su publicación, a través de cualquier medio, por entidades con fines de lucro). c) Si altera o transforma esta obra o genera una obra derivada, sólo puede distribuir la obra generada bajo una licencia idéntica a ésta. Al reutilizar o distribuir la obra, tiene que dejar bien claro los términos de la licencia de esta obra. Alguna de estas condiciones puede no aplicarse si se obtiene el permiso del titular de los derechos de autor. Los derechos derivados de usos legítimos u otras limitaciones no se ven afectados por lo anterior. Licencia completa en castellano. La información contenida en este documento y los derivados de éste se proporcionan tal cual son y los autores no asumirán responsabilidad alguna si el usuario o lector, hace mal uso de éstos.
A fin de poder realizar todas las pruebas correspondientes a cada protocolo, instale los paquetes telnet, dovecot y postfix o bien sendmail.
Ejecute lo siguiente si elige utilizar sendmail:
yum -y install mailx telnet dovecot sendmail |
Ejecute lo siguiente si elige utilizar postfix:
yum -y install mailx telnet dovecot postfix |
Omita el siguiente paso si utiliza CentOS 5 o Red Hat Enterprise Linux 5
Edite el archivo /etc/dovecot/conf.d/10-mail.conf si utiliza ALDOS 1.4, CentOS 6 o Red Hat™ Enterprise Linux 6 y versiones posteriores de éstos:
vim /etc/dovecot/conf.d/10-mail.conf |
Alrededor de la línea 30 del archivo /etc/dovecot/conf.d/10-mail.conf, establezca mbox:~/mail:INBOX=/var/mail/%u como valor de la opción mail_location.
# See doc/wiki/Variables.txt for full list. Some examples:
#
# mail_location = maildir:~/Maildir
# mail_location = mbox:~/mail:INBOX=/var/mail/%u
# mail_location = mbox:/var/mail/%d/%1n/%n:INDEX=/var/indexes/%d/%1n/%n
#
# <doc/wiki/MailLocation.txt>
#
mail_location = mbox:~/mail:INBOX=/var/mail/%u
|
Si se va a utilizar Sendmail como MTA predeterminado, es importante definir un grupo de acceso de correo en la configuración de Dovecot.
Alrededor de la línea 115 del archivo /etc/dovecot/conf.d/10-mail.conf, localice la opción mail_privileged_group, descomente ésta y defina como valor el grupo mail:
# Group to enable temporarily for privileged operations. Currently this is
# used only with INBOX when either its initial creation or dotlocking fails.
# Typically this is set to "mail" to give access to /var/mail.
mail_privileged_group = mail
|
Alrededor de la línea 122 del archivo /etc/dovecot/conf.d/10-mail.conf, localice la opción mail_access_groups, descomente ésta y defina también como valor el grupo mail:
# Grant access to these supplementary groups for mail processes. Typically
# these are used to set up access to shared mailboxes. Note that it may be
# dangerous to set these if users can create symlinks (e.g. if "mail" group is
# set here, ln -s /var/mail ~/mail/var could allow a user to delete others'
# mailboxes, or ln -s /secret/shared/box ~/mail/mybox would allow reading it).
mail_access_groups = mail
|
Se requiere que los usuarios locales pertenezcan al grupo mail para que lo anterior represente un problema de seguridad.
![]() |
Es importante señalar Postfix crea automáticamente los buzones de entrada con permiso 0600 (-rw-------) y por tanto impide utilizar buzones de entrada compartidos, mientras que Sendmail lo hace con permiso 0660 (-rw-rw----) y por tanto permite utilizar buzones de entrada compartidos. En ambos casos los permisos predeterminados de los buzones de entrada sólo se pueden cambiar modificando y compilando de nuevo el código fuente. Si se utiliza Sendmail como MTA predeterminado, debido al permiso 0660 con el que son creados los buzones de entrada, a Dovecot le será imposible generar automáticamente las carpetas e índices IMAP, pues éste fallará al copiar el grupo al que pertenece el buzón de entrada cuando éste tiene permisos de lectura y escritura para grupo. Por lo tanto se obtendrían continuamente los siguientes errores en la bitácora /var/log/maillog:
Es por ésto que, en el caso de utilizar Sendmail como MTA predeterminado, se requiere configurar que Dovecot tenga privilegios de acceso sobre el grupo mail. De otro modo el administrador del sistema estaría obligado a crear manualmente los directorios ~/mail/.imap/INBOX de todos los usuarios locales o cambiar manualmente los permisos de todos los buzones de entrada de 0660 a 0600 y repetir cualquiera de las dos operaciones cada vez que se genere un nuevo usuario. |
Guarde el archivo y salga del editor de texto.
Inicie y active el servicio dovecot ejecutando:
service dovecot start |
Establezca sendmail o postfix, como agente de transporte de correo (MTA, Mail Transport Agent) predeterminado del sistema, utilizando el mandato alternatives, del siguiente modo:
alternatives --config mta |
Lo anterior devolverá una salida similar a la siguiente, donde deberá elegir entre postfix y sendmail como MTA predeterminado del sistema:
Hay 2 programas que proporcionan 'mta'.
Selección Comando
-----------------------------------------------
1 /usr/sbin/sendmail.postfix
*+ 2 /usr/sbin/sendmail.sendmail
Presione Intro para mantener la selección actual[+] o escriba el número de la selección: 2
|
Si eligió utilizar sendmail en lugar de postfix, detenga este último —MTA predeterminado en CentOS 6 y Red Hat Enterprise Linux 6 y versiones posteriores de éstos— e inicie el servicio sendmail:
service postfix stop |
Si eligió utilizar postfix en lugar de sendmail, detenga este último> —MTA predeterminado en CentOS 5 y Red Hat Enterprise Linux 5— e inicie el servicio postfix:
service sendmail stop |
En todo momento podrá conmutar de nuevo entre Sendmail o Postfix, como MTA predeterminado del sistema, utilizando este mismo procedimiento.
Es un protocolo estándar de Internet del Nivel de Aplicación utilizado para la transmisión de correo electrónico a través de una conexión TCP/IP. Es el único protocolo utilizado para la transmisión de correo electrónico a través de Internet. Está basado sobre texto simple y es relativamente sencillo. A lo largo de los años han sido muchas las personas que han editado o contribuido a las especificaciones de SMTP, entre las cuales están Jon Postel, Eric Allman, Dave Crocker, Ned Freed, Randall Gellens, John Klensin y Keith Moore.
Para determinar el servidor SMTP para un dominio dado, se utilizan los registros MX (Mail Exchanger) en la Zona de Autoridad correspondiente al ese mismo dominio contestado por un Servidor DNS. Después de establecerse una conexión entre el remitente (el cliente) y el destinatario (el servidor), se inicia una sesión SMTP, ejemplificada a continuación y dónde el escenario asume que existe una cuenta de usuario regular denominada «fulano» y dónde se utilizará el dominio predeterminado del anfitrión local.
Cliente: |
$ telnet 127.0.0.1 25 |
Servidor: |
Connected to 127.0.0.1. |
Cliente: |
HELO localhost.localdomain |
Servidor: |
250 nombre.dominio Hello localhost.localdomain [127.0.0.1], pleased to meet you |
Cliente: |
MAIL FROM:<fulano@localhost.localdomain> |
Servidor: |
250 2.1.0 <fulano@localhost.localdomain>... Sender ok |
Cliente: |
RCPT TO:<fulano@localhost.localdomain> |
Servidor: |
250 2.1.5 <fulano@localhost.localdomain>... Recipient ok |
Cliente: |
DATA |
Servidor: |
354 Enter mail, end with "." on a line by itself |
Cliente: |
Subject: Mensaje de prueba |
Servidor: |
250 2.0.0 k2IM2RjA003987 Message accepted for delivery |
Cliente: |
QUIT |
Servidor: |
221 2.0.0 nombre.dominio closing connection |
Servidor: |
Connection closed by foreign host.
|
La descripción completa del protocolo original STMP está definida en el RFC 821, aunque el protocolo utilizado hoy en día, también conocido como ESMTP (Extended Simple Mail Transfer Protocol), está definido en el RFC 2821. SMTP trabaja sobre TCP en el puerto 25.
Es un protocolo estándar de Internet del Nivel de Aplicación que recupera el correo electrónico desde un servidor remoto a través de una conexión TCP/IP iniciada desde un cliente local. El diseño de POP3 y sus predecesores permite a los usuarios recuperar el correo electrónico mientras están conectados en una red y manipular los mensajes recuperados sin necesidad de permanecer conectados. A pesar de que muchos clientes de correo electrónico incluyen soporte para dejar el correo en el servidor, todos los clientes de POP3 recuperan todos los mensajes y los almacenan como mensajes nuevos en la computadora o anfitrión utilizado por el usuario, eliminan los mensajes en el servidor y terminan la conexión.
Después de establecerse una conexión entre el cliente y el servidor, se inicia una sesión POP3, ejemplificada a continuación.
Cliente: |
$ telnet 127.0.0.1 110 |
Servidor: |
Connected to 127.0.0.1. |
Cliente: |
USER fulano |
Servidor: |
+OK |
Cliente: |
PASS contraseña |
Servidor: |
+OK Logged in. |
Cliente: |
STAT |
Servidor: |
+OK 1 728 |
Cliente: |
LIST |
Servidor: |
+OK 1 messages: |
Cliente: |
RETR 1 |
Servidor: |
+OK 728 octets |
Cliente: |
QUIT |
Servidor: |
+OK Logging out.
|
POP3 está definido en el RFC 1939. POP3 trabaja sobre TCP en el puerto 110.
Es un protocolo estándar de Internet del Nivel de Aplicación utilizado para acceder hacia el correo electrónico almacenado en un servidor remoto a través de una conexión TCP/IP iniciada desde un cliente local.
La versión más reciente de IMAP es la 4 revisión 1 y está definida en el RFC 3501. IMAP trabaja sobre TCP en el puerto 143.
Fue diseñado por Mark Crispin en 1986 como una alternativa más moderna que resolviera las deficiencias del protocolo POP3. Las características más importantes de IMAP incluyen:
Después de establecerse una conexión entre el cliente y el servidor, se inicia una sesión IMAP, ejemplificada a continuación.
Cliente: |
$ telnet 127.0.0.1 143 |
Servidor: |
Connected to 127.0.0.1. |
Cliente: |
x LOGIN fulano contraseña |
Servidor: |
x OK Logged in. |
Cliente: |
x SELECT inbox |
Servidor: |
* FLAGS (\Answered \Flagged \Deleted \Seen \Draft) |
Cliente: |
x FETCH 1 (flags body[header.fields (subject)]) |
Servidor: |
* 1 FETCH (FLAGS (\Seen) BODY[HEADER.FIELDS (SUBJECT)] {30} |
Cliente: |
x FETCH 1 (body[text]) |
Servidor: |
* 1 FETCH (BODY[TEXT] {45} |
Cliente: |
x LOGOUT |
Servidor: |
* BYE Logging out
|
http://www.ietf.org/rfc/rfc2222.txt
http://www.ietf.org/rfc/rfc821.txt
http://www.ietf.org/rfc/rfc2821.txt
http://www.ietf.org/rfc/rfc1939.txt
http://www.ietf.org/rfc/rfc3501.txt
Última Edición: 19/09/2018, 19:46| Hits: 28,655