Você está na página 1de 84

MANUAL DE CONFIGURACION

SERVIDOR DE CORREO SEGURO (POSTFIX) INTEGRADO CON MANDRIVA


DIRECTORY SERVER (MDS) EN EL
SISTEMA OPERATIVO GNU/LINUX DEBIAN ETCH.

TITULACIÓN:
ADMINISTRACION DE REDES DE COMPUTADORES

APRENDICES:
ALEJANDRA GUTIERREZ CALDERON
ALEJANDRO ARBOLEDA
ANDRES LOPEZ
ANDRES RESTREPO GONZALES
DANIEL VALENCIA GARCIA
EDER GARCIA DURAN
JOLMAN ALEXANDER ROBLEDO
JOSE RODOLFO HERRERA AGUILAR

TELEINFORMATICA
PROYECTO DE FORMACION
REGIONAL ANTIOQUIA
MEDELLIN

TABLA DE CONTENIDO.

1
Pág.
1.0 PREAMBULO.....................................................................................................8
1.1 SISTEMA BASICO............................................................................................10
1.2 ACLS DEL SISTEMA DE ARCHIVOS..............................................................11
1.3 REPOSITORIOS...............................................................................................12
2. CONFIGURACION.............................................................................................13
3.0 CONFIGURACION DE LDAP...........................................................................19
3.1 CONFIGURACION DE SLAPD.CONF.............................................................19
4. SAMBA Y LDAP..................................................................................................23
4.1 DIRECTORIO LDAP.........................................................................................26
4.2 CONFIGURACION DE NSS LDAP...................................................................29
4.3 CONFIGURACION DE PAM LDAP..................................................................31
5. CONFIGURACION DE BIND..............................................................................33
6. CONFIGURACION DHCP..................................................................................35
7.CONFIGURACION PLUGUINS...........................................................................36
7.1 PLUGIN NETWORK..................................…....................................................37
7.2 PLUGIN SAMBA...............................................................................................37
8. MMC INTERFAZ WEB........................................................................................39
8.1 CONFIGURACION BIND Y DHCPD.................................................................40
8.2 AGREGAR USUARIOS....................................................................................43
9. AGREGAR WINDOWS XP AL DOMINIO...........................................................45
10. CONFIGURACION DEL SERVICIO DE CORREO..........................................47
10.1 SSL PARA EL CORREO................................................................................48
10.2 CONFIGURACION DE SASL........................................................................49
10.3 CONFIGURACION POSTFIX.........................................................................50
10.4 CONFIGURACION DE ALIAS LDAP..............................................................53
10.5 CONFIGURACION DEL ARCHIVO MASTER.CF..........................................53
10.6 CONFIGURACION DOVECOT.......................................................................54
10.7 CONFIGURACION DOVECOT LDAP............................................................56
10.8 ENTREGA DE DOVECOT..............................................................................56
10.9 CONFIGURACION DE AMAVIS....................................................................56
10.10 CONFIGURACION DEL SPAMASSASSIN..................................................57
11. CONFIGURACION WEBMAIL..........................................................................60
12. CREACION DE DOMINIOS Y USUARIOS VIRTUALES..................................63
13. SEGURIDAD SSL PARA EL WEBMAIL...........................................................67
14. CONFIGURACION BASICA DEL MUA……………………………………..……..72

2
INTRODUCCION.

Nosotros como estudiantes de la tecnología Administración de Redes de


Computadores, deseamos fortalecernos en conocimientos, aprovechando la
retroalimentación en nuestra área y así demostrar ganancia en nuestro
desempeño como tecnólogos. Para comenzar a hacerlo hemos planteado como
proyecto, realizar el montaje de un controlador de dominio y servidor de correo,
con sus respectivas evidencias.

En nuestra tercera fase de estudio, participaremos activamente en la formación


por proyectos conformando un equipo colaborativo y cooperativo de trabajo y así
recibiremos las asesorías necesarias en cuanto a Administración de Redes.

3
PLANTEAMIENTO DEL PROBLEMA.

Para cumplir con unos de los requerimientos propuestos por los docentes de la
titulación Administración de redes, se decidió realizar el montaje de un servidor de
correo seguro montado con Postfix y un servicio de directorio en Mandriva
Directory Server “MDS” y a su vez su integración, para generar un manual
funcional, de modo que otras personas al momento de utilizarlo, les proporcione
gran ayuda.

El proyecto planteado busca implementar conocimientos y solucionar dudas


acerca de los diferentes protocolos de servicio de correo y LDAP.

4
DESCRIPCION GENERAL.

Este proyecto se va a realizar con el objetivo de montar un controlador de dominio,


y servicio de correo open source en un sistema operativo libre. Hemos realizado
investigaciones y recibido asesorías con respecto al montaje, la implementación y
el mantenimiento de dichos protocolos para poder llevar acabo este proyecto.

5
OBJETIVO GENERAL.

Realizar el montaje, implementación e integración de una plataforma de correo


segura y un servicio de directorio, basados en licencia GPL., en un sistema
operativo open source, y generar un manual en el cual se explicara como se llevo
acabo dicha implementación.

OBJETIVOS ESPECIFICOS:

Evaluar los conocimientos adquiridos durante la tapa electiva acerca del tema a
desarrollar.

Proponer un plan para reforzar y adquirir nuevos conocimientos del tema a


desarrollar para llevar acabo la ejecución.

Ejecutar el plan de desarrollo del proyecto propuesto.

Retroalimentar nuestros conocimientos.

Cumplir con las expectativas propuestas por los docentes y por los que llevaran a
cabo el proyecto a desarrollar.

Crecer cooperativamente, actitudinalmente en responsabilidad y compromiso.

6
ALCANCE.

Con este proyecto pretendemos desarrollar la integración de un servicio de


directorio con una plataforma de correo segura, con su respectivo manual, al
finalizar esto se espera que los conocimientos acerca del tema mejoren y el
trabajo propuesto se lleva acabo satisfactoriamente, sin ningún tipo de percance.

7
1.0 PREAMBULO.

Mandriva Directory Server es una plataforma de directorio de empresa basada en


LDAP diseñada para la gestión de identidades, control de acceso, políticas y la
configuración de aplicaciones y usuarios.
Mandriva Directory Server es la subestructura de la identidad del sistema de
gestión, el servicio de directorio de administración y la gestión de los servicios de
red.

Es un proyecto de OPEN SOURCE con las siguientes características:


- Autenticación y manejo de usuarios contra un directorio LDAP
- Una bonita interfaz web pasada en Ajax y PHP llamada MMC
Las aplicaciones instaladas para MDS son:

• mmc-agent.
• python-mmc-pluguins-tools.
• python-mmc-base.
• python-mmc-samba.
• python-mmc-mail.
• python-mmc-network.

En este documento explicamos la instalación y configuración del Servidor de


Directorio de Mandriva, implementado sobre el sistema operativo Debían Etch.

• Todo el sistema de integración de OpenLDAP.


• Samba Primary Domain Controller (PDC).
• Servidor de correo Postfix con Dovecot, Amavis, Spamassassin y
ClamAV (POP3/IMAP/SSL/TLS/Quota).
• BIND “servidor-DNS”.
• Servidor DHCP, con actualizaciones dinámicas.

Para el montaje de este Servidor, la configuración con la que trabajaremos será:

• Nombre del equipo: pdc.grupo1.com


• Dirección IP: 192.168.0.100
• Dominio Primario: grupo1.com
• Grupo de trabajo: GRUPO1
• Contraseña (password): sena2008

8
Aquí se muestra el funcionamiento de la MMC en la que la interfaz Web será el
plugin base.ini que se comunicara con la base de datos LDAP, esta será la
encargada de cargar todos los pluguins. Como trabajaremos con LDAP en el
archivo sldap.conf es en donde especificaremos el login y password del
administrador de LDAP, pero esta también la puede encontrar en un servidor
LDAP secundario o una base de datos en Mysql.

9
1.1 SISTEMA BASICO.

Primero especificar el nombre del hosts y el de nuestro dominio.


Vamos al archivo de configuración:

vim /etc/hosts

Después de configurar el nombre del host en el archivo de host, editamos el


archivo hostname.

vim /etc/hostname

Ahora reiniciamos el sistema”PC”.


Reboot

Cuando reinicie el sistema ejecutamos el comando hostname, que sirve para ver
el nombre de la maquina y hostname -f que sirve para ver el FQDN (nombre
completo) así:

10
1.2 ACLS DEL SISTEMA DE ARCHIVOS.

Añadir la opción "acl" en el punto de montaje donde se encontraran los directorios


que SAMBA compartirá

Después de hacer el montaje para que tengan efecto los cambios ejecutamos el
comando
mount -o remount / y si todo está bien, ejecutamos el comando mount –l que
nos muestra los anteriores cambios efectuados.

11
1.3 REPOSITORIOS.

Debemos agregar los siguientes repositorios al archivo /etc/apt/sources.list:

#Debian MDS: Contiene los pluguins necesarios para el funcionamiento de MDS.


deb http://mds.mandriva.org/pub/mds/debian etch main

#Debian Volatiles: Este repositorio contiene paquetes que necesitan cambiar


continuamente, tales como los paquetes que tienen que ver con filtrado de spam y
detección de virus, descompresores etc.
deb http://volatile.debian.org/debian-volatile etch/volatile main contrib non-
free

#Debian Backports: Está formado por paquetes de versiones modernas de


programas que han sido compiladas para integrarse lo mejor posible en el árbol de
dependencias de una versión estable.
deb http://www.backports.org/debian etch-backports main

#Adicionales, por si alguna ves no se encuentra algún repositorio disponible.


deb http://ftp.es.debian.org/debian/ stable main contrib non-free
deb ftp://ftp.us.debian.org/debian sarge main contrib non-free

Luego importamos la clave PGP de los repositorios Debian backports desde


backports.org, con lo siguiente:

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

Después actualizamos con el siguiente comando:

apt-get update

12
Después de actualizar con apt-get update instalaremos esta lista de paquetes, no
vamos a trabajar con todos pero los tendremos ahí por si alguna vez
implementaremos servicios adicionales.

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 postfix-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 libnet-dns-perl razor pyzor dcc-client slapd ldap-utils
libnss-ldap libpam-ldap dhcp3-server dhcp3-server-ldap bind9 samba
smbclient smbldap-tools
Y
apt-get install -t etch-backports dovecot-common dovecot-imapd dovecot-
pop3d
(Con apt-get install –t especificamos la versión del sistema operativo, ya que los
paquetes dovecot actuales del repositorio debian estándar tienen un error al
trabajar en conjunto con LDAP, de modo que utilizaremos los paquetes dovecot
del repositorio Debian Backports.)

2. CONFIGURACION.

Durante la instalación de los nuevos paquetes se le pedirá una serie de preguntas,


responda de la siguiente manera.

Introduzca la contraseña para el administrador del LDAP.

Confirme la contraseña del administrador del LDAP.

13
Aceptar para que nuestro sistema utilice la versión más actualizada de dhcp-
server.

Introducimos el Dominio con el cual trabajaremos.

Trabajaremos con la opción “NO” ya que nuestro equipo trabajara con una
dirección IP estática.

En la configuración de Postfix, escogemos Sitios de Internet ya que nuestro


servicio podrá ver otros servicios de correo y viceversa.

14
Introducimos el nombre del equipo en el cual tendremos el Servidor de correo,
este debe tener el FQDN completo Ejemplo: pdc.grupo1.com.

Introducimos la dirección loopback ya que en nuestra maquina correrá el servicio


LDAP.

Introducimos el nombre del dominio Ejemplo: dc=grupo1, dc=com.

15
Escogemos la versión numero 3 ya que es la más actualizada.

Cambiamos estos valores cn=manager por cn=admin, ya que el usuario manager


no existe y el admin, Es el usuario que puede administrar la base de datos del
LDAP. dc= grupo1, dc=dominio.

16
Introducimos la contraseña SENA2008.

Aceptamos, este asistente nos indica que debemos hacer una configuración en el
archivo nsswitch para que el sistema busque los usuarios, grupos y objetos en la
base de datos del LDAP.

17
Por lo que necesitaremos autenticar a los usuarios a través del directorio LDAP,
escogemos la opción “NO” para que todos los usuarios tengan derecho de lectura
sobre dicha base de datos.

Escogemos la opción “NO” ya que en el ítem anterior dimos permisos de lectura


sobre dicho directorio.

18
3.0 CONFIGURACION DE LDAP.

Después de haber descargado de los repositorios, Copiamos y descomprimimos


los archivos del esquema MMC, mail, SAMBA, printer, DNS y DHCP en el
directorio de esquema de 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

3.1 CONFIGURACION DE SLAPD.CONF.

Agregamos estas líneas en el siguiente archivo de configuración


/etc/ldap/slapd.conf.

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

Y habilitamos todos estos esquemas agregando esta línea schemacheck on

19
De modo que quede de la siguiente forma

Luego encriptaremos la clave del administrador LDAP, que definimos en la


configuración de este (2.1 y 2.2), para encriptar el password utilizaremos la
herramienta slappasswd, Ejemplo:

slappasswd –s sena2008

El resultado debe ser similar a este


{SSHA} kPd9deiwYx4lyAUiQ2NFmzXJK0WyLV9B

Después de haber cifrado la el password agregue esta línea,


rootdn "cn=admin, dc=grupo1, dc=com" en el archivo /etc/ldap/sldap.conf
y descomente:

Luego será necesario modificar las opciones de indexado para la base de datos,
buscamos y comentamos la siguiente línea
Indexing options for database #1 y agregamos las siguiente líneas

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

De tal forma que quede así

20
Ahora agregamos SAMBA a la lista de acceso para la base de datos para estos
borramos esta línea:

access to attrs=userPassword,shadowLastChange.

Y agregamos esta, ya que admin tendrá permisos de escritura sobre este atributo
que seria Samba.

access to attrs=userPassword,sambaLMPassword,sambaNTPassword

Por último editamos el archivo /etc/ldap/ldap.com, y añadimos las siguientes


líneas, en donde decimos en donde se encuentra el servidor LDAP y cual es el
dominio con el que trabajaremos.

host 127.0.0.1
base dc=grupo1,dc=com

21
Procederemos a reiniciar el servicio de LDAP.
/etc/init.d/sldap restart

La salida debe ser igual a esta

22
4. SAMBA Y LDAP.

Primero paramos el servidor samba:

/etc/init.d/samba stop

Copiamos el archivo de configuración del ejemplo samba dentro del directorio


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

Y ajústela lo siguiente en el archivo /etc/samba/smb.conf:


workgroup = GRUPO1
netbiosname = SRV-GRUPO1
ldap admin dn = cn=admin, dc=grupo1, dc=com
ldap suffix = dc=grupo1, dc=com

Agregamos las siguientes líneas en esta misma sección [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 = "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

23
24
Agregamos las siguientes líneas en las secciones:

Sección [homes]:

hide files = /Maildir/ “Para que oculte los directorio Maildir de los usuarios”

Sección [profiles]:

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

Sección [archives]:

Path = /home/samba/archives

Por último agregamos esto

[partage]
comment = aucun
Path = /home/samba/partage
browseable = yes
Public = no
writeable = yes

Podemos verificar si el SAMBA está funcionando bien con el comando

testparm

Ahora le damos a SAMBA las credenciales necesarias para escribir en el LDAP


así:

smbpasswd –w sena2008

25
Ahora crearemos un SID para nuestro grupo de trabajo”workgroup”, para q el
LDAP reconozca y autorice el samba, esto lo hacemos con lo siguiente
net getlocalsid GRUPO1

Tomamos nota de este resultado que no arroja y seguimos con la configuración,


comprobamos si el SID ha sido registrado en el ldap con el siguiente comando,
slapcat | grep sambaDomainName, la salida debe ser similar a esta:

Ahora reiniciamos Samba:

/etc/init.d/samba restart

4.1 DIRECTORIO LDAP.

Lo primero que de hacer es crear el archivo de configuración smbldap-tools que


define la manera de comunicarse con el servidor LDAP, el archivo lo crearemos en
la siguiente ruta /etc/smbldap-tools, y el archivo se llamara: smbldap_bind.conf

El contenido de este nuevo archivo tendrá estas líneas:

slaveDN="cn=admin,dc=grupo1,dc=com"
slavePw="contraseña_del_LDAP"
masterDN="cn=admin,dc=grupo1,dc=com"
masterPw="contraseña_del_LDAP"

26
Luego creamos el fichero de configuración principal en esta misma ruta
/etc/smbldap-tools y el archivo se llamara smbldap.conf, este archivo tendrá
una colección de scripts que ofrecen un sistema de gestión de usuarios y grupos
con LDAP y Samba, gracias al uso de un anuario LDAP listo para funcionar. De
esta forma, podrás añadir, suprimir o modificar cuentas de usuarios en el anuario
LDAP, así como grupos Unix y Samba.

Nota: Cambiaremos las líneas que no corresponden con el nombre de nuestro


dominio.

Ejemplo: Todas las líneas en las que se encuentre la palabra MANDRIVA,


EXAMPLE, hay que tener en cuenta las palabras que se encuentren en minúscula
y en mayúscula y con el SID que creamos anteriormente.

SID="S-1-5-21-3159899821-123882392-54881133"
sambaDomain="GRUPO1"
ldapTLS="0"
suffix="dc=grupo1,dc=com"
usersdn="ou=Users,${suffix}"
computersdn="ou=Computers,${suffix}"
groupsdn="ou=Groups,${suffix}"
idmapdn="ou=Idmap,${suffix}"
sambaUnixIdPooldn="sambaDomainName=GRUPO1,${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-GRUPO1\%U"
userProfile="\\PDC-SRV-GRUPO1\profiles\%U"
userHomeDrive="H:"
userScript="logon.bat"
mailDomain="grupo1.com"
smbpasswd="/usr/bin/smbpasswd"

27
Ha llegado la hora de poblar el directorio ldap y de crear una cuenta que
Administrara el dominio.

smbldap-populate –m 512 -a administrator, luego nos pedirá una contraseña


para este administrador.

Luego tendremos que modificar el uid-number de esta cuenta, de otro modo no


podremos utilizar el servidor de correo. Además añadimos esta cuenta al grupo
"Domain Users", ejecutando el siguiente comando:

smbldap-usermod -u 3000 -G "Domain Users" grupo1

28
4.2 CONFIGURACION DE NSS LDAP.

Define el orden de búsqueda de las bases de datos de cuentas de usuarios ya


sean locales o virtuales.

Agregamos las siguientes líneas borrando todas las anteriores del archivo
/etc/nsswittch.conf

Nota: cuidado al modificar estos archivos porque al reiniciar la maquina nos puede
presentar un error de logueo.

passwd: compat ldap


group: compat ldap
shadow: compat ldap
hosts: files dns
networks: iles
protocols: db files
services: db files
ethers: db files
rpc: db files
netgroup: nis

Nos quedara algo como esto:

Para ver si nuestro equipo está viendo los usuarios y los grupos de LDAP
digitamos el comando getent group, el resultado debe ser diferente al que se
encuentra en /etc/passwd ya que si el resultado es igual el equipo no está viendo
los usuarios y los grupos de LDAP.

29
Esto nos quiere decir que todo ha salido bien.

30
Crearemos los directorios que definimos 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/

Les cambiamos el propietario y los permisos a los directorios que compartirá


SAMBA, con los siguientes comandos.

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/

4.3 CONFIGURACION DE PAM LDAP.

NOTA:
Para la modificación de los siguientes archivos tendremos que tener los mimos
cuidados que tuvimos en el archivo /etc/nsswitch, podemos borrar todo y colocar
las líneas a continuación. El objetivo es permitir la autentificación de los usuarios
del servidor mediante la información almacenada en un servidor LDAP, de tal
forma que se pueda mantener una única base de datos con todos los usuarios, y
no una base de datos por cada máquina.

Vamos a /etc/pam.d/common-account, Este módulo realiza un manejo de


cuentas no basada en autentificación. Es usado normalmente para permitir o
restringir el acceso a determinados servicios según el día del mes, recursos
utilizados actualmente (número máximo de usuarios)...

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

31
En /etc/pam.d/common-auth Este tipo de módulo provee con dos medios de
autentificación del usuario. Primero establece que el usuario es quien dice ser,
indicando a la aplicación que pregunte al usuario por una contraseña u otros
medios de identificación. Después, el módulo puede comprobar la pertenencia a
un grupo (independientemente de la información almacenada en /etc/groups/ ) u
otros privilegios mediante sus 'credential granting properties', el contenido debe
ser igual al siguiente:

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

En el archivo /etc/pam.d/common-password Este módulo es requerido para


modificar el token de autentificación asociado al usuario. Típicamente hay un
módulo por cada tipo de módulo de autentificación basado en
'challenge/response'.

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

32
En el archivo /etc/pam.d/common-session Este módulo está asociado con
realizar cosas que deben ser hechas por el usuario antes o después de que pueda
acceder al servicio. Esto incluye montar directorios, intercambio de datos con
algún usuario, etc... el contenido debe ser igual al siguiente

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

Después reiniciamos el sistema:


reboot

Cuando el sistema arranque de nuevo otorgamos privilegios al grupo


Administradores del dominio para que puedan agregar maquinas al dominio.

net -U Administrator rpc rights grant 'GRUPO1\Domain Admins'


SeMachineAccountPrivilege

5. CONFIGURACION DE BIND.

Copiamos el archivo de configuración prediseñado que se encuentra en la


siguiente ruta.

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

A continuación modificamos el punto de inicio de slapd para que arranque antes


que bind, ya que necesitaremos primero localizar los recursos para que el LDAP
pueda localizarlos en el directorio.

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


6.

33
Luego editamos el archivo /etc/resolv.conf poniendo como sufijo DNS el dominio
con el que estamos trabajando y la ip de nuestra maquina.

34
6. CONFIGURACION DHCP

Copiamos este ejemplo /usr/share/doc/python-mmc-


base/contrib/dhcpd/dhcpd.conf /etc/dhcp3/ en /etc/dhcp

Cambiando la contraseña que le asignamos a LDAP y cambiando el ejemplo por el


nombre de nuestro dominio, de modo que quede similar a este.

35
7. CONFIGURACION PLUGUINS.

Procedemos a editar el Pluguin base para la consola MMC encontrado en


/etc/mmc/plugins/base.ini, cambiando la baseDN de modo que concuerde con el
domino con el que estamos trabajando, luego cambie la línea de password con la
contraseña del administrador del LDAP.

36
7.1 PLUGIN NETWORK.

Después editaremos el plugin de la red para la MMC encontrado en


/etc/mmc/plugins/network.ini, cambiando el dominio de modo que concuerde
con el que estamos trabajando, quedara similar a este.

7.2 PLUGIN SAMBA.

Por último configuraremos el pluguin de Samba situado en


/etc/mmc/plugins/samba.ini, una vez dentro de este cambiaremos la línea que
hace referencia al dominio con el cual trabajaremos.

37
Ahora crearemos un directorio llamado archives el cual necesita la MMC para que
pueda correr en nuestro sistema, lo crearemos en esta ruta
mkdir /home/archives.

Ya en este punto el agente está listo para arrancar digitamos


/etc/init.d/mmc-agent start

38
8. MMC INTERFAZ WEB.

Para ingresar a la interfaz web es necesario digitar en el navegador web


http://127.0.0.1/mmc.

Para ingresar a su configuración digitamos root y el password del admistrador de


LDAP.

39
8.1 CONFIGURACION BIND Y DHCPD.

Haga clic en "Network" en el menú principal y luego en "Add DNS Zone" en el


menú de la izquierda. Editamos la configuración de acuerdo a nuestra
configuración. Haga clic en "Create" para guardar los cambios. Nota: Una subred
DHCP con la configuración básica será creada.

1- Aquí digitamos el dominio con el que estos trabajando


2- Copiamos una breve descripción del servicio
3- Colocamos el nombre del equipo
4- Digitamos la dirección ip del equipo
5- Especificamos el rango en que trabajaremos, con
6- Su respectiva mascara
7- Esta opción es para crear una zona inversa
8- Esta opción es para crear simultáneamente un pool en el dhcp
9- Finalizaremos creando la zona DNS

40
Para configurar el DHCP haz clic en dhcp subnets, luego en el papel y el lápiz clic
para entrar a configurar este servicio.

41
1- Colocamos el rango que entregara el servicio DHCP
2- Especificamos la mascara
3- Colocamos nuestro sufijo DNS
4- Ponemos la dirección de broadcast
5- Colocamos nuestro sufijo DNS
6- Digitamos la dirección ip del Gateway
7- En este campo especificamos la ip de nuestra maquina
8- Como este servicio de directorio también trabaja con nombres
NetBios le especificamos quien es el que resolverá dichos
nombres
9- Dejamos esta opción por defecto
10- Especificamos el tiempo de concesión de la dirección IP
11- Primera dirección que entregaremos
12- Ultima dirección que entregaremos

Ahora la configuración de DHCP está completa y puede arrancar el servidor


DHCP. Haga clic en "Network services management" sobre el lado izquierdo y
luego clic en el triángulo verde para iniciar el servidor DHCP. Nota: Siempre que
cree/elimine/cambie subredes DHCP debe reiniciar el servidor DHCP.

1- Iniciar
2- Parar
3- Reiniciar
4- Force-Reload
5- Ver configuración

42
8.2 AGREGAR USUARIOS.

1- Clic en “Add a user”

43
1- Escribimos el login del usuario a crear
2- Digitamos su respectivo password
3- Confirmamos
4- Si queremos colocar su foto examinaremos la ubicación de la misma
5- Copiamos el nombre(s)
6- Establecemos la dirección de correo (usuario@grupo1.com)
7- Digitamos el teléfono, si no es correcto lo podemos borrar
8- Podemos agregar más números telefónicos
9- Para terminar nos vamos a confirmar encontrada al final

44
9. AGREGAR WINDOWS XP AL DOMINIO.

• Cerciórese de que ningún otro servidor DHCP este corriendo


• Inicie Windows e ingrese como Administrador local
• Configure su conexión de red para usar DHCP
• Botón derecho en "Mi PC " y seleccione "Propiedades"
• Seleccione la pestaña "Nombre de equipo" y haga clic en "Cambiar"
• Ingrese el nombre de equipo deseado, marque el botón de radio "Dominio"
e ingrese grupo1.com.
• Haga clic en "Aceptar" para guardar los cambios

• Tras unos pocos momentos se le pedirán


nombre_del_administrador_del_dominio, que definimos pasos atrás.

Si todo va bien, recibirá un mensaje de bienvenida

45
• Reinicie el sistema.

• Cuando el sistema vuelva a subir, ingrese con el nombre y contraseña del


usuario creado anteriormente.

46
10. CONFIGURACION DEL SERVICIO DE CORREO.

Para la configuración de este servicio trabajaremos con una interfaz Web segura
para revisar los correos, un sistema que cifrara el trafico entre usuario y servidor,
un sistema antivirus y antispam, los usuarios se loguearan en el servidor de
directorio previamente configurado.

Se ha elegido Postfix como MTA. A Postfix se le han agregado los siguientes


mecanismos de seguridad: TLS/SSL, para cifrar las conexiones y SASL (Simple
Authentication and Security Layer) como sistema de autentificación.

Todo el correo que pase a través del servidor SMTP será revisado en busca de
virus y SPAM. Para llevar a cabo esta tarea se utilizará AMaViSd-new como
interfaz entre el servidor de correo SMTP y las aplicaciones ClamAV y
Spamassassin, las cuales analizarán el correo en busca de virus y SPAM
respectivamente.

Para la consulta de mensajes por parte de los usuarios se dispondrá de un


servidor POP3 e IMAP, con sus respectivas versiones seguras con protocolo SSL,
para lo cual se hará uso de Dovecot (POP3- (SSL/TLS), IMAP- (SSL/TLS)).

47
10.1 SSL PARA EL CORREO.

Para cifrar la conexión entre el cliente y el servidor usaremos SSL, crearemos un


archivo de configuración con esta información ya que nosotros seremos una
entidad certificadora el archivo se creara en /etc/ssl/mail.cnf
Nota: ·Entre más grande el default_bits mas segura será la transmisión entre el
cliente y el servidor.

[ 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 = CO
stateOrProvinceName = Antioquia
localityName = Medellin
organizationName = Sena
organizationalUnitName = Grupo1
commonName = pdc.grupo1.com
emailAddress = nombre_del_administrador_del_dominio@grupo1.com
[ server_cert ]
basicConstraints = critical, CA:FALSE
subjectKeyIdentifier = hash
keyUsage = digitalSignature, keyEncipherment
extendedKeyUsage = serverAuth, clientAuth
nsCertType = server
nsComment = "mailserver"

48
Una vez creado este texto creamos el certificado SSL ejecutando la siguiente
línea:

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

Con esto creamos dos llaves una publica que tendrán los clientes y una llave
maestra que es la que tendrá el servidor (Estas dos llaves son las que descifraran
el tráfico entre el servidor y el cliente. La clave llave privada es creada en
/etc/ssl/private/mail.key, y la publica en /etc/ssl/certs/mail.pem)

Luego cambiamos los permisos para que root solo pueda leerlo.
chmod 600 /etc/ssl/private/mail.key

10.2 CONFIGURACION DE SASL.

Ya que Postfix utilizara SASL para autenticar los usuarios contra un servidor
LDAP, crearemos los siguientes directorios, para abrir el puerto de SASL.
mkdir -p /var/spool/postfix/var/run/saslauthd/

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

Luego configuraremos /etc/saslauthd.conf, en donde le diremos a SASL quien es


el servidor LDAP y con qué dominio trabajara.

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

Ahora en /etc/postfix/sasl/ crearemos este archivo smtpd.conf, y agregamos


estas dos líneas.

49
pwcheck_method: saslauthd
mech_list: plain login

Añadimos a Postfix SASL el grupo para prevenir problemas de permisos adduser


postfix sasl

Reiniciamos el servicio SASL


/etc/init.d/saslauthd restart

10.3 CONFIGURACION POSTFIX.

Copiamos el archivo de ejemplo de configuración

cp /usr/share/doc/python-mmc-base/contrib/postfix/with-virtual-domain/*
/etc/postfix/
Editamos el archivo principal de configuración de Postfix /etc/postfix/main.cf

# 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 = pdc.grupo1.com
mydomain = grupo1.com
alias_maps = ldap:/etc/postfix/ldap-aliases.cf, hash:/etc/aliases
alias_database = hash:/etc/aliases
myorigin = /etc/mailname
mydestination = pdc.grupo1.com,grupo1.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
# 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


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

51
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

# See /usr/share/postfix/main.cf.dist for a commented, more complete version

smtpd_banner = $myhostname ESMTP $mail_name (Debian/GNU)


biff = no

# appending .domain is the MUA's job.


append_at_myorigin = yes
append_dot_mydomain = no

myhostname = mail.mandriva.com
alias_maps = hash:/etc/aliases
alias_database = hash:/etc/aliases
myorigin = /etc/mailname
mydestination = mail.mandriva.com,mail,localhost.localdomain,localhost
relayhost =
mynetworks = 127.0.0.0/8
mailbox_size_limit = 0
recipient_delimiter = +
inet_interfaces = all
luser_relay =

# Virtual Domains Control


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

52
# Amavis
content_filter = amavis:[127.0.0.1]:10024
receive_override_options = no_add

10.4 CONFIGURACION DE ALIAS LDAP.

Como los alias de correo están almacenados en el directorio LDAP hay que decirle
a Postfix donde y como ha de realizar las búsquedas. Cuando se especifica:
search_base, va a ser el prefijo que se va a utilizar en una serie de variables de
Postfix para especificar la configuración e interrogación de LDAP.

Editamos este archivo de modo que concuerde con nuestro dominio

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

10.5 CONFIGURACION DEL ARCHIVO MASTER.CF.

Este es el último archivo de configuración del Postfix /etc/postfix/master.cf,


Agregue las siguientes líneas:

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

53
# Mail desde 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_check
s

Luego procederemos a reiniciar el Postfix.

10.6 CONFIGURACION DOVECOT.

Esta configuración que se le realizara al Dovecot proveerá soporte POP3-


(SSL/TLS), IMAP- (SSL/TLS) y cuota al servidor de correo.
Los demonios imap-login y pop3-login, los cuales implementan los protocolos
IMAP y POP3 se encuentran incluidos en el paquete Dovecot. El uso de IMAP y
POP se configura a través de Dovecot; por defecto, Dovecot ejecuta solamente
IMAP. Limpiaremos la configuración que viene por defecto con:
echo " " > /etc/dovecot/dovecot.conf
Luego entramos a agregar estas líneas y ajustamos el nombre de nuestro dominio:

54
protocols = imap imaps pop3 pop3s
listen = 0.0.0.0
login_greeting = grupo1.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
mode = 0660
user = postfix
group = postfix
}
}
}
55
10.7 CONFIGURACION DOVECOT LDAP.

Limpiamos la configuración que viene por defecto en este archivo con


echo "" > /etc/dovecot/dovecot-ldap.conf, luego entramos al nuevo archivo de
configuración y agregamos las siguientes líneas ajustando nuestro dominio

hosts = 127.0.0.1
auth_bind = yes
ldap_version = 3
base = dc=grupo1,dc=com
scope = subtree
user_attrs = homeDirectory=home,uidNumber=uid,mailbox=mail,mailuserquota=quota=maildir:storage
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

10.8 ENTREGA DE DOVECOT.

Ajustamos los permisos para la entrega de Dovecot, de modo que utilice el uid y
gid correctos cuando almacena mensajes en los maildirs, con:

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

Después reiniciamos el servicio de Dovecot

/etc/init.d/dovecot restart

10.9 CONFIGURACION DE AMAVIS.

Es una aplicación que toma un correo entrante/saliente (eso dependerá de nuestra


configuración) lo detiene, se lo da a una aplicación en nuestro caso será Amavis
por su parte los pasará a Spamassassin y ClamAV, luego que los correos han sido
verificados serán enviados nuevamente a Postfix.

Editamos el siguiente archivo, para que Amavis cumpla con estos, ya que lo
hemos definido en el archivo Master.cf de Postfix.

vim /etc/amavis/conf.d/15-content_filter_mode

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

Luego en vim /etc/amavis/conf.d/50-user, agregamos estas líneas para obligar


que se cumplan las reglas que definimos anteriormente.

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

Luego agregue el usuario ClamAV al grupo Amavis y reinicie Amavis y ClamAV.

adduser clamav amavis


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

10.10 CONFIGURACION DEL SPAMASSASSIN.

En este paso habilitará plugins adicionales para incrementar la detección de spam.


vim /etc/Spamassassin/local.cf

Agregue el siguiente contenido al archivo:

# dcc Usa un checksum para las veces que se ha enviado el mensaje.


use_dcc 1
dcc_path /usr/bin/dccproc

#pyzor
use_pyzor 1
pyzor_path /usr/bin/pyzor

#razor BD en internet aprender de todos nosotros lo que consideramos spam.


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

57
#bayes Compara mensajes uno legitimo con un Spam, y saca estadisticas
use_bayes 1
use_bayes_rules 1
bayes_auto_learn 1

En vim /etc/spamassassin/v310.pre que las siguientes líneas se encuentren


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

Ahora configure Spamassassin de modo que se ejecute como demonio.


vim /etc/default/spamassassin

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

Hasta el momento la configuración que tiene el Postfix contra el Spam y el


Malware no es suficiente, habrá que hacerle una pequeña configuración.
Para que el Spamassassin pueda identificar si un mensaje es Spam editaremos el
siguiente archivo: vim/etc/amavis/conf.d/05-domain_id
Una vez dentro del archivo de configuración buscamos y comentamos esta línea
chomp($mydomain = `ejemplo.com`); y la modificamos con nuestros
parámetros, de modo que quede así:

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

Luego entramos en el archivo de configuración


vim /etc/amavis/conf.d/20-debian_defaults

58
Modificamos estos parámetros:
$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
En este mismo archivo buscamos el siguiente bloque y modificaremos:
$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)
Entramos al directorio de Spamassassin y editamos el archivo local.cf, des
comentamos estas líneas:
rewrite_header Subject *****SPAM*****
report_safe 1
required_score 0.3
A required_score 5.0 le cambiamos el valor que viene por defecto que es 5.0 a 0.3
que es el valor con el que se califican los Spam (si el contenido del mensaje
supera 0.3) lo califica como Spam
Nota: Si todos los correos que nos envían y enviamos son Spam tendremos que
jugar con los números bajando la forma de calificación de los correos

Luego inicie Spamassassin y reinicie Amavis.

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

De modo que al momento de mandar un mensaje Spam debe aparecer algo como
esto

59
Y al momento de recibir un virus debe aparecer algo similar a esto:

11. CONFIGURACION WEBMAIL.

Para llevar a cabo el servicio de correo a través de una interfaz web trabajaremos
con Squirrelmail que es una aplicación webmail creada por Nathan y Luke
Ehresman y escrita en PHP. Puede ser instalado en la mayoría de servidores web
siempre y cuando éste soporte PHP y el servidor webtenga acceso a un servidor
IMAPy a otro SNMP.

SquirrelMail sigue el Standard HTML 4.0 para su presentación, haciéndolo


compatible con la mayoría de servidores web. SquirrelMail está diseñado para
trabajar con plugins, lo cual hace más llevadera la tarea de agregar nuevas
características entorno al núcleo de la aplicación.

Licenciada bajo la GNU General Public License, Squirrelmail essoftware libre


Actualmente está disponible en más de 40 lenguajes.

Instalaremos Squirrelmail de a siguiente forma

apt-get install squirremail

Luego crearemos un enlace simbólico para así poderlo abrir

ln –s /usr/share/squirrelmail/config/apache.conf /etc/apache2/conf.d

Modificamos el siguiente archivo vim /etc/apache2/conf.d/apache.conf,


descomentando las líneas de búsquedas de la pagina web.

60
Al digitar la dirección IP del servidor aparecerá la interfaz grafica del Webmail.

Ahora podemos loguearnos con los usuarios creados en la MMC pasos atrás.

61
• En Compose es en donde editamos el correo que vamos a enviar.
• En INBOX es el buzón de los correos entrantes.
• En Send es el buzón de los corres enviados.
• En Trash son los correos borrados.

62
Ejemplo de cómo se envía un correo a un usuario a un usuario creado en LDAP.

12. CREACION DE DOMINIOS Y USUARIOS VIRTUALES.

Primero editamos el pluguin de correo en /etc/mmc/plugins/mail.ini, en donde


cambiaremos el nombre del dominio con el que estamos trabajando,
habilitaremos la opción de usuarios virtuales y descomentar la opción en donde se
guardaran los correos de los usuarios.

Luego de cargar el pluguin de correo el consola MMC, hacemos clic en, ”Add a
domain”

63
Posteriormente aparecerá este pantallazo.

1. Agregamos el dominio virtual


2. Damos una descripción de este dominio
3. Si queremos que la cuota de correo sea ilimitada
4. Establecemos la cuota en caso que no sea ilimitada
5. Creamos el dominio virtual

Luego nos dirigimos a editar los usuarios para agregarlos a los dominios
virtuales creados y también para crearles alias o usuarios virtuales.

1. Esta opción es para que el usuario tenga acceso al correo


2. Establecemos la cuota para este usuario

64
3. Si queremos que el usuario editado no tenga limite en el buzón
4. Aquí se crean los alias que deseemos Ej: El usuario real se llama
pepe@grupo1.com, al hacer esto también se va a llamar
otro@gloshunos.com, otro2@grupo1.com,
otro3@gloshunos.com. Podemos crear los usuarios que queramos, y los
dominios a los que los agregaremos deben ser creados en el pluguin de
correo.
5. Cada vez que queramos agregar damos seleccionamos la opción “Add”.

Para finalizar los usuarios y dominio virtuales debemos dirigirnos a


/usr/share/doc/pitón-mmc-base/contrib/postfix/with-virtual-domains, en
donde copiaremos los siguientes archivos,
cp ldap-accounts.cf ldap-aliases.cf ldap-domains.cf ldap-gid.cf ldap-
maildrop.cf ldap-transport.cf ldap-uid.cf /etc/postfix

De modo que quede

Editamos cada archivo copiado cambiando el dominio en donde trabajaremos

vim ldap-accounts.cf

65
vim ldap-aliases.cf

vim ldap-domains.cf

vim ldap-gid.cf

vim ldap-maildrop.cf

66
vim ldap-transport.cf

vim ldap-uid.cf

Ahora si podemos hacer uso de los usuario virtuales y dominio virtuales creados.

13. SEGURIDAD SSL PARA EL WEBMAIL.

Creamos la carpeta en donde se encontraran los certificados


mkdir /etc/apache2/ssl/
Luego creamos los certificados, llenando la información requerida. Estos
certificados se encontraran en /etc/apache2/SSL:

1. Este certificado será para la consola MMC


openssl req -new -x509 -keyout /etc/apache2/ssl/mmc.key -out
/etc/apache2/ssl/mmc.crt -days 365 -nodes

67
2. Este certificado será para el Webmail:
openssl req -new -x509 -keyout /etc/apache2/ssl/correo.key -out
/etc/apache2/ssl/correo.crt -days 365 -nodes

Le daremos permisos a los certificados creados de modo que root sea el único de
leerlo y modificarlo.
chmod 600 /etc/apache2/ssl/mmc.key mail.key

Teniendo los certificados, crearemos los sitios seguros para esto debemos borrar
el enlace creado anteriormente en /etc/apache2/conf.d
Ahora en /etc/apache2/sites-available/ crearemos un archivo llamado mmc y
dentro de este agregaremos las siguientes líneas, y habilitaremos el motor SSL,
redireccionando esta pagina al puerto 143.
<VirtualHost *:80>
ServerName pdc.grupo1.com
RewriteEngine On
RewriteCond %{HTTPS} off
RewriteRule (.*) https://pdc.grupo1.com /mmc
</VirtualHost>

Después creamos el archivo mmcs que tendrá la seguridad y al que apunta el


archivo creado anterior mente y especificamos la ubicación de las llaves (publica y
privada).
NameVirtualHost *:443
<VirtualHost *:443>
ServerNamepdc.grupo1.com
ServerAdmin Administrator@grupo1.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:+eNULL
<Directory /usr/share/mmc/>

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

Creamos el sitio Webmail en /etc/apache2/conf.d lo llamaremos correo y tendrá


estas líneas.
<VirtualHost *:80>
ServerName correo.grupo1.com
RewriteEngine On
RewriteCond %{HTTPS} off
RewriteRule (.*) https://pdc.grupo1.com
</VirtualHost>

Posteriormente creamos el archivo seguro al que apuntara el archivo correo y


especificamos la ubicación de las llaves (publica y privada), para este sitio.
Alias /squirrelmail /usr/share/squirrelmail
NameVirtualHost *:80
<VirtualHost *:443>
DocumentRoot /usr/share/squirrelmail
ServerName correo.grupo1.com
ServerAdmin Administrator@grupo1.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>

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

Agregamos el puerto seguro en /etc/apache2/ports.conf


Listen 443
Habilitamos los sitios creados
a2ensite mmc
a2ensite mmcs
a2ensite correo
a2ensite correos
El modulo de reescritura
a2enmod rewrite
Y el modulo de SSL
a2enmod SSL
Ahora reiniciamos apache.
/etc/init.d/apache2 restart

70
Al momento de entrar al lossitios Web ya sea correo o MMC deberá aparecer.

71
14. CONFIGURACION BASICA DEL MUA.

Para llevar acabo la configuración de un cliente escogimos Outlook Express, ya que es el


más popular y viene integrado con el Microsoft Office.
Colocamos el nombre del usuario.

Digitamos la dirección de correo electrónico.

72
Como nuestro servidor tendrá soporte para IMAP y POP, no tendremos ningún problema
en escoger cualquier opción según nuestras necesidades.

Digitamos la cuenta del usuario creada en LDAP con su password.

73
Finalizamos con la instalación básica del cliente.

Para recibir los correos que nos han enviado pulsamos clic en la opción “Enviar y recibir
todo”

74
De modo que:

Pulsando doble clic podremos ver el contenido del mensaje recibido.

75
14. ANEXOS.

Si aparece algún error al momento de digitar getent grop para visualizar los
usuarios y grupos de LDAP realizamos los siguientes cambios:

Vamos al archivo de configuración /etc/pam_ldap.conf y allí modificamos estas


líneas:

Nos fijamos que estas líneas estén descomentadas:


• host 127.0.0.1
• base dc=grupo1 dc=com
• ldap versión 3
• pam_password crypt

Descomentamos y modificamos las siguientes lineas


nss_base_passwd ou=People,dc=padl,dc=com?one
De modo que queden así:
nss_base_passwd ou=users,dc=tudominio,dc=com?one

Descomentamos y modificamos las siguientes líneas


nss_base_group ou=Groups,dc=padl,dc=com?one
Aquí cambiamos y queda así:
nss_base_group ou=groups,dc=tudominio,dc=com?one

76
Ahora vamos al archivo de configuración /etc/libnss-ldap.conf y hacemos las
siguientes modificaciones:

Nos fijamos que las siguientes líneas se encuentren descomentadas:


• host 127.0.0.1
• base dc=grupo1 dc=com
• ldap versión 3

Descomentamos y modificamos las siguientes líneas

nss_base_passwdou=People,dc=pald,dc=com?one
Cambiamos y queda así:
nss_base_passwdou=users,dc=grupo1,dc=com

Descomentamos y modificamos la siguiente líneas


nss_base_shadowou=People,dc=pald,dc=com?one
Cambiamos y queda así:
nss_base_shadowou=users,dc=grupo1,dc=com
Descomentamos y modificamos la siguiente líneas
nss_base_group ou=Groups,dc=pald,dc=com?one
Cambiamos y queda así:
nss_base_group ou=groups,dc=grupo1,dc=com

77
Luego podemos ejecutar el asistente de estos dos archivos de configuración.
• dpkg-reconfigure libpam-ldap

Nos aparecerá un cuadro de dialogo donde cambiaremos el identificador de


recursos para el servidor LDAP por 127.0.0.1, damos aceptar.

El nombre distintivo (DN) de la base de búsquedas lo dejamos como esta


dc=grupo1,dc=com, damos aceptar.

Versión de LDAP a utilizar es “3”, damos aceptar.

En Make local root Database admin elegimos “No”.

78
Hace falta un usuario para acceder a la base de datos LDAP? elegimos “No”

Local crypt to use when changing passwords, elegimos “crypt”, damos aceptar.

79
Luego ejecutamos la siguiente línea para ejecutar el asistente de libnss-ldap

• dpkg-reconfigure libnss-ldap

Nos aparecerá un cuadro de dialogo donde cambiaremos el identificador de


recursos para el servidor LDAP por 127.0.0.1.

El
nombre distintivo (DN) de la base de búsquedas lo dejamos como esta
dc=grupo1,dc=com, damos aceptar.

Versión de LDAP a utilizar es 3, damos aceptar,

Dar privilegios especiales de LDAP para root? elegimos “NO”.

80
¿Desea hacer que la configuración la pueda leer o escribir el propietario? elegimos
“No” y al finalizaremos.

81
15. GLOSARIO.

Python: Lenguaje de programación de propósito general, orientado a


objetos, que también puede utilizarse para el desarrollo web.

Python-mmc-plugins-tools: Contiene herramientas comunes necesarias por


parte de algunos plugins del paquete MMC-agent.

Python-mmc-base: Principal plugin base MMC. Contiene la base de la


infraestructura de todos los plugins MMC; tiene como base operaciones de gestion
de LDAP (usuarios, grupos, etc), la autenticación de usuarios.
El archivo de configuración del plugin es /etc/mmc/plugins/base.ini

Python-mmc-samba: Plugin samba que permite que la MMC pueda añadir/quitar


atributos de samba a los usuarios y grupos, para la gestion de Samba, utiliza el
plugin base para todas sus operaciones relacionadas con LDAP. El archivo de
configuración del plugin es /etc/mmc/plugins/samba.ini

Python-mmc-mail: El plugin de correo permite a la MMC añadir/eliminar la


entrega de correo de gestion de los atributos a los usuarios y grupos, correo
electrónico y dominios virtuales, utiliza el plugin base para todas sus operaciones
relacionadas con LDAP. El el archivo de configuración del plugin es
/etc/mmc/plugins/mail.ini.

Python-mmc-network: El plugin network permite la MMC python API para la


gestion de zonas DNS y hosts, DHCP subredes y hosts, en un LDAP. El el archivo
de configuración del plugin es /etc/mmc/plugins/network.ini.

ACL: Access Control List, listas de control de acceso, Es una forma de determinar
los permisos de acceso apropiados a un determinado objeto, dependiendo de
ciertos aspectos del proceso que hace cada host, permitiendo controlar el flujo de
tráfico en equipos de redes.

PAM (Pluggable Authentication Modules): Es un conjunto de librerías


compartidas que proporcionan una forma alternativa para la autentificación de
usuarios en los programas.
PAM utiliza una arquitectura conectable y modular, que otorga al administrador del
sistema de una gran flexibilidad en establecer las políticas de autenticación para el
sistema.

82
CONCLUSIONES.

Este Servidor de Directorio puede ser implementado en una Empresa mediana o


con pequeña productividad, aunque también puede ser instalado en una
Compañía grande, para la buena administración de los usuarios.

La configuración del MDS nos llevo a conocer el funcionamiento y a entender los


conceptos de un servicio de directorio,integrado con LDAP.

Durante la ejecucion de este manual se evaluo los conocimientos adquiridos en la


etapa electiva del quinto trimestre.

Gracias al plan propuestros para llevar a acbo este proyecto se obtuvieron nuevos
conocimientos hacerca del tema desarrolllado.
Se espera que si se cumpla con las espectativas propuestas por los docentes y
nosotros mismos.
Gracias a la actitud, responsabilidad, cooperacion y el compromiso de los
integrantes se pudo realizar este manual, y adquirir nuvas experiencias en cuanto
el trabajo grupal.

83
NETGRAFIA

Autor: Oliver Meyer


Nombre: Mandriva Directory Server On Debian Etch
Fecha de publicacion: Martes 2008-02-05 17:58
Link: http://www.howtoforge.com/mandriva-directory-server-on-debian-etch
Fecha de acceso al sitio: Septiembre 9 del 2008

Autor: Versión castellana no autorizada: Daniel Armando Rodriguez <drodriguez [en]


misiones.gov.ar>
Nombre: Mandriva Directory Server en Debian Etch
Año de publicación: 2008
Link:http://www.softwarelibre.misiones.gov.ar/index.php?
option=com_content&task=view&id=156&Itemid=3
Fecha de acceso: Octubre 15 del 2008

84