You are on page 1of 67

PROYECTO

PLATAFORMA DE CORREOS

Administración de Redes de Computadores

Presentado por:
Rafael Emiro Vega Tirado.
Jeyson Andrey Henao Alvarez.
Jonathan Andrés Loaiza García.
César Pineda.
Marcela

Grupo: 9 HELP LAN

Presentado a:
Prof. Andrés Mauricio Ortiz.

Servicio Nacional de Aprendizaje “SENA”


Regional Antioquia
Centro de Servicios y Gestión Empresarial.

2008
Proyecto Plataforma de Correos.

INTRODUCCIÓN

En éste proyecto presentaremos una guía avanzada de cómo instalar y


configurar una plataforma o sistema de correos segura utilizando el MTA
Postfix, Dovecot (IMAP y POP3), Amavis-New (Spamassassin y ClamAV), TLS,
OpenSSL, SASL, Squirrelmail. De igual forma, se debe instalar y configurar un
Servicio de Directorios para poder autenticar y almacenar la base de datos de
los usuarios, para esto se utilizará la base de datos de OpenLDAP la cual será
administrada desde el servicio de directorio de Mandriva Directory Server. Todo
lo anterior estará instalado y configurado sobre el Sistema Operativo
GNU/Linux Debian.

2
Proyecto Plataforma de Correos.

OBJETIVOS

OBJETIVO GENERAL

Se debe diseñar, implementar y gestionar un sistema o plataforma de correos


en el Sistema Operativo GNU/Linux Debian.

OBJETIVOS ESPECÍFICOS

Se debe presentar un manual de configuración del sistema de correos. En cuyo


manual se debe tener en cuenta los siguientes objetivos en lo que se enfocará
el proyecto.
• Cifrar el tráfico entre usuarios y servidor.
• Validar los usuarios contra un sistema de directorios.
• Almacene los correos de los usuarios en un sistema de directorios.
• Permita configurar usuarios y dominios virtuales.
• Soporte un sistema de antivirus, antispam y antimawalre.
• Soporte administración gráfica.
• Soporte acceso POP, IMAP y Webmail (Realizarlo de forma segura con
SSL).

3
Proyecto Plataforma de Correos.

CONCEPTOS TEÓRICOS

MTA
Mail Transportation Agent, Agente de Transporte de Correo. Es una aplicación
que cumple la función de transferir correos electrónicos de una computadora a
otra. En si, éste es el servidor de correos que utiliza el protocolo SMTP. Dentro
de MTA´s están: Microsoft Exchange, Postfix, Sendmail, Qmail, Exim, entre
otros.

• SMTP: (Simple Mail Transfer Protocol, Protocolo Simple de


Transferencia de Correos). El cual se basa en el intercambio de correos
electrónicos entre equipos de cómputo, entre otros dispositivos como los
son los celulares, PDA´s, etc. Éste se basa en la estructura Cliente-
Servidor. Trabaja por el puerto 25

MDA

Mail Delivery Agente, Agente de Entrega de Correo. Un MTA del destinatario


entrega el correo electrónico al servidor de correo entrante (Otro MTA), cuando
esto sucede, servidor de correo entrante recibirá el nombre de MDA, el cual
almacena el correo electrónico mientras espera que el usuario lo acepte.

MUA

Mail User Agent, Agente Usuario de Correo. Es un programa, que se instala en


la computadora del usuario, con el fin de realizar las funciones de leer y enviar
correos electrónicos. Dentro de éstas características están: Microsoft Outlook,
Mozilla Thunderbird, Eudora Mail, Incredimail, Lotus Notes, entre otros.

WEBMAIL

4
Proyecto Plataforma de Correos.

Es un cliente de correo electrónico, el cual provee una interfaz Web con el fin
de acceder a los correos electrónicos; es decir, con ésta aplicación podemos
ingresar, leer, enviar correos electrónicos vía Web.

Postfix.

Es un MTA de código abierto, utilizado para el envío de correos electrónicos


utilizando el protocolo en SMTP, el cual pretende ser fácil en su administración,
ser rápido y, algo importante, ser compatible con otros MTA como Sendmail,
Qmail, Exim, entre otros.
Postfix no es un programa monolítico, sino que utiliza una gran combinación de
paquetes; dichos paquetes cumple una función específica en los parámetros de
configuración.

Dovecot.

Simplemente es un Servidor POP/IMAP. Éstos son utilizados para recuperar los


mensajes de los servidores MDA.

• POP: (Simple Mail Transfer Protocol), utilizado en los clientes locales de


correo con el fin de obtener los correos almacenados en un servidor
remoto, de ésta forma, los correos se pueden guardar en el equipo
cliente, aunque nada impide dejar los correos en el servidor. Trabaja en
el puerto 110

• IMAP: (Internet Message Access Protocol), Es más complejo y obtiene


ciertas ventajas sobre POP por ejemplo: Permite visualizar los correos
remotamente y no descargarlos al equipo cliente como lo hace POP, de
tal forma que si se borra un mensaje desde un usuario se borrará en el
servidor, si abrimos un mensaje desde el cliente también se abrirá en el
servidor. Trabaja en el puerto 143

5
Proyecto Plataforma de Correos.

AMAVIS-NEW

Es una interfaz entre el MTA y los filtros de contenido (ClamAV Y


Spamassassin). Se comunican mediante con el MTA mediante el protocolo
SMTP o LMTP. Trabajan por el puerto 10025
• Spamassassin: 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.
• ClamaAV: É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.

SASL

Es un Framework utilizado para la autenticación y autorización de protocolos de


red. Sin embargo requiere mecanismos de ayuda como lo es TLS para realizar
el cifrado de los datos al momento de ser transferidos.

SSL Y 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

SQUIRRELMAIL

Es un WebMail o cliente Web, el cual cumple la función de revisar y enviar


correos desde una interfaz Web.

6
Proyecto Plataforma de Correos.

TIPOS DE BUZONES PARA EL CORREO

Los servidores de correo utilizan uno de los dos tipos de buzones: Mailbox y
Maildir.

MAILBOX:
Es un tipo de buzón que almacena los correos en forma de cola, es decir, éste
almacena todos los correos de un respectivo usuario en un solo archivo; de
ésta forma todo correo, sea spam, enviado o recibido se al macerarán en ese
único archvio. Cada usuario, por lógica tiene su propio archivo. Éste archivo
está ubicado en la siguiente ruta /var/spool/mail/[USUARIO].

MAILDIR:
Es otro tipo de buzón consiste en un directorio, en el cual existen otros
subdirectorios en los que van guardados los mensajes en diferentes archivos.
De ésta forma los mensajes spam, enviados o recibidos se almacenarán en
archivos distintos. Generalmente el archivo Maildir se encuentra en la siguiente
ruta /home/[USUARIO]/Maildir.

7
Proyecto Plataforma de Correos.

MANDRIVA DIRECTORY SERVER “MDS”

Es una plataforma de directorio o servicio de directorio basado en OpenLDAP


diseñado 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
servios de red, las aplicaciones y la configuración de los usuarios. Éste servicio
de directorio puede correr sobre diferentes distribuciones de Linux, en pocas
palabras, se puede instalar y configurar tanto en la distribución de Linux
Mandriva como en Linux Debian, entre otras.
Se puede dar una breve explicación mediante la siguiente gráfica a cerca del
funcionamiento de éste.

• Servicio de Directorios: Es un repositorio de información estructurado


que cumple la función de almacenar y organizar la información de los
usuarios en la red de datos. Por medio del SD se logra el acceso a los
recursos sobre una red.

• 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.

• Directorios: Es una base de datos, que en general contiene información


más descrita basada en atributos.

8
Proyecto Plataforma de Correos.

CÓMO TRABAJA EL SERVIDOR DE CORREOS

Cuando un correo electrónico es enviado, el mensaje se enruta de servidor al


servidor hasta llegar al servidor de correo destinatario, de ésta forma, el
mensaje se envía al servidor de correo (MTA), el cual tiene como función de
transportar los mensajes hacia el MTA destinatario. En Internet los servidores
MTA se comunican mediante el protocolo SMTP, por lo que también son
llamados servidores SMTP o servidores de correo saliente.

Luego el MTA destinatario entrega el correo electrónico al MDA o servidor de


correo entrante; éste almacena el mensaje mientras espera que el usuario lo
acepte. Los servidores MDA también reciben el nombre de servidores
POP/IMAP.

9
Proyecto Plataforma de Correos.

DESCRIPCIÓN DE LOS PAQUETES A UTILIZAR

Para la instalación del MDS junto con la plataforma de correo se deben instalar
ciertos paquetes, por consiguiente, se deberá realizar una pequeña explicación
de la función de cada paquete.

• Mmc-web-base mmc-web-mail mmc-web-network mmc-web-proxy


mmc-web-samba mmc-agent: Son los paquetes utilizados para la
administración gráfica del servicio de directorios como tal.
• Python-mmc-plugins-tools python-mmc-base python-mmc-mail
python-mmc-network python-mmc-proxy python-mmc-samba: Son
las librerías de Python (Lenguaje de programación), utilizados para
comprender el lenguaje de los paquetes mmc.
• Postfix: es el MTA como tal.
• Postfix-ldap: es el esquema del Postfix con el fin de ser utilizado para
ser poblado en la base de datos del LDAP.
• Dovecot-common, dovecot-imapd, dovecot-pop3d: Contienen los
servicios de POP3 e IMAP.
• Amavisd-new: Es el paquete que contiene la interfaz entre el MTA y los
filtros.
• Lzop, zoo, unzip, unrar, unzoo, arj, gzip, bzip2, nomarch: Utilidades
compresor de archivos.
• Razor, pyzor, dcc: Son las bases de datos, ubicadas en Internet, que
contienen las listas de spam. De ésta forma Éstos le indican a
Spamassassin qué debe detectar como spam.
• Sasl2-bin, libsasl2, libsasl2-modules: Utilizado para la autenticación y
autorización de algunos protocolos de red, depende de sus respectivas
librerías.
• Dhcp3-server, dhcp3-server-ldap, bind9: Son los paquetes que
contienen los servicios de DHCP y DNS y su respectivos paquetes para
ser poblados al LDAP.

10
Proyecto Plataforma de Correos.

• Clamav, clamav-daemon: Es el paquete que instala el Antivirus para el


servidor de correos.
• Spamassassin: Es el paquete del Antispam para el servidor de correos.
• Slapd: Es el paquete del LDAP.
• Samba, smbclient, smbldap-tools: Samba es el servidor como tal,
smbclient es el cliente de samba y el paquete sambldap-tools es el que
define cómo se conectará el Samba con el LDAP.
• Squirrelmail: MUA, utilizado para revisar los correos vía Web.

PAQUETES PARA LA UTILIZACIÓN DE IMPRESORAS

Los paquetes que se describirán a continuación, son utilizados para trabajar


con impresoras, todo depende de los requerimientos que tengamos.

• Cupsys, cupsys-client: Son paquetes de soporte para la utilización de


las impresoras en red.
• Gutenprint: Es un manejador de Cups.
• Foomatic-db-engine foomatic-db foomatic-db-hpijs foomatic-db-
foomatic-filters foomatic-filters-ppds: Son paquetes utilizados para
configurar impresoras comunes para ser utilizadas en Debian.
• Linuxprinting.org-ppds: Herramienta de impresión de archivos PPD.
• Fontconfig: Éste paquete es utilizado para localizar tipografías en el
sistema y seleccionarlas según los requerimientos especificados por las
aplicaciones.
• Hpijs-ppds: Describe a todas las impresoras que no son postscript que
no están soportadas por linuxprintig.org.
• Libdbd-ldap-perl libnet-ph-perl libnet-snpp-perl libnet-telnet-perl lib-
net-dns-perl ldap-utils libnss-ldap libpam-ldap: Son librerías que el
LDAP necesita.
• Hplip libusb-dev python-dev python-reportlab libcupsys2-dev libj-
peg62-dev libsnmp9-dev lsb-core: En el caso que se necesiten los pa-
quetes para una impresora HP.

11
Proyecto Plataforma de Correos.

INSTALACIÓN Y CONFIGURACIÓN

1 Preparación del Sistema.

1.1 Nuestra máquina contará con las siguientes especificaciones:

Hostname: server1.grupo9.com
Samba Domain: GRUPO9
IP: 192.168.0.19
Gateway: 192.168.0.1
Passwords Para Todo: sena2008

1.2 Hostname: Editar el archivo hosts con el fin de que nuestra máquina nos
resuelva localmente por ahora.

#pico /etc/hosts
El archive debe quedar de ésta forma:

127.0.0.1 localhost.localdomain localhost


192.168.0.19 server1.grupo9.com server1

# The following lines are desirable for IPv6 capable hosts


::1 ip6-localhost ip6-loopback
fe00::0 ip6-localnet
ff00::0 ip6-mcastprefix
ff02::1 ip6-allnodes
ff02::2 ip6-allrouters
ff02::3 ip6-allhosts

Proceder a poner como nombre a nuestra máquina server1.grupo9.com el cual


se define en el archivo hostname

#echo server1.grupo9.com > /etc/hostname

Luego reiniciamos el sistema para que aplique los cambios efectuados.

#reboot

12
Proyecto Plataforma de Correos.

Probamos de la siguiente forma si los cambios fueron aplicados.

Para ver el nombre de nuestra máquina.


#hostname
Para probar si nuestra propia máquina está resolviendo nuestro nombre de
host.
#hostname –f

En ambos resultados nos debe mostrar lo siguiente.


server1.grupo9.com

1.3 Filesystem ACL´s.

Se debe agregar ACL´s al Filesystem a nuestro punto de montaje “/”, con el fin
de que SAMBA sea capaz de examinar los ficheros ACL dentro de nuestro
servidor y así pueda almacenar los directorios, archivos y home´s de cada
usuario.

Editar el archivo fstab.


#pico /etc/fstab

Agregar la palabra opcion ACL en el punto de montaje. Debe quedar de la


siguiente forma:

# /etc/fstab: static file system information.


#
# <file system> <mount point> <type> <options> <dump> <pass>
proc /proc proc defaults 0 0
/dev/sda1 / ext3 defaults,acl,errors=remount-ro 0 1
/dev/sda5 none swap sw 0 0
/dev/hdc /media/cdrom0 udf,iso9660 user,noauto 0 0
/dev/fd0 /media/floppy0 auto rw,user,noauto 0 0

Debemos remontar el punto de montaje “/” para que aplique los cambios.
#mount –o remount /

13
Proyecto Plataforma de Correos.

Para probar si los cambios fueron realizados, digitamos el siguiente comando.


#mount –l

Debe aparecer una línea parecida a ésta.


/dev/sda1 on / type ext3 (rw,acl,errors=remount-ro)

2 REPOSITORIOS

Para instalar los paquetes requeridos para realizar éste trabajo se deben utili-
zar los siguientes repositorios, los cuales habilitamos en el archivo sources.list

#pico /etc/apt/sources.list

Agregar los siguientes repositorios.

# MDS repository
deb http://mds.mandriva.org/pub/mds/debian etch main
# Debian Volatile
deb http://volatile.debian.org/debian-volatile etch/volatile main contrib non-free
# Debian Etch Backports
deb http://www.backports.org/debian etch-backports main
#OTROS
deb http://ftp.es.debian.org/debian/ etch main contrib non-free
deb ftp://ftp.us.debian.org/debian sarge main contrib non-free

Antes de actualizar la lista de repositorios, debemos pedir una key para poder
descargar los paquetes Backports.

#wget -O - http://backports.org/debian/archive.key | apt-key add -

Luego se procede a actualizar la lista de repositories.

#apt-get update

14
Proyecto Plataforma de Correos.

INSTALACIÓN DE LOS PAQUETES A UTILIZAR


Se procede a instalar los siguientes paquetes para luego empezar a configurar
los respectivos archivos de configuración (Los paquetes que están escritos de
color verde, si se quiere, no se instalan; éstos paquetes son para la utilización
de impresoras).

apt-get install mmc-web-base mmc-web-mail mmc-web-network mmc-web-proxy


mmc-web-samba mmc-agent python-mmc-plugins-tools python-mmc-base python-
mmc-mail python-mmc-network python-mmc-proxy python-mmc-samba postfix post-
fix-ldap sasl2-bin libsasl2 libsasl2-modules amavisd-new libdbd-ldap-perl libnet-ph-
perl libnet-snpp-perl libnet-telnet-perl lzop nomarch zoo clamav clamav-daemon gzip
bzip2 unzip unrar-free unzoo arj spamassassin squirrelmail libnet-dns-perl razor pyzor
dcc-client slapd ldap-utils libnss-ldap libpam-ldap dhcp3-server dhcp3-server-ldap
bind9 samba smbclient smbldap-tools cupsys cupsys-client foomatic-db-engine fooma-
tic-db foomatic-db-hpijs foomatic-db-gutenprint foomatic-filters foomatic-filters-ppds
fontconfig hpijs-ppds linuxprinting.org-ppds

En éste paso procedemos a realizar la configuración inicial del LDAP y el Post-


fix.

Digitar la contraseña para la base de datos LDAP “sena2008”.

15
Proyecto Plataforma de Correos.

Confirmamos la contraseña “sena2008”.

16
Proyecto Plataforma de Correos.

Seleccionamos “Aceptar”. Para mayor información, lea el aviso que muestra la


imagen.

Digitar el nombre del grupo de trabajo “GRUPO9”. Éste nombre trabaja como
un nombre Netbios.

17
Proyecto Plataforma de Correos.

Escoger la opción “<NO>”. Con esto damos la opción que no queremos


actualizaciones dinámicas para el Samba por parte del DHCP.

Se procede a la configuración inicial del servicio de Postfix “Aceptar”.

18
Proyecto Plataforma de Correos.

Escogemos la opción “Sitio de Internet”, con el fin de que nuestro servicio de


correo se vea a través de Internet, claro está, por medio de un dominio.

Digitar el nombre de correo “server1.grupo9.com”. Éste nombre indentifica


desde dónde se a originado el correo.

19
Proyecto Plataforma de Correos.

Identificado de Recuros para el Servidor LDAP. Digitar “ldap://127.0.0.1/”, con el


fin de contactar al LDAP por medio de dicha IP y pueda ser contactado.

Digitar el Nombre Distintivo (DN) “dc=grupo9,dc=com”, el cual será utilizado


para la base de búsqueda.

20
Proyecto Plataforma de Correos.

Vesión de LDAP a utilizar “3” Se debe utilizar la versión más reciente que esté
disponible.

Cuenta LDAP para root “cn=admin.,dc=grupo9,dc=com”. Con el fin de definir la


cuenta para el root, el cual tendrá todos lo privilegios para el LDAP.

21
Proyecto Plataforma de Correos.

Contraseña para la cuenta LDAP de root “sena2008”.

Éste mensaje indica que el archivo nsswitch.conf no se gestiona


automáticamente, por lo tanto, mas adelante debemos modificarlo
manualmente.

22
Proyecto Plataforma de Correos.

Make local root Database admin. “<No>”. Indica si solo el root puede ver la
base de datos del LDAP.

¿Hace falta un usuario para acceder a la base de datos LDAP? “<No>” Se


utiliza para permitir a otros usuarios acceder a la base de datos LDAP.

23
Proyecto Plataforma de Correos.

Ahora procedemos a instalar los paquetes del Dovecot (POP3 e IMAP).

#apt-get install -t etch-backports dovecot-common dovecot-imapd dovecot-pop3d

El comando “apt-get install -t” da la opción de copiar todas la fuentes de


argumento dentro del directorio; en éste caso copiará todas las fuentes del
direcorio etch-backport, el cual está especificado en la lista de repositorios.

Si se requiere, se procede a instalar los paquetes para el soporte de las


impresoras HP.

#apt-get install hplip libusb-dev python-dev python-reportlab libcupsys2-dev libjpeg62-


dev libsnmp9-dev lsb-core

CONFIGURACIÓN DEL LDAP

Se procede copiar los el esquema del Mail, Samba, MMC, Printer, DNS, DHCP
y agregarlos al squema del LDAP.

#cp /usr/share/doc/python-mmc-base/contrib/ldap/mmc.schema /etc/ldap/schema/


#cp /usr/share/doc/python-mmc-base/contrib/ldap/mail.schema /etc/ldap/schema/
#zcat /usr/share/doc/python-mmc-base/contrib/ldap/samba.schema.gz >
/etc/ldap/schema/samba.schema
#zcat /usr/share/doc/python-mmc-base/contrib/ldap/printer.schema.gz >
/etc/ldap/schema/printer.schema
#zcat /usr/share/doc/python-mmc-base/contrib/ldap/dnszone.schema.gz >
/etc/ldap/schema/dnszone.schema
#zcat /usr/share/doc/python-mmc-base/contrib/ldap/dhcp.schema.gz >
/etc/ldap/schema/dhcp.schema

Debemos indicarle al LDAP que acepte los esquemas que acabamos de copiar,
para esto editamos el archivo sldap.conf.
#pico /etc/ldap/slapd.conf

24
Proyecto Plataforma de Correos.

De ésta forma, procedemos a incluir las listas de los esquemas que copiamos
anteriormente.

include /etc/ldap/schema/mmc.schema
include /etc/ldap/schema/samba.schema
include /etc/ldap/schema/printer.schema
include /etc/ldap/schema/mail.schema
include /etc/ldap/schema/dnszone.schema
include /etc/ldap/schema/dhcp.schema

Sin embargo, debemos habilitar éstas líneas agregadas, por lo que debemos
incluri la siguiente línea debajo de éstas.
schemacheck on

Se debe cifrar la contraseña del Admin LDAP, ya que en el momento de la


instación no se cifró. Esto se hace con el fin de darle seguridad a la clave de
acceso para el administrador. La contraseña se encripta en el formato SSHA.
#slappasswd –s sena2008

Deba aparecer algo parecido a esto.


{SSHA}lPd5OeiUGx4lyZUiQ2MFmzXV0JWyKV9A

Abrir el archivo de configuración del LDAP para agregar ésta clave encriptada.
#pico /etc/ldap/sldap.conf

Buscar la línea que dice rootdn, y descoméntela, de tal forma que quede así.
rootdn "cn=admin,dc=grupo9,dc=com"
Y Agrege debajo de ésta la linea rootpw junto con la clave del Admin LDAP
encriptada que originamos anteriormente.
rootpw {SSHA}lPd5OeiUGx4lyZUiQ2MFmzXV0JWyKV9A

Dentro del mismo archivo, buscar la siguiente opción.


index objectClass eq
Bórrela o coméntela y agregue las siguientes.

25
Proyecto Plataforma de Correos.

index objectClass,uidNumber,gidNumber eq
index cn,sn,uid,displayName pres,sub,eq
index memberUid,mail,givenname eq,subinitial
index sambaSID,sambaPrimaryGroupSID,sambaDomainName eq
index zoneName,relativeDomainName eq
index dhcpHWAddress,dhcpClassData eq

Debemos definir las listas de acceso que samba tendrá sobre el LDAP. De ésta
forma, buscamos y cambiamos la línea que dice.
access to attrs=userPassword,shadowLastChange
Por ésta.
access to attrs=userPassword,sambaLMPassword,sambaNTPassword

El archive sldap.conf debe de quedar de ésta forma.

# This is the main slapd configuration file. See slapd.conf(5) for more
# info on the configuration options.

######################################################################
#
# Global Directives:

# Features to permit
#allow bind_v2

# Schema and objectClass definitions


include /etc/ldap/schema/core.schema
include /etc/ldap/schema/cosine.schema
include /etc/ldap/schema/nis.schema
include /etc/ldap/schema/inetorgperson.schema
incluye /etc/ldap/schema/mmc.schema
include /etc/ldap/schema/samba.schema
include /etc/ldap/schema/printer.schema
include /etc/ldap/schema/mail.schema
include /etc/ldap/schema/dnszone.schema
include /etc/ldap/schema/dhcp.schema
schemacheck on

# Where the pid file is put. The init.d script


# will not stop the server if you change this.
pidfile /var/run/slapd/slapd.pid

# List of arguments that were passed to the server

26
Proyecto Plataforma de Correos.

argsfile /var/run/slapd/slapd.args

# Read slapd.conf(5) for possible values


loglevel 0

# Where the dynamically loaded modules are stored


modulepath /usr/lib/ldap
moduleload back_bdb

# The maximum number of entries that is returned for a search operation


sizelimit 500

# The tool-threads parameter sets the actual amount of cpu's that is used
# for indexing.
tool-threads 1

######################################################################
#
# Specific Backend Directives for bdb:
# Backend specific directives apply to this backend until another
# 'backend' directive occurs
backend bdb
checkpoint 512 30

######################################################################
#
# Specific Backend Directives for 'other':
# Backend specific directives apply to this backend until another
# 'backend' directive occurs
#backend <other>

######################################################################
#
# Specific Directives for database #1, of type bdb:
# Database specific directives apply to this databasse until another
# 'database' directive occurs
database bdb

# The base of your directory in database #1


suffix "dc=grupo9,dc=com"

# rootdn directive for specifying a superuser on the database. This is needed


# for syncrepl.
rootdn "cn=admin,dc=grupo9,dc=com"
rootpw {SSHA}Lc4KZ36flCnEKGVJcVP/uJvCcW8Yg+7B

# Where the database file are physically stored for database #1


directory "/var/lib/ldap"

# For the Debian package we use 2MB as default but be sure to update this

27
Proyecto Plataforma de Correos.

# value if you have plenty of RAM


dbconfig set_cachesize 0 2097152 0

# Sven Hartge reported that he had to set this value incredibly high
# to get slapd running at all. See http://bugs.debian.org/303057
# for more information.

# Number of objects that can be locked at the same time.


dbconfig set_lk_max_objects 1500
# Number of locks (both requested and granted)
dbconfig set_lk_max_locks 1500
# Number of lockers
dbconfig set_lk_max_lockers 1500

# Indexing options for database #1


index objectClass,uidNumber,gidNumber eq
index cn,sn,uid,displayName pres,sub,eq
index memberUid,mail,givenname eq,subinitial
index sambaSID,sambaPrimaryGroupSID,sambaDomainName eq
index zoneName,relativeDomainName eq
index dhcpHWAddress,dhcpClassData eq

# Save the time that the entry gets modified, for database #1
lastmod on

# Where to store the replica logs for database #1


# replogfile /var/lib/ldap/replog

# The userPassword by default can be changed


# by the entry owning it if they are authenticated.
# Others should not be able to see it, except the
# admin entry below
# These access lines apply to database #1 only
access to attrs=userPassword,sambaLMPassword,sambaNTPassword
by dn="cn=admin,dc=grupo9,dc=com" write
by anonymous auth
by self write
by * none

# Ensure read access to the base for things like


# supportedSASLMechanisms. Without this you may
# have problems with SASL not knowing what
# mechanisms are available and the like.
# Note that this is covered by the 'access to *'
# ACL below too but if you change that as people
# are wont to do you'll still need this if you
# want SASL (and possible other things) to work
# happily.
access to dn.base="" by * read

28
Proyecto Plataforma de Correos.

# The admin dn has full write access, everyone else


# can read everything.
access to *
by dn="cn=admin,dc=grupo9,dc=com" write
by * read

# For Netscape Roaming support, each user gets a roaming


# profile for which they have write access to
#access to dn=".*,ou=Roaming,o=morsnet"
# by dn="cn=admin,dc=grupo9,dc=com" write
# by dnattr=owner write

######################################################################
#
# Specific Directives for database #2, of type 'other' (can be bdb too):
# Database specific directives apply to this databasse until another
# 'database' directive occurs
#database <other>

# The base of your directory for database #2


#suffix "dc=debian,dc=org"

De igual forma, se debe editar el archivo de configuración ldap.conf, con el fin


de especificarle al LDAP la IP y el nombre de dominio con que se quiere que
trabaje.

#pico /etc/ldap/ldap.conf

Agregamos las siguientes líneas al final del archivo.


host 127.0.0.1
base dc=example,dc=com

Reiniciamos el servidor LDAP para que aplique los cambios efectuados.


#/etc/init.d/sldap restart

29
Proyecto Plataforma de Correos.

CONFIGURACIÓN DE SAMBA

Proceder a configurar el servidor Samba, ya que el LDAP necesita de éste para


poder almacenar los usuarios, password, entre otros, además para poder
integrar las redes de Linux con las de Microsoft.

Primero debemos parar el servicio.

#/etc/init.d/samba stop

Para integrar el servidor Samba con el LDAP debemos copiar el archivo


smb.conf del LDAP y pegarlo en directorio de Samba.

#cp /usr/share/doc/python-mmc-base/contrib/samba/smb.conf /etc/samba/

De ésta forma, editar el archivo de configuración smb.conf.

#pico /etc/samba/smb.conf

En la sección [Global] se deben modificar las siguientes líneas, de tal forma


que se parezcan a éstas.

workgroup = GRUPO9
netbiosname = SRV-GRUPO9
ldap admin dn = cn=admin,dc=grupo9,dc=com
ldap suffix = dc=grupo9,dc=com
logon path = \\%N\profiles\%U

Adicionalmente, en la sección [Global], agregar las siguientes líneas, ya que no


vienen por defecto en el archivo smb.conf del LDAP. Estas líneas representan
el soporte y la integración que el Samba tendrá sobre el LDAP.

30
Proyecto Plataforma de Correos.

preferred master = yes


os level = 65
wins support = yes
timeserver = yes
socket options = SO_KEEPALIVE IPTOS_LOWDELAY SO_SNDBUF=8192
SO_RCVBUF=8192
logon drive = H:
passwd program = /usr/sbin/smbldap-passwd -u %u
passwd chat = "Changing password for*\nNew password*" %n\n "*Retype new
password*" %n\n
add user script = /usr/sbin/smbldap-useradd -m "%u"
add user to group script = /usr/sbin/smbldap-groupmod -m "%u" "%g"
set primary group script = /usr/sbin/smbldap-usermod -g "%g" "%u"
add group script = /usr/sbin/ambldap-groupadd -p "%g"
delete user script = /usr/sbin/smbldap-userdel "%u"
delete user from group script = /usr/sbin/smbldap-groupmod -x "%u" "%g"
delete group script = /usr/sbin/smbldap-groupdel "%g"
obey pam restrictions = no
ldap idmap suffix = ou=Users
ldap delete dn = no
security = user

En la sección [homes], agregar la siguiente línea. Con ésta línea le estamos


dando la opción al Samba que por cada usuario que agregue le cree un buzón
para el correo.

hide files = /Maildir/

En la sección de [printers] y [print$], remueva la siguiente línea (En el caso de


que la tengamos), ya que la impresora del admin no lleva por nombre
root,@lpadmin

printer admin = root,@lpadmin

31
Proyecto Plataforma de Correos.

En la sección [print$], modificamos la linea write list, en la cual especificamos el


nombre de la impresora de admin.

write list = Administrator,root,@lpadmin

En la sección [profiles], agregar la siguiente línea, con el fin de que los archivos
de Samba estén ocultos.

hide files = /desktop.ini/ntuser.ini/NTUSER.*/

En la sección [archives], editar la siguiente línea, de ésta forma especificamos


la ruta de los archivos del samba, los cuales estarán ocultos por la opción que
le dimos en el paso anterior.

path = /home/samba/archives

Además, agregar al final del archivo smb.conf el siguiente bloque [partage] que
no viene por defecto. Esto es si queremos, ya que éste bloque no afecta para
nada la configuración; simplemente se utiliza para publicar algunos servicios.

[partage]
comment = aucun
path = /home/samba/partage
browseable = yes
public = no
writeable = yes

El archivo de configuración smb.conf debe quedar de ésta forma.

[global]
preferred master = yes
os level = 65
wins support = yes
timeserver = yes
socket options = SO_KEEPALIVE IPTOS_LOWDELAY SO_SNDBUF=8192
SO_RCVBUF=8192
logon drive = H:
passwd program = /usr/sbin/smbldap-passwd -u %u

32
Proyecto Plataforma de Correos.

passwd chat = "Cambiando clave para*\nNueva clave*" %n\n "*Confirme


nueva clave*" %n\n
add user script = /usr/sbin/smbldap-useradd -m "%u"
add user to group script = /usr/sbin/smbldap-groupmod -m "%u" "%g"
set primary group script = /usr/sbin/smbldap-usermod -g "%g" "%u"
add group script = /usr/sbin/ambldap-groupadd -p "%g"
delete user script = /usr/sbin/smbldap-userdel "%u"
delete user from group script = /usr/sbin/smbldap-groupmod -x "%u" "%g"
delete group script = /usr/sbin/smbldap-groupdel "%g"
obey pam restrictions = no
ldap idmap suffix = ou=Users
ldap delete dn = no
security = user
workgroup = GRUPO9
netbiosname = SRV-GRUPO9
server string = Mandriva Directory Server - SAMBA %v
log level = 3
null passwords = yes
# unix charset = ISO8859-1
name resolve order = bcast host
domain logons = yes
domain master = yes
printing = cups
printcap name = cups
logon path = \\%N\profiles\%u
logon script = logon.bat
map acl inherit = yes
nt acl support = yes
force unknown acl user = Yes
passdb backend = ldapsam:ldap://127.0.0.1/
ldap admin dn = cn=admin,dc=grupo9,dc=com
ldap suffix = dc=grupo9,dc=com
ldap group suffix = ou=Groups
ldap user suffix = ou=Users
ldap machine suffix = ou=Computers
ldap idmap suffix = ou=Idmap
idmap backend = ldap:ldap://127.0.0.1/
idmap uid = 20000-30000
idmap gid = 20000-30000

enable privileges = yes


add machine script = /usr/lib/mmc/add_machine_script '%u'
add share command = /usr/lib/mmc/add_change_share_script
delete share command = /usr/lib/mmc/delete_share_script
add printer command = /usr/lib/mmc/add_printer_script
deleteprinter command = /usr/lib/mmc/delete_printer_script

[homes]
comment = Home directories

33
Proyecto Plataforma de Correos.

browseable = no
writeable = yes
create mask = 0700
directory mask = 0700
hide files = /Maildir/
path = /home/samba/archives

[public]
comment = Public share
path = /home/samba/shares/public
browseable = yes
public = yes
writeable = yes

[archives]
comment = Backup share
path = /home/archives
browseable = yes
public = no
writeable = no

[printers]
comment = All printers
path = /var/spool/samba
public = yes
guest ok = yes
browseable = no
writeable = no
printable = yes

[print$]
comment = Printer Driver Download Area
path = /var/lib/samba/printers
browseable = no
guest ok = yes
read only = yes
write list = Administrador,root,@lpadmin
force group = "Print Operators"
create mask = 0775
directory mask = 0775

[netlogon]
path = /home/samba/netlogon
public = no
writeable = no
browseable = no

[profiles]
path = /home/samba/profiles
writeable = yes

34
Proyecto Plataforma de Correos.

create mask = 0700


directory mask = 0700
browseable = no
hide files = /desktop.ini/ntuser.ini/NTUSER.*/

[partage]
comment = aucun
path = /home/samba/partage
browseable = yes
public = no
writeable = yes

Digitar el siguiente comando con el fin de obtener un sumario de la


configuración de Samba. Al final del sumario no debe presentar errores.

#testparm

Se procede a darle las credenciales a Samba para que pueda escribir sobre
LDAP.

#smbpasswd –w sena2008

Debe aparecer algo como esto, lo cual indica que las credenciales fueron
asignadas correctamente.

Setting stored password for "cn=admin,dc=grupo9,dc=com" in secrets.tdb

Debemos genera un SID para el grupo de trabajo, con el fin de que el LDAP
reconozca y autorice al Samba con éste identificador.

#net getlocalsid GRUPO9

Debe mostrarnos al final algo como esto. No perdamos éste SID, ya que más
adelante lo debemos utilizar.

SID for domain GRUPO9 is: S-9-5-21-3159899829-923882392-54889933

35
Proyecto Plataforma de Correos.

Para comprobar que el SID fue registrado por el LDAP, digitamos el siguiente
comando.

#slapcat | grep sambaDomainName

Lo más probable es que aparezcan algunas líneas de error, lo cual es normal.


Lo que nos debe interesar es que aparezcan las siguientes líneas.

dn: sambaDomainName=GRUPO9,dc=grupo9,dc=com
sambaDomainName: GRUPO9

Luego se procede a iniciar el servicio Samba.

#/etc/init.d/samba start

Debemos crear los archivos de configuración de smbldap-tools


(smbldap_bind.conf, smbldap.conf), los cuales definen la forma de comunicarse
el Samba con el LDAP.

#pico /etc/smbldap-tools/smbldap_bind.conf

El archivo debe llevar el siguiente contenido.

slaveDN="cn=admin,dc=grupo9,dc=com"
slavePw="sena2008"
masterDN="cn=admin,dc=grupo9,dc=com"
masterPw="sena2008"

Ahora procedemos crear el archivo smbldap.conf. El contenido de éste debe


llevar los siguiente (En la línea SID debemos poner nuestro SID, el cual
generamos anteriormente).

SID=" S-9-5-21-3159899829-923882392-54889933"
sambaDomain="GRUPO9"
ldapTLS="0"
suffix="dc=grupo9,dc=com"

36
Proyecto Plataforma de Correos.

usersdn="ou=Users,${suffix}"
computersdn="ou=Computers,${suffix}"
groupsdn="ou=Groups,${suffix}"
idmapdn="ou=Idmap,${suffix}"
sambaUnixIdPooldn="sambaDomainName=GRUPO9,${suffix}"
scope="sub"
hash_encrypt="SSHA"
userLoginShell="/bin/bash"
userHome="/home/%U"
userHomeDirectoryMode="700"
userGecos="System User"
defaultUserGid="513"
defaultComputerGid="515"
skeletonDir="/etc/skel"
defaultMaxPasswordAge="45"
userSmbHome="\\PDC-SRV-GRUPO9\%U"
userProfile="\\PDC-SRV-GRUPO9\profiles\%U"
userHomeDrive="H:"
userScript="logon.bat"
mailDomain="grupo9.com"
smbpasswd="/usr/bin/smbpasswd"

Procedemos a poblar la base de datos LDAP y a crear la cuenta de


Administrator en el dominio Administrator. Al final no pedirá la contraseña del
Administrator, la cual será “sena2008”.

#smbldap-populate -m 512 -a Administrator

Se procede a cambiar el número UID de la cuenta, de lo contrario el


Administrator no podrá utilizar el servidor de correos con ésta cuenta, además
se debe al grupo “Domain Users”.

#smbldap-usermod -u 3000 -G "Domain Users" Administrator

Editar el archivo nsswitch.conf, para luego poder visualizar los usuarios y


grupos del LDAP.

#pico /etc/nsswitch.conf

El archivo debe tener el siguiente contenido.

37
Proyecto Plataforma de Correos.

# /etc/nsswitch.conf
#
# Example configuration of GNU Name Service Switch functionality.
# If you have the `glibc-doc' and `info' packages installed, try:
# `info libc "Name Service Switch"' for information about this file.
passwd: compat ldap
group: compat ldap
shadow: compat ldap
hosts: files dns
networks: files
protocols: db files
services: db files
ethers: db files
rpc: db files
netgroup: nis

Para comprobar si está en buen funcionamiento, digitamos el siguiente


comando.

#getent group

Debemos cerciorarnos de que al final aparezca algo como esto, lo cual indica
que está visualizando la base de datos LDAP.

Domain Admins:*:512:
Domain Users:*:513:Administrator,mauro,fefe,jona
Domain Guests:*:514:
Domain Computers:*:515:
Administrators:*:544:
Account Operators:*:548:
Print Operators:*:550:
Backup Operators:*:551:
Replicators:*:552:

Ahora debemos crear unos directorios que Samba necesita para alojar sus
archivos. Dichos directorios fueron los bloques que están descritos en el
archivo smb.conf.
#mkdir -p /home/samba/shares/public/
#mkdir /home/samba/netlogon/
#mkdir /home/samba/profiles/
#mkdir /home/samba/partage/
#mkdir /home/samba/archives/

38
Proyecto Plataforma de Correos.

Algunas veces, al reiniciar más adelante la MMC presenta errores, por esto
debemos crear un directorio adicional “archives” en “/home/”.

#mkdir /home/archives

A los directorios creados en el paso anterior, debemos de darle los permisos


específicos, para que Samba pueda tener derechos sobre dichos directorios.

#chown -R :"Domain Users" /home/samba/


#chmod 777 /var/spool/samba/ /home/samba/shares/public/
#chmod 755 /home/samba/netlogon/
#chmod 770 /home/samba/profiles/ /home/samba/partage/
#chmod 700 /home/samba/archives/

Configuración del PAM LDAP.


Ahora, debemos agregar el módulo del LDPA al PAM. Los del PAM son los que
permiten agregar módulos de aplicaciones, los cuales en este caso, serán
utilizados para la autenticación contra el LDAP. Específicamente los archivos
que se modifican son: common-account, common-auth, common-password,
common-session.

Editar el archivo common-account.

#pico /etc/pam.d/common-account

El archivo debe quedar de la siguiente forma.

#
# /etc/pam.d/common-account - authorization settings common to all services
#
# This file is included from other service-specific PAM config files,
# and should contain a list of the authorization modules that define
# the central access policy for use on the system. The default is to
# only deny service to users whose accounts are expired in /etc/shadow.
#

39
Proyecto Plataforma de Correos.

account required pam_unix.so


account sufficient pam_ldap.so

Editar el archivo common-auth.

#pico /etc/pam.d/common-auth

El archivo debe quedar de la siguiente forma.

#
# /etc/pam.d/common-auth - authentication settings common to all services
#
# This file is included from other service-specific PAM config files,
# and should contain a list of the authentication modules that define
# the central authentication scheme for use on the system
# (e.g., /etc/shadow, LDAP, Kerberos, etc.). The default is to use the
# traditional Unix authentication mechanisms.
#
auth sufficient pam_unix.so nullok_secure
auth sufficient pam_ldap.so use_first_pass
auth required pam_deny.so

Editar el archivo common-password.

#pico /etc/pam.d/common-password

El archivo debe quedar de la siguiente forma.

#
# /etc/pam.d/common-password - password-related modules common to all services
#
# This file is included from other service-specific PAM config files,
# and should contain a list of modules that define the services to be
#used to change user passwords. The default is pam_unix
# The "nullok" option allows users to change an empty password, else
# empty passwords are treated as locked accounts.
#
# (Add `md5' after the module name to enable MD5 passwords)
#
# The "obscure" option replaces the old `OBSCURE_CHECKS_ENAB' option in
# login.defs. Also the "min" and "max" options enforce the length of the
# new password.
password sufficient pam_unix.so nullok obscure min=4 max=8 md5

40
Proyecto Plataforma de Correos.

password sufficient pam_ldap.so use_first_pass use_authtok


password required pam_deny.so
# Alternate strength checking for password. Note that this
# requires the libpam-cracklib package to be installed.
# You will need to comment out the password line above and
# uncomment the next two in order to use this.
# (Replaces the `OBSCURE_CHECKS_ENAB', `CRACKLIB_DICTPATH')
#
# password required pam_cracklib.so retry=3 minlen=6 difok=3
# password required pam_unix.so use_authtok nullok md5

Editar el archivo common-session.

#pico /etc/pam.d/common-session

El archivo debe quedar de la siguiente forma.

#
# /etc/pam.d/common-session - session-related modules common to all services
#
# This file is included from other service-specific PAM config files,
# and should contain a list of modules that define tasks to be performed
# at the start and end of sessions of *any* kind (both interactive and
# non-interactive). The default is pam_unix.
#
session required pam_unix.so
session optional pam_ldap.so

Para que estos cambios realizados, debemos reiniciar nuestro sistema.

#reboot

Luego de haber iniciado el sistema, debemos darle derecho al grupo “Domain


Admins” de agregar máquinas al dominio.

#net -U Administrator rpc rights grant 'GRUPO9\Domain Admins'


SeMachineAccountPrivilege

Configuración DNS (BIND9)


Procedemos a configurar el servicio DNS.

41
Proyecto Plataforma de Correos.

#cp /usr/share/doc/python-mmc-base/contrib/bind/named.conf /etc/bind/

Ahora debemos especificarle al sistema que en la secuencia de inicio “rc.d”


inicie primero el Sldap y luego el BIND.

#update-rc.d -f slapd remove && update-rc.d slapd start 14 2 3 4 5 . stop 86 0 1 6 .

Debemos especificar en la tarjeta de red que seamos nuestro propio registro


DNS.

#pico /etc/resolv.conf

El archivo debe quedar de la siguiente forma.

search grupo9.com
nameserver 127.0.0.1
nameserver 192.168.0.19

Configuración DHCP
Procedemos a configurara el servicio DHCP.

#cp /usr/share/doc/python-mmc-base/contrib/dhcpd/dhcpd.conf /etc/dhcp3/

Editar el archivo dhcpd.conf.

#pico /etc/dhcp3/dhcpd.conf

El contenido del archivo debe quedar de la siguiente forma.

ldap-server "localhost";
ldap-port 389;
ldap-username "cn=admin, dc=grupo9, dc=com";
ldap-password "sena2008";
ldap-base-dn "dc=grupo9, dc=com";
ldap-method dynamic;
ldap-debug-file "/var/log/dhcp-ldap-startup.log";

42
Proyecto Plataforma de Correos.

SSL Para El Correo

Se debe instalar una entidad certificado para obtener los respectivos


certificados y llaves para la seguridad de nuestro dos sitios Web: MMC,
Squirrelmail.

Debemos editar el archivo mail.cnf.

#pico /etc/ssl/mail.cnf

El archivo debe llevar el siguiente contenido.

[ req ]
default_bits = 2048
default_keyfile = privkey.pem
distinguished_name = req_distinguished_name
prompt = no
string_mask = nombstr
x509_extensions = server_cert
[ req_distinguished_name ]
countryName = DE
stateOrProvinceName = Niedersachsen
localityName = Lueneburg
organizationName = Projektfarm GmbH
organizationalUnitName = IT
commonName = server1.grupo9.com
emailAddress = postmaster@grupo9.com
[ server_cert ]
basicConstraints = critical, CA:FALSE
subjectKeyIdentifier = hash
keyUsage = digitalSignature, keyEncipherment
extendedKeyUsage = serverAuth, clientAuth
nsCertType = server
nsComment = "mailserver"

Ahora, debemos crear el certificado SSL.

#openssl req -x509 -new -config /etc/ssl/mail.cnf -out /etc/ssl/certs/mail.pem -keyout


/etc/ssl/private/mail.key -days 365 -nodes -batch

43
Proyecto Plataforma de Correos.

Especificar los derechos de la llave, de tal forma que solo el root pueda leerlo.

#chmod 600 /etc/ssl/private/mail.key

Configuración SASL

Postfix autenticará los usuarios contra la base de datos LDAP. Procedemos a


crear el directorio saslauthd. En éste directorio se almacenará unos archivos,
los cuales permiten la autenticación del Postfix contra el LDAP.

#mkdir -p /var/spool/postfix/var/run/saslauthd/

Editar el archivo saslauthd, el cual debe quedar de la siguiente forma.

START=yes
MECHANISMS="ldap"
MECH_OPTIONS=""
THREADS=5
OPTIONS="-c -m /var/spool/postfix/var/run/saslauthd -r"

Luego, editar el archivo saslauthd.conf con el fin de indicarle a SASL contra


quién va a realizar la autenticación.

#pico /etc/saslauthd.conf

Debe quedar de la siguiente forma.

ldap_servers: ldap://127.0.0.1
ldap_search_base: ou=Users,dc=grupo9,dc=com
ldap_filter: (&(objectClass=mailAccount)(mail=%u@%r)(mailenable=OK))

Debemos crear el archivo smtpd.conf con el fin de indicarle a Postfix cuál va a


hacer el método de autenticación.

#pico /etc/postfix/sasl/smtpd.conf

44
Proyecto Plataforma de Correos.

El contenido de éste archivo debe llevar lo siguiente.

pwcheck_method: saslauthd
mech_list: plain login

Ahora, para que la autenticación se correcta, debemos crear el usuario postfix y


agregarlo al grupo sasl.

#pico adduser postfix sasl

Debemos reiniciar SASL para que aplique los cambios efectuados.

#/etc/init.d/saslauthd restart

45
Proyecto Plataforma de Correos.

Configuración Postfix

Copiamos los archivo del Postifx con el fin de poder trabajar con lo Usuarios y
Dominios virtuales.

#pico cp /usr/share/doc/python-mmc-base/contrib/postfix/with-virtual-domain/*
/etc/postfix/

Editamos el archive main.cf para modificar el dominio al que Postfix atenderá,


usuarios y dominios virtuales, entre otros.

#pico /etc/postfix/main.cf

El archivo debe quedar de la siguiente forma.


Nota: Recomendamos que copien cada una de las líneas que se
representa a continuación, de tal forma que quede como se muestra a
continuación.

# 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_dot_mydomain = yes
append_at_myorigin = yes

# Uncomment the next line to generate "delayed mail" warnings


#delay_warning_time = 4h

myhostname = server1.grupo9.com
mydomain = grupo9.com
alias_maps = ldap:/etc/postfix/ldap-aliases.cf, hash:/etc/aliases
alias_database = hash:/etc/aliases
myorigin = /etc/mailname
mydestination = server1.grupo9.com,grupo9.com,localhost.localdomain,localhost
mail_destination_recipient_limit = 1
mailbox_command = /usr/lib/dovecot/deliver -d "$USER"@"$DOMAIN"
relayhost =
mynetworks = 127.0.0.0/8
mailbox_size_limit = 0
recipient_delimiter = +

46
Proyecto Plataforma de Correos.

inet_interfaces = all

# Virtual Domains Control


virtual_mailbox_domains = ldap:/etc/postfix/ldap-domains.cf
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

# Use Maildir
home_mailbox = Maildir/

# Wait until the RCPT TO command before evaluating restrictions


smtpd_delay_reject = yes

# Basics Restrictions
smtpd_helo_required = yes
strict_rfc821_envelopes = yes

# Requirements for the connecting server


smtpd_client_restrictions =
permit_mynetworks,
permit_sasl_authenticated,
reject_rbl_client bl.spamcop.net,
reject_rbl_client dnsbl.njabl.org,
reject_rbl_client cbl.abuseat.org,
reject_rbl_client sbl-xbl.spamhaus.org,
reject_rbl_client list.dsbl.org,
permit

# Requirements for the HELO statement


smtpd_helo_restrictions =
permit_mynetworks,
permit_sasl_authenticated,
reject_non_fqdn_hostname,
reject_invalid_hostname,
permit

# Requirements for the sender address


smtpd_sender_restrictions =
permit_mynetworks,
permit_sasl_authenticated,
reject_non_fqdn_sender,
reject_unknown_sender_domain,
permit

# Requirement for the recipient address

47
Proyecto Plataforma de Correos.

smtpd_recipient_restrictions =
permit_mynetworks,
permit_sasl_authenticated,
reject_non_fqdn_recipient,
reject_unknown_recipient_domain,
reject_unauth_destination,
permit

# Enable SASL authentication for the smtpd daemon


smtpd_sasl_auth_enable = yes
smtpd_sasl_type = dovecot
smtpd_sasl_path = private/auth

# Fix for outlook


broken_sasl_auth_clients = yes

# Reject anonymous connections


smtpd_sasl_security_options = noanonymous
smtpd_sasl_local_domain =

# SSL/TLS
smtpd_tls_security_level = may
smtpd_tls_loglevel = 1
smtpd_tls_cert_file = /etc/ssl/certs/mail.pem
smtpd_tls_key_file = /etc/ssl/private/mail.key
smtpd_tls_session_cache_database = btree:${queue_directory}/smtpd_scache

# Amavis
content_filter = amavis:[localhost]:10024
receive_override_options = no_address_mappings

Editar el archivo ldap.aliases.cf con el fin de definir los álias del LDAP en el
Postfix.

#pico /etc/postfix/ldap-aliases.cf

Se debe editar simplemente el dominio con que se está trabajando.

server_host = 127.0.0.1
search_base = ou=Users,dc=grupo9,dc=com
query_filter = (&(objectClass=mailAccount)(mailalias=%s)(mailenable=OK))
result_attribute = maildrop
version = 3

48
Proyecto Plataforma de Correos.

Debemos editar el archivo master.cf en donde se definen qué protocolos y con


qué servicio adicionales trabajará postfix.

#pico /etc/postfix/master.cf

Al final del archivo, agregar las siguientes líneas de configuración.

# SMTPS
smtps inet n - - - - smtpd
-o smtpd_tls_wrappermode=yes
-o smtpd_sasl_auth_enable=yes

# Dovecot
dovecot unix - n n - - pipe
flags=DRhu user=dovecot:mail argv=/usr/lib/dovecot/deliver -d $recipient

# Mail to Amavis
amavis unix - - - - 10 smtp
-o smtp_data_done_timeout=1200
-o smtp_send_xforward_command=yes
-o disable_dns_lookups=yes
-o max_use=20

# Mail from Amavis


127.0.0.1:10025 inet n - - - - smtpd
-o content_filter=
-o local_recipient_maps=
-o relay_recipient_maps=
-o smtpd_restriction_classes=
-o smtpd_delay_reject=no
-o smtpd_client_restrictions=permit_mynetworks,reject
-o smtpd_helo_restrictions=
-o smtpd_sender_restrictions=
-o smtpd_recipient_restrictions=permit_mynetworks,reject
-o smtpd_data_restrictions=reject_unauth_pipelining
-o smtpd_end_of_data_restrictions=
-o mynetworks=127.0.0.0/8
-o smtpd_error_sleep_time=0
-o smtpd_soft_error_limit=1001
-o smtpd_hard_error_limit=1000
-o smtpd_client_connection_count_limit=0
-o smtpd_client_connection_rate_limit=0
-o receive_override_options=no_header_body_checks,no_unknown_recipient_checks

49
Proyecto Plataforma de Correos.

Debemos de configurar los archivos ldap-accounts, ldap-aliases, ldap-domains,


ldap-gid, ldap-maildrop, ldap-transport, ldap-uid con el fin de habilitar el uso de
los usuarios y dominios virtuales.

#pico /etc/postfix/ ldap-accounts


server_host = 127.0.0.1
server_port = 389
search_base = ou=Users,dc=grupo9,dc=com
query_filter = (&(objectClass=mailAccount)(mailenable=OK)(mail=%s))
result_attribute = mailbox
version = 3
expansion_limit = 1

#pico /etc/postfix/ ldap-aliases


server_host = 127.0.0.1
search_base = ou=Users,dc=grupo9,dc=com
query_filter = (&(objectClass=mailAccount)(mailalias=%s)(mailenable=OK))
result_attribute = mail
version = 3

#pico /etc/postfix/ ldap-domains


server_host = 127.0.0.1
server_port = 389
search_base = ou=mailDomains,dc=mandriva,dc=com
query_filter = (&(objectClass=mailDomain)(virtualdomain=%s))
result_attribute = virtualdomain
version = 3

#pico /etc/postfix/ ldap-gid


server_host = 127.0.0.1
server_port = 389
search_base = ou=Users,dc=grupo9,dc=com
query_filter = (&(objectClass=mailAccount)(mail=%s)(mailenable=OK))
result_attribute = gidNumber
version = 3
expansion_limit = 1

#pico /etc/postfix/ ldap-maildrop


server_host = 127.0.0.1
server_port = 389
search_base = ou=Users,dc=grupo9,dc=com
query_filter = (&(objectClass=mailAccount)(mailenable=OK)(mail=%s))
result_attribute = maildrop
version = 3

50
Proyecto Plataforma de Correos.

#pico /etc/postfix/ ldap-transport


server_host = 127.0.0.1
server_port = 389
search_base = ou=Users,dc=grupo9,dc=com
query_filter = (&(objectClass=mailAccount)(mailenable=OK)(mail=%s))
result_attribute = mailhost
result_format = smtp:[%s]
version = 3

#pico /etc/postfix/ ldap-uid


server_host = 127.0.0.1
server_port = 389
search_base = ou=Users,dc=grupo9,dc=com
query_filter = (&(objectClass=mailAccount)(mail=%s)(mailenable=OK))
result_attribute = uidNumber
version = 3
expansion_limit = 1

Debemos reiniciar el Postfix para que se apliquen los cambios efectuados.

#/etc/init.d/postfix restart

Configuración de Dovecot

Debemos borrar todo el contenido del archivo dovecot.conf ya que éste no nos
sirve para lo que queremos realizar.

#echo "" > /etc/dovecot/dovecot.conf

Procedemos a editar dicho archivo, que debería estar completamente en


blanco.

#pico /etc/dovecot/dovecot.conf

El archivo debe quedar de ésta forma, en donde se debe especificar el dominio,


entre otras cosas.

protocols = imap imaps pop3 pop3s

51
Proyecto Plataforma de Correos.

listen = 0.0.0.0
login_greeting = grupo9.com mailserver ready.
mail_location = maildir:~/Maildir
disable_plaintext_auth = no
ssl_cert_file = /etc/ssl/certs/mail.pem
ssl_key_file = /etc/ssl/private/mail.key
log_path = /var/log/dovecot.log
info_log_path = /var/log/dovecot.log

# IMAP configuration
protocol imap {
mail_plugins = quota imap_quota
}

# POP3 configuration
protocol pop3 {
pop3_uidl_format = %08Xu%08Xv
mail_plugins = quota
}

# LDA configuration
protocol lda {
postmaster_address = postmaster
auth_socket_path = /var/run/dovecot/auth-master
mail_plugins = quota
}

# LDAP authentication

auth default {
mechanisms = plain login

passdb ldap {
args = /etc/dovecot/dovecot-ldap.conf
}

userdb ldap {
args = /etc/dovecot/dovecot-ldap.conf
}

socket listen {
master {
path = /var/run/dovecot/auth-master
mode = 0660
user = dovecot
group = mail
}

client {
path = /var/spool/postfix/private/auth

52
Proyecto Plataforma de Correos.

mode = 0660
user = postfix
group = postfix
}
}
}

Dejamos en blanco el archivo dovecot-ldap.conf.

#echo "" > /etc/dovecot/dovecot-ldap.conf

Procedemos a editarlo.

#pico /etc/dovecot/dovecot-ldap.conf

Debemos agregar las siguientes líneas, en donde se debe especificar el


dominio, entre otras cosas.

hosts = 127.0.0.1
auth_bind = yes
ldap_version = 3
base = dc=grupo9,dc=com
scope = subtree
user_attrs =
homeDirectory=home,uidNumber=uid,mailbox=mail,mailuserquota=quota=maildir:stor
age
user_filter = (&(objectClass=mailAccount)(mail=%u)(mailenable=OK))
pass_attrs = mail=user,userPassword=password
pass_filter = (&(objectClass=mailAccount)(mail=%u)(mailenable=OK))
default_pass_scheme = CRYPT
user_global_gid = mail

Ahora debemos ajustar los derechos para poder autorizar a Dovecot, con el fin
de que éste pueda utilizar los derechos UID y GID cuando se almacena el
mensaje en el Mialdir de cada usuario.

# dpkg-statoverride --update --add root dovecot 4755 /usr/lib/dovecot/deliver

Reiniciamos el servicio Dovecot.


# /etc/init.d/dovecot restart

53
Proyecto Plataforma de Correos.

Configuración de Amavis.

Se configurará con el fin de que el Postfix pase los correos a Amavis. Éste, de
igual forma lo pasará a Sapamassassin y a CalmAV para que realicen el
respectivo escaneo contra spam y contra antivirus. Luego de haber aprobado el
mensaje por parte del servicio Amavis, éste debe reinyectar el mensaje a
Postfix.

Definir los filtros que utilizará Amavis en el archivo 15-content_filter_mode.

#pico /etc/amavis/conf.d/15-content_filter_mode

Se deben descomentar las siguientes líneas, si se desea, se puede borrar todo


el contenido de éste archivo de tal forma que sólo queden las siguientes líneas.

use strict;
@bypass_virus_checks_maps = (
\%bypass_virus_checks, \@bypass_virus_checks_acl, \$bypass_virus_checks_re);
@bypass_spam_checks_maps = (
\%bypass_spam_checks, \@bypass_spam_checks_acl, \$bypass_spam_checks_re);
1;

Editar el archivo 50-user.

#pico /etc/amavis/conf.d/50-user

El archivo debe ser parecido a esto.

use strict;
$pax='pax';
1;

Se debe crear el usuario clamav y agregarlo al grupo amavis.

#pico adduser clamav amavis

54
Proyecto Plataforma de Correos.

Editar el archivo 05-domain_id para especificar el dominio con que trabajará


Amavis.

#pico /etc/amavis/conf.d/05-domain_id

Debe se parecido a esto.

use strict;

#chomp($mydomain = `head -n 1 /etc/mailname`);


chomp($mydomain = `grupo9.com`);

@local_domains_acl = ( ".$mydomain" );

1; # insure a defined return

Editar el archivo 20-debian_defaults, con el fin de definir el etiquetado los virus,


spam y los niveles que Amavis utilizará para etiquetar a éstos.

#pico /etc/amavis/conf.d/20-debian_defaults

Debemos asegurarnos que las siguientes líneas estén parecidas a éstas.


Nota: La plabra ***SPAM*** aparecerá delante del asunto del mensaje
en el caso de que sea un spam. Si todos los mensajes que recibimos o
enviamos los detecta como spam, debemos aumentar los niveles que están en
éste archivo.

$sa_spam_subject_tag = '***SPAM*** ';


$sa_tag_level_deflt = 0.2; # add spam info headers if at, or above that level
$sa_tag2_level_deflt = 0.2; # add 'spam detected' headers at that level
$sa_kill_level_deflt = 0.1; # triggers spam evasive actions
$sa_dsn_cutoff_level = 10; # spam level beyond which a DSN is not sent

$forward_method = 'smtp:127.0.0.1:10025';
$notify_method = $forward_method;
$final_virus_destiny = D_DISCARD; # (data not lost, see virus quarantine)
$final_banned_destiny = D_BOUNCE; # D_REJECT when front-end MTA
$final_spam_destiny = D_PASS;
$final_bad_header_destiny = D_PASS; # False-positive prone (for spam)

55
Proyecto Plataforma de Correos.

Reiniciar los servicios amavis, clamav-daemon, clamav-freshclam para que se


apliquen los cambios efectuados.

#/etc/init.d/amavis restart
#/etc/init.d/clamav-daemon restart
#/etc/init.d/clamav-freshclam restart

Configuración Spamassassin

Se edita el archivo local.cf, y asegurarnos que las siguientes líneas estén


descomentadas.
Nota: Si los mensajes que recibimos o enviamos los detecta a todos
como spam, debemos aumentar el score.

rewrite_header Subject *****SPAM*****


report_safe 1
required_score 0.3

Dentro del mismo archivo, agregar las siguientes líneas, las cuales son las ba-
ses de datas que contienen el listado de los spam. Estas bases de datos se en-
cuentran ubicadas en Internet.

# dcc
use_dcc 1
dcc_path /usr/bin/dccproc

#pyzor
use_pyzor 1
pyzor_path /usr/bin/pyzor

#razor
use_razor2 1
razor_config /etc/razor/razor-agent.conf

#bayes
use_bayes 1
use_bayes_rules 1
bayes_auto_learn 1

Habilitar los plugin de Spamassassin, para esto debemos editar el archivo


v310.pre.

56
Proyecto Plataforma de Correos.

#pico /etc/spamassassin/v310.pre
Asegurarse que las siguientes estén descomentadas.

loadplugin Mail::SpamAssassin::Plugin::DCC
loadplugin Mail::SpamAssassin::Plugin::Pyzor
loadplugin Mail::SpamAssassin::Plugin::Razor2
loadplugin Mail::SpamAssassin::Plugin::SpamCop
loadplugin Mail::SpamAssassin::Plugin::AWL
loadplugin Mail::SpamAssassin::Plugin::AutoLearnThreshold
loadplugin Mail::SpamAssassin::Plugin::WhiteListSubject
loadplugin Mail::SpamAssassin::Plugin::MIMEHeader
loadplugin Mail::SpamAssassin::Plugin::ReplaceTags

Se debe configurar Spamassassin de modo que se ejecute como demonio,


editando el archivo spamassassin.

#pico /etc/default/spamassassin

El archivo debe ser parecido al siguiente.

ENABLED=1
OPTIONS="--create-prefs --max-children 5 --helper-home-dir"
PIDFILE="/var/run/spamd.pid"
#NICE="--nicelevel 15"
CRON=0

Para que se apliquen los cambios efectuados, se debe reiniciar Spamassassin


y Amavis.

#/etc/init.d/spamassassin start
#/etc/init.d/amavis restart

Cetificados SSL

Se procede a darle seguridad a la consola MMC y al Squirrelmail. Para esto se


debe crear el directorio ssl dentro de apache2.

#mkdir /etc/apache2/ssl/

57
Proyecto Plataforma de Correos.

Pedimos el certificado para la MMC.

#openssl req -new -x509 -keyout /etc/apache2/ssl/server.key –out


/etc/apache2/ssl/server.crt -days 365 -nodes

Debemos de darle permisos a la llave server.key, con el fin que solo el root
pueda realizar acción sobre ella.

#chmod 600 /etc/apache2/ssl/server.key

Pedimos el certificado para el Webmail Squirrelmail.

#openssl req -new -x509 -keyout /etc/apache2/ssl/webmail.key –out


/etc/apache2/ssl/webmail.crt -days 365 -nodes

Debemos de darle permisos a la llave webmail.key.

#chmod 600 /etc/apache2/ssl/webmail.key

Sitio Web MMC

Se debe tener claro, que para éste caso trabajaremos con Host Virtuales (Un
Vhost para la MMC y otro para el Squirremail).

Crear el sitio Web mmc, el cual cumplirá la función de redireccionar a mmcs


(De forma segura).

#pico /etc/apache2/sites-available/mmc

Éste sitio debe contener las siguientes líneas.

<VirtualHost *:80>

58
Proyecto Plataforma de Correos.

ServerName server1.grupo9.com

RewriteEngine On
RewriteCond %{HTTPS} off
RewriteRule (.*) https://server1.grupo9.com/mmc

</VirtualHost>

Creamos el sitio Web mmcs.

#pico /etc/apache2/sites-available/mmcs

Éste sitio debe contener las siguientes líneas.

NameVirtualHost *:443

<VirtualHost *:443>

ServerName server1.grupo9.com
ServerAdmin Administrator@grupo9.com
DocumentRoot /usr/share/mmc/

SSLEngine on
SSLCertificateKeyFile ssl/server.key
SSLCertificateFile ssl/server.crt
SSLProtocol all
SSLCipherSuite
ALL:!ADH:!EXPORT56:RC4+RSA:+HIGH:+MEDIUM:+LOW:+SSLv2:+EXP:+eNU
LL

<Directory /usr/share/mmc/>
AllowOverride None
Order allow,deny
Allow from all
php_flag short_open_tag on
SSLRequire %{SSL_CIPHER_USEKEYSIZE} >= 128
</Directory>

ErrorLog /var/log/apache2/mmc_error.log
CustomLog /var/log/apache2/mmc_access.log combined
LogLevel warn

</VirtualHost>

59
Proyecto Plataforma de Correos.

Sitio Web Squirremail

Crear el sitio Web webmail, el cual cumplirá la función de redireccionar a


webmails (De forma segura).

#pico /etc/apache2/sites-available/webmail

Éste sitio debe contener las siguientes líneas.

<VirtualHost *:80>

ServerName webmail.grupo9.com

RewriteEngine On
RewriteCond %{HTTPS} off
RewriteRule (.*) https://webmail.grupo9.com

</VirtualHost>

Creamos el sitio Web webmails.

#pico /etc/apache2/sites-available/webmails

Éste sitio debe contener las siguientes líneas.

Alias /squirrelmail /usr/share/squirrelmail

# users will prefer a simple URL like http://webmail.example.com

NameVirtualHost *:80

<VirtualHost *:443>

DocumentRoot /usr/share/squirrelmail
ServerAdmin Administrator@grupo9.com
ServerName webmail.grupo9.com

SSLEngine on
SSLCertificateKeyFile ssl/webmail.key
SSLCertificateFile ssl/webmail.crt
SSLProtocol all

60
Proyecto Plataforma de Correos.

SSLCipherSuite
ALL:!ADH:!EXPORT56:RC4+RSA:+HIGH:+MEDIUM:+LOW:+SSLv2:+EXP:+eNU
LL

<Directory /usr/share/squirrelmail>
Options Indexes FollowSymLinks
<IfModule mod_php4.c>
php_flag register_globals off
</IfModule>
<IfModule mod_php5.c>
php_flag register_globals off
</IfModule>
<IfModule mod_dir.c>
DirectoryIndex index.php
</IfModule>

# access to configtest is limited by default to prevent information leak


<Files configtest.php>
order deny,allow
allow from all
</Files>
SSLRequire %{SSL_CIPHER_USEKEYSIZE} >= 128
</Directory>

</VirtualHost>

# redirect to https when available (thanks omen@descolada.dartmouth.edu)


#
# Note: There are multiple ways to do this, and which one is suitable for
# your site's configuration depends. Consult the apache documentation if
# you're unsure, as this example might not work everywhere.
#
#<IfModule mod_rewrite.c>
# <IfModule mod_ssl.c>
# <Location /squirrelmail>
# RewriteEngine on
# RewriteCond %{HTTPS} !^on$ [NC]
# RewriteRule . https://%{HTTP_HOST}%{REQUEST_URI} [L]
# </Location>
# </IfModule>
#</IfModule>

Debemos darle la opción a apache2 que además escuche por el puerto 443
(Seguridad). Editar el archivo ports.conf.

#pico /etc/apache2/ports.conf

61
Proyecto Plataforma de Correos.

Agregar la línea Listen 443 de tal forma que el archivo quede de la siguiente
forma.

Listen 80
Listen 443

Procedemos a habilitar los sitios Web creados.

#a2ensite mmc
#a2ensite mmcs
#a2ensite webmail
#a2ensite webmails

Debemos reescribir los módulos de los sitios Web.

# a2enmod rewrite

Cargar el módulo ssl para que pueda funcionar la seguridad de los sitios Web.

# a2enmod ssl

Reinicira el servicio Web para que aplique los cambios efectuados.

# /etc/init.d/apache2 restart

Configuración Pluging MMC

Procedemos a configurar el plugin-base de la MMC, para que pueda funcionar


la interfaz web de la MMC.

#pico /etc/mmc/plugins/base.ini

El contenido debe ser parecido al siguiente.

62
Proyecto Plataforma de Correos.

[ldap]
# LDAP we are connected to
host = 127.0.0.1
# LDAP base DN
baseDN = dc=grupo9, dc=com
# Users location in the LDAP
baseUsersDN = ou=Users, %(basedn)s
# Groups location in the LDAP
baseGroupsDN = ou=Groups, %(basedn)s
# Computers Locations
baseComputersDN = ou=Computers, %(basedn)s
# LDAP manager
rootName = cn=admin, %(basedn)s
password = sena2008
# If enabled, the MMC will create/move/delete the home of the users
# Else will do nothing, but only write user informations into LDAP
userHomeAction = 1
# Skeleton directory to populate a new home directory
skelDir = /etc/skel
# If set, all new users will belong to this group when created
defaultUserGroup = Domain Users
# Default home directory for users
defaultHomeDir = /home
# user uid number start
uidStart = 10000
# group gid number start
gidStart = 10000
# LDAP log file path
logfile = /var/log/ldap.log
# FDS log file path
# logfile = /opt/fedora-ds/slapd-hostname/logs/access
# you can specify here where you can authorized creation of your homedir
# default is your defaultHomeDir
# example:
# authorizedHomeDir = /home, /home2, /mnt/depot/newhome
[backup-tools]
# Path of the backup tools
path = /usr/lib/mmc/backup-tools
# Where are put the archives
destpath = /home/samba/archives

Editar el plugin mail.ini para poder trabajar con los usuarios y dominios
virtuales.

#pico /etc/mmc/plugins/mail.ini

El archivo debe ser parecido a éste.

63
Proyecto Plataforma de Correos.

[main]
disable = 0
# Enable virtual domain support
vDomainSupport = 1
# If vdomain enabled, OU where the domain are stored
vDomainDN = ou=mailDomains, dc=grupo9, dc=com
[userDefault]
# For Postfix delivery
mailbox = %homeDirectory%/Maildir/
# For Dovecot delivery
mailbox = maildir:%homeDirectory%/Maildir/
# Default quota (200 MBytes) set for user
#Ésta línea indica la cuota en Disco para el buzón de los correos.
mailuserquota = 204800

Editar el plugin network.ini para administrar los servicio DNS y DHCP.

#pico /etc/mmc/plugins/network.ini

El archivo debe ser parecido al siguiente.

[main]
disable = 0
[dhcp]
dn = ou=DHCP,dc=grupo9,dc=com
pidfile = /var/run/dhcpd.pid
init = /etc/init.d/dhcp3-server
logfile = /var/log/daemon.log
leases = /var/lib/dhcp3/dhcpd.leases
[dns]
dn = ou=DNS,dc=grupo9,dc=com
pidfile = /var/run/bind/run/named.pid
init = /etc/init.d/bind9
logfile = /var/log/daemon.log
bindroot = /etc/bind/
bindgroup = bind
# dnsreader = DNS Reader
# dnsreaderpassword = DNSReaderPassword

Iniciar la mmc-agent para que se apliquen los cambios efectuados y se ponga


en funcionamiento.

#/etc/init.d/mmc-agent start

64
Proyecto Plataforma de Correos.

Reiniciar el Servicio DNS.

# /etc/init.d/bind9 restart

Interfaz MMC

Para conectarse a la interfaz web de la MMC, se debe digitar en nuestro


navegador http://127.0.0.1 ó http://192.168.0.19
Como Login digitamos “root” y como password “sena2008”.

Una ves haber ingresado, debe aparecer la consola de administración MMC.

65
Proyecto Plataforma de Correos.

Procedemos a configurar la respectiva zona en el DNS. Para esto debemos dar

clic en “Network”, luego “Add DNS Zone”, llene los campos requeridos, luego

“Create” para guardar los cambios.

Se debe crear un alias al primer miembro de la zona DNS, de tal forma que el

host virtual del Squirremail sea accesible. Para esto se debe dar clic en “DNS

Zones”, luego en el ícono de la “Lupa”.

Ahora, Dar clic en el icono del "lápiz y papel".

Digitar “webmail” como alias del host “server1”, luego dar clic en “Confirm” para

confirmar la configuración.

Se debe editar el ámbito DHCP. Para esto, dar clic en "DCHP subnets", luego

en el icono del "lápiz y papel".

Llenar los campos requeridos, de tal forma que sea parecida a la ilustración de

la imagen siguiente, luego dar clic en "Confirm" para guardar los cambios

realizados.

Hasta éste punto la configuración del servicio DHCP está completa, de ésta

forma y se puede iniciar dicho servicio. Para esto se debe hacer clic en

"Network services management", luego clic en el triángulo verde para iniciar el

servicio DHCP.

66
Proyecto Plataforma de Correos.

Para poder utilizar la cuenta de correo del Administrador se debe habilitar, Para

esto, dar clic en "Users", luego “List”. Dar clic en el icono de "Lápiz y Papel" en

la cuenta correspondiente del Administrator.

Digitar la dirección de correo en el campo “Mail address”.

Habilitar el plugin de correo e ingresar la cuota en disco deseada, si no se le

asigna alguna cuota, ésta cuenta tomará la cuota por defecto (200 MB), Lugo

guarde los cambios los cambios efectuados; ó se le puede dar la opción de la

cuota ilimitada. Quizás deba ingresar la cuota nuevamente (ya que la MMC la

sobrescribe con el valor predeterminado) y guardar los cambios.

Proceder a crear alguna cuenta de usuario del dominio. Dar clic en "Add". Se

deben llenar los campos requeridos, sin embargo los campos obligatorios que

debemos llenar son: Login, Password, Confirm Password, Name, Mail address.

Para éste caso, crearemos dos usuarios: rafa, jeyson.

67

You might also like