Você está na página 1de 23

Realizado por: Adrian Carchipulla y Pablo Lema

FORMATO DE GUA DE PRCTICA DE LABORATORIO / TALLERES /


CENTROS DE SIMULACIN PARA ESTUDIANTES
CARRERA: Ingeniera de Sistemas
NRO. PRCTICA:

ASIGNATURA: Arquitectura de Redes

TTULO PRCTICA: Implementacin de SSL en servidores de correo Postfix

OBJETIVO. El alumno verificar la importancia de la utilizacin de SSL

Desarrollar la topologa y configurar el direccionamiento


Instalar 2 servidores de Correo Postfix (Servidor A y B)
Configurar SSL en el servidor B
INSTRUCCIONES

Enviar correos desde Cliente 1 a Cliente 2, usando los dos servidores de


correo
Realizar pruebas de ataques Man in the Middle (MITM) y verificar que no
se puedan acceder a la informacin de los correos del servidor con SSL
ACTIVIDADES POR DESARROLLAR

Desarrollar la topologa y configurar el direccionamiento

Para establecer la comunicacin entre los servidores y los clientes debemos realizar enrutamiento esttico
Instalar 2 servidores de Correo Postfix (Servidor A y B)
Configuracin Servidor A
Requisitos:
Configuracin DNS
Para configurar el DNS debemos instalar el paquete bind9
Resolucin CS N 076-04-2016-04-20

Realizado por: Adrian Carchipulla y Pablo Lema


$ apt-get install bind9
Despus creamos las zonas directa e inversa para nuestro dominio www.carlema.com, para lo cual editamos el
archivo (named.conf.local).
$ gedit /etc/bind/named.conf.local

A continuacin procedemos a configurar los archivos de las zonas directa e inversa creadas anteriormente. Para
esto copiamos la plantilla del archivo principal (db.local) a nuestro archivo de zona directa y debemos estar ubicados
en: cd /etc/bind
$ cp db.local db.carlem
Se realiza las siguientes configuraciones

El mismo proceso hacemos para configurar la zona inversa.


$ cp db.127 db.10

Para terminar con la configuracin del Servicio DNS.


$ /etc/init.d/bind9 restart
$ nslookup www.carlema.com

Resolucin CS N 076-04-2016-04-20

Realizado por: Adrian Carchipulla y Pablo Lema

INSTALACIN POSTFIX.
Postfix [1] es una MTA (Mail Tranport Agent) que se encarga del enrutamiento y envo de correo electrnico, creado
con la intencin de que sea una alternativa ms rpida, fcil de administrar y segura al ampliamente
utilizado Sendmail.
$ apt-get install postfix
Durante la instalacin se abrir el agente de configuracin. En la primera opcin elegimos Sitio de Internet, como
se muestra a continuacin.

Y agregamos nuestro dominio configurado anteriormente.

Ahora editamos el fichero de configuracin principal donde se encuentra Postfix.


$ gedit /etc/postfix/main.cf
Agregaremos al final del fichero una lnea de cdigo donde indicaremos el directorio donde se guardaran los emails.
Adems modificamos la lnea inet_protocols. Quedando nuestro archivo de configuracin como se muestra a
continuacin.

Resolucin CS N 076-04-2016-04-20

Realizado por: Adrian Carchipulla y Pablo Lema

Reiniciamos el servicio de Postfix


$ /etc/init.d/postfix restart
INSTALACIN DE COURIER-POP, COURIER-IMAP
Para los servicios de recepcin y lectura de correo se usar Courier, utilizando su servicio IMAP.
POP Post Office Protocol (POP3, Protocolo de Oficina de Correo o Protocolo de Oficina Postal) es utilizado para
clientes locales de correo para obtener los mensajes de correo electrnico almacenados en un servidor remoto,
denominado Servidor POP. Es un protocolo de nivel de aplicacin en el Modelo OSI [2].
Internet Message Access Protocol (IMAP, Protocolo de acceso a mensajes de internet), es un protocolo de
aplicacin que permite el acceso a mensajes almacenados en un servidor de Internet. Mediante IMAP se puede tener
acceso al correo electrnico desde cualquier equipo que tenga una conexin a Internet [3].
Para su instalacin digitamos los siguientes comandos:
$ apt-get install courier-pop
En la configuracin de Courier base, no creamos los directorios para la administracin basado en web.

$ apt-get install courier-imap

Resolucin CS N 076-04-2016-04-20

Realizado por: Adrian Carchipulla y Pablo Lema


INSTALACIN DE SQUIRRELMAIL
SquirrelMail [1] es una aplicacin webmail escrita en PHP. Puede ser instalado en la mayora de servidores
web siempre y cuando ste soporte PHP y el servidor web tenga acceso a un servidor IMAP y a otro SMTP.
$ apt-get install squirrelmail
Configuramos SquirrelMail con el siguiente comando
$ squirrelmail-configure
Vamos a la opcin de D para definir la configuracin del servidor IMAP

Ingresamos en el servidor IMAP Courier

Volveremos al men principal y elegiremos 2 para entrar en la configuracin del servidor

Resolucin CS N 076-04-2016-04-20

Realizado por: Adrian Carchipulla y Pablo Lema


Entramos en la seccin de Domain con un 1 Y escribimos el nombre de nuestro dominio

Salimos con Q y guardamos

Ahora crearemos un enlace simblico entre /var/www y /usr/share/webmail/squirrelmail situndonos sobre la primera
ruta
$ cd /var/www/
$ ln -s /usr/share/squirrelmail webmail
Finalmente reiniciamos los servicios de bind y Apache
$ /etc/init.d/apache2 restart
$ /etc/init.d/bind9 restart
Y si nos muestra un error al ingresar a nuestro domino/webmail. Hacemos lo siguiente, nos situamos en:
$ cd /etc/apache2/sites-available/
Donde editamos el archivo 000-default.conf y nos quedara como se muestra en la siguiente imagen.

Resolucin CS N 076-04-2016-04-20

Realizado por: Adrian Carchipulla y Pablo Lema

Volvemos a reiniciamos el Apache y listo ahora podremos ingresar a nuestro webmail.


$ /etc/init.d/apache2 restart

Creacin de Usuarios
La creacin de Usuarios lo realizaremos mediante consola. En mi caso creare dos usuarios con sus respectivas
contraseas:
Adrian

Pablo
Resolucin CS N 076-04-2016-04-20

Realizado por: Adrian Carchipulla y Pablo Lema

Al momento de logearnos con los usuarios que creamos anteriormente nos muestra un error. Y esto se debe a que
la carpeta Maildir/ que configuramos en el Postfix no existe.

Para solucionar este problema, instalamos la aplicacin mailutils. El mismo [4] que contiene una serie de libreras
de correo muy tiles, clientes y servidores. Constituye las utilidades de correo del sistema GNU. La librera central
es capaz de manejar correo electrnico en varios formatos y protocolos, tanto local como remotamente
$ apt-get install mailutils
Envi de Correos
Con el usuario pablo espacio mail, comenzaremos a redactar el correo. Lo primero que nos sale es el Asunto,
cuando lo tengamos, le damos Enter y escribimos el cuerpo del email, para finalizar escribimos punto.

Ahora para verificar que nuestro servidor de Correo este funcionando, nos vamos al navegador e ingresamos a:
http://www.carlema.com/webmail y nos logueamos con el usuario adrian. Como podemos observar si esta
funcionando porque en nuestra bandeja de entrada existe un correo emitido por pablo.

Resolucin CS N 076-04-2016-04-20

Realizado por: Adrian Carchipulla y Pablo Lema


As mismo podemos responder el correo y de paso verificamos que nuestro servidor de correo este configurado
correctamente, para emitir y recibir correos.

Cerramos sesin con el usuario Adrian y nos logueamos con el usuario Pablo. Finalmente podemos corroborar el
correo emitido por el usuario adrin.

Todo el proceso anterior se realizo en el mismo servidor. Posteriormente se mostrara su funcionamiento con los
clientes A y B.

Configurar SSL en el servidor B


Para configurar el servidor B as como en el servidor A configuramos nuestro dominio por ejemplo www.carlemb.com
con diferencia de que este dominio ser seguro https.
Como ya explicamos anteriormente para configurar el DNS tendremos que instalar lo siguiente:
$ apt-get install bind9
Y realizar sus respectivas configuraciones con el dominio de preferencia.
Guindonos en [5], primero cambiamos el nombre de equipo /etc/hostname.
$ gedit /etc/hostname
por: mail.carlemb.com
Agregamos el host en el archivo de /etc/hosts
10.0.0.4 mail.carlemb.com

Actualizamos los repositorios


$ sudo apt-get update
Instalamos Postfix
Resolucin CS N 076-04-2016-04-20

Realizado por: Adrian Carchipulla y Pablo Lema


$ apt-get install postfix
Para su configuracin digitamos el siguiente comando
$ dpkg-reconfigure postfix
Ahora para configuracin debemos agregar lo siguiente en el orden presentado:
1. Internet Site
2. carlemb.com
3. carlemb
4. carlemb.com, localhost.localdomain, localhost
5. No
6. 127.0.0.0/8 [::ffff:127.0.0.0]/104 [::1]/128 10.0.0.0/24
7. 0
8. +
9. all
Para verificar nuestra configuracin abrimos /etc/postfix/main.cf

Ahora configuramos el archivo de Postfix /etc/postfix/main.cf para SMTP-AUTH usando dovecot SASL
agregamos lo siguiente:
home_mailbox = Maildir/
smtpd_sasl_type=dovecot
smtpd_sasl_path=private/auth
smtpd_sasl_local_domain=smtpd_sasl_security_options=noanonymous
broken_sasl_auth_clients=yes
smtpd_sasl_auth_enable=yes
smtpd_recipient_restriction= permit_sasl_authenticated,permit_mynetworks,reject_unauth_destination
smtp_tls_security_level= may
smtpd_tls_security_level=may
smtp_tls_note_starttls_offer = yes
smtpd_tls_loglevel = 1
smtpd_tls_received_header = yes

Resolucin CS N 076-04-2016-04-20

Realizado por: Adrian Carchipulla y Pablo Lema

Ahora abrimos /etc/postfix/master.cf y descomentamos las lneas de: smtps ( 465 ) and submission ( 587 )

Ahora instalamos Dovecot SASL


$ apt-get install dovecot-common
Y agregamos lo siguiente durante la instalacin
1. yes
2. mail.carlemb.com
Abrimos /etc/dovecot/conf.d/10-master.conf y en el apartado # Postfix smtp-auth, agregamos las siguientes
lneas

Abrimos.
Buscamos: auth_mechanisms = plain y
Reemplazamos por: auth_mechanisms = plain login
Resolucin CS N 076-04-2016-04-20

Realizado por: Adrian Carchipulla y Pablo Lema


Reiniciamos los servicios de Postfix y Dovecot
root@mail:~$ sudo /etc/init.d/Postfix restart
root@mail:~$ sudo /etc/init.d/Dovecot restart

Ahora testeamos el acceso a los puertos de SMTP-AUTH y smtp/pop3

Instalamos Dovecot (IMAP-POP3)


$ apt-get install dovecot-imapd dovecot-pop3d
Abrimos y configuramos Mailbox
Y agregamos: mail_location = maildir:~/Maildir

Ahora cambiamos pop3_uidl_format . Abrimos el archivo /etc/dovecot/conf.d/20-pop3.conf y buscamos la lnea


50 y descomentamos

Abrimos el archivo

Y descomentamos ssl = yes

Resolucin CS N 076-04-2016-04-20

Realizado por: Adrian Carchipulla y Pablo Lema

Reiniciamos el servicio de Dovecot


$ /etc/init.d/Dovecot restart
Testeamos los puertos de POP e IMAP con telnet.

O tambin podemos verificar que algunos puertos como: 995,993,143 estn en modo listen (escucha)

Creamos usuarios y lo registramos a Thunderbird. En mi caso he creado los usuarios alice y edison para crear
dichos usuarios podemos ver en la configuracin del Server-A.

Resolucin CS N 076-04-2016-04-20

Realizado por: Adrian Carchipulla y Pablo Lema

Lo siguiente es instalar SQUIRRELMAIL y configurar aplicando el mismo proceso ejecutado en el Server-A a


diferencia que ahora el dominio es carlemb.com
Ahora procedemos a instalar apache y openssl y configurar el certificado para nuestra pagina.
$ apt-get install apache2
$ apt-get install apache2.2-common apache2-utils openssl openssl-blacklist openssl-blacklist-extra
Una vez instalado configuramos nuestro SSL
Como primer paso creamos nuestra llave y le asignamos una clave, antes nos ubicamos en /etc/apache2/. Y el
nombre que le asignamos a nuestra llave es LLaveSSL.key

Lo siguiente es crear nuestro certificado haciendo referencia a nuestra llave creada anteriormente. Donde podemos
ver que nos pide un cierto numero de datos, como por ejemplo
Pas
Estado
Provincia
Nombre de nuestra organizacin
Nombre a quien se va se a registrar el certificado
Email
En mi caso he agregado lo siguiente:

Resolucin CS N 076-04-2016-04-20

Realizado por: Adrian Carchipulla y Pablo Lema

Configuramos nuestro certificado, tiempo de duracin y firmamos nuestra llave (LLaveSSL.key) y para finalizar
digitamos nuestra contrasea creado con nuestra llave.

Habilitamos SSL en apache

Listamos los archivos de apache y podremos observar nuestra llave, certificado y certificado firmado que hemos
creado.

Ahora copiamos nuestra llave y el certificado firmado que hemos creado al directorio donde se encuentran los
certificados de Ubuntu.
Resolucin CS N 076-04-2016-04-20

Realizado por: Adrian Carchipulla y Pablo Lema

Continuando, procedemos a configurar el archivo default-ss.conf para esto nos ubicamos en


$ cd /etc/apache2/sites-available/
$ gedit default-ssl.conf
Agregamos lo siguiente haciendo referencia al directorio donde fueron copiados nuestra llave y el certificado firmado
y documentamos las lneas de configuracin por default de certificado. A continuacin el resultado.

Activamos la configuracin del sitio y reiniciamos el servidor de apache


$ a2nsite defualt-ssl
$ /etc/init.d/apache2 restart
Al reiniciar el servicio de Apache nos pide una clave, siendo la misma que ingresamos al crear nuestra llave

Una vez que hayamos creado los certificados debemos agregarlos al Postfix editando el archivo /etc/postfix/main.cf
en el apartado de TLS parameters, quedando de la siguiente manera.

Finalmente probamos nuestro certificado, ingresamos al navegador y abrimos nuestro dominio con https

Resolucin CS N 076-04-2016-04-20

Realizado por: Adrian Carchipulla y Pablo Lema

Como podemos ver nuestro certificado fue creado con xito. Ahora simplemente Damos clic en I Understand the
Risks y cargara nuestro SquirrelMail Login. Para mas informacin [6]

Es as como nuestro Server-B queda configurado con SSL y listo para envi y recepcin de correos.
Enviar correos desde Cliente 1 a Cliente 2, usando los dos servidores de correo
Para probar la configuracin de nuestros servidores de correo. Enviamos correos con el dominio del Server-B
https://www.carlemb.com
En nuestro servidor B tenemos los siguientes usuarios: Cinthia, Edison, Juan y Alice. Para las respectivas pruebas
enviaremos correos entre Juan y Alice.
Redactamos el correo y lo enviamos a Alice y verificamos en mensajes enviados.

Ahora nos vamos al cliente-B y nos logueamos con la cuenta de Alice y verificamos en la bandeja de entrada un
nuevo correo de Juan.

Resolucin CS N 076-04-2016-04-20

Realizado por: Adrian Carchipulla y Pablo Lema

Realizar pruebas de ataques Man in the Middle (MITM) y verificar que no se puedan acceder a la
informacin de los correos del servidor conSSL

Primero capturaremos el trafico del Servidor A que no tiene configurado SSL.


Como primer paso iniciamos nuestro Kali y iniciamos la aplicacin Ettercap. La IP que le hemos configurado es
10.0.0.6/24.
Y nos dirigimos el men Sniff Unified sniffing y seleccionamos la interfaz por la cual capturaremos el trafico entre
los clientes y los servidores. Como se muestra en la imagen siguiente.

Ahora lo siguiente es escanear los hosts. Para esto de la misma manera iremos al men y damos clic en Hosts
Scan for hosts y en el mismo tem Hosts seleccionamos Hosts list como se ilustra a continuacin.

Y agregamos dos targets, el primero el Gateway y el segundo al que esta conectado al servidor A quedando de la
siguiente manera.

A continuacin nos situamos en el men y damos clic en tem Mitm ARP Poisonning y seleccionamos Sniff
remote connections.

Resolucin CS N 076-04-2016-04-20

Realizado por: Adrian Carchipulla y Pablo Lema

Y como ultimo paso es iniciar el Sniffing. Start Star Sniffing.


Ahora viene la prueba de rigor. En el Cliente-A hare un loggin con el usuario adrian@carlema.com y su respectiva
contrasea. As tambin abrimos el wireshark y filtramos http.request.method==POST y en el paquete POST
/webmail damos clic derecho y nos dirigimos a Follow TCP Stream donde podremos observar la credenciales de
dicho usuario.

Ventana Follow TCP Stream

Para seguir probando que nuestro Kali esta capturando todo el trafico. Desde el mismo Cliente-A con el usuario
adrian redactaremos un correo para pablo (pablo@carlema.com). Una vez que se haya enviado el correo se genera
un nuevo paquete en el filtro ya establecido y de la misma manera volveremos a usar Follow TCP Steam para extraer
datos binarios [7], que nos mostrar una ventana con el contenido de los dilogos cliente-servidor de una determinada
sesin completa TCP en la capa de aplicacin.
En las 2 imgenes siguientes podemos ver todo el contenido del correo que adrian envi a pablo. Esto se debe a
que nuestro servidor de correo A no tiene configurado SSL. Para solucionar esto y hacer que nuestros correos viajen
a travs de la red de forma segura y no se pueda visualizar fcilmente, en el servidor B configuraremos SSL y
podremos ver la diferencia.

Resolucin CS N 076-04-2016-04-20

Realizado por: Adrian Carchipulla y Pablo Lema

Ahora capturaremos el trafico del Servidor B que tiene configurado SSL.


El proceso para el ataque es el mismo que el del Servidor A, con la nica diferencia que a la hora de agregar los
Targets en el segundo target escogemos la IP 10.0.0.4. Quedando como resultado lo siguiente. Luego de aplicar
todo el proceso del ataque

Abrimos wireshark y filtramos SSL, para verificar que el trafico entre los clientes y el servidor se realiza de manera
segura.
Donde podremos observar que todos los paquetes esta encriptados con SSL (TLS) y no podemos visualizarlos como
se suceda con el Servidor B.

Resolucin CS N 076-04-2016-04-20

Realizado por: Adrian Carchipulla y Pablo Lema

RESULTADO(S) OBTENIDO(S):
La configuracin en cada uno de los servidores se realizo con xito, anqu al inicio hubo inconvenientes pero se
soluciono a tiempo.
Se configuro en cada uno de los servidores un dominio y en base de ese dominio se realizo todas las configuraciones
para levantar el servicio de correo.
La configuracin de SSL en el Servidor B se ha realizado basndonos en un tutorial de YouTube el mismo que esta
citado al final de la configuracin del SSL.
Las pruebas de envi de correo entre clientes se pudo realizar de manera exitosa, como podemos observar en el
apartado Enviar correos desde Cliente 1 a Cliente 2, usando los dos servidores de correo. Solo hemos hechos
capturas con el servidor B, pero el proceso es el mismo para el A, adems en el ataque hemos expuesto evidencias
de que el envi de correos utilizando el Servidor A se puedo hacerlo.

CONCLUSIONES:
Levantar un servicio, en este caso de Correo sin ningn tipo de seguridad es vulnerable al momento de enviar y
recibir correos. Por el hecho de que una persona con conocimientos de Hacking podra intervenir en nuestra red y
capturar todo el trafico del mismo, con el objetivo de obtener toda la informacin que el quiera como por ejemplo:
nuestros usuarios y contraseas de loggin as tambin el contenido de nuestros correos.

Resolucin CS N 076-04-2016-04-20

Realizado por: Adrian Carchipulla y Pablo Lema


El uso de herramientas para analizar vulnerabilidades y de probar que tan seguro es nuestro sistema es de vital
importancia al momento de implementar algn tipo de servicio ya que nos ayuda a corregir amenazas que pudieran
daar el funcionamiento de nuestro sistema.
La configuracin del Servidor B con SSL nos proporciona mayor seguridad con respecto al trafico de nuestros datos
por la red. Porque al momento de hacer el ataque no podemos visualizar la informacin, como si se pudo hacer con
el servidor B.
RECOMENDACIONES:
Cuando decidamos levantar un servicio de Correo ya sea para uso personal o empresarial siempre debemos hacerlo
de manera segura implementando algn protocolo de seguridad que nos garantice la confidencialidad de nuestro
datos en la red y la tranquilidad de nuestros usuarios al utilizar nuestros servicios.
Configurar paginas web con SSL para evitar que los atacantes intercepten nuestra red y roben informacin. Como
todos sabemos que nada es seguro pero si minimizamos la vulnerabilidad de nuestras aplicaciones.
Hoy en da, en todo servicio y aplicacin debemos hacerlo de manera segura implementndolo con algn protocolo
de seguridad.

BIBLIOGRAFA


[1] TutoRedes, Servidor de Correo en Ubuntu con Postfix+Courier+Mailx+SquirrelMail, 13 Julio 2015. [En lnea].
Available: https://enredesao.wordpress.com/tutoriales-servicios-de-red/servidor-de-correo/servidor-de-correoen-ubuntu/. [ltimo acceso: 6 Noviembre 2016].

[2] P. O. Protocol, Wikipedia, [En lnea]. Available: https://es.wikipedia.org/wiki/Post_Office_Protocol. [ltimo


acceso: 6 Noviembre 2016].

[3] Wikipedia, Protocol, Internet Message Access, [En lnea]. Available:


https://es.wikipedia.org/wiki/Internet_Message_Access_Protocol. [ltimo acceso: 6 Noviembre 2016].

[4] fraterneo.blogspot.com, Promoviendo el Software Libre y la Educacin, 14 Febrero 2011. [En lnea]. Available:
http://fraterneo.blogspot.com/2011/02/envia-correos-desde-el-terminal-con.html. [ltimo acceso: 06 Noviembre
2016].

[5] www.krizna.com, Installing and configuring postfix, [En lnea]. Available: http://www.krizna.com/ubuntu/setupmail-server-ubuntu-14-04/. [ltimo acceso: 9 Noviembre 2016].

[6] www.youtube.com, Configurar un Sitio Web con SSL Habilitado en Linux (Ubuntu 12.04), [En lnea]. Available:
https://www.youtube.com/watch?v=WAtW5LkEwTo. [ltimo acceso: 09 Noviembre 2016].

[7] www.daboweb.com, Herramientas para la interpretacin de capturas de red., [En lnea]. Available:
https://www.daboweb.com/2011/01/27/herramientas-para-la-interpretacion-de-capturas-de-red-710/.
acceso: 6 Noviembre 2016].

Resolucin CS N 076-04-2016-04-20

[ltimo

Realizado por: Adrian Carchipulla y Pablo Lema

Docente / Tcnico Docente: Ing. Pablo Gallegos

Firma: _______________________________
Nombre de estudiante: Adrian Carchipulla

Firma de estudiante: Adrian Carchipulla

Firma: _______________________________
Nombre de estudiante: Pablo Lema

Firma de estudiante: Pablo Lema

Resolucin CS N 076-04-2016-04-20

Você também pode gostar