Sie sind auf Seite 1von 89

1

PROYECTO
PLATAFORMA DE CORREOS SOBRE LINUX DEBIAN
Administración de Redes de Computadores
Presentado por:
Rafael Emiro Vega Tirado.
Jeyson Andrey Henao Alvarez.

Jonathan Andrés Loaiza García.


César Augusto Pineda González.
Leidy Marcela Martinez Alzate.
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
2

ÍNDICE
Página.
1 Introducción. 4
2 Objetivos. 5
2.1 Objetivo General. 5
2.3 Objetivos Específicos. 5
3 Conceptos Teóricos. 6
3.1 MTA. 6
3.2 MDA. 6
3.3 MUA. 6
3.4 WEBMAIL. 7
3.5 Postfix. 7
3.6 Dovecot. 7
3.7 Amavis-New 8
3.8 SASL. 8
3.9 SSL Y TLS. 8
3.10 Squirrelmail. 8
3.11 Tipos De Buzones Para El Correo. 9
3.11.1 Mailbox. 9
3.11.2 Maildir. 9
3.12 Mandriva Directory Server “MDS”. 10
3.13 Cómo Trabaja El Servidor De Correos. 11
4 Descripición De Los Paquetes A Utilizar. 12
5 Instalación. 14
5.1 Preparación Del Sistema. 14
5.2 Hostname. 14
5.3 Filesystem ACL´s. 15
5.4 Repositorios. 16
3

5.5 Instalación De Los Paquetes A Utilizar. 18


6 Configuraciones. 27
6.1 Configuración Del LDAP. 27
6.2 Configuración De Samba. 33
Proyecto Plataforma de Correos.
6.3 Configuración Del PAM LDAP. 43
6.4 Configuración DNS (BIND9). 46
6.5 Configuración DHCP. 46
6.6 SSL Para El Correo (Entidad Certificador). 47
6.7 Configuración SASL. 48
6.8 Configuración Postfix. 50
6.9 Configuración De Dovecot. 55
6.10 Configuración De Amavis. 58
6.11 Configuración De Spamassassin. 60
6.12 Certificados SSL. 62
6.13 Configuración Sitio Web MMC. 62
6.14 Configuración Sitio Web Squirrelmail. 65
6.15 Configuración Plugin MMC. 68
6.16 Interfaz MMC. 71
7 Configuración Del Lado Del Cliente. 83
8 Comprobación Del Servidor De Correos. 86
8.1 Usuarios Y Dominios Virtuales. 86
8.2 Comprobación Antispam. 89
8.3 Comprobación Antivirus. 90
9 Conclusión. 91
10 Bibliografía
4

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 deMandrivaDirectoryServer. Todo lo anterior estará instalado y configurado sobre
el Sistema Operativo GNU/Linux Debian
5

OBJETIVOS
2.1 OBJETIVO GENERAL
Se debe diseñar, implementar y gestionar un sistema o plataforma de correos en el Sistema Operativo
GNU/Linux Debian.
2.2 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)
6

3 CONCEPTOS TEÓRICOS
3.1 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
3.2 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.
3.3 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.

3.4 WEBMAIL
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.

3.5 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
7

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

3.7 AMAVIS-NEW
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
• 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.
3.8 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.
3.9 SSL Y TLS
Secure Sockets Layer/Protocolo de Capa de Conexión Segura y Transportation Layer
8

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.10 SQUIRRELMAIL
Es un WebMail o cliente Web, el cual cumple la función de revisar y enviar correos desde una interfaz
Web Proyecto Plataforma de Correos.
3.11 TIPOS DE BUZONES PARA EL CORREO
Los servidores de correo utilizan uno de los dos tipos de buzones: Mailbox y Maildir.

3.11.1 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. En
Linux De- bian éste archivo está ubicado en la siguiente ruta/var/spool/mai l/[ USUARIO].

3.11.2 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. En Linux Debian generalmente el archivo Maildir se encuentra en
la siguiente ruta/home/[USUA RIO]/Maildir.

3.12 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.
9

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.
Proyecto Plataforma de Correos.

3.13 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.
10

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/I4.

4. 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
11

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.
• 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: Es un Webmail tilizado para revisar los correos vía Web.
5. INSTALACIÓN.
5.1 Preparación del Sistema.
5.2
Nuestra máquina contará con las siguientes especificaciones:

Hostname:server1.grupo9.co m
Samba Domain:GRUPO9
IP: 19 2 .1 6 8 .0 .1 9
Gateway:192.168.0.1
Passwords Para Todo:sena2008
5.2 Hostname: Editar el archivohosts con el fin de que nuestra máquina nos resuelva localmente por
ahora.
#pico /etc/hosts
12

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áquinaserver1.grupo9.co m el cual se define en el
archivohostname
#echo server1.grupo9.com > /etc/hostname
Luego reiniciamos el sistema para que aplique los cambios efectuados
#reboot
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
hostFQDN.
#hostname -f
FQDN: Fully Qualified Domain Name, Es el nombre que incluye el “nombre de equipo” y el “nombre
de dominio” asosociado a un equipo. Por ejemplo, en nuestro caso, nuestro nombre de máquina
esserver1 cuyo dominio esgrupo9.com, el FQDN seráserver1.grupo9.com. En ambos resultados nos
debe mostrar lo siguiente.
server1.grupo9.com
5.3 Filesystem ACL´s.
Se debe agregar ACL´s al Filesystem a nuestro punto de montaje “/”.
13

ACL: Access Control List, Lista de Control de Acceso. En este sistema de permisos los ficheros no
tienen fijos los permisos (como en el modelo tradicional, que tiene tres permisos “para el usuario
propietario, grupo propietario y otros”), sino que los permisos del fichero en realidad son una lista de
Entradas de Control de Acceso. Cada una de las ACE´s contiene lo parámetros de usuario/grupo y
permiso que indica un tipo de acceso determinado para un usuario o grupo; el conjunto de todas éstas
forman la ACL que marca el tipo de acceso permitido en un fichero.
Proyecto Plataforma de Correos.
Editar el archivofstab.
#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
00
/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 /
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)
5.4 REPOSITORIOS
Para instalar los paquetes requeridos para realizar éste trabajo se deben utilizar los siguientes
repositorios, los cuales habilitamos en el archivosources.list
14

#pico /etc/apt/sources.list
Agregar los siguientes repositorios.
Proyecto Plataforma de Correos.
#MDS repository
deb http://mds.mandriva.org/pub/mds/debian etch main
# DebianVolat ile
deb http://volatile.debian.org/debian-volatile etch/volatile main contrib non-free
# Debian EtchBackports
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 llave de acceso
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 repositorios.
#apt-get update

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

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
15

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”

Confirmamos la contraseña“sena2008 ”.

Seleccionamos“Aceptar”. Lo cual indica la versión del servicio DHCP y anuncia


que el servicio no será autorizado automáticamente
16

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

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


17

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.

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
18

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


para la base de búsqueda.

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

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

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

Éste mensaje indica que el archivonsswitch.conf no se gestiona automáticamente, por lo tanto, mas
adelante debemos modificarlo manualmente
20

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
21

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

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.
6. CONFIGURACIONES
6.1 CONFIGURACIÓN DEL LDAP
Se procede copiar los el esquema del Mail, Samba, MMC, 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/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
archivosldap.conf.
#pico /etc/ldap/slapd.conf
De ésta forma, procedemos a incluir las listas de los esquemas que copiamos anteriormente.
Proyecto Plataforma de Correos.

include /etc/ldap/schema/mmc.schema
22

include /etc/ldap/schema/samba.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 instalació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 dicerootdn, y descoméntela, de tal forma que quede así.
rootdn "cn=admin,dc=grupo9,dc=com"
Y Agrege debajo de ésta la linearootp w 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
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
23

index zoneName,relativeDomainName eq
index dhcpHWAddress,dhcpClassData eq

Debemos definir las listas de acceso que samba tendrá sobre el LDAP y los respectiviso atributos de los
usuarios. 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
24

# List of arguments that were passed to the server


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
25

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
# 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
26

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

# The admin dn has full write access, everyone else


27

# 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ónldap.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
28

Proyecto Plataforma de Correos.


6.2 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. Éste archivo es ofrecido

por las librerías delpython-mmc-base, las cuales fueron instaladas anteriormente, dichas librerías se
encuentran en la siguiente ruta ya que al momento de la inatalación se ubican en/usr/share/doc/.

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


De ésta forma, editar el archivo de configuraciónsmb .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 archivosmb.conf del LDAP. Estas líneas representan el soporte y la integración que el Samba tendrá
sobre el LDAP.

preferred master = yes


os level = 65
wins support = yes
29

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 oculte el Maildir (Buzón) de cada usuario.
hide files = /Maildir/
En la sección [profiles], agregar la siguiente línea, con el fin de que los archivos de Samba estén
ocultos.
34
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
30

Además, agregar al final del archivos mb.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
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"
31

delete group script = /usr/sbin/smbldap-groupdel "%g"


obey pam restrictions = no
ldap idmap suffix = ou=Users
ldap delete dn =no
security = user

35
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
32

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

36
[archives]
comment = Backup share
33

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 =Admi nistrador,root,@lpadm in
force group = "Print Operators"
create mask = 0775
directory mask = 0775

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

[profiles]
34

path = /home/samba/profiles
writeable = yes
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

37
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

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.
38
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 desmbldap-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 archivos mbldap.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"
usersdn="ou=Users,${suffix}"
computersdn="ou=Computers,${suffix}"
36

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"

39
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 agregar el usuario Administrador al grupo
“Domain Users”.

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


37

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.
# /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: compatldap

group: compatldap

shadow: compatldap
hosts: files dns
networks: files
protocols: db files
40
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:
38

Account Operators:*:548:
Print Operators:*:550:
Backup Operators:*:551:
Replicators:*:552:

Posible Fallo: Si no aparecen las anteriores lìneas, debemos editar los archivoslibnss-l dap ylibpam
-ldap.
#pico /etc/libnss-ldap.conf

Buscamos las siguientes lineas y las descomentamos. En dichas lìneas digitaremos los valores
correspondientes a nuestro dominio y unidad orgainizativa.

nss_base_passwd
ou=users,dc=grupo9,dc=com
nss_base_group
ou=groups,dc=grupo9,dc=com
41
Editar el siguiente archivo en donde estableceremos el nombre de dominio y unidades organizativas
para los usuarios y grupos. Se deben descomentar.
#pico /etc/pam_ldap.conf
Las lìneas deben quedar de la siguiente forma.
nss_base_passwd
ou=users,dc=grupo9,dc=com?one
nss_base_shadow
ou=users,dc=grupo9,dc=com?one
nss_base_group
ou=groups,dc=grupo9,dc=com?one

Luego se deben reconfigurar el paquete libnss-ldap ylibpam-ldap para que se apliquen los cambios
efectuado en los dos archivos de configuración anteriores.

#dpkg-reconfigure libnss-ldap
39

Establecer los valores pertenecientes a nuestro nombre de dominio.


#dpkg-reconfigure libpam-ldap
Establecer los valores pertenecientes a nuestro dominio.
Volver a probar la configuración del nsswitch con el comandotespar m.

Ahora debemos crear unos directorios que Samba necesita para alojar sus archivos. Dichos directorios
fueron los bloques que están descritos en el archivos mb.conf.

42
#mkdir -p /home/samba/shares/public/
#mkdir /home/samba/netlogon/
#mkdir /home/samba/profiles/
#mkdir /home/samba/partage/
#mkdir /home/samba/archives/

Se debe reiniciar el Samba para que se apliquen los cambios con respecto a
los directorios creados.
#/etc/init.d/samba restart
Algunas veces, al reiniciar más adelante la MMC presenta errores, por esto
debemos crear un directorio adicional“archives” en“/ho me/”.
#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/

6.3 Configuración del PAM LDAP.

Ahora, debemos agregar el módulo del LDPA al PAM. Los cuales serán utilizados para la autenticación
40

contra el LDAP. Específicamente los archivos que se modifican son: common-account, common-auth,
common-password,

common-session.
Editar el archivocom mon-account.
43
#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.
#account required

pam_unix.so
account sufficient
pam_ldap.so
Editar el archivocom mon-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
41

auth sufficient
pam_ldap.so use_first_pass
auth required
pam_deny.so
Editar el archivocom mon-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
password
sufficient
pam_ldap.so use_first_pass use_authtok
password
required
pam_deny.so
42

# 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 archivocom mon-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
6.4 Configuración DNS (BIND9)
43

Procedemos a configurar el servicio DNS.


#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 elSldap y luego elBIND.
#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

6.5 Configuración DHCP


Procedemos a configurara el servicio DHCP.
#cp /usr/share/doc/python-mmc-base/contrib/dhcpd/dhcpd.conf /etc/dhcp3/
Editar el archivodhcpd.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";

6.6 SSL Para El Correo (Entidad Certificadora).

Se debe instalar una entidad certificadora para obtener los respectivos certificados y llaves para la
44

seguridad de nuestros dos sitios Web: MMC, Squirrelmail.

Debemos editar el archivomail.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
47
commonName = serv er1 . g rupo 9 . com
emailAddress = p o s tm a st er@ g ru p o 9 . 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.
45

#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
Especificar los derechos de la llave, de tal forma que solo el root pueda leerlo.
#chmod 600 /etc/ssl/private/mail.key
6.7 Configuración SASL

Postfix autenticará los usuarios contra la base de datos LDAP. Procedemos a crear el
directoriosaslauthd. 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 archivosaslauthd, 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 archivosaslauthd.conf con el fin de indicarle a SASL contra


quién va a realizar la autenticación.
48
#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
46

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 usuariopostfix y
agregarlo al gruposasl.
#adduser postfix sasl
Debemos reiniciarSASL para que aplique los cambios efectuados.
#/etc/init.d/saslauthd restart
49
6.8 Configuración Postfix
Copiamos los archivo del Postifx con el fin de poder trabajar con lo Usuarios y
Dominios virtuales.
#cp /usr/share/doc/python-mmc-base/contrib/postfix/with-virtual-domain/* /etc/postfix/
Editamos el archivomain.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
47

mydomain =grupo9.com
alias_maps = ldap:/etc/postfix/ldap-aliases.cf, hash:/etc/aliases

alias_database = hash:/etc/aliases
myorigin = /etc/mailname
mydestination =server1.g rupo9.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 = +
inet_interfaces = all

50
# 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
48

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


smtpd_recipient_restrictions =
49

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 archivoldap.aliases.cf con el fin de definir los álias del LDAP en el Postfix.
#pico /etc/postfix/ldap-aliases.cf
50

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

Debemos editar el archivomas ter.c f en donde se definen qué protocolos y con qué servicio adicionales
trabajará postfix.
52
#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


51

-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

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
53
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
52

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
53

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

#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

5
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
6.9 Configuración de Dovecot
Debemos borrar todo el contenido del archivodovecot.conf ya que éste no nos
sirve para lo que queremos realizar.
#echo "" > /etc/dovecot/dovecot.conf
54

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

55
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 {
55

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
mode = 0660
user = postfix
group = postfix

}
}
}
56
Dejamos en blanco el archivodovecot-ld ap.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
56

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 Maildir de cada usuario.

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


Reiniciamos el servicio Dovecot.
# /etc/init.d/dovecot restart
57
6.10 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 archivo15-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.
57

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 archivo50-user.
#pico /etc/amavis/conf.d/50-user
El archivo debe ser parecido a esto.

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

Se debe crear el usuariocla mav y agregarlo al grupoamavis.


#adduser clamav amavis
58
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 archivo20-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
58

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)
59
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

6.11 Configuración Spamassassin


Se edita el archivolocal.cf en donde se definirá el nivel de escaneo y las bases
de datos que se utilizarán.
#pico /etc/spamassassin/local.cf
Debemos asegurarnos que las siguientes líneas estén descomentadas.
Nota: Si los mensajes que recibimos o enviamos los detecta a todos
59

como spam, debemos aumentar elscore.

rewrite_header Subject*****SPAM*****
report_safe 1
required_score0.3

Dentro del mismo archivo, agregar las siguientes líneas, las cuales son las ba- ses de datos 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
60
use_bayes_rules 1
bayes_auto_learn 1
Habilitar los plugin de Spamassassin, para esto debemos editar el archivo
v310.pre.
#pico /etc/spamassassin/v310.pre
Asegurarse que las siguientes estén descomentadas.

loadplugin Mail::SpamAssassin::Plugin::DCC
loadplugin Mail::SpamAssassin::Plugin::Pyzor
60

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
61
6.12 Cetificados SSL
Se procede a darle seguridad a la consola MMC y al Squirrelmail. Para esto se
debe crear el directoriossl dentro deapache2.
#mkdir /etc/apache2/ssl/
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 llaveserver.key, con el fin que solo el root
61

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 llaveweb mail.key.
#chmod 600 /etc/apache2/ssl/webmail.key
6.13 Configuraciòn 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 Webmmc, el cual cumplirá la función de redireccionar ammcs
(De forma segura).
62
#pico /etc/apache2/sites-available/mmc
Éste sitio debe contener las siguientes líneas.

<VirtualHost *:80>
ServerName server1.grupo9.com
RewriteEngine On

RewriteCond %{HTTPS} off


RewriteRule (.*) https://server1.grupo9.com/mmc
</VirtualHost>
Creamos el sitio Webmmcs.
#pico /etc/apache2/sites-available/mmcs
Éste sitio debe contener las siguientes líneas.
NameVirtualHost *:443
<VirtualHost *:443>

ServerName server1.grupo9.com
62

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
63
CustomLog /var/log/apache2/mmc_access.log combined
LogLevel warn
</VirtualHost>
64
6.14 Configuración Sitio Web Squirremail
Por defecto, cuando se instala Squirrelmail, éste instala su sitio web escrito en
php, el cual se encuentra en la ruta con el nombre de apache.conf
/usr/share/squirrelmail/config/apache.conf Si deseamos configurar de forma
básica el Squirrelmail, simplemente realizamos un enlace entre éste sitio y el
apache2.
#ln -s /usr/share/squirrelmail/config/apache.conf /etc/apache2/conf.d/apache.conf
63

Reiniciamos el apache2 para que se apliquen los cambios.


#/etc/init.d/apache2 restart
De éste modo se puede acceder al Squirrelmail via Web digitando en nuestro
navegadorlocalhost.
Forma Segura (SSL) Se procede a configurar el webmail Squirrelmail
de forma segura.
Crear el sitio Webwebmail, el cual cumplirá la función de redireccionar a
webmails (De forma segura). Algo que se debe tener en cuenta, es que si

tenemos configurado el Squirrelmail de forma básica, simplemente debemos elimnar el archivo/etc


/apache2/conf .d/apache2 para que entren en conflicto con el sitio del Squirrelmail que será
configurado en/etc /apache2/sites-

available/
#rm /etc/apache2/conf.d/apache.conf
Luego se procede a configurar el sitio Web del Squirrelmail.
#pico /etc/apache2/sites-available/webmail
Éste sitio debe contener las siguientes líneas.
65
<VirtualHost *:80>
ServerName webmail.grupo9.com
RewriteEngine On

RewriteCond %{HTTPS} off


RewriteRule (.*) https://webmail.grupo9.com
</VirtualHost>
Creamos el sitio Webwebmails.
#pico /etc/apache2/sites-available/webmails
Éste sitio debe contener las siguientes líneas, en las cuales se define el
respectivo certificado y llave para la seguridad del sitio Web.
64

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
SSLCipherSuite
ALL:!ADH:!EXPORT56:RC4+RSA:+HIGH:+MEDIUM:+LOW:+SSLv2:+EXP:+eNULL

<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>
66
<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
65

</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 archivoports.conf.
#pico /etc/apache2/ports.conf
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.
67
#a2ensite mmc
#a2ensite mmcs
66

#a2ensite webmail
#a2ensite webmails

Debemos reescribir los módulos de los sitios Web.


# a2enmod rewrite
Cargar el módulossl 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
6.15 Configuración Pluging MMC

Procedemos a configurar el plugin-base, el cual comunicará el Samba con la MMC. Con esto se obtiene
el buen funcionamiento de la interfaz web de la MMC.

#pico /etc/mmc/plugins/base.ini
El contenido debe ser parecido al siguiente.

[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

68
baseComputersDN = ou=Computers, %(basedn)s
# LDAP manager
rootName = cn=admin, %(basedn)s
67

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 pluginmail.ini para poder trabajar con los usuarios y dominios virtuales.
68

#pico /etc/mmc/plugins/mail.ini
El archivo debe ser parecido a éste.

[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

69
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 pluginnetwork.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
69

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 lammc- agent para que se apliquen los cambios efectuados y se ponga
en funcionamiento.
#/etc/init.d/mmc-agent start
Reiniciar el Servicio DNS.
# /etc/init.d/bind9 restart
70
70
71

Proyecto Plataforma de Correos.


6.16 Interfaz MMC
72

Para conectarse a la interfaz web de la MMC, se debe digitar en nuestro navegadorhttp: //127.0.0.1
óhttp://192.168.0.19. Cuando se tenga definido el nombre de host y el nombre de dominio (FQDN) en
la consola de administración MMC se pueda ingresar conhttp: //server1 .grupo9.com/m mc

Como Login digitamos“root ” y como password“sena2008”, dicho password es


la contraseña del administrador del LDAP.
Una ves haber ingresado, debe aparecer la consola de administración MMC.
Proyecto Plataforma de Correos.
6.16 Interfaz MMC

Para conectarse a la interfaz web de la MMC, se debe digitar en nuestro navegadorhttp: //127.0.0.1
óhttp://192.168.0.19. Cuando se tenga definido el nombre de host y el nombre de dominio (FQDN) en
la consola de administración MMC se pueda ingresar conhttp: //server1 .grupo9.com/m mc

Como Login digitamos“root ” y como password“sena2008”, dicho password es


la contraseña del administrador del LDAP.

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


73

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

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

Digitar“ webmail ” como alias del host“server1”, luego dar clic en“Confirm ” para
confirmar la configuración.

Al confirmar los cambios aplicados, debe aparecer algo como esto.


75

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"Confir m" para guardar los cambios realizados
76

Al confirmar los cambios efectuados, debe aparecer álgo como esto.

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.

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
77

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

Nota: Se debe 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. Se mostrará
primero la plantilla del usuario rafa y luego la del usuario jeyson.
78
79
80

Para trabajar con dominios virtuales debemos realizar los siguientes pasos. El
dominio virtual será“helplan.com ”

Ahora, procedemos a darle la opción a cada usuario para que pueda trabajar
con usuarios y dominios virtuales.
Usuario rafa

Buscamos la sección de Mail plugin (Editando el usuariorafa). En ésta prueba

trabajaremos de la siguiente forma:


Usuario Real:rafa
Usuario Virtual:rafael
Dominio Real:grupo9.com
81

Dominio Virtual:helplan.co m
Al final, confirmamos los cambios.

Buscamos la sección de Mail plugin (Editando el usuariojeyson). En ésta

prueba trabajaremos de la siguiente forma:


Usuario Real:jeyson
Usuario Virtual:jahenaoal
Dominio Real:grupo9.com
Dominio Virtual:helplan.co m
Al final, confirmamos los cambios.
82

Proyecto Plataforma de Correos.


7 CONFIGURACIÓN DEL LADO DEL CLIENTE (Windows XP. Aplica para
otras versiones de Windows).
Para unir algún equipo cliente XP al dominiogrupo9.com debemos realizar los
siguientes pasos.
• Se debe cerciorarse que ningún otro DHCP esté corriendo en nuestra
propia red.
• Inicie el Sistema de Windows e ingrese como Administrador local.
• Cerciorarse que la configuración de la tarjeta de red esté activada para
usar DHCP.
• Clic derecho en “MI PC”, luego“Propiedades ”.
• Clic en la pestaña “Nombre de equipo”, luego“Cambiar ”

Automáticamente ya debe estar definido el nombre de host“clon ”. Seleccionar la casilla de“Do minio
” y escribir el dominio al que quiere pertenece“GRUPO9 ”. Ojo, se digita como un nombre Netbios.
Luego

“Aceptar”
83

Aparecerá la siguiente ventana, en la cual debemos ingresar la cuenta del


“Administrator” y la contraseña “sena2008”

Esperar unos segundos. Debe aparecer una pequeña ventana dándo la


bienvenida al dominioGRUPO9. Luego“Aceptar ”.

Luego, el quipo nos pedirá que se deba reiniciar el sistema. Clic en


“Aceptar” para todo
84

Luego de que el Sitema haya reiniciardo, ingresar alguna de las cuentas creada anteriormente (rafa ó
jeyson). Además debemos dar la opción al inico de seción, que nos loguearemos contra un dominio y
no contra el sistema.

Comprobación del Servidor de Correos.


8.1 Usarios y Dominios Virtuales.
Para ingresar al correo electrónico desde el PDC o desde el cliente XP
debemos realizar los siguientes pasos.
• Digitar en nuestro navegadorwebmail.grupo9.co m Nos daremos cuenta que de inmediato se
redireccionará a https://webmail.grupo9.com (De forma segura). Pedirá que se debe obtener un
certificado para poder visualizar el contenido del sitio Web. Clic en OK
85

En la siguiente imagen muestra si aceptamos el respectivo certificado


para poder conectarce de forma segura al sitio Web. Clic en OK

Proyecto Plataforma de Correos.


• En la siguiente imagen muestra si aceptamos el respectivo certificado
para poder conectarce de forma segura al sitio Web. Clic en OK.

• De ésta forma, iniciamos sesión sesión con la cuenta de correo rafa@grupo9.com y con contraseña
sena2008 (Password del usuario)
86

Una ves de haber ingresado al correo, procedemos a enviar un correo electrónico a la


cuentajeyson@helplan.com (helplan.com es un dominio virtual) ó podemos enviar el mensaje a la
cuentajahenaoal@helplan.com

En teoría, el correo ha haberle llegado al buzón del usuariojeyson. Para


probar, ingresamos a la cuentajeyson@gru po9.com con contraseña sena2008
87

Podemos darnos cuenta que el correo fue recibido.

• Nota: Si el correo aún no ha llegado, debemos esperar unos minutos, ya que el proceso de enviar y
recibir correos electrónicos es un suceso que consume recursos de cómputo
88

.2 Comprobación AntiSpam.
Para realizar la comprobación si el antispam spamassassin está en buen funcionamiento, debemos
enviar un mensaje desde la cuenta rafa@grupo9.com a la cuenta jeyson@grupo9.com, con la palabra
“viagra” varias veces, y como asunto digitar“viagra”.
Una ves hecho esto, revisamos la cuentajeyson@grupo9.co m y observamos el
siguiente etiquetado que spamassassin le agrega al mensaje.
89

8.3 Comprobación Antivirus.

Para esto, probamos enviando un archivo adjunto .zip o .exe. El antivirus no acepta estos tipos de
extenciones y los reconoce de inmediato como virus. Enviaremos un mensaje desde la
cuentarafa@grupo9.co m a la cuenta

jeyson@grupo9.com con el archivo adjunto prueba.exe.

Una vez hecho esto, en pocos segundos, aparecerá el siguiente mensaje en la cuentarafa@grupo9.com
anunciando que el mensaje que intentó enviar está catalogado como virus

9 CONCLUSIÓN

Con el desarrollo de éste proyecto nos damos cuenta de que el Software Libre intenta suplir una de las
necesidades mas importantes en una infraestructura de red como lo es un servicio de directorio, en este
caso esMDS el que nos brinda esa posibilidad de implementar este servicio en una de las distribuciones
mas estables en el mundo del software libre comoGNU/DEBI AN .
89

Además, se logró entender y explicar el funcionamiento, y facil administración del servidor de correos
mediante el MTA Postfix y sus respectivos soportes que tiene frente a otras aplicaciones como lo son
Dovetoc, Amavis, Squirrelmail, SSL, entre otras.

Con la elaboración de éste proyecto, logramos entender una gran cantidada de conceptos que no
estaban estipulados dentro de los objetivos de éste, por lo que nos lleva a decir que cumplió
satisfactoriamente los objetivos especificados dentro del proyecto.

91
10 BIBLIOGRAFÍA
Para la realización de éste proyecto, se tuvieron varios sitios Web que nos
sirveron de mucha ayuda. Dentro de éstos están.
• http://www.howtoforge.com/mandriva-directory-server-on-debian-etch
• http://linuxsilo.net/articles/postfix.html
• http://es.wikipedia.org/wiki/Wikipedia:Portada
• http://wiki.red-sena.net/
• http://www.arrakis.es/~pfabrega/t1.html
92

Das könnte Ihnen auch gefallen