Caso práctico
Para la instalación de estos servicios vamos a utili zar los servidores
siguientes:
• SMTP: Servidor Postfix.
• POP3 e IMAP: Servidor Dovecot.
Tanto Postfix como Dovecot vienen por defecto en la mayoría de las
distribuciones Linux actuales.
Instalación y configuración de Postfix
Para instalar el servidor SMTP Postfix, tendremos que teclear desde la
línea de comandos:
# apt install postfix
A continuación, en el proceso de instalación, un asistente nos preguntará por
una serie de opcion es, a las cuales debemos contestar de la siguiente forma:
• Configuración de correo: Sitio de Internet
• Nombre del sistema de correo: [Link]
La configuración del servidor se almacena en el fichero /etc/postjix/[Link]
Por defecto, Postfix utiliza el sistema de buzones Mbox. Si queremos
cambiarlo a Maildir, que es más eficiente, tan sólo tendremos que añadir la
siguiente directiva dentro del fichero de configuración:
home mailbox = Maildir/
En la directiva mynetworks, hay que añadir las direcciones de las redes que
autorizamos a utilizar es te servidor. Se pueden poner varias separadas por espacio.
Además, la máscara de red se introduce en formato CIDR. Para este caso práctico
indicaremos:
Mynetworks = [Link]/8 192 .168 .1.0/2 4
Por otro lado , si queremos utilizar un servidor de reenvío de correo se indicará con
la directiva relayhost. Para nuestra red de ejemplo no tenemos la necesidad de
utilizarlo , pero hay situaciones en las que el servidor de correo no puede acceder
directamente a Internet y hay que reenviar a otro servidor de la red los mensajes para
que este otro sí los reenvíe al servidor de destino. Por ejemplo, si el servidor de
reenvío es [Link], tendríamos que incluir:
Relayhost = [Link]
Para utilizar TLS y cifrar las conexiones, necesitaremos un certificado digital. Para
ello añadiremos las siguientes directivas:
Smtp_tls_security level = may
smtpd_tls_security_leve l = may
smtp_tls_note_starttls_offer = yes
Smtpd_tls_key_file = /etc/[Link]/[Link]
smtpd_tls_cert_file = /etc/[Link]/proyecto .[Link]
smtpd_tls_loglevel = l
Smtpd_tl s received_header = yes
myhostname = [Link]
Instalación y configuración de Dovecot
Para los servicios POP3 e IMAP vamos a utilizar Dovecot. Además,
tenemos que hacer que Postfix y Dovecot se entiendan, utilicen SASL para la
autenticación de los usuarios y que actúe como MDA. La instalación del
siguiente paquete se encarga de manera automatizada de instalar Dovecot,
configurarlo como servidor POP3 e IMAP y añadirle la configuración
necesaria a Postfix. Para ello ejecutaremos el siguiente comando desde la
terminal:
# apt install mail-stack-delivery
Simulando con Telnet una conexión SMTP
Usando el comando telnet podemos conectamos a un servidor SMTP
y simular el funcionamiento de un MUA enviando los comandos anteriores:
$ telnet localhost 25
Trying ::1...
Connected to localhost.
Escape character is ' ^]'.
220 mail ESMTP Postfix (Ubuntu )
helo localhost
250 mail
MAIL FROM: usuario@localhost
250 2.1.0 Ok
RCPT TO: usuario@localhost
250 2.1.5 Ok
DATA
354 End data with <CR><LF> .<CR><LF>
SUBJECT: Saludo
Hola que tal
.
250 2.0.0 Ok: queued as DBF364009B
QUIT
221 2.0.0 Bye
Connection closed by foreign host.
Se han resaltado los comandos introducidos a mano.
Simulando con Telnet una conexión POP3
Usando el comando telnet podemos conectamos a un servidor POP y simular
el funcionamiento de un MUA enviando los comandos anteriores:
$telnet localhost 110
Trying ::1...
Connected to localhost.
Escape character is ' ^]'.
+OK Dovecot ready.
USER usuario
+OK
PASS usuario
+OK Logged in.
LIST
+OK 1 messages :
1 410
.
RETR 1
+OK 410 octets
Return-Pat h: <usuario@localhost>
X-Original-To: usuario@localhost
Delivered-To: usuario@localhost
Received : from localhost (localhost [IPv[Link])
by mail (Postfix) with SMTP id DBF364009B
for <usuario@localhost>; Tue, 28 Nov 2017
[Link] +0100 (CET)
SUBJECT: Saludo
Message -Id: <2017112817404 3.DBF364009B@mail>
Date: Tue, 28 Nov 2017 [Link] +0100 (CET)
From: usuario@localhost
Hola que tal
.
QUIT
+OK Logging out.
Connection closed by foreign host.
Se han resaltado los comandos introducidos a mano.
Simulando con Telnet una conexión IMAP
Usando el comando telnet podemos conectamos a un servidor IMAP y simular el
funcionamiento de un MUA enviando los comandos anteriores:
$ telnet localhost 143
Trying ::1...
Connected to localhost.
Escape character is ' ^]'.
* OK [CAPABILITY IMAP4revl LITERAL+ SASL-IR LOGIN-
REFERRALS ID ENABLE IDLE STARTTLS AUTH=PLAIN
AUTH=LOGIN] Dovecot ready.
. LOGIN usuario usuario
. OK [CAPABILITY IMAP4revl LITERAL+ SASL-IR LOGIN-
REFERRALS ID ENABLE IDLE SORT SORT=DISPLAY
THREAD=REFERENCES THREAD=REFS
THREAD=ORDEREDSUBJECT MULTIAPPEND URL-PARTIAL
CATENATE UNSELECT CHILDREN NAMESPACE UIDPLUS LIST-
EXTENDED Il8NLEVEL=l CONDSTORE QRESYNC ESEARCH
ESORT SEARCHRES WITHIN CONTEXT=SEARCH LIST-STATUS
BINARY MOVE SPECIAL-USE] Logged in
LIST "" "*"
* LIST (\HasNoChildren) "." INBOX
OK List completed (0.000 + 0.000 secs).
STATUS INBOX (messages)
* STATUS INBOX (MESSAGES 1)
OK Status completed (0.000 + 0.000 secs).
SELECT INBOX
* FLAGS (\Answered \Flagged \Deleted \Seen \Draft)
* OK [PERMANENTFLAGS (\Answered \Flagged
\Deleted \Seen \Draft \*)] Flags permitted.
* 1 EXISTS
* 0 RECENT
* OK [UIDVALIDITY 1511890882] uros valid
* OK [UIDNEXT 2] Predicted next UID
* OK [HIGHESTMODSEQ 1) Highest
OK [READ-WRITE) Select completed (0.000 + 0.000
secs).
FETCH 1 FLAGS
* 1 FETCH (FLAGS (\Seen))
OK Fetch completed (0.001 + 0.000 secs).
FETCH 1 (body[[Link] (subject)])
* 1 FETCH (BODY[[Link] (SUBJECT)) {19)
SUBJECT: Saludo
)
. OK Fetch completed (0.001 + 0.000 secs).
LOGOUT
* BYE Logging out
OK Logout completed .
Connection closed by foreign host.
Se han resaltado los comandos introducidos a mano . Como se puede observar
IMAP es mucho más complejo que POP3.