Post on 26-Jun-2015
1
IMPLEMENTACIÓN DE UNA PLATAFORMA DE CORREO SEGURA
CON MANDRIVA DIRECTORY SERVER BAJO CENTOS 5.4.
CARLOS MARIO GÓMEZ MEJÍA
GIOVANNY STIVEN ECHEVERRY MEJÍA
ANDRES FELIPE GALLEGO ARBOLEDA
ADMINISTRACIÓN DE REDES DE COMPUTADORES
INSTRUCTOR:
MAURICIO ORTIZ MOLINA
SENA
REGIONAL ANTIOQUIA
CENTRO DE SERVICIOS Y GESTIÓN EMPRESARIAL
2
2010.
Contenido 1. INTRODUCCIÓN ................................................................................................................4
2. OBEJTIVOS .......................................................................................................................5
2.1 OBJETIVO GENERAL.........................................................................................................5
2.2 OBJETIVOS ESPECÍFICOS ..................................................................................................5
3. MARCO TEÓRICO ..............................................................................................................7
3.1CentOS............................................................................................................................7
3.2 PDC ................................................................................................................................7
3.2.1SAMBA .........................................................................................................................7
3.3 MDS ...............................................................................................................................7
3.4 OpenLDAP ......................................................................................................................7
3.5 PLUGINS .........................................................................................................................8
3.6 SID .................................................................................................................................8
3.7 MMC..............................................................................................................................8
3.8 Tipo de buzon .................................................................................................................8
3.8.1 MailDir ........................................................................................................................8
3.8.2 Mbox...........................................................................................................................8
3.9 Bind ...............................................................................................................................9
3.10 Dhcpd ..........................................................................................................................9
3.11 MTA .............................................................................................................................9
3.12.1 Postfix .......................................................................................................................9
3.11.1.1 SMTP ......................................................................................................................9
3.12 MDA...........................................................................................................................10
3.12.1Dovecot....................................................................................................................10
3.12.1.1 IMAP ....................................................................................................................10
3.12.1.2 POP ......................................................................................................................10
3.13 WebMail ....................................................................................................................10
3.13.1 SquirrelMail .............................................................................................................10
3.14 MUA ..........................................................................................................................10
3.14.1 Mozilla Thunderbird .................................................................................................11
3.15 SASL ...........................................................................................................................11
3.16 SSL\TLS.......................................................................................................................11
3
3.17 Amavis .......................................................................................................................11
3.17.1 ClamAV....................................................................................................................11
3.17.2 SpamAssasing ..........................................................................................................11
4. INICIO DE INSTALACION DEL CORREO ..............................................................................12
4.1 CONFIGURACIÓN DE OPENLDAP Y SAMBA......................................................................12
4.1.1 INSTALACIÓN DEL REPOSITORIO RPMFORGE ...............................................................14
4.1.2 CREACIÓN DEL REPOSITORIO DAG...............................................................................14
4.1.3 INSTALACIÓN DE LAS LIBRERIÁS NECESARIAS ...............................................................15
4.1.4 CONFIGURACIÓN DEL SAMBA .....................................................................................16
4.1.5 INSTALACIÓN DE SMBLDAP-TOOLS..............................................................................19
4.1.6 POBLANDO LDAP .......................................................................................................21
4.1.7 CONFIGURACION DE NSSWITCH.CONF ........................................................................22
5. INSTALACIÓN DEL MMC-AGENT-2.3.2 ..............................................................................25
5.1 INSTALACIÓN DE PLUGINS .............................................................................................25
5.2 INSTALCIÓN DEL PLUGIN BASE.......................................................................................26
5.3 INSTALACIÓN DEL PLUGIN DEL SAMBA...........................................................................27
6.1 INSTALACION BIND .......................................................................................................31
6.2 DHCPD instalación ........................................................................................................35
6.3 CONFIGURACION DEL PLUGIN NETWORK .......................................................................36
7. CONFIGURACION POSTFIX Y DOVECOT.............................................................................40
7.1 INSTALACION DEL PLUGIN MAIL ....................................................................................40
7.2 CONFIGURACION POSTFIX Y DOVECOT ...........................................................................41
7.3 CONFIGURANDO SQUIRRELMAIL ...................................................................................46
8. CONFIGURANDO SASL, SSL Y TLS......................................................................................51
8.1 CERTIFICADOS SSL/TLS ..................................................................................................52
9. CONFIGURANDO AMAVIS, CLAMAV Y SPAMASSASING ......................................................58
9.1 INSTALACION................................................................................................................58
9.2 CONFIGURACION ..........................................................................................................58
9.3 PRUEBAS ......................................................................................................................60
10. CONCLUSION ................................................................................................................62
11. WEBGRAFIA..................................................................................................................63
4
1. INTRODUCCIÓN
En este trabajo se mostrara de una forma completa la implementación de una
infraestructura de correo segura en el sistema operativo libre CentOS,
utilizando el gestor grafico de Mandriva Directory Server (MDS), como
administrador de los principales servicios como lo son el PDC
(openLDAP/SAMBA), BIND, DHCP, MAIL (Postfix y Dovecot); el servicio de
directorio que se utilizara será el openLDAP en el cual se almacenara la
información de usuarios. Por otro lado se hará la implementación de sasl, ssl y
tls, haciendo funcionar los protocolos smtp, pop3 e imap, de manera segura,
para ello será necesaria la implementación de una entidad certificadora la cual
permitirá encriptar la información enviada a través de estos protocolos.
Este proyecto tiene como finalidad brindar una solución para las empresas que
implementen servidores de correos en Linux ya que el administrador de MDS,
hace más fácil las administración y el buen funcionamiento de los principales
servicios que tiene el servidor de correos.
5
2. OBEJTIVOS
2.1 OBJETIVO GENERAL
Implementar, configurar y gestionar una plataforma de correo segura bajo el
sistema operativo centOS, administrando los recursos de la red por medio de
un servicio de directorio, y manipulando una herramienta vía web llamada
Mandriva Directory Server la cual me permitirá administrar gráficamente
servicios utilizados para el correo.
2.2 OBJETIVOS ESPECÍFICOS
Comprender cada uno de los términos encontrados en el desarrollo del
proyecto, de esta forma tener mas claro lo que estamos implementando.
Instalación de un sistema operativo libre CentOS, en el cual será desarrollado
el montaje del correo seguro.
Instalar y configurar el servicio de directorio ldap y en el almacenar todos los
datos de usuarios y grupos usados para el sistema de correo.
Configurar un PDC utilizando samba, así poblar la base de datos del ldap para
administrar los recursos de red de una manera centralizada.
Desarrollar exitosamente la configuracion del agente y cada uno de los plugins,
así poder ingresar vía web al administrador grafico Mandriva Directory Server.
Configurar e instalar los servicios de red tales como DNS y DHCP, de esta
forma centralizar toda la red en un solo ámbito de direcciones y con el mismo
servidor de resolución de nombres.
Montar el agente de transferencia de correo (MTA) llamado postfix usado en los
sistema libres, para poder enviar correos a través del protocolo smtp uti lizado
para el envió de estos.
Configurar el agente de entrega de correo (MDA) llamado Dovecot, para así
obtener de una buena manera la entrega de cada uno de los correos enviados
por el MTA.
Implementar una entidad certificadora la cual permita encriptar cada una de
nuestras comunicaciones, de esta forma permitir la transmisión segura de los
correos.
6
Instalar y configurar lo referente con Antivirus y AntiSpam, para lograr una
mayor seguridad en cada uno de los correos recibidos.
7
3. MARCO TEÓRICO
3.1CentOS
(Community ENTerprise Operating System) sistema operativo compuesto por
software libre y código abierto. Es un clon de Linux Red Had Enterprise, el cual
fue retomado por voluntarios para compilarlo a partir del código fuente que
libero Red Hat.
3.2 PDC
Es un Primary Domain Controller, se trata del controlador de domino principal,
de el dependen los BDC's de tu dominio, solo puede existir un PDC por
dominio y "n" BDC's.
3.2.1SAMBA Es una implementación libre del protocolo de archivos
compartidos de Microsoft Windows (antiguamente llamado SMB,
renombrado recientemente a CIFS) para sistemas de tipo UNIX. De esta
forma, es posible que ordenadores con GNU/Linux, Mac OS X o Unix en
general se vean como servidores o actúen como clientes en redes de
Windows. Samba también permite validar usuarios haciendo de
Controlador Principal de Dominio (PDC), como miembro de dominio e
incluso como un dominio Active Directory para redes basadas en
Windows
3.3 MDS
Es una plataforma de directorio o servicio de directorio basado en OpenLDAP, esta diseñada para cumplir la función de gestionar identidades, control de
acceso a la información, definir políticas administrativas en la red, administración de servicios de red, las aplicaciones y la configuración de los
usuarios. Este servicio puede correr en diferentes distribuciones de Linux. Funciona en conjunto con otros servicios, tales como:
3.4 OpenLDAP
(Lightweight Directory Acces Protocol, Protocolo Ligero de Acceso a Directorios). Como sus siglas lo indica, es un protocolo de tipo Cliente-Servidor
utilizado para acceder a un servicio de directorio; trabaja por el puerto 389.
OpenLDAP se puede definir como una tipo de base de datos. LDAP es el protocolo propietario de Microsoft, en cambio OpenLDAP hace parte del
software libre o de licencia libre.
8
3.5 PLUGINS
Es una aplicación que se relaciona con otra para aportarle una función nueva y
generalmente muy especifica. Esta aplicación adicional es ejecutada por la
aplicación principal e interactúan por medio de la API.
3.6 SID
(Security Identifier) es un nombre único (una cadena de caracteres
alfanuméricos) que es asignado por controlador de un dominio durante el
registro del proceso que se utiliza para identificar un tema, tal como un usuario
o un grupo perteneciente a la red.
3.7 MMC
Mandriva Management Console hospeda y muestra herramientas
administrativas creadas por Mandriva y por otros proveedores de software.
Estas herramientas se conocen como complementos y sirven para administrar
los componentes de hardware, software y red del sistema. Varias herramientas de la carpeta Herramientas administrativas, como Administración de equipos, son complementos MMC.
3.8 Tipo de buzon
Existen dos tipos de buzones utilizados por los servidores de correo: MailDir y Mbox.
3.8.1 MailDir
Es un tipo de buzon el cual consiste en un directorio ramificado por otros subdirectorios (tmp, new y cur) de esta forma los mensajes son guardados en diferentes archivos. Este no bloquea los ficheros para mantener la integridad de los mensajes puesto que almacena varios ficheros con diferentes nombres.
Generalmente es encontrado en la ruta /home/[USUARIO]/Maildir.
3.8.2 Mbox
Otro tipo de buzon el cual almacena los correos en forma de cola, es decir, este almancena todos los corres de cierto usuario en un solo archivo; todos los
mensajes que llegan siempre serán almacenados en un solo archivo. Por lo general se encuentra ubicado en la ruya /var/spool/mail[USUARIO].
9
3.9 Bind
(Berkeley Internet Name Domain) es el servidor de DNS más comúnmente
usado en Internet, especialmente en sistemas Unix. Proporciona una plataforma sólida y estable sobre la cual las organizaciones pueden crear sistemas de computación distribuida con el conocimiento de que esos sistemas
son totalmente compatibles con el estándar DNS publicado.
3.10 Dhcpd
(Dynamic Host Configuration Protocol Daemon) es un nombre común para el
demonio que permite a un servidor para proporcionar un servicio DHCP a una red.
Los clientes pueden solicitar una dirección IP de un servidor DHCP cuando lo necesitan. El servidor DHCP ofrece el "arrendamiento" de una dirección IP
para el cliente, que el cliente es libre de solicitar o ignorar. Si el cliente lo solicita y el servidor reconoce que, a continuación, el cliente tiene autorización
para utilizar la dirección IP por el tiempo del "arrendamiento", especificado por el servidor. En algún momento antes de que expire el contrato de arrendamiento, el cliente debe volver a solicitar la misma dirección IP si desea
continuar usándolo.
3.11 MTA
Mail Transportation Agent, Aplicación que tiene la función de transmitir correos
electrónicos entre clientes de una red (de un computador a otro).Este es el
servidor de correo que utiliza el protocolo SMTP. Ejemplos de MTA, son: Microsoft Exchange, Postfix, Sendmail, Qmail, entre otros.
3.12.1 Postfix
Es un Agente de Transporte de Correo (MTA), basado en software libre y código abierto, es un programa informático para el enrutamiento y envió de correo electrónico, creado con la intención de que sea una alternativa mas
rápida, fácil de administrar y segura.
3.11.1.1 SMTP (Simple Mail Transfer Protocol, Protocolo Simple de Transferencia de Correo). Es basado en el intercambio de correos
electrónicos entre computadores, u otros equipos de computo domo
celulares, PDA’s, etc. Tiene un funcionamiento cliente-servidor y utiliza el puerto 25.
10
3.12 MDA
Mail Delivery Agent. Es un software, el cual permite la entrega del correo
entrante y los distribuye a los buzones de los destinatarios (si la cuenta se encuentra en la maquina local) o reenvía el correo entrante a un servidor SMTP (si los destinatarios están en maquinas remotas)
3.12.1Dovecot
Servidor IMAP y POP3 de código abierto para sistemas basados en software libre. Escrito fundamentalmente para la seguridad. Puede trabajar con mbox,
Maildir y sus propios formatos nativos dbox de alto desempeño.
3.12.1.1 IMAP (Internet Message Acces Protocol, Protocolo de Internet de Acceso a Mensajes). Es más complejo y mejor que el POP, ya que
permite ver los correos remotamente y no descárgalos al equipo cliente
como lo hace POP, de esta forma si se borra un mensaje desde el usuario, también se borrara en el servidor, si abrimos un mensaje desde
el cliente también se abrirá en el servidor. Trabaja por el puerto 143.
3.12.1.2 POP (Post Office Protocol, Protocolo de Oficina de Correo). Se
utiliza en los clientes locales de correo con el fin de obtener los correos que hay almacenados en el servidor remoto, y así, hacer que los correos
se puedan guardar en el equipo cliente. Esta diseñado para recibir, mas no para enviar correos y uti liza el puerto 110.
3.13 WebMail
Cliente de correo, que utiliza una interfaz vía Web por la cual podemos acceder a correo electrónico. Es decir, por de un navegador web podemos listar, desplegar, leer, borrar y enviar correos electrónicos.
3.13.1 SquirrelMail
Es una aplicación WebMail creada por Nathan y Luke Ehresman, escrita en php. Puede ser instalado en casi todos los servidores web siempre y cuando tengan soporte para PHP y este tenga acceso a un servidor IMAP y a otro
SMTP.
3.14 MUA
(Mail User Agent), más conocido como Cliente de correo electrónico. Es una
aplicación que se instala en el computador cliente, para así realizar las
funciones de leer y enviar correos electrónicos. Existen varios tipos de MUA’s como lo son: Microsoft Outlook, Thunderbird, Eudora Mail, Lotus Notes, entre
otros.
11
3.14.1 Mozilla Thunderbird
Es un cliente de correo electrónico de la Fundación Mozilla. El objetivo de Thunderbird es desarrollar un Mozilla más liviano y rápido mediante la extracción y rediseño del gestor de correo del Mozilla oficial. Es multiplataforma, utiliza el lenguaje de interfaz XUL y es software libre.
Thunderbird soporta IMAP/POP, correo HTML, noticias, RSS, etiquetas, corrector ortográfico incorporado, soporte de extensiones y skins, buscadores, cifrado PGP, un filtro bayesiano de spam entre otras características.
3.15 SASL
Es un Framework usado para la autenticación y autorización de protocolos de red. A pesar de ello requiere mecanismos de ayuda tales como TLS para realizar el cifrado de los datos al momento de ser transferidos.
3.16 SSL\TLS
(Secure Sockets Layer/Protocolo de Capa de Conexión Segura y Transportation Layer Security/Seguridad de la Capa de Transporte). Proporcionan seguridad en la red mediante el cifrado de la comunicación.
Postfix/TLS no implementa por sí mismo TLS, éste debe utilizar un paquete adicional: OpenSSL. Corren por el puerto 636.
3.17 Amavis
Es una interfaz entre el MTA y los filtros de contenido (ClamAV Y Spamassassin). Éste se comunica con el MTA mediante el protocolo SMTP o LMTP. Trabajan por el puerto 10025
3.17.1 ClamAV Éste paquete cumple la función de escanear el texto y
los archivos adjuntos del mensaje, de ésta forma el ClamAV bloquea los malware o códigos maliciosos. La base de datos de éste se encuentra permanentemente actualizada.
3.17.2 SpamAssasing Es un filtro de correos, el cual cumple la función
de identificar el spam mediante el análisis del texto contenido en el mensaje.
12
4. INICIO DE INSTALACION DEL CORREO
4.1 CONFIGURACIÓN DE OPENLDAP Y SAMBA
Lo primero que debemos de configurar es el PDC, el cual va ser la aplicación
que administrará los recursos de red.
Procedemos a descargar los paquetes necesarios con la siguiente sintaxis, el –
y significa que a todas las confirmaciones que haga la petición de instalación se
escriba automáticamente y.
>yum install –y openldap openldap-clients openLDAP-servers authconfig
authconfig-gtk samba samba-client samba-common.
Luego de haber instalado los paquetes necesarios para el PDC, copiamos el
archivo DB_CONFIG.EXAMPLE en la ruta /var/lib/ldap/ pero sin la extension
.EXAMPLE. El archivo inicial es un ejemplo de una configuración necesaria
para para las bases de datos del ldap. El fin de realizar esta copia es para que
el servidor realice desde cero las bases de datos del ldap con la configuracion
ya existente en este archivo. Lo copiamos en la ruta indicada porque allí es
donde encuentran las bases de datos ya nombradas.
Luego procedemos a generar la clave para openLDAP en /usr/sbin, ejecutamos
el comando >./slappasswd –s sena2010. (sena2010 es la clave que
generaremos para el administrador del ldap.
Al ejecutar el comando nos aparecerá la contraseña encriptada en la parte de
abajo, esta la copiamos para luego edita el archivo slapd.conf.
Con nano procedemos a editar e archivo slapd.conf.
En este archivo determinamos el nombre del dominio y e l usuario administrador
del LDAP.
En rootpw pegamos la contraseña que copiamos encriptada. Guardamos y
salimos.
13
Lo siguiente a hacer es un archivo llamado >ldap-init.ldif en la ruta /tmp. Este
archivo es necesario crearlo para poder crear la arquitectura de la base del
directorio ldap, es decir, en este archivo se creara la entrada padre y de esta
partirá el proceso para crear las demás entradas y poder poblar el servicio de
directorio.
El archivo debe de contener las siguientes líneas, la contraseña encriptada no
se copia con el {SSHA}. Guardamos y salimos.
Ahora procedemos a configurar el cliente LDAP.
A este archivo especificamos el dominio más la ruta de acceso al servidor.
Guardamos y salimos.
14
Luego reiniciamos el servicio con el comando >etc/init.d/ldap restart. El servicio
al reiniciarse nos pide que le demos permisos a las bases de datos. Para darle
permisos lo hacemos así:
>chown –R ldap:ldap /var/lib/ldap
Procedemos a reiniciar el ldap.
4.1.1 INSTALACIÓN DEL REPOSITORIO RPMFORGE
El uso principal de agregar estos repositorios rpmforge y DAG es para poder
instalar las librerías requeridas para el Mandriva Directory Server.
Este repositorio es indispensable para instalar todas las librerías necesarias
para la ejecución de MDS.
Este repositorio lo buscamos en DAG.
4.1.2 CREACIÓN DEL REPOSITORIO DAG.
15
Es necesario agregar este repositorio para poder instalar ciertos paquetes, lo
hacemos porque los repositorios que vienen por defecto en el CentOS no
tienen los paquetes que necesitamos.
Este repositorio lo agregamos creando un archivo llamado DAG.repo en la ruta
> /etc/yum.reposd. Con las siguientes líneas.
Luego de haber añadido el repositorio RPMFORGE DAG.repo, ejecutamos el
comando
>yum update y cuando cargue le decimos que no especificando la letra N
4.1.3 INSTALACIÓN DE LAS LIBRERIÁS NECESARIAS
Para la implementación del Mandriva Directory Server instalamos las siguientes librerías:
redhat-lsb python-twisted
python-ldap python-libacl python-psycopg
postgresql-python squid squidguard
16
mx
python-twisted-web PyXML
python-fpconst python-soap php-xml
php-xmlrpc
4.1.4 CONFIGURACIÓN DEL SAMBA
Para la configuración del archivo smb.conf de SAMBA, debemos descargar de
la pagina ftp://mds.mandriva.org/pub/mds/sources/current/
La carpeta mmc-agent-2.3.2.tar.gz
Clic en aceptar.
17
Procedemos a descomprimirla con el comando > tar –xzvf
En la ruta mmc-agent-2.3.2/contrib/ldap buscamos el mmc.schema y el
samba.schema y los copiamos en /etc/openldap/schema.
Luego de haberos copiado editamos el archivo slapd.conf para que los
reconozca, haciéndole >include a la ruta en donde se encuentran.
Algo que debemos de tener en cuenta es que el include de mmc.schema tiene
que estar debajo de inetorgperson.schema. Guardamos y salimos
18
Luego procedemos a configurar el SAMBA, para esto tenemos que copiar el
archivo smb.conf que esta en la carpeta mmc-agent y luego proceder a editarlo.
Cambiamos los valores Workgroup y Netbiosname por el nombre de nuestro
dominio.
Además especificamos el usuario del LDAP y el dominio nuevamente.
Detenemos el servicio de SAMBA con el comando >etc/init.d/smb stop.
19
Ejecutamos el comando >smbpasswd –w sena2010 en la ruta /usr/sbin. El
comando smbpasswd se utiliza para proporcionarle al samba la contraseña que
tenemos en el administrador del ldap, esto es necesario hacerlo ya que
debemos tener privilegios en el samba para poder poblar el almacén del
directorio.
Luego ejecutamos el comando >net getlocalsid REDES
Para crear un identificador de red para nuestro servidor.
Con el comando >./slapcat | grep sambaDomainName
Podemos ver el nombre de dominio del SAMBA.
Luego iniciamos el servicio >etc/init.d/smb start.
4.1.5 INSTALACIÓN DE SMBLDAP-TOOLS
Esta aplicación la descargamos para poblar la base de datos del LDAP, para
tener mas seguridad al instalarlo ejecutamos el comando >yum search smb-
ldap-tools.
Luego ejecutamos el comando >yum install smbldap-tools.noarch
Ya que tenemos instalado el smbldap-tools, nos vamos a > /etc/smbldap-tools/
y editamos el archivo smbldap_bind.conf.
20
Este archivo contiene las credenciales que necesitamos para poder escribir en
nuestro directorio, y el password necesario para ingresar y hacer la operación
nombrada anteriormente. En nuestro caso el cn=sena, el dc=redes, dc=com. Y
el password es sena2010.
Luego procedemos a editar el archivo smbldap.conf. en este archivo
cambiamos los valores por los nuestros:
SID
sambaDomainName
LdapTLS
Suffix
sambaUnixIdpooldn
21
4.1.6 POBLANDO LDAP
Procederemos a poblar la base de datos y simultáneamente crear un usuario
llamado administrator en el mismo directorio; lo hacemos con el
comando>./smbldap-populate –m 512 –a administrator;
22
4.1.7 CONFIGURACION DE NSSWITCH.CONF
Para la configuracion del nss primero modificaremos el archivo que se
encuentra en /etc, llamado nsswitch.conf este archivo lo modificamos porque allí se encuentran las bases de datos del sistema y el sistema de conmutación del servicio de nombres, es decir, al modificar este archivo permitiremos al
sistema operativo utilizar las cuentas de usuarios y grupos que se encuentran en el directorio ldap.
23
Luego de tener listo la configuracion del nsswitch.conf procedemos a editar el
ldap.conf que se encuentra en /etc.
En este archivo editamos la linea base y especificamos el dominio de nuestro equipo.
24
Luego de haber hecho esto procedemos a darle privilegios al usuario
administrator con el siguiente comando.
>net -U administrator rpc rights grant 'REDES\Domain Admins' SeMachineAccountPrivi lege
25
5. INSTALACIÓN DEL MMC-AGENT-2.3.2
Nos dirigimos a la ruta donde esta descargado el paquete y luego lo descomprimimos con la sintaxis >tar xzvf, entramos a la carpeta del mmc.
tar xzvf mmc-agent-2.3.2.tar.gz
Luego ingresamos al directorio que acabamos de descomprimir, y allí
realizamos el comando make install.
cd mmc-agent-2.3.2 y luego make install
Y ya hemos instalado el mmc-agnet-2.3.2
Algo primordial es crear las siguientes carpetas, la más importante es >archives. Si no se crean el mmc-agent nunca correrá.
5.1 INSTALACIÓN DE PLUGINS
Después de haber instalado nuestro agente (mmc-agent-2.3.2), procedemos a instalar los plugins necesarios para su correcto funcionamiento, para ello
descargamos los siguientes plugins:
ftp://mds.mandriva.org/pub/mds/sources/current/
En esta dirección podemos descargar todos los plugins.
mmc-web-base-2.3.2
mmc-web-samba-2.3.2
mmc-web-network-2.3.2
mmc-web-mail-2.3.2
En el orden que los mencioné procedere a configurarlos para hacerlo mas ordenado.
26
5.2 INSTALCIÓN DEL PLUGIN BASE
Este es el plugin más importante al momento de ejecutar el mmc-agent, ya que si el base no carga no podrán cargar ninguno de los demás plugins.
Una vez hayamos descargado el paquete, procedemos a descomprimirlo de la siguiente forma:
Luego entramos en la carpeta descomprimida
Luego hacemos >make install HTTPDUSER=apache.
Con este comando ya queda instalado el mmc-web-base, ahora procedemos a configurar el archivo base.ini en /etc/mmc/plugins/base.ini.
Procedemos a editarlo.
En este archivo modificaremos el host, el baseDN (entrada padre), rootName (el cn) y el password del cn. Todo esto nos sirve para poder cargar las
configuraciones del plugin base con las configuraciones del ldap.
27
5.3 INSTALACIÓN DEL PLUGIN DEL SAMBA
Para la instalación de mmc-web-samba-2.3.2, lo descomprimimos con el
comando >tar xzvf y luego entramos a la carpeta para hacer >make install
Luego procedemos a editar el archivo en /etc/mmc/plugins/samba.ini
El principal cambio es en el script de inicio el cual siempre será >smb, y
obviamente especificamos nuestro dominio y donde se encuentra el archivo de configuración, como podemos observar en la siguiente imagen.
28
Luego en el archivo de configuración de samba editamos la ruta de los siguientes ficheros, la cual es /usr/local/lib/mmc. Por defecto viene configuradas
sin el local este se lo debemos de especificar.
29
Luego iniciamos el modo debug para probar si los plugins están cargando.
30
6. CONFIGURACION DE BIND_LDAP Y DHCPD_LDAP
Debemos configurar en nuestro servidor una ip estática.
También modificamos los archivos hosts y resolv.conf de la siguiente manera:
Este debe llevar un nombre de equipo y el dominio.
El resolv.conf debe llevar la dirección del servidor de nombres y el dominio.
Luego reiniciamos los servicios del network (para que tome los cambios
realizados en la dirección ip).
31
6.1 INSTALACION BIND
Cuando vamos a trabajar con Bind y Dhcpd, estos paquetes deben de estar previamente parchados para que funciones con ldap ya que a los paquetes
comunes se le debe de hacer el parche manualmente.
Para compilar el bind_ldap debemos de instalar estas librerías, que son las que
harán posible la instalación del bind_ldap.
Ya que las tengamos procedemos con la instalación
BIND primeros pasos:
Uno de los primeros pasos es enjaular el usuario named en la ruta /chroot/named.
Luego procedemos a crear el grupo named. En /etc/group.
Ahora procedemos a crear las rutas donde trabajará nuestro servidor, y asignamos permisos así como se muestra.
Luego procedemos a modificar el archivo syslog, en /etc/sysconfig/syslog.
Modificamos la linea de SYSLOGD_OPTIONS.
32
Reiniciamos el servicio syslog y asignamos permisos a la carpeta del bind
como se ve en la imagen:
Asignamos permisos al usuario y grupo named, al directorio named.
BIND instalación:
Ya que tengamos el paquete del bind_ldap descargado, procedemos a descomprimirlo.
Entramos a la carpeta descomprimida del bind y compilamos con el comando
./configure.
Luego hacemos make install
Limpiamos el archivo de configuración del Bind para agregar nuestras nuevas líneas. Y luego lo editamos.
33
El archivo debe llevar la siguiente configuracion:
#!/bin/sh
# # named This shell script takes care of starting and stopping
# named (BIND DNS server). # # chkconfig: 345 55 45
# description: named (BIND) is a Domain Name Server (DNS) \ # that is used to resolve host names to IP addresses.
# probe: true # # Source function library.
. /etc/rc.d/init.d/functions #
# Source networking configuration. . /etc/sysconfig/network #
# Check that networking is up. [ ${NETWORKING} = "no" ] && exit 0
# [ -f /usr/local/sbin/named ] || exit 0 [ -f /chroot/named/etc/named.conf ] || exit 0
# # See how we were called.
case "$1" in start) # Start daemons.
echo -n "Starting named: " daemon /usr/local/sbin/named -u named -t /chroot/named -c /etc/named.conf
echo touch /var/lock/subsys/named ;;
stop) # Stop daemons.
echo -n "Shutting down named: " kill `pidof named ̀echo
rm -f /var/lock/subsys/named ;;
status) status named exit $?
;; restart)
$0 stop $0 start exit $?
34
;;
reload) /usr/local/sbin/rndc reload
exit $? ;; probe)
# named knows how to reload intelligently; we don't want linuxconf # to offer to restart every time
/usr/local/sbin/rndc reload >/dev/null 2>&1 || echo start exit 0 ;;
# *)
echo "Usage: named {start|stop|status|restart|reload}" exit 1 esac
# exit 0
Ejecutamos el siguiente comando y añadimos el bind que en CentOS se llamará named a la lista de arranque. Este se agregar en /sbin.
Ahora vamos a modificar el archivo named.conf, el cuál contendrá las rutas de
las zonas.
35
6.2 DHCPD instalación
El dhcp lo instalamos desde un paquete .rpm previamente parchado, el
comando para instalarlo es: rpm-Uvh
El archivo de configuración del dhcp se encuentra en la carpeta del mmc-agent
en /contrib/dhcpd. El archivo dhcpd.conf lo copiamos en /etc.
Procedemos a editarlo.
36
En este archivo se llevara las configuraciones para que el dhcp trabaje junto
con el ldap, allí indicaremos el servidor ldap, también el puerto utilizado, el cn del directorio y su password, la base de su dn, un método dinamico del ldap, un
lugar en el que se encuentran los logs del dhcp y que permita actualizaciones con el dns.
Editamos el archivo de inicio del dhcpd.
En este archivo moficamos la línea que muestra el archivo en donde se dan las concepciones del dhcp, ya que por defecto viene configurado con la ruta /var/lib/dhcp/dhcp.leases, el cambio a realizar será añadir una d al final de
dhcp, ya que nuestra carpeta de concepciones se llama dhcpd y su archivo es nombrado dhcpd.leases
6.3 CONFIGURACION DEL PLUGIN NETWORK
Copiar los schemas de DNS y Dhcp en /etc/openldap/schema.
Luego hacemos los includes en el archivo slapd.conf.
37
Agregamos las siguientes líneas necesarias para el funcionamiento del plugin de network. Estas líneas indican el nombre de la unidad organizativa creada
para ambos servicios, también un numero de proceso, su ruta para reiniciar su servicio, donde están ubicados los logs, por parte del dhcp en donde se brindan
las concepciones, y por el caso del bind donde esta enjaulado este y su grupo.
38
Reiniciamos el ldap para que tome los cambios que hemos realizado.
Lo siguiente será ingresar al Mandriva Directory Server, y desde allí crear las
zonas y el ámbito del dhcp para que estos servicios queden totalmente configurados. Ingresamos por medio de http://localhost/mmc y luego el usuario
root y la contraseña (credencial del ldap).
Lo siguiente será crear el ámbito y la zona del dhcp y DNS respectivamente. Esta lo hacemos por medio del ámbito grafico de Mandriva Directory Server. Damos clic en añadir zona DNS; y allí llenaremos lo indicado que son:
FQDN, descripción (opcional), nombre del equipo (el agregado en hosts), la ip del servidor, la dirección de red (este tiene la función de crear el ámbito
automáticamente), y la mascara de red.
39
Luego iniciamos los servicios de DNS y dhcp, por medio de la consola de mds. Damos clic en gestión de servicios de red y allí iniciamos los servicios.
40
7. CONFIGURACION POSTFIX Y DOVECOT
7.1 INSTALACION DEL PLUGIN MAIL
Lo primero será descomprimir el plugin del mail. Y luego instalarlo.
Luego modificamos las siguientes líneas en el archivo que se encuentra en
/etc/mmc/plugins/mail.ini Ejecutamos nano /etc/mmc/plugins/mail.ini
Y luego procedemos a modificarlo. Los parámetros modificados son los que esta encerrados en el recuadro azul, los cuales son habilitar el plugin e indicar el dominio.
Después ingresamos a la carpeta /home/sena/Desktop/mmc-agent-2.3.2/contrib/ldap y desde allí copiamos el schema del mail.
Lo siguiente será agregar el include en el archivo sladp.conf
41
Luego reiniciamos para que el ldap cree las unidades organizativas para el plugin del mail. Damos el comando reboot.
Después de que vuelva a iniciar el sistema, reiniciamos todos los servicios e
ingresamos al Mandriva Directory server y observamos que las ou del mail han sido creadas.
7.2 CONFIGURACION POSTFIX Y DOVECOT
Primero instalaremos el paquete del postfix
Luego procedemos a copiar los archivos necesarios que se encuentran en la
capeta mmc-agent
42
Entramos en la carpeta with-virtual-domains copiamos todos los archivos que
allí aparecen a la carpeta /etc/postfix.
Luego vamos a la carpeta del postfix en /etc/postfix.
Y editamos el archivo main.cf
En este archivo modificamos unas linease necesarias para el funcionamiento
del postfix las cuales son: el nombre de host, el destino al cual se enviaran los
correos y unos enlaces creados para que se enlacen los archivos que inician
con el nombre de ldap___.cf, dichos archivos mencionados tienen un uso
especifico, el cual es que permite trabajar con dominios virtuales y permite al
postfix almacenar datos en el servicio de directorio. El archivo debe quedar de
la siguiente forma:
# See /usr/share/postfix/main.cf.dist for a commented, more complete version smtpd_banner = $myhostname ESMTP $mail_name (Debian/GNU)
biff = no
# appending .domain is the MUA's job. append_at_myorigin = yes append_dot_mydomain = no
myhostname = sena.redes.com
alias_maps = hash:/etc/aliases alias_database = hash:/etc/aliases myorigin = /etc/mailname
mydestination = sena.redes.com,sena,localhost.localdomain,localhost relayhost =
mynetworks = 127.0.0.0/8 mailbox_size_limit = 0 recipient_delimiter = +
inet_interfaces = all luser_relay =
# Virtual Domains Control virtual_mailbox_domains = ldap:/etc/postfix/ldap-domains.cf
43
virtual_mailbox_maps = ldap:/etc/postfix/ldap-accounts.cf
virtual_alias_maps = ldap:/etc/postfix/ldap-aliases.cf, ldap:/etc/postfix/ldap-maildrop.cf
virtual_mailbox_base = / virtual_alias_domains = virtual_minimum_uid = 100
virtual_uid_maps = ldap:/etc/postfix/ldap-uid.cf virtual_gid_maps = ldap:/etc/postfix/ldap-gid.cf
También debemos editar los archivos que copiamos, los cuales son llamados
ldap...
En estos archivos editaremos la configuracion de nuestro dominio, lo mismo
para todos.
Luego editaremos el archivo dovecot.conf
Editaremos las siguientes líneas: (por lo general los cambios son o des
comentar las líneas o cambiar cierto parámetro)
base_dir = /var/run/dovecot/
protocols = imap imaps
protocol imap { listen = *:143 }
listen = 0.0.0.0 disable_plaintext_auth = no
log_path = /var/log/dovecot.log info_log_path = /var/log/dovecot-info.log log_timestamp = "%b %d %H:%M:%S "
login_dir = /var/run/dovecot/login login_chroot = yes
login_user = dovecot login_processes_count = 3 login_max_connections = 110
login_greeting = sena.redes.com mailserver is ready. mail_location = maildir:~/Maildir
mail_debug = yes mail_debug = yes maildir_copy_with_hardlinks = yes
protocol imap { imap_client_workarounds = outlook-idle
} protocol lda { postmaster_address = administrator@redes.com
hostname = sena.redes.com }
44
auth_verbose = yes
auth_debug = yes auth_debug_passwords = yes
auth default { mechanisms = plain login }
passdb ldap { args = /etc/dovecot.ldap
} userdb passwd { args = /etc/dovecot.ldap
} userdb ldap {
args = /etc/dovecot.ldap } user = root
socket listen { master {
path = /var/run/dovecot/auth-master mode = 0600 user = postfix
group = postfix }
client { path = /var/spool/postfix/private/auth mode = 0660
user = postfix group = postfix
} } }
Luego crearemos el archivo dovecot.ldap
En este archivo se almacenan las claves del ldap, para permitirle al dovecot
ingresar a las bases de datos del ldap.
Modificaremos los parámetros hosts, el dn y el password del cn para ingresar al
servicio de directorio.
45
También debemos añadir unas líneas en el archivo /etc/postfix/master.cf, las
cuales sirven para que el postfix trabaje junto con el dovecot.
Debemos deshabilitar y desinstalar el Sendmail, para que el postfix sea el único
que quede habilitado en el sistema y no se cause conflicto.
Primero detendremos el servicio.
Luego lo deshabilitamos.
Y procedemos a desinstalar.
Después de esto probaremos el postfix y el dovecot por medio de consola.
Primero el postfix, con el comando telnet (nombre del equipo) (protocolo)
46
Luego el dovecot con el mismo comando.
7.3 CONFIGURANDO SQUIRRELMAIL
Instalaremos el SquirrelMail, con el comando yum install SquirrelMail
Luego de que finalice la instalación configuraremos el SquirrelMail, el cual lo
hacemos por medio del siguiente comando
Se inicia un tipo de consola en el cual lo primero que haremos será dar C para
que podamos observar los parámetros.
47
Damos 2 para ingresar a las configuraciones del server.
Y allí modificaremos el dominio, y elegir entre Sendmail, smtp (en nuestro caso
será smtp)
Lo siguiente será ingresar al SquirrelMail, y probar que si se pueda enviar y
recibir un correo (de esta manera estaremos comprobando el correcto
funcionamiento en conjunto del dovecot, postfix y SquirrelMail)
48
Ingresamos a http://localhost/webmail y luego nos logueamos con mario y le
enviaremos un correo a giovanny@redes.com, después ingresaremos al
WebMail con giovanny y el correo enviado nos debe haber llegado.
49
50
51
8. CONFIGURANDO SASL, SSL Y TLS
Lo primero que haremos será configurar el sasl, lo hacemos añadiendo unos
parámetros en el archivo /etc/postfix/main.cf
Los parámetros a añadir son los siguientes. Estos parámetros sirven para
permitirle al servidor y cliente trabajar con sasl.
smtpd_sasl_auth_enable = yes broken_sasl_auth_clients = yes
smtpd_sasl_type = dovecot smtpd_sasl_path = private/auth smtpd_sasl_security_options = noanonymous
smtpd_recipient_restrictions =
permit_mynetworks, permit_sasl_authenticated,
reject_unauth_destination
Luego reiniciamos los servicios del dovecot y el postfix.
/etc/init.d/postfix restart
/etc/init.d/dovecot restart
Para sasl realizamos estas pruebas codificando y decodificando los password,
si todo funciona bien aparecera como la siguiente imagen. De allí
procederemos a probar el postfix.
Para probar el postfix accederemos a el por medio de consola con el comando
telnet sena smtp. Luego ejecutamos el comando ehlo sena, y observamos que
el servicio AUTH PLAIN este iniciado. Y de allí autenticaremos con el usuario y
password encriptado y nos debe permitir hacer esta operación.
52
8.1 CERTIFICADOS SSL/TLS
Primero instalamos la herramienta para generar certificados con el comando
yum install crypto-utils.
Luego de instalar esta herramienta continuamos generando el certificado con el
comando genkey --days 365 sena.redes.com (nuestro dominio)
Se inicia el asistente para generación de certificados:
Seguimos los pasos indicados en las siguientes imágenes
53
Acá observamos cuando esta generando el certificado
En el siguiente pantallazo se muestra cuando elegimos la entidad certificadora,
en este caso es Equifax.
54
En este paso del asistente, llenamos los parámetros con nuestra información.
Acá podemos observar el certificado generado.
55
Lo siguiente será agregar unos parámetros al archivo main.cf que se encuentra
en /etc/postfix.
Añadimos las siguientes líneas.
Nota: las rutas indicadas en los parámetros smtpd_tls_key y cert, son las que
rutas que nos dio la generación de los certificados digitales.
Reiniciamos el postfix, y continuamos probándolo, por medio de telnet y con el
comando ehlo sena. (Allí nos debe aparecer iniciado el STARTTLS).
56
Luego configuraremos unos parámetros en el archivo del dovecot que se
encuentra en /etc/dovecot.conf.
Cambiamos y des comentamos las siguientes líneas. En estas líneas son
indicadas las rutas donde se encuentran la llave y el certificado generado.
57
Reiniciamos el servicio del dovecot.
58
9. CONFIGURANDO AMAVIS, CLAMAV Y SPAMASSASING
9.1 INSTALACION
Primero instalaremos los siguientes paquetes con el comando
“yum install amavisd-new clamav clamav-devel clamd spamassassin”
Si todo quedo instalado correctamente 2 usuarios nuevos debieron haber sido
creados en el sistema ClamAV y Amavis como lo vemos en la imagen.
El usuario ClamAV debe pertenecer al grupo Amavis esto se hace
automáticamente después de la instalación si no lo pueden hacer con el
siguiente comando
“gpasswd-a clamav amavis”
9.2 CONFIGURACION
La configuración del ClamAV se almacena etc / clamd.conf
Y entramos con el comando nano /etc/clamd.conf y editamos la siguiente línea.
59
La configuración de Amavisd-new la vamos a encontrar en / etc / amavisd.conf
Con el comando nano /etc/amavisd.conf des comentamos esta linea y la
cambiamos por el nombre de FQDN.
Esta línea también esta en amavisd.conf, la des comentamos y colocamos el
nombre de nuestro dominio.
En esta parte tenemos q des comentar estas líneas dentro del mismo archivo
de configuración amavisd.conf
Ahora procedemos a configurar el postfix, para que el correo pueda pasar a
amavisd-new y sea filtrado, agregamos estas líneas dentro del archivo de
configuración /etc/postfix/master.cf este servicio que agregamos es conocido
como "amavisfeed".
Despues de haber hecho todos los cambios necesarios en el postfix
procedemos a reiniciar el servicio con el comando /etc/init.d/postfix restart.
Ya después de que en el postfix todo este funcionando correctamente
procedemos a agregar una linea al archivo de configuración /etc/postfix/main.cf.
60
Después de haber agregado esta linea volvemos de nuevo a reiniciar el postfix.
Después de haber reiniciado el postfix listamos los logs para ver si todo esta
funcionando correctamente, con el siguiente comando miramos los logs del
correo
Tail –f /var/log/maillog.
9.3 PRUEBAS
Ya todo esta bien configurado y a continuación haremos las pruebas de los
servicios que hemos acabado de instalar y configurar.
Primero tenemos que iniciar el servicio del clamd con el comando
/etc/init.d/clamd start
Ahora probamos que el amavisd este escuchando por el puerto 10024.
Esto lo probaremos con el comando “Telnet localhost 10024”
61
Si todo esta funcionando correctamente debemos ver lo anterior.
62
10. CONCLUSION
Es muy importante resaltar que gracias a este proyecto hemos adquirido
conocimientos más extensos en lo relacionado a servicio de directorios, samba,
mta, mda, mua, antispam, antivirus, tls/ssl, entre otros.
Al desarrollar la implementación de este servidor de correo, nos damos por
enterado como configurar la plataforma de correo basada en centOS para que
su funcionamiento sea totalmente correcto y utilice la autenticación de sus
usuarios, sus buzones, los protocolos usados para la comunicación del
servidor-cliente, su filtro AntiSpam y AntiVirus, la forma de las bases de datos
usadas por el servicio de directorio ldap y los servicios de red tales como DNS
y DHCP.
Por otro lado nos dimos cuenta de la gran importancia de tener la seguridad
habilitada en este servidor de correo, ya que gracias a ella la conexión del
cliente con el servidor se ejecuta por una conexión segura y con la ayuda de
esta se hace la comunicación cifrada y es enviada por medio de un canal
seguro (SSL/TLS) de esta manera evitaremos sufragios de información,
suplantación y robo de las cuentas de correo de los clientes. También cabe
afirmar que un paso muy importante para un servidor de correo es tener la
configuración del antivirus y el antispam de una manera correcta ya que de
esta forma, evitaríamos daños en los equipos clientes y en el servidor, y con
respecto al spam no tendríamos tanta información “basura” en cada buzón de
los usuarios.
Es muy importante nombrar la importancia de utilizar la administración grafica
Mandriva Directory Server, ya que por medio de ella se facilito mas el uso de
los servicios de red tales como DNS y DHCP, también se permitió administrar
gráficamente cada uno de los usuarios y grupos utilizados en el servicio de
directorio.
Para concluir, bastaría con decir que este trabajo ha sido uno de los mas
complicados de desarrollar, ya que no se esta acostumbrado al sistema
operativo manejado, se presentan demasiados errores en la instalación del
servidor de correo, pero a pesar de ello estas dificultades se convierten en
fortalezas, ya que así desarrollamos mas el aprendizaje y manejo para los logs,
y demás cosas de importancia para el desarrollo del proyecto. A pesar de estas
dificultades es muy importante decir que cada uno de los objetivos planteados
para este proyecto fueron logrado con éxito y de esta forma adquirimos
habilidades en todo lo relacionado con correo seguro.
63
11. WEBGRAFIA
http://wiki.centos.org/HowTos/
http://pheriko.blogspot.com/
http://mds.mandriva.org/wiki/Documentation
http://www.wikipedia.org/
http://www.linuxparatodos.net/portal/staticpages/index.php?page=como-squirrelmail
http://negociomivida.com/
http://crazytoon.com/2007/06/21/bind-quick-install-guide-to-install-and-setup-bind-
dnsserver-in-secure-chroot-environment-in-linux-centos-redhat-enterprise-rhel-fedora/