PROYECTO DE PLATAFORMA DE CORREO SEGURA EN DEBIAN POR: Vanessa Valenzuela Sandra Carvajal Lina Tobon Ana Carrillo Erika Uribe Danilo Gutiérrez Andrés deossa
Grupo: Network Evolution
Presentado a: Camilo Andres zapata Fernando Alonso Quintero Mauricio Ortiz Morales Nicolas Gallego
Servicio nacional de aprendizaje Regional antioquia 2008
Índice Introducción……………………………………………………………………………..3 Justificación……………………………………………………………………………..4 Objetivos………………………………………………………………………………...5 Marco teórico…………………………………………………………………………...6 Instalación y configuración del Postfix……………………………………………….8 Conclusiones……………………………………………………………………………123
2
INTRODUCCIÓN Este proyecto busca servir como guía para la instalación y configuración de una plata forma de correo segura, utilizando postfix, amavis,dovecot entre otros. Además instalar y configurar un servidor de directorio para autenticar y almacenar la base de datos de los usuarios. El servicio de directorio que utilizaremos es el MDS (Mandriva directory server) y la base de datos de OPENLDAP. Para la realización de este HOW TO se tuvieron en cuenta multiples manuales que nos sirvieron de ayuda para lograr este objetivo. El servidor de correo hoy en día es un servicio muy utilizado ya que en los años anteriores era utilizado el correo en papel hoy en día aun se utiliza pero no con la misma frecuencia con que se hacía en un pasado el correo electrónico tiene la ventaja de ser instantáneo solo tarda unos minutos en llegar a su destino mientras el correo en papel puede demorar días. Con este proyecto se busca dar un vistazo al funcionamiento de un sistema de correo.
3
JUSTIFICACION Este proyecto se pensó hacer con los siguientes fines de adquirir conocimiento en la parte administrativa de sistemas de correos de conocer su funcionalidad sin dejar a un lado que fue un trabajo para lograr unas metas propuestas por los instructores que va dejar conocimientos para la parte empresarial. Nos dejo una experiencia para desarrollar en la empresa en la parte de intranet un sistema de correo ya que funciona tanto en la internet como intranet, no olvidemos que se debe aprender el funcionamiento y como está compuesto un sistema de correo.
4
Objetivos
Objetivo general Diseñar, implementar y gestionar una plataforma de correo segura en el sistema operativo y Linux y Windows.
Objetivos específicos: Aprender a trabajar en equipo Solucionar problemas Implementar MDS Conocer el funcionamiento de un servidor de correo Adquirir conocimientos en el montaje de un servidor de correo Hacer pruebas con miras a implementar en la empresa
5
MARCO TEORICO Postfix: Hasta la fecha el servidor de correo más utilizado en Internet venía siendo sendmail ( el cual incorpora RedHat por defecto ). Postfix proporciona una alternativa a sendmail convirtiéndose en un software de diseño más simple, más modular y más fácil de configurar y administrar. Sendmail sigue siendo una aplicación muy poderosa, estable y ampliamente desarrollada, pero la curva de aprendizaje y los diferentes agujeros de seguridad encontrados, han hecho que muchos administradores valoren otras alternativas
NNTP Network News Transport Protocol es un protocolo inicialmente creado para la lectura y publicación de artículos de noticias en Usenet. Su traducción literal al español es "protocolo para la transferencia de noticias en red". SMTP Simple Mail Transfer Protocol o protocolo simple de transferencia de correo. Protocolo de red basado en texto utilizado para el intercambio de mensajes de correo electrónico entre computadoras u otros dispositivos (PDA's, teléfonos móviles, etc.). Está definido en el RFC 2821 y es un estándar oficial de Internet IMAP: (Internet Message Access Protocol [Protocolo de Acceso a Mensajes de Internet]), el cual se usa para coordinar el estado de los correos electrónicos (leído, eliminado, movido) a través de múltiples clientes de correo electrónico. Con IMAP, se guarda una copia de cada mensaje en el servidor, de manera que esta tarea de sincronización se pueda completar.
POP3: (Post Office Protocol [Protocolo de Oficina de Correo]), el más antiguo de los dos, que se usa para recuperar el correo electrónico y, en algunos casos, dejar una copia en el servidor. MUA (Mail User Agent): es un programa que permite leer y escribir correos. Suelen tener muchas funcionalidades que superan la estricta lectura y composición de mensajes, como el mantenimiento de libretas de direcciones, gestión de anexos (attachments), gestión de múltiples carpetas para organizar el correo, filtros de correo para borrarlo, responderlo, o redirigirlo a carpetas determinadas, todo ello automáticamente y en función de las características del mensaje, etc. Nombres habituales de MUAs son: mail, elm, pine, kmail (entorno KDE), Netscape Messenger, Microsoft Outlook Express, MTA (Mail Transport Agent): es un programa encargado de recoger mensajes y enviarlos, comunicando para ello con otros MTA según sea preciso. Lo normal es que funcione como 6
servicio (es decir, de modo continuo, esperando peticiones de los MUAs o de otros MTAs y atendiéndolas). En Unix/Linux se implementan como uno o más demonios. El MTA más famoso y utilizado es sendmail; otros MTAs son Postfix, QMail... Además, productos de groupware como Microsoft Exchange, Lotus Domino Server, Novell Groupwise o Netscape Messaging Server incluyen MTAs
7
SERVIDOR DE CORREO POSTFIX EN DEBIAN
1. dentro de este archivo de configuración pico /etc/hosts vamos a especificarle el nombre del equipo y el dominio, para esto ingresamos con un editor de texto asi: # nano /etc/hosts
En este fichero esta especificado el nombre de nuestro equipo, dominio y dirección ip. 8
En nuestro caso seria: Dominio: evolution.com Nombre de host: server1 Direccion ip:
192.168.0.10
Ahora ejecutamos el comando echo para que nos redireccione el nombre de nuestra maquina al fichero /etc/hostname.
Ejecutamos el comando reboot para reiniciar el 9
equipo, esto con el fin de que nuestra maquina coja los cambios efectuados anteriormente.
Comprobamos que efectivamente al reiniciar nuestra maquina, haya cojido los cambios que anteriormente le realizamos a nuestra maquina.
10
Ahora procedamos /etc/fstab
a
configurar
el
fichero:
#nano /etc/fstab En este archivo de configuración vamos a añadir la opcion “acl” en el punto de montaje donde los directorios de SAMBA se almacenaran y los usuarios de samba tendrán su propia casa. En mi caso la “/” – el contenido debe ser parecido a este:
11
Ejecutando: # mount –o remount / Nos remonta los cambios a la raíz.
12
Ejecutando este comando podemos visualizar acl va bien en el punto de montaje.
si el
13
Posteriormente ingresaremos al archivo: #nano /etc/apt/sources.list En este archivo de configuración ingresaremos los repositorios que necesitamos para implementar mds y postfix.
Seguidamente actualizamos la lista de repositorios ejecutando: #apt-get update
14
En el momento de actualizar nuestros repositorios, Nos pedira la llave que nos permitira descargar todos paquetes del repositorio backports. Se la ingresamos y dejamos que termine de actualizar la lista de repositorios.
15
Completada la actualización de nuestros repositorios procedamos a instalar los paquetes que se necesitan para el Mds y el postfix, con la herramienta APT.
16
Como se puede apreciar, a medida que que se van descargando los paquetes que se necesitan, nos va mostrando el respectivo procedimiento Durante la instalación de los nuevos paquetes, tendremos que dar respuesta a las preguntas que allí se nos hagan, para poder culminar con dicha instalación.
17
13.Ingrese una contraseña para el administrador LDAP
18
En este punto se nos piden una contraseña para el usuario administrador, el cual es el encargado de administrar nuestro directorio ldap. Se nos pedirá repetir la contraseña.
19
Aquí nos advierte de una posible falla de direccionamiento ip, de parte del servidor dhcp, si estamos de acuerdo con lo expresado allí, le damos aceptar.
20
En este paso nos piden Ingresar el nombre de dominio en mi caso: evolution.com.
21
Seleccione "No" cuando se le pregunte si smb.conf si no queremos que se modificase la configuración WINS desde DHCP, de lo contrario se puede decir que si. En nuestro caso es NO.
22
Damos aceptar, si estamos de acuerdo con lo que alli se nos indica.
23
El tipo genérico de configuración escogemos la opción sitio de internet.
24
Se nos pide Ingresar el nombre completo del dominio donde server1 es el nombre de la maquina donde esta el servidor de correo y evolution.com el nombre del dominio.
25
21. Ingresar la URI (identificador uniforme de recursos) del servidor LDAP, el cual será: "ldap://127.0.0.1/"
26
Especificamos el nombre distintivo de la base de búsqueda, es como quedara ordenado en el árbol jerarquico del ldap.
27
Se nos pide Escoger la versión del LDAP que vamos a utilizar. En nuestro caso será el 3.
28
Ingresamos el DN (nombre distintivo) para la cuenta con privilegios de root con la cual vamos a administrar LDAP. El cual será el admin.
29
Escogeremos las contraseña la cual se utiliza cuando la cuenta root intente autenticarse al LDAP.
30
26. Aquí confirmamos la contraseña para el root en ldap.
31
Le damos aceptar.
32
Aquí damos la opción no para que todos usuarios puedan ver la base de datos del ldap.
33
29. Aquí damos la opción no para que todos los usuarios del ldap puedan ser autenticados.
34
30. Ingrese "cn=admin,dc=evolution,dc=com" como cuenta root LDAP
35
31. Ingrese la contraseña para el administrador LDAP.
36
32. Instalación del servicio dovecot.
37
31. Copie los archivos de esquema para MMC, mail, SAMBA, printer, DNS y DHCP en el directorio de esquema de LDAP.
-cp /usr/share/doc/python-mmcbase/contrib/ldap/mmc.schema /etc/ldap/schema/ -cp /usr/share/doc/python-mmcbase/contrib/ldap/mail.schema /etc/ldap/schema/ -zcat/usr/share/doc/python-mmcbase/contrib/ldap/samba.schema.gz > /etc/ldap/schema/samba.schema -zcat/usr/share/doc/python-mmcbase/contrib/ldap/printer.schema.gz > 38
/etc/ldap/schema/printer.schema -zcat/usr/share/doc/python-mmcbase/contrib/ldap/dnszone.schema.gz /etc/ldap/schema/dnszone.schema -zcat/usr/share/doc/python-mmcbase/contrib/ldap/dhcp.schema.gz /etc/ldap/schema/dhcp.schema
> >
32. Aquí se incluyen los archivos de esquema en la configuración del ldap
39
33. En este paso damos la clave del administrador ldap para que la encripte.
34. Se descomenta rootdn y se agrega roopw que es el resultado de la contraseña que encriptamos anteriormente.
40
35. se descomenta la línea del indexing… y agregamos las líneas del índex y se comenta el index object…. .
41
36. Borra esta línea access to attrs=userPassword,shadowLastChange y se remplaza por esta access to attrs=userPassword,sambaLMPassword,sambaNTPassword
42
37. En este archivo de configuración se coloca “127.0.0.1” y se copia el nombre del dominio.
43
38. Reiniciamos el demonio de LDAP para mirar si todo el archivo de configuración esta bien.
44
39. Paramos el servicio samba
45
40. Copie el archivo de configuración SAMBA de ejemplo en el directorio SAMBA...
46
41…Y modificamos los valores subrayados en el archivo en la sección [global]…
47
42. …a demás se agregan las siguientes líneas y cambiamos la opción por no de la línea ldap delete dn = no
48
43. Agregue la siguiente línea a la sección [homes]: hide files = /Maildir/
49
44. Se agrega samba
45. Aquí se agregan toda la línea del write en el “print”
46. Se agrega la ultima línea del profiles y se agrego todo el portage 50
47. Se da este comando par saber si todo el archivo de configuración del pico /etc/samba/smb.conf
esta bien configurado
51
48. Se da este comando y contraseña del ldap y debería sacar el dominio
49. Das el siguiente comando con el nombre del grupo que ya especificamos en el archivo de configuración /etc/samba/smb.conf y el comando que vamos a dar es para generar el sid grupo.
52
50. Con este comando verificamos si dominio en el samba.
reconoce el
53
51. Reiniciamos el samba para ver si nos muestra un error en algún archivo de configuración.
54
52. En el siguiente archivo colocamos el dominio y las contraseñas
55
53. en este archivo de configuración colocamos el sid que nos saco para el grupo en el ldap igualmente dentro el mismo archivo de configuración cambiamos algunas cosas como por ejemplo donde esta el dominio como lo muestra la imagen.
56
54. Aquí se creara la cuenta para el administrador de igual forma nos pedirá la contraseña.
57
55. Aquí se modifica el uid para la cuenta y adicionalmente será agregado en el grupo domain users
58
56. En este paso configuramos el sistema para usar el directorio ldap para obtener listas de usuarios y grupos
59
57. Se crean los directorios necesarios para el ldap
mkdir -p /home/samba/shares/public/
mkdir /home/samba/netlogon/ mkdir /home/samba/profiles/ mkdir /home/samba/partage/ mkdir /home/samba/archives/
58. Se dan los permisos
60
59. Aquí se agrega el soporte del ldap al pam
61
60 En este se agregan las siguientes líneas.
62
61. Aquí se agrega todo este archivo de configuración
63
62 Se agrega el archivo de configuración y se organizan las dos últimas líneas.
64
63. Reiniciamos el equipo
reboot 64. Se da este comando y se le coloca evolution que en este caso es nuestro dominio y pide la contraseña.
65
65. Se agrega todo el archivo de configuración.
66
66. Esto es para crear el certificado ssl.
67. Este es el permiso para la llave de modo que solamente el root le sea permitida leerla.
67
68.Este se crea para que el postfix sea capaz de autentificar contra el servidor ldap
68
69. Esta es una configuración predeterminada
70. En este archivo de configuración se le cuadra el dominio como se ve en el archivo de configuración
69
71.Dentro de este archivo de configuración se coloca lo que se ve en la imagen
70
72. Mediante este comando se agrega el postfix al grupo sasl
71
73. Reiniciamos el salsauthd
74 Este comando es para crear los usuarios virtuales
72
75. Aquí se agrega el dominio y algunas restricciones de seguridad
73
76 Aquí se edita la configuración del alias ldap y se le coloca el domino.
77. Se agrega todo el archivo de configuración
74
78 Reiniciamos el servidor postfix
75
79. Se le da este comando para re direccionar
76
80 En este archivo de configuración se le coloca el dominio.
Este archivo de configuración debe quedar así
77
78
81 Este comando se da para re direccionar
82 Este archivo de configuración debe cambiarle el dominio y dejar lo de mas como esta
79
83. Este comando son los permisos del dovecot
84 Reiniciamos el dovecot 80
85. Esta es la configuración del amavis por donde el servidor de correo mandara primero los correos para ser revisados.
81
86.este archivo de configuración es para descomprimir toda la información que pasa por el use strict.
87. Luego con este comando agregamos usuario clamav al grupo amavis
el
82
88. Reiniciamos el amavis para mirar que todo este bien dentro de la configuración.
83
89. Reiniciamos el clamav-daemon para mirar si todo marcha bien dentro de la configuración.
90. Reiniciamos el clamav-freshclam
84
91. en este archivo de configuración se comentaron las dos líneas y se agrego lo demás.
85
92. en el siguiente archivo de configuración /etc/spamassassin/v310 se des comenta la primera línea y se mira que si estén las otras.
loadplugin Mail::SpamAssassin::Plugin::DCC loadplugin Mail::SpamAssassin::Plugin::Pyzor loadplugin Mail::SpamAssassin::Plugin::Razor2 loadplugin Mail::SpamAssassin::Plugin::SpamCop 86
loadplugin Mail::SpamAssassin::Plugin::AWL loadplugin Mail::SpamAssassin::Plugin::AutoLearnThreshold loadplugin Mail::SpamAssassin::Plugin::WhiteListSubject loadplugin Mail::SpamAssassin::Plugin::MIMEHeader
93. En este paso el archivo de configuración del named.conf que fue descargado en la siguiente ruta cp /usr/share/doc/python-mmcbase/contrib/bind/named.conf /etc/bind/ se copia en la esta /etc/bind/
87
94. Iniciamos el spamassassin y reiniciamos el amavis
/etc/init.d/spamassassin start /etc/init.d/amavis restart
95. en este comando modificamos el punto de inicio de slapd para que arranque antes que bind.
update-rc.d -f slapd remove && update-rc.d
slapd start 14 2 3 4 5 . update-rc.d-f slapd eliminar & & update-rc.d iniciar slapd 14 2 3 4 5. stop 86 0 1 6 . parada 86 0 1 6.
96. En este archivo debemos tener configurado el dns que vamos a utilizar para que nos resuelva.
88
97. se copia el archivo de configuración modificado en el directorio dhcp3.
cp /usr/share/doc/python-mmcbase/contrib/dhcpd/dhcpd.conf /etc/dhcp3/ 98. esta es la copia que se hizo y luego se modifica de acuerdo como esta en la imagen.
89
99. en este archivo de configuración se crea el host virtual para la redirección, al cual se le coloca el domino.
90
100. Se crea el directorio para apches/ssl
mkdir /etc/apache2/ssl/
101. en este comando el certificado ssl es usado por mmc para la interfaz web.
91
102. en este archivo de configuración vamos a colocar el puerto del ssl
92
103. se dan los permisos al apache2
chmod 600 /etc/apache2/ssl/server.key 104. reiniciamos el apache para mirar que error tenemos en el archivo de configuración.
/etc/init.d/apache2 restart
93
105. se coloca en el dn el dominio y se le da la contraseña del administrador del ldap
106. en el vDomaiDN se coloca el dominio y se des comenta la línea para entrega del dovecot.
94
107. en este archivo mmc.
se configura
la red para la
95
108. en este archivo de configuración se le coloca el dominio.
96
109. se reinicia el mmc-agent start
97
110. se reinicia el bind9 para ver si algún archivo de configuración presenta algún error.
98
111. https://server1/evolution.com/ este ya es nuestra consola administrativa de mandriva.
99
112. en este entorno grafico vamos a configurar los servicios gráficamente. Que sería la consola para la administración de mandriva.
113. en esta imagen muestra que el dns esta bien configurado.
100
114. Así queda configurado el squirrelmail y su entorno grafico queda como esta en la imagen:
101
115.
102
116. aqui como podemos ver nuestro servidor de correo quedo funcionando.
103
104
HOST VIRTUALES Y DOMINIOS VIRTUALES
117.en este archivo de configuración copiamos todos menos main.cf, y los que quedan lo vamos a copiar en /etc/postfix y quedara en la siguiente imagen.
105
118. Quedara asi ahora vamos a empezar a modificarlos de tal manera que queden con el domonio evolution.com .
119. en el siguiente archivo de configuración colocamos el nombre del dominio y dejamos lo demás como esta.
106
120.en este archivo de configuración cambiamos el nombre del dominio.
107
.
121.en el siguiete archivo de colocamos el nombre del dominio demás como esta.
configuración y dejamos lo
108
122. en el siguiente archivo de configuración colocamos el nombre del dominio
109
123. en este archivo de configuración colocamos el nombre del dominio
110
124.en este archivo de configuración colocamos el nombre del dominio y dejamos lo demás como esta.
111
125. En el siguiente archivo de configuracion colocamos el nombre del dominio
112
136 en esta imagen miraremos como se crea el alias para el correo.
113
137. aquí nos confirma que los cambios actualizados con éxito.
fueron
114
138. como podemos ver en esta imagen estamos creando el dominio virtual.
115
139. Esto nos saldrá si hemos creado bien el dominio virtual.
116
140. en este archivo de configuración comentamos la línea del chomp($my-domain=´head….
Y agregamos la siguiente línea que se encuentra subrayada en la imagen.
117
141. en este archivo de configuración se des comentaron las líneas de final….. que están en la parte de debajo de la imagen.
118
142. en este archivo de configuración se coloco lo que esta en el recuadro que es el nivel del spam.
119
143. en este archivo de configuración se des comentan las líneas subrayadas en la imagen para cuando llega un spam y dentra marcado ******SPAM******.
120
144 en esta imagen observamos la palabra “VIAGRA” porque en el servicio de correo el lo toma como spam
121
122
Conclusiones Durante la instalación del servidor de correo surgieron errores de instalación y configuración que con la ayuda de manuales y de nuestros compañeros se lograron resolver de forma exitosa. En la realización de un proyecto o trabajo en equipo es importante llevar a cabo un cronograma de trabajo el cual nos permita delegar tareas y administrar el tiempo de forma adecuada.de la Al término de la realización del proyecto podemos concluir que se han logrado los objetivos planteados al inicio del proyecto, se han resuelto muchas dudas, se ha realizado un gran trabajo en equipo y se ha logrado entender concepto de los cuales no se tenía conocimiento.
123