manual de mds en debian

104
PROYECTO CUARTO TRIMESTRE TITULACION ADMINISTRACION DE REDES DE COMPUTADORES GRUPO # 2 INTEGRANTES YEISON HERRERA BALBIN SERGIO ALEXIS CANO JESUS MARIA TABORDA HUGO ALBERTO LAINEZ VICTOR HUGO NARVAEZ STIVEN MARIN DAVID ECHEVERRY JORGE JIMENEZ SENA CENTRO DE SERVICIOS Y GESTION EMPRESARIAL REGIONAL ANTIOQUIA MEDELLIN

Upload: anon-252081

Post on 07-Jun-2015

211 views

Category:

Documents


4 download

TRANSCRIPT

Page 1: Manual de Mds en Debian

PROYECTOCUARTO TRIMESTRE

TITULACION

ADMINISTRACION DE REDES DE COMPUTADORES

GRUPO # 2

INTEGRANTES

YEISON HERRERA BALBINSERGIO ALEXIS CANO

JESUS MARIA TABORDAHUGO ALBERTO LAINEZVICTOR HUGO NARVAEZ

STIVEN MARINDAVID ECHEVERRY

JORGE JIMENEZ 

SENACENTRO DE SERVICIOS Y GESTION EMPRESARIAL

REGIONAL ANTIOQUIAMEDELLIN

2008

Page 2: Manual de Mds en Debian

INTRODUCCION

Este trabajo los hemos realizado para adquirir conocimientos acerca de la implementación de una plataforma de correo segura en Mandriva Directory

Server, sobre el sistema operativo Linux Debían.Nos hemos valido de los mejores recursos que logramos reunir esperando que

sea de ayuda para todo aquel que lo desee utilizar.

Page 3: Manual de Mds en Debian

OBJETIVO GENERAL

El objetivo de este trabajo es que los aprendices adquieran espíritu investigativo que los conlleve a un buen desempeño laboral y un desarrollo de

habilidades que le permitan solucionar futuros problemas.

OBJETIVOS ESPECIFICOS

Cifrar el tráfico entre usuario y servidor.

Validar usuarios contra un sistema de directorios.

Almacenar los correos de los usuarios en un sistema de directorios o en una base de datos.

Permita configurar usuarios y dominios virtuales.

Soporte un sistema de antivirus, antispam y antimalware en general.

Soporte administración gráfica (fácil de administrar para el usuario).

Soporte acceso POP, IMAP y Squirrelmail (hacerlo de forma segura - SSL)

MANUAL

Page 4: Manual de Mds en Debian

PARA LA IMPELMENTACION DE UNA PLATAFORMA DE CORREO SEGURA CON

ADMINISTRACION EN MANDRIVA DIRECTORY SERVER EN LINUX DEBIAN

1. Primero especificamos el nombre del hosts y el dominio.Vamos al archivo de configuración:

nano /etc/hosts

127.0.0.1 localhost.localdomain localhost192.168.0.10 debian.sergio.com debian

# The following lines are desirable for IPv6 capable hosts::1 ip6-localhost ip6-loopbackfe00::0 ip6-localnetff00::0 ip6-mcastprefixff02::1 ip6-allnodesff02::2 ip6-allroutersff02::3 ip6-allhosts

Después insertamos el nombre de nuestra maquina en el archivo hostnameEjecutamosecho debian.sergio.com > /etc/hostname

Ahora reiniciamos el sistemareboot

Cuando reinicie el sistema ejecutamos el comando. hostname Que sirve para ver el nombre de la maquina hostname -f Que sirve para ver el FQDN (Nombre de Dominio Totalmente Calificado).

Debe aparecer de esta formadebian.sergio.com

2. Para que samba sea capaz de mapear los ficheros ACL (lista de control de acceso) entre el servidor Linux y los clientes Windows, es necesario añadir acl en el archivo de configuración /etc/fstab (en el determinaremos dónde deben montarse los sistemas de ficheros, en qué orden y cuales deben comprobarse (por fallos de integridad) antes de montarse).

nano /etc/fstab

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

Page 5: Manual de Mds en Debian

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

3. Para poder descargar los paquetes necesarios para configurar el MDS en debían, es necesario agregar las siguientes direcciones de los repositorios, MDS, Volatiles, Backports. - El MDS proporciona el repositorio de paquetes relacionados con MDS y también paquetes para bind9 y dhcp3.

- El repositorio de Debían volátiles proporciona nuevos paquetes de ClamAV y Spamassassin del repositorio bebían estándar.

- El repositorio de Debían backports proporciona nuevos paquetes para Dovecot.

En archivo de configuración agregamos y descomentamos las siguientes líneas debe quedar de la siguiente manera, vamos a.

nano /etc/sources.list

## deb cdrom:[Debian GNU/Linux 4.0 r1 _Etch_ - Official i386 CD Binary-1 20070819-11:52]/ etch contrib $#deb cdrom:[Debian GNU/Linux 4.0 r1 _Etch_ - Official i386 CD Binary-1 20070819-11:52]/ etch contrib m$# Line commented out by installer because it failed to verify:deb http://security.debian.org/ etch/updates main contrib# Line commented out by installer because it failed to verify:deb-src http://security.debian.org/ etch/updates main contrib#deb http://10.3.64.195:81/debian sarge main contrib non-free

deb http://ftp.de.debian.org/debian/ etch main contrib non-free

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

### Debian Volatiles ###deb http://volatile.debian.org/debian-volatile etch/volatile main contrib non-free

### Debian Backporst ###deb http://www.backports.org/debian etch-backports main

-Ahora ejecutamos el siguiente comando. Que es una llave para poder tener permiso para descargar los paquetes de backports.wget –O – http://backports.org/debian/archive.key | apt-key add -

Después actualizamos con el siguiente comando. apt-get update

Ahora instalaremos los paquetes necesarios para poder configurar el MDS en debían.Ejecutamos:

Page 6: Manual de Mds en Debian

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

Si nos aparece un error en la instalación con el paquete dcc-client lo borramos de la lista.

Los paquetes del real-Dovecot en el repositorio estándar de Debian tienen un error en relación con LDAP, por lo que tendremos que utilizar los paquetes Dovecot del repositorio Debian backports.Ejecutamos:

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

4. ConfiguraciónDurante la instalación de los nuevos paquetes nos pedirá una serie de preguntas, las respuestas pueden ser de la siguiente manera.

Configuración de slapdNos pedirá que introduzcamos la contraseña para la entrada de administrador de su directorio LDAP. Damos aceptar.

Page 7: Manual de Mds en Debian

Luego nos pedirá que introduzcamos de nuevo la contraseña, para verificar si las dos contraseñas son correctas y si coinciden.

Luego nos muestra unos términos con base al Servidor DHCP.Damos aceptar.

Page 8: Manual de Mds en Debian

Samba ServerEn el siguiente recuadro nos pedirá que ingresemos el nombre de nuestro dominio.

Luego seleccionamos "No" cuando nos pregunte si el smb.conf debe ser modificado para utilizar la configuración WINS que proviene de DHCP.

Page 9: Manual de Mds en Debian

Configuration PostfixLuego nos muestra unos términos relacionados con la configuración Postfix.Damos aceptar.

Seleccionamos "Sitio de Internet" como tipo genérico de configuración.Damos aceptar.

Page 10: Manual de Mds en Debian

Después introducimos (FQDN), como nombre de correo.Damos aceptar.

Configuración de libnss-ldapIntroducimos el URI (Identificador uniforme de recursos), para el servidor LDAP.Seria la dirección IP “127.0.0.1”.Damos aceptar.

Page 11: Manual de Mds en Debian

Introdocimos el nombre distintivo (DN) de la base de búsquedas.Damos aceptar.

Seleccionamos la versión del protocolo LDAP que debería usar ldapns. La versión de LDAP seria “3”.Damos aceptar.

Page 12: Manual de Mds en Debian

Introducimos la cuenta LDAP para el root. Damos aceptar.

Introducimos la contraseña para la cuenta LDAP de root.Damos aceptar.

Page 13: Manual de Mds en Debian

Luego nos muestra unos términos relacionados nsswitch.conf.Damos aceptar.

Configuración de libpam-ldapSeleccionamos "Sí" cuando nos pregunte sí local root debe ser la base de datos del administrador.

Page 14: Manual de Mds en Debian

Seleccionamos "No" cuando nos pregunte, si hace falta un usuario para acceder a la base de datos LDAP.Damos aceptar.

Luego nos pide que ingresemos la cuenta LDAP para el root.Damos aceptar.

Page 15: Manual de Mds en Debian

Introducimos la contraseña para la cuenta LDAP de root.Damos aceptar.

5. Configuración de LDAP schema files

LDAP (Lightweight Directory Access Protocol), (Protocolo Ligero de Acceso a Directorios) es un protocolo a nivel de aplicación que permite el acceso a un servicio de directorio ordenado y distribuido para buscar diversa información en un entorno de red. LDAP también es considerado una base de datos (aunque su sistema de almacenamiento puede ser diferente) a la que pueden realizarse consultas.

Habitualmente, almacena la información de login (usuario y contraseña) y es utilizado para autenticarse aunque es posible almacenar otra información (datos de contacto del usuario, ubicación de diversos recursos de la red, permisos, certificados, etc).

En conclusión, LDAP es un protocolo de acceso unificado a un conjunto de información sobre una red.

OpenLDAP Se trata de una implementación libre del protocolo que soporta múltiples esquemas por lo que puede utilizarse para conectarse a cualquier otro LDAP

OpenLDAP tiene cuatro componentes principales:

slapd - demonio LDAP autónomo. slurpd - demonio de replicación de actualizaciones LDAP autónomo. Rutinas de biblioteca de soporte del protocolo LDAP. Utilidades, herramientas y clientes.

Page 16: Manual de Mds en Debian

En primer lugar copiamos los archivos del esquema MMC, correo, Samba, DNS y DHCP, que fueron suministrados por los paquetes del MDS anteriormente descargados del repositorio deb http://mds.mandriva.org/pub/mds/debian etch main.Y que se encuentran en la ruta por defecto /usr/share/doc/python-mmc-base/contrib/ldap/ y seran copiados al esquema del directorio 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

Ahora incluiremos la ruta de los esquemas, en el archivo de configuración LDAP.

nano /etc/ldap/slapd.conf Incluir el esquema de archivos después de (inetorgperson schema).

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

Para habilitar schemacheck agregamos schemacheck on por debajo de los esquemas anteriormente incluidos. (Esta directiva significa que todos los cambios se verán obligados a seguir los esquemas de carga, se define a través de incluir las declaraciones en el archivo conf)

6. Configuración BásicaEn este paso necesitaremos la contraseña de administrador ldap (que hemos definido anteriormente en el paso 4) la cual vamos a cifrar en forma encriptada (SSHA).Ejecutamos:slappasswd -s "contraseña"

La salida debe ser similar a esta:{SSHA}Zdn+Zec1IhobOTBuGzwJWdSndPSNr9xA

Page 17: Manual de Mds en Debian

7. Ahora vamos al archivo de configuración del LDAP nano /etc/ldap/slapd.conf (Es el archivo principal de OpenLDAP y es aquí donde se configuran todos sus parámetros)

Y buscamos la siguiente línea que se encuentra comentada y la descomentamos.

rootdn "cn=admin,dc=sergio,dc=com" (Esta línea establece el nodo ("usuario") que tiene privilegios globales para modificar la "base de datos" LDAP, en este caso cn=Admin,)

Después agregamos debajo la línea la contraseña del ldap encriptada.

rootpw {SSHA}Zdn+Zec1IhobOTBuGzwJWdSndPSNr9xA (Indica la contraseña para el usuario Admin)

Ahora tenemos que modificar un indice de opciones para la base de datos.Buscamos la siguiente línea (aquí añadimos los índices nuevos y los permisos de modificación)

# Indexing options for database #1

Y removemos la línea que esta debajo index objectClass eq

Luego insertamos las siguientes líneas

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

8. Ahora agregamos samba para la lista de acceso a la base de datos.Buscamos la siguiente línea. (Que le permite al administrador cambiar cualquier entrada del directorio y al resto de los usuarios solo leerlas.

access to attrs=userPassword,shadowLastChange

Y la cambiamos de la siguiente maneraaccess to attrs=userPassword,sambaLMPassword,sambaNTPassword

En este punto el archivo de configuración del servidor LDAP debe quedar de la siguiente manera.

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

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

Page 18: Manual de Mds en Debian

# Features to permit#allow bind_v2

# Schema and objectClass definitionsinclude /etc/ldap/schema/core.schemainclude /etc/ldap/schema/cosine.schemainclude /etc/ldap/schema/nis.schemainclude /etc/ldap/schema/inetorgperson.schemainclude /etc/ldap/schema/mmc.schemainclude /etc/ldap/schema/samba.schemainclude /etc/ldap/schema/mail.schemainclude /etc/ldap/schema/dnszone.schemainclude /etc/ldap/schema/dhcp.schema

schemacheck on

# Where the pid file is put. The init.d script# will not stop the server if you change this.pidfile /var/run/slapd/slapd.pid

# List of arguments that were passed to the serverargsfile /var/run/slapd/slapd.args

# Read slapd.conf(5) for possible valuesloglevel 0

# Where the dynamically loaded modules are storedmodulepath /usr/lib/ldapmoduleload back_bdb

# The maximum number of entries that is returned for a search operationsizelimit 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 occursbackend bdbcheckpoint 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 occursdatabase bdb

# The base of your directory in database #1suffix "dc=sergio,dc=com"

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

Page 19: Manual de Mds en Debian

# for syncrepl. rootdn "cn=admin,dc=sergio,dc=com" rootpw {SSHA}Zdn+Zec1IhobOTBuGzwJWdSndPSNr9xA

# Where the database file are physically stored for database #1directory "/var/lib/ldap"

# For the Debian package we use 2MB as default but be sure to update this# value if you have plenty of RAMdbconfig 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 lockersdbconfig set_lk_max_lockers 1500

# Indexing options for database #1 index objectClass,uidNumber,gidNumber eq index cn,sn,uid,displayName pres,sub,eq index memberUid,mail,givenname eq,subinitial index sambaSID,sambaPrimaryGroupSID,sambaDomainName eq index zoneName,relativeDomainName eq index dhcpHWAddress,dhcpClassData eq

# Save the time that the entry gets modified, for database #1lastmod 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 onlyaccess to attrs=userPassword,sambaLMPassword,sambaNTPassword by dn="cn=admin,dc=sergio,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# can read everything.

Page 20: Manual de Mds en Debian

access to * by dn="cn=admin,dc=sergio,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=sergio,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"

Además tenemos que editar el fichero de configuración LDAP.nano /etc/ldap/ldap.confY añadimos las siguientes líneas de modo que apunten al servidor ldap

host 127.0.0.1base dc=sergio,dc=com

Después reiniciamos el servidor LDAP/etc/init.d/slapd restart

9. SAMBAConfiguración Básica

Samba es una implementación libre del protocolo de archivos compartidos de Microsoft Windows, para sistemas de tipo UNIX. De esta forma, es posible que ordenadores con Linux, Mac OS X o Unix en general se vean como servidores o actúen como clientes en redes de Windows. Samba también permite validar usuarios haciendo de Controlador Principal de Dominio (PDC), como miembro de dominio e incluso como un dominio Active Directory para redes basadas en Windows; aparte de ser capaz de servir colas de impresión, directorios compartidos y autenticar con su propio archivo de usuarios.

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 ajustamos a nuestras necesidades

Page 21: Manual de Mds en Debian

nano /etc/samba/smb.confEstablecer los siguientes valores en la sección global

workgroup = SERGIOnetbiosname = PDC-SRV-SERGIOldap admin dn = cn=admin,dc=sergio,dc=comldap suffix = dc=sergio,dc=comlogon path = \\%N\profiles\%U

Agregamos las siguientes líneas en esta misma sección.

preferred master = yesos level = 65wins support = yestimeserver = yessocket options = SO_KEEPALIVE IPTOS_LOWDELAY SO_SNDBUF=8192 SO_RCVBUF=8192logon drive = H:passwd program = /usr/sbin/smbldap-passwd -u %upasswd chat = "Changing password for*\nNew password*" %n\n "*Retype new password*" %n\nadd 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 = noldap idmap suffix = ou=Usersldap delete dn = nosecurity = user

Ahora agregamos la siguiente línea en la sección [homes].Que le indica al samba que para cada usuario creado le cree un buzon de correo en la carpeta Maildir.hide files = /Maildir/

Agregamos la siguiente linea en la sección [profiles].Que nos indica que oculte los archivos del samba en la siguiente ruta.hide files = /desktop.ini/ntuser.ini/NTUSER.*/

Establecemos los siguientes valores en la sección [archives].Con esta línea le damos la ruta al samba para que guarde los archivos ocultos que definimos el la línea anterior.path = /home/samba/archives

En este punto el archivo de configuración, de samba debería quedar así.

[global] workgroup = SERGIO netbiosname = PDC-SRV-SERGIO

Page 22: Manual de Mds en Debian

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=sergio,dc=com ldap suffix = dc=sergio,dc=com ldap group suffix = ou=Groups ldap user suffix = ou=Users ldap machine suffix = ou=Computers ldap idmap suffix = ou=Idmap idmap backend = ldap:ldap://127.0.0.1/ idmap uid = 20000-30000 idmap gid = 20000-30000

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

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 passwd sync = yes ldap delete dn = no security = user

[homes] comment = Home directories browseable = no writeable = yes create mask = 0700 directory mask = 0700 hide files = /Maildir/

Page 23: Manual de Mds en Debian

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

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

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

[profiles] 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

Si todo anda bien, ejecutamos el comando.testparm Que sirve para ver los cambios efectuados.

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

smbpasswd -w contraseña

Debe salir algo similar a esto, que nos indica que las credenciales fueron bien asignadas. Setting stored password for "cn=admin,dc=sergio,dc=com"in sec rets.tdb

Ahora crearemos un SID (Identificador de seguridad), para nuestro grupo de trabajo, ejecutamos.

net getlocalsid SERGIO

La salida debería ser algo así como estoSID for domain SERGIO is: S-1-5-21-3647057178-929924568-909873380

Page 24: Manual de Mds en Debian

Comprobamos si el SID ha sido registrado en el ldap con el siguiente comando

slapcat | grep sambaDomainName

La salida debe ser similar a estadn: sambaDomainName = sergio, dc = sergio, dc = comsambaDomainName:SERGIO sambaDomainName:SERGIO

Ahora reiniciamos el SAMBA/etc/init.d/samba start

10. Directorio LDAPLo primero que necesitamos crear es el archivo de configuración smbldap-tools. Y dentro de el crearemos los ficheros configuración smbldap_bind.conf y smbldap.conf. Que definen la manera de comunicarse con el servidor LDAP.

nano /etc/smbldap-tools/smbldap_bind.confEl contenido debe ser similar a este

slaveDN="cn=admin,dc=sergio,dc=com"slavePw="contraseña"masterDN="cn=admin,dc=sergio,dc=com"masterPw="contraseña"

Y ahora, podemos crear el fichero de configuración principal.

nano /etc/smbldap-tools/smbldap.confEl contenido debe ser similar a este (Sustituimos el SID por el nuestro)

SID="S-1-5-21-3647057178-929924568-909873380"sambaDomain="SERGIO"ldapTLS="0"suffix="dc=sergio,dc=com"usersdn="ou=Users,${suffix}"computersdn="ou=Computers,${suffix}"groupsdn="ou=Groups,${suffix}"idmapdn="ou=Idmap,${suffix}"sambaUnixIdPooldn="sambaDomainName=SERGIO,${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-SERGIO\%U"userProfile="\\PDC-SRV-SERGIO\profiles\%U"userHomeDrive="H:"userScript="logon.bat"mailDomain="sergio.com"

Page 25: Manual de Mds en Debian

smbpasswd="/usr/bin/smbpasswd"

Ha llegado la hora de poblar el directorio ldap. Esto también creara la cuenta de administrador de dominio.

Ejecutamos el siguiente comandosmbldap-populate -m 512 -a Administrator

Nos pedirá que introduzcamos la contraseña del administrador.

Luego tendremos que modificar el uid-number de esta cuenta - de otro modo no podremos utilizar el servidor de correo con esta cuenta. Además añadimos esta cuenta al grupo "Domain Users"

Ejecutamos el siguiente comando smbldap-usermod -u 3000 -G "Domain Users" Administrator

11. Configuración del NSS LDAP (El NNS permite autenticar usuarios vía LDAP).

En este paso tendremos que configurar el sistema para usar el directorio ldap, y así conseguir listas de grupos y usuarios

Editamos el nsswitch Que define el orden de la búsqueda de las bases de datos en la red. nsswitch.conf es el nombre del archivo de configuración para modificar el servicio de nombres, generalmente está ubicado en el directorio /etc. Su propósito es decirle al sistema en qué orden debería consultar los distintos servicios de nombres para resolver información acerca de los usuarios, resolución de nombres, y grupos de red.

Ejemplo hosts: files dns (Esto le dice al sistema que primero busque la información de host en el archivo hosts y si no lo encuentra allí que realice una consulta DNS.

nano /etc/nsswitch.confEl contenido debe ser parecido a este.

# /etc/nsswitch.conf## Example configuration of GNU Name Service Switch functionality.# If you have the `glibc-doc' and `info' packages installed, try:# `info libc "Name Service Switch"' for information about this file.passwd: compat ldapgroup: compat ldapshadow: compat ldaphosts: files dnsnetworks: filesprotocols: db filesservices: db filesethers: db filesrpc: db files

Page 26: Manual de Mds en Debian

netgroup: nis

12. Directorios Samba.Crearemos los directorios necesarios para el servidor samba

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

Cambiamos la propiedad y ajustamos los derechos.

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/

13. Configuración del PAM LDAP

Pam_ldap Es el módulo que proporciona los medios para Solaris y Linux servidores y estaciones de trabajo para autenticarse contra directorios LDAP, y para cambiar sus passwords en el directorio.

En este paso agregaremos ldap de soporte para el PAM.Vamos a nano /etc/pam.d/common-accountEl contenido debe ser igual al siguiente.

## /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.soaccount sufficient pam_ldap.so

En el archivo nano /etc/pam.d/common-authEl 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.

Page 27: Manual de Mds en Debian

#auth sufficient pam_unix.so nullok_secureauth sufficient pam_ldap.so use_first_passauth required pam_deny.so

En el archivonano /etc/pam.d/common-passwordEl contenido debe ser igual al siguiente

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

En el archivonano /etc/pam.d/common-sessionEl 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.sosession optional pam_ldap.so

Después reiniciamos el sistemareboot

Page 28: Manual de Mds en Debian

Cuando el sistema arranque de nuevo, damos al grupo "Domain Admins" el derecho de agregar maquinas al dominio.

Ejecutamos el siguiente comando.net -U Administrator rpc rights grant 'SERGIO\Domain Admins' SeMachineAccountPrivilege

Nos pedirá el password y a continuación sedera los derechos.

14. SSL para el correo (Protocolo de capa de conexión segura)SSL (Security Socket Layer) proporciona autenticación y privacidad de la información entre extremos sobre Internet mediante el uso de criptografía.

En primer lugar preparamos un archivo de configuración con la información necesaria.

nano /etc/ssl/mail.cnfAgregamos 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 = COstateOrProvinceName = AntioquialocalityName = MedellinorganizationName = SenaorganizationalUnitName = ITcommonName = debian.sergio.comemailAddress = [email protected][ server_cert ] basicConstraints = critical, CA:FALSE subjectKeyIdentifier = hash keyUsage = digitalSignature, keyEncipherment extendedKeyUsage = serverAuth, clientAuth nsCertType = server nsComment = "mailserver"

Ahora podemos crear 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

Y ajustar los derechos de la clave con el fin de que sólo el root tenga permisos para leerlo. chmod 600 /etc/ssl/private/mail.key

Page 29: Manual de Mds en Debian

15. Configuración de SASL (Simple Authentication Security Layer)Postfix utilizará SASL para autenticar usuarios contra un servidor LDAP

Tenemos que cambiar algunas cosas para que funcione correctamente. Porque Postfix se ejecuta chroot en /var/spool/postfix cambio tenemos un par de caminos a vivir en las falsas raíz. (Es decir, /var/run/saslauthd se convierte en /var/spool/postfix/var/run/saslauthd). Creamos el directorio con el –p (el –p es para crear cada directorio padre que falten para cada directorio)

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

Ahora modificamos el archivo /etc/default/saslauthd con el fin de activar saslauthd.

Vamos a:nano /etc/default/saslauthdDebe tener un aspecto como este.

## Settings for saslauthd daemon#

# Should saslauthd run automatically on startup? (default: no)START=yes

# Which authentication mechanisms should saslauthd use? (default: pam)## Available options in this Debian package:# getpwent -- use the getpwent() library function# kerberos5 -- use Kerberos 5# pam -- use PAM# rimap -- use a remote IMAP server# shadow -- use the local shadow password file# sasldb -- use the local sasldb database file# ldap -- use LDAP (configuration is in /etc/saslauthd.conf)## Only one option may be used at a time. See the saslauthd man page# for more information.## Example: MECHANISMS="pam"MECHANISMS="ldap"

# Additional options for this mechanism. (default: none)# See the saslauthd man page for information about mech-specific options.MECH_OPTIONS=""

# How many saslauthd processes should we run? (default: 5)# A value of 0 will fork a new process for each connection.THREADS=5

# Other options (default: -c)# See the saslauthd man page for information about these options.#

Page 30: Manual de Mds en Debian

# Example for postfix users: "-c -m /var/spool/postfix/var/run/saslauthd"# Note: See /usr/share/doc/sasl2-bin/README.DebianOPTIONS="-c -m /var/spool/postfix/var/run/saslauthd -r"

El archivo de configuración nano /etc/saslauthd.confDebe tener un aspecto como este.

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

El archivo de configuraciónnano /etc/postfix/sasl/smtpd.confDebe quedar asi.

pwcheck_method: saslauthdmech_list: plain login

Añadimos Postfix al grupo SASL Ejecutamosadduser postfix sasl

Y reiniciamos SASL/etc/init.d/saslauthd restart

16. Configuración del POSTFIX

El MTA (Mail Transportation Agent) Es el servidor de correo para unix, Postfix pretende ser rápido, fácil de administrar y seguro, a la vez que suficientemente compatible con Sendmail como para que los usuarios existentes no se asusten. Por lo tanto, externamente mantiene el estilo de Sendmail, mientras que internamente es completamente diferente.

Primero copiamos el ejemplo del archivo de configuracion dentro del directorio postfix. Es la base para la siguiente configuracion.

cp /usr/share/doc/python-mmc-base/contrib/postfix/no-virtual-domain/* /etc/postfix/

En primer lugar ajustamos el archivo de configuracion principal.

Vamos al archivo de configuracionnano /etc/postfix/main.cf (define la mayoría de parámetros de configuración general por ejemplo quien es el servidor de correo, los dominios para enmascarar los correos que va a enviar ,cuales son las redes que pueden enviar a través de el para actuar como Cname, por que interfaces va a escuchar entre otros)

Page 31: Manual de Mds en Debian

Editamos el archivo de modo que se ajuste a nuestro dominio, adicionalmente agregamos algunas restricciones y configuraciones de autenticación.

El contenido debe ser similar a este

# See /usr/share/postfix/main.cf.dist for a commented, more complete versionsmtpd_banner = $myhostname ESMTP $mail_name (Debian/GNU)biff = no

# appending .domain is the MUA's job.append_dot_mydomain = yesappend_at_myorigin = yes

# Uncomment the next line to generate "delayed mail" warnings#delay_warning_time = 4h

myhostname = debian.sergio.commydomain = sergio.comalias_maps = ldap:/etc/postfix/ldap-aliases.cf, hash:/etc/aliasesalias_database = hash:/etc/aliasesmyorigin = /etc/mailnamemydestination = debian.sergio.com,sergio.com,localhost.localdomain,localhostmail_destination_recipient_limit = 1mailbox_command = /usr/lib/dovecot/deliver -d "$USER"@"$DOMAIN"relayhost = mynetworks = 127.0.0.0/8mailbox_size_limit = 0recipient_delimiter = +inet_interfaces = all

# Use Maildirhome_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

Page 32: Manual de Mds en Debian

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 smtpd_sasl_type = dovecot smtpd_sasl_path = private/auth

# Fix for outlookbroken_sasl_auth_clients = yes

# Reject anonymous connections smtpd_sasl_security_options = noanonymous smtpd_sasl_local_domain =

# SSL/TLSsmtpd_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.keysmtpd_tls_session_cache_database = btree:${queue_directory}/smtpd_scache

# Amaviscontent_filter = amavis:[127.0.0.1]:10024receive_override_options = no_address_mappings

17. Configuración del alias en LDAPAhora tendremos que editar la configuracion del alias.

Vamos al archivo /etc/postfix/ldap-aliases.cf Que contiene la lista de alias del LDAP, en el se especifica al inicio un nombre ó alias de correo.

Editamos el archivo que se ajuste a nuestro dominio Que debe ser similar a este

server_host = 127.0.0.1search_base = ou=Users,dc=sergio,dc=comquery_filter = (&(objectClass=mailAccount)(mailalias=%s)(mailenable=OK))result_attribute = maildropversion = 3

Page 33: Manual de Mds en Debian

18. Configuración del master.cf. Esta es la última parte en la configuración del postfix.

Vamos al archivo nano /etc/postfix/master.cf (En este archivo se definen los parámetros de configuración de los servicios que trabajan en conjunto con el postfix, se define por ejemplo si se va a trabajar con spamassassin, clamav , y amavis)

Descomentamos las siguientes líneas.-o smtpd_enforce_tls=yes-o smtpd _sasl_auth_enable=yes

Y agregamos las siguientes líneas

# SMTPSsmtps inet n - - - - smtpd -o smtpd_tls_wrappermode=yes -o smtpd_sasl_auth_enable=yes

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

# Mail to Amavisamavis 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 Amavis127.0.0.1:10025 inet n - - - - smtpd -o content_filter= -o local_recipient_maps= -o relay_recipient_maps= -o smtpd_restriction_classes= -o smtpd_delay_reject=no -o smtpd_client_restrictions=permit_mynetworks,reject -o smtpd_helo_restrictions= -o smtpd_sender_restrictions= -o smtpd_recipient_restrictions=permit_mynetworks,reject -o smtpd_data_restrictions=reject_unauth_pipelining -o smtpd_end_of_data_restrictions= -o mynetworks=127.0.0.0/8 -o smtpd_error_sleep_time=0 -o smtpd_soft_error_limit=1001 -o smtpd_hard_error_limit=1000 -o smtpd_client_connection_count_limit=0 -o smtpd_client_connection_rate_limit=0 -o receive_override_options=no_header_body_checks,no_unknown_recipient_checks

Reiniciamos el postfix/etc/init.d/postfix restart

Page 34: Manual de Mds en Debian

19. DOVECOT (agente de descarga de mail)Dovecot proporcionara POP3- (SSL/TLS), IMAP- (SSL/TLS) y contingentes de apoyo para el servidor de correo.

Configuracion principalEjecutamos: echo " " > /etc/dovecot/dovecot.conf Para limpiar este archivo

Ahora vamos al archivo nano /etc/dovecot/dovecot.confEl contenido debe ser similar a este

protocols = imap imaps pop3 pop3s listen = 0.0.0.0login_greeting = sergio.com mailserver ready. mail_location = maildir:~/Maildirdisable_plaintext_auth = nossl_cert_file = /etc/ssl/certs/mail.pem ssl_key_file = /etc/ssl/private/mail.keylog_path = /var/log/dovecot.loginfo_log_path = /var/log/dovecot.log

# IMAP configurationprotocol imap { mail_plugins = quota imap_quota}

# POP3 configurationprotocol 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

Page 35: Manual de Mds en Debian

mode = 0660 user = dovecot group = mail }

client { path = /var/spool/postfix/private/auth mode = 0660 user = postfix group = postfix } }}

20. Configuración de LDAPPara configurar Dovecot, para utilizar LDAP editamos este archivo contiene detalles acerca de su servidor LDAP.

Ejecutamos echo "" > /etc/dovecot/dovecot-ldap.conf Para limpiar este archivo

Ahora vamos al archivo nano /etc/dovecot/dovecot-ldap.confEl contenido debe ser similar a este

hosts = 127.0.0.1auth_bind = yesldap_version = 3base = dc=sergio,dc=comscope = subtreeuser_attrs = homeDirectory=home,uidNumber=uid,mailbox=mail,mailuserquota=quota=maildir:storageuser_filter = (&(objectClass=mailAccount)(mail=%u)(mailenable=OK))pass_attrs = mail=user,userPassword=passwordpass_filter = (&(objectClass=mailAccount)(mail=%u)(mailenable=OK))default_pass_scheme = CRYPTuser_global_gid = mail

21. DELIVER.(Termino que define al dovecot como agente de entrega de correos).Ahora ajustamos los derechos para el dovecot deliver. Entonces dovecot usara los derechos uid (identificador de usuario) y gid (identificador de grupos de usuarios), Cuando almacene los mensajes en los maildirs (Maildir es un formato de spool, Operación On Line y Simultánea con Periféricos) de correo electrónico que no bloquea los ficheros para mantener la integridad del mensaje, porque los mensajes se almacenan en ficheros distintos con nombres únicos. Maildir es un directorio con tres subdirectorios llamados tmp, new, y cur. Todos los subdirectorios deben residir en el mismo sistema de archivos

Page 36: Manual de Mds en Debian

Luego cedemos los derechos para poder autorizar al Dovecot, de modo que este pueda administrar los indicadores relativos de usuarios y de grupos, cuando sean guardados los correos en la carpeta Mialdir de los usuarios.

Ejecutamos el siguiente comandodpkg-statoverride --update --add root dovecot 4755 /usr/lib/dovecot/deliver

Después reiniciamos el dovecot/etc/init.d/dovecot restart

22. Postfix va a pasar el correo a Amavisd. Amavis por otra parte pasará a Spamassassin y ClamAV. Después de que los mails han sido chequeados, serán pasados de nuevo al postfix.

AMAVISD es un interfaz de alto rendimiento y fiabilidad entre el MTA y uno o más filtros de contenidos: antivirus (clamAV o el módulo Mail: SpamAssassin) Está escrito en Perl, asegurando alta fiabilidad, portabilidad y facilidad de mantenimiento. Se comunica con el MTA via SMTP o LMTP, o mediante el uso de otros programas. No existen problemas de sincronización en su diseño que pudieran causar pérdidas de correos.

ClamAV es una herramienta antivirus GPL para UNIX. El propósito principal de este software es la integración con los servidores de correo (escaneo de datos adjuntos). El paquete proporciona un servicio multihilo flexible y escalable, un analizador de línea de comandos y una utilidad para la actualización automática via Internet. Los programas están basados en una librería distribuida con el paquete Clam AntiVirus, la cual puede ser usada por su propio software. Y lo más importante, la base de datos se mantiene actualizada constantemente.

SpamAssassin es un filtro de correo que trata de identificar el spam mediante el análisis del texto y el uso en tiempo real de algunas listas negras a través de Internet. A partir de su base de datos de reglas, utiliza un amplio abanico de pruebas heurísticas en las cabeceras y el cuerpo de los correos para identificar el spam, también conocido como correo electrónico comercial no solicitado. Una vez identificado, el correo puede ser opcionalmente marcado como spam o más tarde filtrado usando el cliente de correo del usuario.

Configuremos Amavis de forma tal que los correos pasen por este y los revise estrictamente y los descomprima si es necesario.

Vamos al archivo nano /etc/amavis/conf.d/15-content_filter_modeDebe tener un aspecto como este

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

Page 37: Manual de Mds en Debian

1;

Ahora vamos anano /etc/amavis/conf.d/50-userDebe tener un aspecto como este

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

A continuación añadir el usuario clamav al grupo amavis y reiniciar amavis y ClamAV.

Ejecutamos: adduser clamav amavis

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

SpamassassinEn este paso tendremos que habilitar plugins adicionales para aumentar la detención de spam.

Vamos al archivo de configuracion nano /etc/spamassassin/local.cfY agregamos el siguiente contenido en el fichero

#pyzoruse_pyzor 1pyzor_path /usr/bin/pyzor

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

#bayesuse_bayes 1use_bayes_rules 1bayes_auto_learn 1

Luego vamos al archivo nano /etc/spamassassin/v310.preDes comentamos la línea para el DCC-plugin.Debe tener un aspecto como este

#loadplugin Mail::SpamAssassin::Plugin::DCCloadplugin Mail::SpamAssassin::Plugin::Pyzorloadplugin Mail::SpamAssassin::Plugin::Razor2loadplugin Mail::SpamAssassin::Plugin::SpamCoploadplugin Mail::SpamAssassin::Plugin::AWL

Page 38: Manual de Mds en Debian

loadplugin Mail::SpamAssassin::Plugin::AutoLearnThresholdloadplugin Mail::SpamAssassin::Plugin::WhiteListSubjectloadplugin Mail::SpamAssassin::Plugin::MIMEHeaderloadplugin Mail::SpamAssassin::Plugin::ReplaceTagsloadplugin Mail::SpamAssassin::Plugin::Pyzorloadplugin Mail::SpamAssassin::Plugin::Razor2loadplugin Mail::SpamAssassin::Plugin::SpamCoploadplugin Mail::SpamAssassin::Plugin::AWLloadplugin Mail::SpamAssassin::Plugin::AutoLearnThresholdloadplugin Mail::SpamAssassin::Plugin::WhiteListSubjectloadplugin Mail::SpamAssassin::Plugin::MIMEHeaderloadplugin Mail::SpamAssassin::Plugin::ReplaceTags

Ahora modificaremos los siguientes archivos, donde definiremos la forma como trabajara el Spam.

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

Descomentamos la siguiente línea para saber como mostrara el spam$sa_spam_subject_tag = '***SPAM*** ';

Y cambiamos las siguientes líneas, deben quedar de la siguiente manera donde especificaremos el nivel de búsqueda del 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

Agregamos las dos siguientes líneas

$forward_method = 'smtp:127.0.0.1:10025';$notify_method = $forward_method;

Esto lo hacemos para comprobar el acierto, es decir, para ver si detecta todos los mensajes con spam o falla en algunos. $sa_spam_subject_tag.

Y modificamos la siguiente línea para que pasen los mensajes con spam (aunque la cabecera del mensaje nos lo dirá, si hemos puesto la directiva).

D_REJECTPor D_PASS

Debe quedar de la siguiente manera.$final_spam_destiny = D_PASS ;

Page 39: Manual de Mds en Debian

Vamos al siguiente archivo de configuraciónnano /etc/amavis/conf.d/05-domain_id

Donde Modificaremos y agregaremos el dominio y debe quedar de la siguiente manera

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

Ahora vamos al archivo de configuraciónnano /etc/spamassassin/local.cf

Descomentamos las siguientes líneas para reescribir la cabecera asignada y habilitar el informe de seguridad.

rewrite_header Subject *****SPAM*****report_safe 1

Y modificar la siguiente línea que será el modo en el que el spamassassin identificara el spam.

required_score 5.0Porrequired_score 0.3

En el archivo de configuraciónnano /etc/postfix/main.cf

Modificar la siguiente línea para filtrar el amavis por el siguiente puerto:

content_filter = amavis:[127.0.0.1]:10024Por content_filter = amavis:[localhost]:10024

Ahora configuramos spamassassin para correr como demonio.

Vamos al archivo de configuracionnano /etc/default/spamassassinModificamos y debe tener un aspecto como este.

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

Después de iniciamos el spamassassin y reiniciamos el amavis.

/etc/init.d/spamassassin start

Page 40: Manual de Mds en Debian

/etc/init.d/amavis restart

23. Configuración del BIND (DEMONIO DNS)En primer lugar copiamos un archivo de configuración personalizada en el directorio BIND.

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

En la mayoría de las distribuciones, BIND se inicia antes de OpenLDAP durante la secuencia de arranque. Si BIND / LDAP se utiliza, BIND no será capaz de conectar con el directorio LDAP, y no se iniciará. Por lo tanto, debemos modificar el sistema de arranque para solucionar este problema.

Ejecutamos el siguiente comando para hacer los cambios.update-rc.d -f slapd remove && update-rc.d slapd start 14 2 3 4 5 . stop 86 0 1 6 .

22. Después vamos a configurar el resolv.conf. Es necesario configurar correctamente el archivo /etc/resolv.conf para poder resolver los nombres de los servidores en Internet.

search: dominio de Internet al que pertenece la máquina nameserver: dirección IP del servidor de nombres a usar. Si no se

conoce este dato, se debe preguntar al proveedor. Es posible usar más de un servidor de nombres, siendo habitual usar dos, uno como primario y otro como secundario.

Ejecutamos nano /etc/resolv.confDebe tener un aspecto como este

search sergio.comnameserver 127.0.0.1nameserver 192.168.0.10

23. Configuración del DHCPPrimero copiamos el archivo de configuración personalizado en el directorio dhcp3.

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

Luego vamos al archivo de configuracionnano /etc/dhcp3/dhcpd.conf

Editamos el archivo que se ajuste a nuestras necesidades - que debe ser similar a este.

ldap-server "localhost";ldap-port 389;ldap-username "cn=admin, dc=sergio, dc=com";

Page 41: Manual de Mds en Debian

ldap-password "contraseña";ldap-base-dn "dc=sergio, dc=com";ldap-method dynamic;ldap-debug-file "/var/log/dhcp-ldap-startup.log";

Ahora reiniciamos apache /etc/init.d/apache2 restart

24. MMC PLUGINS

Configuracion del plugin mmc base (Es el principal complemento para la administración ldap.Tiene como base de operaciones gestión de LDAP (usuarios, grupos, etc), la autenticación de usuarios y provisión).

Editamos el archivo de configuración del plugin base para MMC.nano /etc/mmc/plugins/base.ini

Editamos la baseDN de modo que concuerde con nuestro dominio, insertamos la contraseña correcta del administrador ldap y cambiamos la ruta de destino para los archivos.

El contenido debería verse como este

[ldap]# LDAP we are connected tohost = 127.0.0.1# LDAP base DNbaseDN = dc=sergio, dc=com# Users location in the LDAPbaseUsersDN = ou=Users, %(basedn)s# Groups location in the LDAPbaseGroupsDN = ou=Groups, %(basedn)s# Computers LocationsbaseComputersDN = ou=Computers, %(basedn)s# LDAP managerrootName = cn=admin, %(basedn)spassword = contraseña# If enabled, the MMC will create/move/delete the home of the users# Else will do nothing, but only write user informations into LDAPuserHomeAction = 1# Skeleton directory to populate a new home directoryskelDir = /etc/skel# If set, all new users will belong to this group when createddefaultUserGroup = Domain Users# Default home directory for usersdefaultHomeDir = /home# user uid number startuidStart = 10000# group gid number startgidStart = 10000# LDAP log file pathLogfile = /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

Page 42: Manual de Mds en Debian

# default is your defaultHomeDir# example:# authorizedHomeDir = /home, /home2, /mnt/depot/newhome[backup-tools]# Path of the backup toolspath = /usr/lib/mmc/backup-tools# Where are put the archivesdestpath = /home/samba/archives

25. Configuración del plugin mmc network (Permite en la MMC administrar host y zonas DNS, host y subredes DHCP dentro del LDAP)Editamos el archivo de configuración del plugin de red para MMC.nano /etc/mmc/plugins/network.ini

Editamos el dominio de modo que concuerde con el nuestro El contenido debería verse como este

[main]disable = 0[dhcp]dn = ou=DHCP,dc=sergio,dc=compidfile = /var/run/dhcpd.pidinit = /etc/init.d/dhcp3-serverlogfile = /var/log/daemon.logleases = /var/lib/dhcp3/dhcpd.leases[dns]dn = ou=DNS,dc=sergio,dc=compidfile = /var/run/bind/run/named.pidinit = /etc/init.d/bind9logfile = /var/log/daemon.logbindroot = /etc/bind/binduser = bind# dnsreader = DNS Reader# dnsreaderpassword = DNSReaderPassword

26. Configuración del plugin mmc mail. (Permite por medio de la MMC añadir/ eliminar atributos de administración de entrega de correo a los usuarios y grupos, correos electrónicos y dominios virtuales)

Editamos el archivo de configuración del plugin de correo para MMC.nano /etc/mmc/plugins/mail.ini

Editamos el vDomainDN de modo que concuerde con nuestro dominio, comentamos la linea para entrega postfix y descomentamos la linea para entrega dovecot - el contenido debería verse como este

[main]disable = 0# Enable virtual domain supportvDomainSupport = 0# If vdomain enabled, OU where the domain are stored

Page 43: Manual de Mds en Debian

vDomainDN = ou=mailDomains, dc=sergio, dc=com[userDefault]# For Postfix delivery# mailbox = %homeDirectory%/Maildir/# For Dovecot deliverymailbox = maildir:%homeDirectory%/Maildir/# Default quota (200 MBytes) set for usermailuserquota = 204800

27. Configuración del plugin mmc samba.(Permite a la MMC añadir/eliminarAtributos compartidos de usuarios y grupos SAMBA).

Editamos el archivo de configuración del plugin de samba para MMC.nano /etc/mmc/plugins/samba.iniLo editamos y el contenido debería verse como este

[main]disable = 0# Computers LocationsbaseComputersDN = ou=Computers, dc=sergio, dc=comsambaConfFile = /etc/samba/smb.confsambaInitScript = /etc/init.d/sambasambaClamavSo = /usr/lib/samba/vfs/vscan-clamav.so# Default SAMBA shares locationdefaultSharesPath = /home/samba# You can specify authorized paths for share creation# Default value is the defaultSharesPath value# authorizedSharePaths = /shares, /opt, /srv

# Default value when adding samba attributes to an user# DELETE means the attibute is removed from the user LDAP entry[userDefault]sambaPwdMustChange = DELETE

Arranque inicial del agente mmc. (Este se comunica con el MMC Web para la gestión de servicios, recursos y directorios LDAP).

En este punto el agente mmc se encuentra listo para el arranque inicial.

/etc/init.d/mmc-agent start

Durante el arranque inicial el agente mmc escribiremos algunas configuraciones relacionadas con bind y dhcp en el LDAP de modo que es necesario que reiniciemos el bind (el servidor dhcp no está corriendo de momento).

/etc/init.d/bind9 restart

28. mmc Web interface. (Esta interfaz permite administrar vía Web los módulos del MDS).

Page 44: Manual de Mds en Debian

Ahora podemos acceder a la interfaz web del MMC vía http://127.0.0.1/mmc o http://localhost/mmc, Ingresamos como root. (Pues anteriormente le habíamos dado los permisos de administrador).

Esta es la plataforma de Administración de Mandriva Directory Server en debían. (MMC). Ahora vamos a configurar el modulo de Network

Page 45: Manual de Mds en Debian

29. Primeros pasos para la configuración DNS. Hacemos clic en "Network" en el menú principal y luego en "Add DNS Zone" en el menu de la izquierda. Editamos la configuración de acuerdo a lo que se muestra en la imagen inferior. Hacemos clic en "Create" para guardar los cambios.

Page 46: Manual de Mds en Debian

Ahora podemos ver como quedo creada la zona DNS, con el dominio y su identificador de red, y luego damos clic en la lupa que aparece en la parte derecha de la pantalla.

Como podemos apreciar ahora, hemos creado también un miembro en la zona DNS en este caso nuestro servidor. Nombre del equipo: debían IP address: 192.168.0.10

Page 47: Manual de Mds en Debian

30. Primeros pasos para la configuración DHCP.

Ahora debemos editar la subred DHCP. Hacemos click en "DCHP subnets" en el lado izquierdo y luego en el símbolo del "lápiz & papel" junto a la entrada de la subred.

Editamos la configuración de acuerdo a la imagen inferior. Hacemos clic en "Create" para guardar los cambios realizados.

Page 48: Manual de Mds en Debian

Ahora la configuración de DHCP está completa y podemos arrancar el servidor DHCP. Hacemos 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 creemos/eliminemos/cambiemos subredes DHCP debemos reiniciar el servidor DHCP.

Page 49: Manual de Mds en Debian

31. Pasos para crear usuarios.Ahora crearemos dos usuarios.Vamos al modulo de User and Group.Y damos clic en “Users”.

Page 50: Manual de Mds en Debian

Hacemos clic en "Users" en el menú principal y luego en "Add" en el menu de la izquierda, para crear los usuarios.Y llenamos los campos necesarios como aparecen el la imagen inferior.Y por ultimo damos clic en “confirm” para crear el usuario.

Page 51: Manual de Mds en Debian
Page 52: Manual de Mds en Debian

Lo mismo hacemos para crear el otro usuario, damos clic "Add" en el menu de la izquierda. Y llenamos los campos necesarios como aparecen el la imagen inferior. Y por ultimo damos clic en “confirm” para crear el usuario.

Page 53: Manual de Mds en Debian

Ahora damos clic en “list” en la parte izquierda de la pantalla, y como podemos observar en la lista de usuarios, han sido creados los dos usuarios con éxito.

Page 54: Manual de Mds en Debian

32. COMO UNIR UN EQUIPO WINDOWS XP A UN DOMINIO.

Ahora uniremos un equipo Windows XP al MDS en el dominio Sergio.comVamos a inicio damos clic en Ejecutar y nos aparecerá un recuadro como el siguiente.Copiamos cmd para abrir el Símbolo del sistema, y damos aceptar.

Después de que nos aparezca la consola o Símbolo del sistema, pedimos una asignación de IP al DHCP que se en encuentra en el dominio sergio.com, con el siguiente comando.ipconfig /renew

Page 55: Manual de Mds en Debian

Luego vamos al icono de Mi PC y damos clic derecho sobre el.Y nos aparecerá un recuadro como el siguiente.Damos clic en la pestaña Nombre de equipo y luego en la opción Cambiar.

Page 56: Manual de Mds en Debian

Ahora señalamos la opción Dominio y copiamos el nombre del dominio al que se va a unir el equipo, en este caso será SERGIO. Damos aceptar.

Y nos aparecerá un recuadro donde nos autentificaremos con un usuario y contraseña que tenga permiso para unirse al dominio. Damos aceptar.

Page 57: Manual de Mds en Debian

Y como podemos apreciar ha sido unido el Equipo al dominio SERGIO. Damos aceptar.

Y nos pedirá que reiniciemos el Equipo para que los cambios tengan efectos. Damos aceptar.

Al reiniciar el Equipo damos clic en Opciones, y nos conectamos al dominio SERGIO.Y por ultimo nos autentificamos con un usuario valido dentro del dominio Sergio.com, en este caso será alexis. Y damos aceptar.

Page 58: Manual de Mds en Debian

33. Ahora instalaremos unos paquetes para poder ver el entorno grafico del squirrelmail.

EL SQUIRRELMAIL es una aplicación Webmail, escrita en PHP, que le permite al cliente de un servidor de correo electrónico acceder por un interfaz Web para su autenticación.

Vamos a la terminal y ejecutamos apt-get install squirrelmail

El archivo de configuraciónSquirrelmail-configure

Para poder acceder a la interfaz squirrelmail es necesario crear un enlace entre el archivo apache.conf del squirellmail y el archivo /etc/apache2/apache.conf, de este modo cuando tratemos de ingresar a nuestro correo por medio del navegador Web, el apache2 cargara la aplicación del squirrelmail.

Nos paramos en /etc/apache2/conf.d/ y ejecutamos:ln -s /usr/share/squirrelmail/config/apache.conf /etc/apache2/apache.conf

Ahora vamos a nuestro navegador web, e ingresamos a http://localhost/src/webmail.php o http://localhost/src/login.php y nos autentificamos con uno de los usuarios que creamos en el MDS en este caso será [email protected] y la contraseña que le asignamos.

Page 59: Manual de Mds en Debian

Ahora hemos entrado al buzón del correo electrónico del usuario alexis y damos clic en compose para enviar un correo de prueba al otro usurio creado.

Page 60: Manual de Mds en Debian

Luego editamos los campos necesarios para enviar el mensaje de práctica.Llenamos el campo “To”: [email protected] quien va ser el que le llegue el correo. Y le copiamos un mesaje. Para enviarlo damos clic en “Send”.

En la opción “sent” podemos ver el correo fue enviado a [email protected]

Page 61: Manual de Mds en Debian

Ahora ingresamos con el otro usuario creado en este caso es [email protected] y su contraseña.

Ahora hemos ingresado, damos clic en Inbox (bandeja de entrada) y como podemos observar en la imagen inferior el mesaje ha llegado con éxito.Damos clic en el mensaje.

Page 62: Manual de Mds en Debian

Y veremos una serie de parámetros que nos dice por quien fue enviado, la hora y fecha que fue enviado, a quien se dirigía y con su respectivo mensaje. En este caso es “Hola este es un correo de practica”.

34. COMO CREAR USUARIOS Y DOMINIO VIRTUALES

Dominios virtuales. Una opción muy común en la configuración de servidores de correo electrónico es hospedar las cuentas de correo de varios dominios. Estos dominios son, efectivamente, tratados como dominios virtuales pero, a diferencia de los alias virtuales, es preciso disponer de un buzón de correo para las cuentas de cada dominio. El uso de dominios virtuales y alias virtuales es complementario, no exclusivo.

Usuarios virtuales.Es una cuenta adicional o un alias de un usuario real perteneciente a un dominio, con el fin de que cuando se solicite esta cuenta adicional (correo electrónico) esta sea redirigida al buzón del usuario real, de este modo el usuario real se podrá solicitar ya sea por su nombre o por su alias (usuario virtual).

Vamos a: nano /usr/share/doc/python-mmc-base/contrib/postfix/with-virtual-domains/main.cf

Y copiamos las siguientes lineas y las llevamos al archivo de configuración

Page 63: Manual de Mds en Debian

/etc/postfix/main.cf

# Virtual Domains Controlvirtual_mailbox_domains = ldap:/etc/postfix/ldap-domains.cfvirtual_mailbox_maps = ldap:/etc/postfix/ldap-accounts.cfvirtual_alias_maps = ldap:/etc/postfix/ldap-aliases.cf, ldap:/etc/postfix/ldap-virtual_mailbox_base = /virtual_alias_domains =virtual_minimum_uid = 100virtual_uid_maps = ldap:/etc/postfix/ldap-uid.cfvirtual_gid_maps = ldap:/etc/postfix/ldap-gid.cf

El archivo /etc/postfix/main.cfdebe quedar de la siguiente manera

# 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 = yesappend_at_myorigin = yes

# Uncomment the next line to generate "delayed mail" warnings#delay_warning_time = 4h

myhostname = debian.sergio.comalias_maps = ldap:/etc/postfix/ldap-aliases.cf, hash:/etc/aliasesalias_database = hash:/etc/aliasesmyorigin = /etc/mailnamemydestination = debian.sergio.com,sergio.com,localhost.localdomain,localhostrelayhost =mynetworks = 127.0.0.0/8mailbox_size_limit = 0recipient_delimiter = +inet_interfaces = all

# Virtual Domains Controlvirtual_mailbox_domains = ldap:/etc/postfix/ldap-domains.cfvirtual_mailbox_maps = ldap:/etc/postfix/ldap-accounts.cfvirtual_alias_maps = ldap:/etc/postfix/ldap-aliases.cf, ldap:/etc/postfix/ldap-maildrop.cfvirtual_mailbox_base = /virtual_alias_domains =virtual_minimum_uid = 100virtual_uid_maps = ldap:/etc/postfix/ldap-uid.cfvirtual_gid_maps = ldap:/etc/postfix/ldap-gid.cf

# Use Maildirhome_mailbox = Maildir/

# Wait until the RCPT TO command before evaluating restrictionssmtpd_delay_reject = yes

# Basics Restrictionssmtpd_helo_required = yesstrict_rfc821_envelopes = yes

Page 64: Manual de Mds en Debian

# Requirements for the connecting serversmtpd_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 statementsmtpd_helo_restrictions = permit_mynetworks, permit_sasl_authenticated, reject_non_fqdn_hostname, reject_invalid_hostname, permit

# Requirements for the sender addresssmtpd_sender_restrictions = permit_mynetworks, permit_sasl_authenticated, reject_non_fqdn_sender, reject_unknown_sender_domain, permit

# Requirement for the recipient addresssmtpd_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 daemonsmtpd_sasl_auth_enable = yessmtpd_sasl_type = dovecotsmtpd_sasl_path = private/auth

# Fix for outlookbroken_sasl_auth_clients = yes

# Reject anonymous connectionssmtpd_sasl_security_options = noanonymoussmtpd_sasl_local_domain =

# SSL/TLSsmtpd_tls_security_level = maysmtpd_tls_loglevel = 1#smtpd_tls_cert_file = /etc/ssl/certs/mail.pem#smtpd_tls_key_file = /etc/ssl/private/mail.keysmtpd_tls_session_cache_database = btree:${queue_directory}/smtpd_scache

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

Page 65: Manual de Mds en Debian

Ahora nos paramos en: cd /usr/share/doc/python-mmc-base/contrib/postfix/with-virtual-domains/

y ejecutamos ls -l para que nos muestre los archivos de configuracion, que vamos a copiar a la ruta /etc/postfix

-rw-r--r-- 1 root root 211 2007-09-10 03:20 ldap-accounts.cf-rw-r--r-- 1 root root 175 2007-09-10 03:20 ldap-aliases.cf-rw-r--r-- 1 root root 196 2007-09-10 03:20 ldap-domains.cf-rw-r--r-- 1 root root 213 2007-09-10 03:20 ldap-gid.cf-rw-r--r-- 1 root root 192 2007-09-10 03:20 ldap-maildrop.cf-rw-r--r-- 1 root root 218 2008-04-02 06:53 ldap-transport.cf-rw-r--r-- 1 root root 213 2007-09-10 03:20 ldap-uid.cf-rw-r--r-- 1 root root 959 2007-09-10 03:20 main.cf

copiamos cada uno de los archivos.

cp ldap-accounts.c /etc/postfix/cp ldap-aliases.cf /etc/postfix/cp ldap-domains.cf /etc/postfix/cp ldap-gid.cf /etc/postfix/cp ldap-maildrop.cf /etc/postfix/cp ldap-transport.cf /etc/postfix/cp ldap-uid.cf /etc/postfix/

Ahora modificaremos cada archivo que copiamos nos paramos en cd /etc/postfix/

vamos cada uno de los archivos. nano ldap-accounts.cfdebe tener un aspecto similar a este.

server_host = 127.0.0.1server_port = 389search_base = ou=Users,dc=sergio,dc=comquery_filter = (&(objectClass=mailAccount)(mailenable=OK)(mail=%s))result_attribute = mailboxversion = 3expansion_limit = 1

nano ldap-aliases.cfdebe tener un aspecto similar a este.

server_host = 127.0.0.1search_base = ou=Users,dc=sergio,dc=com

Page 66: Manual de Mds en Debian

query_filter = (&(objectClass=mailAccount)(mailalias=%s)(mailenable=OK))result_attribute = mailversion = 3

nano ldap-domains.cfdebe tener un aspecto similar a este.

server_host = 127.0.0.1server_port = 389search_base = ou=mailDomains,dc=sergio,dc=comquery_filter = (&(objectClass=mailDomain)(virtualdomain=%s))result_attribute = virtualdomainversion = 3

nano ldap-gid.cfdebe tener un aspecto similar a este.

server_host = 127.0.0.1server_port = 389search_base = ou=Users,dc=sergio,dc=comquery_filter = (&(objectClass=mailAccount)(mail=%s)(mailenable=OK))result_attribute = gidNumberversion = 3expansion_limit = 1

nano ldap-maildrop.cfdebe tener un aspecto similar a este.

server_host = 127.0.0.1server_port = 389search_base = ou=Users,dc=sergio,dc=comquery_filter = (&(objectClass=mailAccount)(mailenable=OK)(mail=%s))result_attribute = maildropversion = 3

nano ldap-transport.cfdebe tener un aspecto similar a este.

server_host = 127.0.0.1server_port = 389search_base = ou=Users,dc=sergio,dc=comquery_filter = (&(objectClass=mailAccount)(mailenable=OK)(mail=%s))result_attribute = mailhostresult_format = smtp:[%s]version = 3

nano ldap-uid.cfdebe tener un aspecto similar a este.

server_host = 127.0.0.1server_port = 389search_base = ou=Users,dc=sergio,dc=com

Page 67: Manual de Mds en Debian

query_filter = (&(objectClass=mailAccount)(mail=%s)(mailenable=OK))result_attribute = uidNumberversion = 3expansion_limit = 1

Ahora vamos a nano /etc/mmc/plugins/mail.iniy hacemos unas modificaciones y el archivo debe ser parecido a este.

[main]disable = 0# Enable virtual domain supportvDomainSupport = 1# If vdomain enabled, OU where the domain are storedvDomainDN = ou=mailDomains, dc=sergio, dc=com

[userDefault]# For Postfix deliverymailbox = %homeDirectory%/Maildir/# For Dovecot deliverymailbox = maildir:%homeDirectory%/Maildir/# Default quota (200 MBytes) set for usermailuserquota = 204800

reiniciamos el MMC-AGENT/etc/init.d/mmc-agent restart

Ahora vamos a nuestro navegador webhttp://localhost/mmcingresamos como root

Y como podemos ver ya nos aparece el modulo de configuracion grafica del Mail service.

Page 68: Manual de Mds en Debian

35. Ahora vamos a crear un dominio virtual.vamos al modulo del mail service , damos clic en el enlace mail y al lado izquierdo damos clic en add domain , alli especificaremos el nombre del domino virtual (grupinho.com), una breve descripcion , y el numero maximo de usuarios que contendra el dominio (ulimited quota), damos crear.

Page 69: Manual de Mds en Debian

Ahora damos clic en la parte izquierda de la pantalla, en la pestaña “Mail Domain list”, y como podemos apreciar en la imagen, el dominio virtual fue creado.

Ahora vamos a la pestaña “Users”, y como podemos ver hemos creado dos nuevos usuarios para hacer la prueba de los dominios y usuarios virtuales.Damos clic en el usuario ([email protected]).

Page 70: Manual de Mds en Debian

Y en la parte de Mail plugin, llenamos los campos del “Mail alias”. Agregamos un alias para el usuario virtual en el primer campo, en este caso sera ([email protected]) y en el segundo campo especificamos el nuevo dominio virtual para este usuario ([email protected]), y damos clic en confirm para efectuar los cambios.

Page 71: Manual de Mds en Debian

Ahora realizaremos las pruebas enviando varios correos. vamos al squirrelmail ingresamos como un usuario valido dentro del dominio original ([email protected]).

Page 72: Manual de Mds en Debian

Despues que ingresemos damos clic en compose, para enviar un correo.

Luego especificamos el dominio virtual al que se le enviara el correo como podemos ver a continuacion.damos send y listo.

Page 73: Manual de Mds en Debian

Luego especificamos el usuario virtual al que se le enviara el correo como podemos ver a continuacion.damos send y listo.

Ahora verificamos si los correos han llegado correctamente, vamos al squirrelmail ingresamos como un usuario valido dentro del dominio original ([email protected]).

Page 74: Manual de Mds en Debian

Y como podemos ver los dos correos tanto el del usuario virtual como el del dominio virtual han llegado al buzon del usuario ([email protected]).

36. Ahora crearemos los certificados SSL (SECURITY SOCKET LAYER).Ofrece tanto cifrado de la comunicación “frenando las escuchas” como autenticación fuerte, “asegurando que ambas partes de una comunicación son correctamente identificadas y que la comunicación no puede ser alterada”

Crearemos dos host virtuales - uno para las conexiones http y otro para las conexiones https.

En el archivo de configuración /etc/apache2/sites-available/httpModificamos las siguientes líneas.

<VirtualHost *:80> para que escuche por todos y RewriteRule (.*) https://debian.sergio.com/mmc para que redireccione las peticiones a modo seguro.

Debe quedar de la siguiente manera.

<VirtualHost *:80>

ServerName debian.sergio.com

RewriteEngine On

Page 75: Manual de Mds en Debian

RewriteCond %{HTTPS} off RewriteRule (.*) https://debian.sergio.com/mmc

</VirtualHost>

Ahora crearemos el siguiente archivo de configuración.nano /etc/apache2/sites-available/httpsAgregamos la siguiente configuración

NameVirtualHost *:443

<VirtualHost *:443>

ServerName debian.sergio.com ServerAdmin [email protected] 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/> 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>

Crearemos el certificado para la consola administrtiva MMCCreamos un directorio que contendra el certificado mkdir /etc/apache2/ssl/

Después ejecutamos el siguiente comando para crear el certificado.openssl req -new -x509 -keyout /etc/apache2/ssl/server.key –out /etc/apache2/ssl/server.crt -days 365 –nodes

Aquí nos pedirán uno parámetros personales y los respondemos de cuerdo a nuestras necesidades.

Country Name (2 letter code) [AU]: COState or Province Name (full name) [Some-State]: AntioquiaLocality Name (eg, city) []: MedellinOrganization Name (eg, company) [Internet Widgits Pty Ltd]: Sena

Page 76: Manual de Mds en Debian

Organizational Unit Name (eg, section) []: ITCommon Name (eg, YOUR name) []: debian.sergio.comEmail Address []: [email protected]

Damos permisos al archivo y lo copiamos a la siguiente ruta.chmod600/etc/apache2/ssl/server.keycp /etc/apache2/ssl/* /etc/cups/ssl/ Ahora crearemos el certificado para nuestro sitio web (SQUIRRELMAIL).

Ahora configuraremos el siguiente archivo que fue tomado del http anteriormente configurado, hacia el archivo que vamos a crear, que será llamado webmail y va tener la configuración para nuestro sitio web (SQUIRRELMAIL).

Copiamos lo siguiente.cp /etc/apache2/sites-available/http /etc/apache2/sites-available/http/webmail

WebmailVamos archivo nano /etc/apache2/sites-available/webmail.Modificamos las siguientes líneas. <VirtualHost *:80> para que escuche por todos y RewriteRule (.*) https:// webmail.sergio.com para que redireccione las peticiones a modo seguro.

Debe que dar de la siguiente manera

<VirtualHost *:80>

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

</VirtualHost>

Ahora para configurar el siguiente archivo (webmails) es necesario mover o copiar los parámetros de configuración encontrados en el fichero /etc/apache2/conf.dDamos mv /etc/apache2/conf.d /etc/apache2/sites-available/webmails

Webmails Vamos al archivo nano /etc/apache2/sites-available/webmailsEl archivo debería quedar de la siguiente formaAlias /squirrelmail /usr/share/squirrelmail# users will prefer a simple URL like http://webmail.example.com

NameVirtualHost *:80

<VirtualHost *:443>

Page 77: Manual de Mds en Debian

DocumentRoot /usr/share/squirrelmail ServerName webmail.sergio.com ServerAdmin [email protected]

SSLEngine onSSLCertificateKeyFile ssl/webmail.keySSLCertificateFile ssl/webmail.crtSSLProtocol allSSLCipherSuite 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> <IfModule mod_dir.c> DirectoryIndex index.php </IfModule>

# access to configtest is limited by default to prevent information leak <Files configtest.php> order deny,allow allow from all </Files>SSLRequire %{SSL_CIPHER_USEKEYSIZE} >= 128</Directory></VirtualHost>

# redirect to https when available (thanks [email protected])## 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>

Ejecutamos el siguiente comando para crear el certificado.Openssl req -new -x509 -keyout /etc/apache2/ssl/webmail.key -out /etc/apache2/ssl/webmail.crt -days 365 –nodes

Damos permisos al archivo y lo copiamos a la siguiente rutachmod600/etc/apache2/ssl/webmail.keycp /etc/apache2/ssl/* /etc/cups/ssl/

Page 78: Manual de Mds en Debian

Ahora vamos a agregar el puerto de escucha para HTTPS a la configuración de apache.

nano /etc/apache2/ports.confAgregamos la siguiente linea:

Listen 443

Por ultimo habilitaremos los sitios anteriormente configurados. a2ensite http a2ensite https a2ensite webmail a2ensite webmails

Ahora probaremos nuestro certificado vía web ingresamos a nuestro navegador y copiamos la URL de la MMC.http://debian.sergio.com/mmc.Y continuación aparecerá el certificado:Damos ok.

Page 79: Manual de Mds en Debian

Elegimos la opcion ver certificado

Page 80: Manual de Mds en Debian

Damos ok y como podemos ver nos a re direccionado a una pagina segura.

Ahora tendremos que crear un alias para nuestro sitio Web (squirrelmail).Vamos al modulo network.

Page 81: Manual de Mds en Debian

Y editamos la opcion debian de hostmane.

En la opción para el alias agregamos nuestro sitio “webmail” y confirmamos.

Page 82: Manual de Mds en Debian

Y como podemos ver se a agregado satisfactoriamente.

Ahora ingresar desde nuestro navegedor web, al squirrelmail.

Page 83: Manual de Mds en Debian

Copiamos la URL http://webmail.sergio.com y nos mostrara el certificado que anteriormente pudimos apreciar, y como podemos ver en la siguiente imagen nos a re direccionado a una pagina segura.

CONCLUCIONES

En el proceso de la investigacion fuimos adquirendo conocimientos sobre la implementacion y la configuraicon tanto del MDS como los archivos necesarios

para montar un servidor de correo.Nos dimos cuenta que este proyecto nos puede ayudar de una forma guiada a realizar nuevas investigaciones relacionadas con todo lo que tiene que ver con

administracion de redes.Este trabajo fue realizado con fotos y explicaciones detalladas para lograr un

buen entendimiento para todos aquellos puedan o quierea acceder a el.

NETGRAFIA

http://www.howtoforge.com/mandriva-directory-server-on-debian-etch

http://www.wikipedia.org

http://wiki.red-sena.net

Page 84: Manual de Mds en Debian

Agradecimientos especiales alIntructor del SENA

Andres Mauricio Ortiz