Você está na página 1de 85

PROYECTO PLATAFORMA DE CORREO SEGURA ADMINISTRACION DE REDES DE COMPUTADORES

JONATHAN ANDRES BETANCUR ARREDONDO BLUDER ARIEL GARCIA ZAPATA

ASESOR MAURICIO ORTIZ

SERVICIO NACIONAL DE APRENDIZAJE SENA REGIONAL ANTIOQUIA CENTRO DE SERVICIOS Y GESTION EMPRESARIAL 2008

INTRODUCCION

El mtodo utilizado para el desarrollo de este proyecto ha sido el objetivo especfico del SENA sobre los aprendices Formacin por proyectos, es decir autodidactas; contando con las pautas otorgadas por los asesores tanto del rea de administracin de redes como de otras reas en general.

Con este buscamos desarrollar de forma autodidacta metas propuestas en cada modulo en nuestro proceso de formacin, igualmente adquirimos conocimientos que complementan nuestro ciclo como aprendiz.

Se espera culminar satisfactoriamente con las metas planteadas, por ello aplicamos toda nuestro empeo consolidando de esta manera el aprendizaje de tal modo que nos permita afianzar todo lo necesario para ser un aprendiz integro como lo busca la formacin del SENA.

CONCEPTOS TEORICOS MANDRIVA DIRECTORY SERVER Es una plataforma empresarial de directorio basado en LDAP diseado para la gestin de identidades, control de acceso a la informacin, las polticas, la aplicacin y la configuracin de los perfiles de usuario. SERVIDOR DE CORREO: es una aplicacin informtica que nos permite enviar mensajes (correos) de unos usuarios a otros, con independencia de la red que dichos usuarios estn utilizando. SMTP: Protocolo simple de transferencia de correo. Protocolo de red basado en texto utilizado para el intercambio de mensajes de correo electrnico entre computadoras u otros dispositivos MTA: MAIL TRANSFER AGENT Agente de transferencia de correo electrnico; los agentes de correo electrnico son por lo comn demonios del sistema que operan en segundo plano. El MTA se encarga del transporte de los mensajes de una maquina a otra en una red. MDA: MAIL DELIVERY AGENT Agente de entrega de correos. Se encarga de entregar los mensajes que Llegan por el MTA a cada MDA de cada usuario dentro de una misma Maquina. Entre otras cosas un MDA puede aplicar filtros, generar Respuestas automticas. MUA: MAIL USER AGENT El MUA permite: leer, componer, responder y disponer (por ejemplo borrar o archivar) de los mensajes de correo electrnico. Estos funcionan con varias reglas. Aceptan mensajes entrantes. Comprueban direccin del mensaje. Si son direcciones locales, almacenan el mensaje para despus recuperarlo. Si son direcciones remotas, envan el mensaje.

WEBMAIL: Es un programa informtico, concretamente un cliente de correo electrnico, que provee una interfaz Web por la que acceder al correo electrnico. El webmail permite listar, desplegar y borrar va un navegador Web los correos almacenados en el servidor remoto. Los correos pueden ser consultados posteriormente desde otro computador conectado a la misma red (por ejemplo Internet) y que disponga de un navegador Web. Algunos webmail libres:

RoundCube SquirrelMail Horde Openwebmail Ilohamail BlogMail Zimbra

Existen empresas privadas que dan servicio de webmail, por ejemplo:


Gmail Yahoo Hotmail AOL

POSTFIX: Es un Agente de Transporte de Correo (MTA) de software libre/cdigo abierto, un programa informtico para el enrutamiento y envo de correo electrnico, creado con la intencin de que sea una alternativa ms rpida, fcil de administrar y segura al ampliamente utilizado Sendmail. DOVECOT: Es un servidor IMAP Y POP3.Estos son utilizados para recuperar los mensajes de los servidores MDA.-

POP3 El protocolo POP descarga, por defecto, todos los mensajes a su ordenador y luego los borra del servidor. Es el protocolo ms indicado para las personas que utilizan un nico PC para almacenar y gestionar sus mensajes. Cuando se emplea ms de un PC hay que realizar configuraciones especiales indicando que los mensajes se mantengan en el servidor. Siendo realmente difcil trabajar con el mismo conjunto de mensajes en todos los clientes. Una alternativa a estas configuraciones es Webmail. Se trata de un cliente Web de correo (no requiere configuracin) y que permite consultar los mensajes desde otros PCS (casa, congresos, etc.), sin descargarlos. La operativa habitual con POP3 es la siguiente: el usuario descarga mensajes de correo en su PC y espordicamente lee los nuevos mensajes en otros equipos secundarios con Webmail. Cuando vuelve al equipo habitual, descarga los mensajes y los borra del servidor. Eso permite centralizar todos los mensaje en un nico PC, evitando posibles prdidas. Importante: Webmail es un cliente de correo IMAP y como tal tiene sus propias funcionalidades, independientes de las que tiene su cliente local (Mozilla u Outlook). Ponga atencin si crea carpetas adicionales en Webmail para almacenar sus mensajes. Cualquier mensaje en estas carpetas no ser accesible por el cliente POP. Slo los mensajes que estn en la bandeja de entrada de Webmail se podrn descargar con POP3.

IMAP trabaja mucho mejor en entornos en los que un usuario utiliza varios ordenadores (trabajo, casa, etc..) para acceder al buzn correo, ya que los mensajes se mantienen centralizados en el servidor. Todo lo contrario que POP, donde los mensajes se descargan al PC. Con IMAP tambin podr organizar sus carpetas para clasificar mensajes. Aunque IMAP use por defecto carpetas remotas en el servidor, esto no quiere decir que no se puedan crear carpetas locales (similares a POP) para almacenar muchos ms mensajes de los que permite la cuota del buzn. El lmite de mensajes que puede almacenar en las carpetas locales depende de las caractersticas de su cliente y del tamao de su disco duro. En cualquier caso, siempre ser mucho ms grande que la cuota de la cuenta IMAP. Por lo tanto, no olvide que el espacio en disco destinado para los mensajes en el servidor es limitado y puede llenarse, impidiendo la entrada de nuevos mensajes. Con IMAP aparecen nuevos trminos como:

carpetas IMAP: carpetas remotas creadas en el servidor IMAP. purgar mensajes borrados: aunque depende del cliente, los mensajes borrados nos suelen moverse a la carpeta Papelera, en su lugar se marcan para borrar. Para realizar el borrado definitivo se requiere la accin "purgar mensajes". suscripcin a carpetas. Se trata de las carpetas remotas del servidor que estn visibles y en uso desde su cliente. Es decir, el servidor puede tener varias carpetas y slo algunas se estn visualizando con el cliente, porque son las ms utilizadas. Esto suele optimizar el rendimiento del servidor.

AMAVIS-NEW: Es una interfaz entre el MTA y los filtros contenido (clamAV y spammassasin). Este se comunica con el MTA mediante el protocolo SMTP o LMTP.Trabajan por el puerto 10025 SPAMASSASSIN: Es un filtro de correos, el cual cumple la funcin de identificar el spam mediante el anlisis del texto contenido en el mensaje.

CLAMAV: Este paquete cumple la funcin de escanear el texto y los archivos adjuntos del mensaje, de esta forma el clamAV bloque los malware o cdigos maliciosos. La base de datos de este se encuentra permanentemente actualizada. SASL: SASL es un framework para autenticacin y autorizacin en protocolos de internet. Separa los mecanismos de autenticacin de los protocolos de la aplicacin permitiendo, en teora, a cualquier protocolo de aplicacin que use SASL usar cualquier mecanismo de autenticacin soportado por SASL. A pesar de que mediante SASL slo se maneja la autenticacin (y se requieren otros mecanismos --como por ejemplo TLS-- para cifrar el contenido que se transfiere), SASL proporciona medios para un uso negociado del mecanismo elegido. Slapd tiene soporte de autentificacin fuerte gracias al uso de SASL. La implementacin SASL de slapd hace uso del software Cyrus SASL, el cual soporta un gran nmero de mecanismos de autentificacin, como: DIGEST-MD5, EXTERNAL, y GSSAPI. CYRUS IMAP (Internet Message Access Protocol) A diferencia de otros servidores IMAP, Cyrus usa su propio mtodo para almacenar el correo de los usuarios. Cada mensaje es almacenado en su propio fichero. El beneficio de usar ficheros separados es una mayor fiabilidad ya que slo un mensaje se pierde en caso de error del sistema de ficheros. Los metadatos, tales como el estado de un mensaje (ledo, etc.) se almacenan en una base de datos. Adems, los mensajes son indexados para mejorar el rendimiento de Cyrus, especialmente con muchos usuarios e ingentes cantidades de mensajes. No hay nada tan rpido como el servidor IMAP Cyrus. Otra caracterstica muy importante es que no son necesarias cuentas locales de Linux para cada usuario. Todos los usuarios son autenticados por el servidor IMAP. Esto lo convierte en una magnfica solucin cuando se tiene una gran cantidad de usuarios. La administracin es llevada a cabo mediante comandos especiales de IMAP. Esto le permite usar tanto la interfaz de lnea de comandos como los interfaces Web. Este mtodo es mucho ms seguro que un interfaz Web para /etc/passwd Desde la versin 2.1 de Cyrus, se usa la versin 2 de la librera SASL para la autenticacin. En la configuracin descrita en este artculo se implementa una autenticacin de tres capas. Cyrus se autentica con saslauthdaemon, quien redirige la peticin al mecanismo que le hayamos definido, por ejemplo PAM, que buscar la informacin del usuario en la base de datos MySQL.

SSL: Protocolo de Capa de Conexin Segura- (SSL) Protocolo de comunicacin de datos desarrollado para transmitir documentos privados a travs del Internet. SSL utiliza un sistema criptogrfico que emplea dos llaves para encriptar los datos, una llave pblica que puede ser compartida o publicada y otra privada o secreta conocida solo por el receptor del mensaje. Muchos sitios en el Internet utilizan SSL para obtener informacin confidencial del usuario como por ejemplo el nmero de la tarjeta de crdito. Por convencin las direcciones (URLS) de sitios que utilizan SSL empiezan con https en lugar de http. TLS: Protocolo de comunicacin de datos desarrollado para transmitir documentos privados a travs del Internet. Es un protocolo criptogrfico que proporciona un canal de comunicacin seguro por una red, comnmente Internet. Slapd provee protecciones de privacidad e integridad gracias al uso de TLS (o SSL). La implementacin TLS de slapd hace uso del software OpenSSL. OPENSSL: Consiste en un robusto paquete de herramientas de administracin y libreras relacionadas con la criptografa, que suministran funciones criptogrficas a otros paquetes como OpenSSH y navegadores Web (para acceso seguro a sitios HTTPS). Estas herramientas ayudan al sistema a implementar el Secure Sockets Layer (SSL), as como otros protocolos relacionados con la seguridad, como el Transport Layer Security (TLS). Este paquete de software es importante para cualquiera que est planeando usar cierto nivel de seguridad en su mquina con un sistema operativo Libre basado en GNU/Linux. OpenSSL tambin nos permite crear certificados digitales que podremos aplicar a nuestro servidor, por ejemplo Apache. OPENLDAP: OpenLDAP es una implementacin del protocolo (LDAP) basada en el concepto de software libre desarrollada por el proyecto OpenLDAP. Est liberada bajo su propia licencia es un protocolo de comunicacin independiente de la plataforma. SQUIRRELMAIL: es una aplicacin web mail escrita en PHP. Puede ser instalado en la mayora de servidores web siempre y cuando ste soporte PHP y el servidor web tenga acceso a un servidor IMAP y a otro SMTP.

TIPOS DE BUZONES PARA CORREO MAILDIR: Es un formato de spool de correo electrnico 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 (usualmente llamado Maildir) con tres subdirectorios llamados tmp, new, y cur. Todos los subdirectorios deben residir en el mismo sistema de archivos. MAILBOX: (Buzn) Es un espacio dentro de un dispositivo de almacenamiento, como podra ser un disco duro, donde se coloca el correo electrnico. En este sistema de correo, cada persona tiene un mailbox privado; cuando recibe un e-mail, el sistema de correo automticamente lo pone en el mailbox del usuario.

TABLA DE CONTENIDO
Introducion Conceptos teoricos 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. Configuracin del Host ACLS (Listas de control de acceso) del Sistema de Archivos Configuracin de los Repositorios para la Instalacin Paquetes necesarios para la Instalacin del MDS Instalacin y Configuracin de los Paquetes Configuracin del LDAP Configuracin Bsica Configuracin SAMBA Directorio LDAP NSS Configuracin LDAP Directorio SAMBA Configuracin PAM LDAP SSL para el POSTFIX (Correo Electrnico) Configuracin del SALS Configuracin del POSTFIX Configuracin del Alias para el LDAP Configuracin Principal del POSTFIX (master.cf) Configuracin del Servidor Dovecot con el LDAP Configuracin del Amavis (Intermediario) Configuracin del SPAMASSASSIN Configuracin del DNS (Servidor BIND9) Configuracin del DHCP (DHCP3-Server) Configuracin de la Interfaz Web (MMC) 23.1 Creacin de los Certificados SSL 23.2 Creacin de los Host Virtuales 23.3 Configuracin de los Plugins para la MMC 23.4 Creacin de las Zonas DNS y DHCP 24. 25. 26. Instalacin y Configuracin de la Interfaz Web para el Correo (SQUIRRELMAIL) 24.1 Creacin de la Host Virtual Configuracin de Dominios y Usuarios Virtuales (Postfix) 25.1 Probar el Antivirus y el Antispam por la Interfaz Web del Squirrelmail Unin del Usuario (Windows XP) al Dominio example.com

MANDRIVA DIRECTORY SERVER EN DEBIAN ETCH


En este documento encontraremos la Instalacin del MDS (Mandrila Directory Services) en Deban Etch, con el Servicio de Postfix (Correo) mas interfaz grafica (Squirrelmail) y con proteccin de Antivirus y Antispam. Explicaremos un poco de los pasos que debemos de efectuar y los comandos que debemos de efectuar, tambin tratar de aclarar los posibles errores que podemos encontrar durante y despus de la Instalacin y Configuracin del Servidor (PDC). Debemos de configurar nuestro equipo con las siguientes especificaciones para todo el transcurso de la Instalacin de lo contrario no podr funcionar correctamente el Servidor, ser as en nuestro caso: Nombre del Equipo: server1.example.com Dominio con el cual trabajaremos: example IP para el Servidor: 192.168.1.65 Contraseas para el Sistema: Sena.2008admon

1.

Configuracin del Host

Entraremos a editar el archivo hosts en la ruta /etc/ para asignar el nombre del Host (Equipo) y la IP del Servidor o PDC, en este caso nuestro Host y nuestra IP, as: # vim /etc/hosts Agregaremos los parmetros para nuestro Host, debe tener un aspecto como este (los parmetros que se encuentran mas abajo son para IP versin 6, estos no los tocaremos): 127.0.0.1 192.168.0.100 localhost.localdomain localhost server1.example.com server1

Modificaremos el archivo correspondiente al nombre de equipo, con el nombre que queremos asignar (en nuestro casi server1.example.com) con el siguiente comando:

# echo server1.example.com > /etc/hostname Despus de este comando debemos de reiniciar el equipo para que nos tome los cambios que realizamos con respecto al nombre del equipo, lo reiniciamos normalmente o con el siguiente comando: # reboot Despus que se reinicie el sistema comprobaremos si se realizaron bien los cambios que hicimos con el nombre del equipo, para ello ejecutaremos el siguiente comando: # hostname # hostname f El comando hostname nos dar el nombre completo del equipo, pero, hostname f nos dar el FQDN (Que es el nombre del equipo y el nombre del Dominio asociados al equipo), el resultado de estos dos comandos en nuestro caso debe de ser server1.example.com. 2. ACLS (Listas de control de acceso) del Sistema de Archivos

Con el fin de que SAMBA sea capaz de aplicar las ACLS entre el servidor Linux y los clientes Windows lo que necesita es aadir el soporte para ACLS al correspondiente punto de montaje, en este caso la raz del sistema, entraremos a editar el archivo fstab en la ruta /etc/, as: # vim /etc/fstab Aadiremos la opcin acl en el punto de montaje (raz) donde el SAMBA almacenara los directorios donde los usuarios tendrn su Home. Buscaremos el punto de montaje del sistema, en otras palabras donde est instalado nuestro Deban y agregaremos la lnea, debe de quedar as (en nuestro caso): # /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 01 /dev/sda5 none swap sw 0 0

/dev/hdc /dev/fd0

/media/cdrom0 /media/floppy0

udf,iso9660 user,noauto auto rw,user,noauto

0 0

0 0

Despus debemos de remontar el punto de montaje (Actualizar) para que los cambios tengan efecto, con el siguiente comando: # mount -o remount / Debemos de verificar si los cambios si se efectuaron correctamente, para ello ejecutaremos el siguiente comando en el cual nos dar los datos del punto de montaje, as: # mount -l Nos debe de Mostar la lnea que agregamos anteriormente, as: # /dev/sda1 on / type ext3 (rw,acl,errors=remount-ro) 3. Configuracin de los Repositorios para la Instalacin

Ahora debemos de agregar los repositorios necesarios para la instalacin de todos los paquetes para el MDS, debemos de ingresar a editar el archivo sources.list en la ruta /etc/apt/ y agregar al final del archivo los repositorios (Recordemos que si tenemos des comentadas la lneas que nos mandan al CD de instalacin de Deban las debemos de comentar para que no haya conflicto), entraremos a editar el archivo as: # vim /etc/apt/sources.list Agregaremos los siguientes repositorios al final del archivo (Cada repositorio es necesario para diferentes paquetes y aplicaciones): deb http://mds.mandriva.org/pub/mds/debian etch main deb http://volatile.debian.org/debian-volatile etch/volatile main contrib non-free deb http://www.backports.org/debian etch-backports main deb http://ftp.de.debian.org/debian/ etch main contrib non-free Despues de agregarlos debemos de generar una llave para que se puedan actualizar y descargar paquetes desde Deban Backports, para ello le daremos el siguiente comando:

# wget -O - http://backports.org/debian/archive.key | apt-key add Tenemos que tener muy en cuenta si estamos trabajando en una Red que utiliza Servidor Proxy (Como la de nuestro caso) que debemos de Exportar el Proxy para que podamos actualizar y descargar los paquetes, lo haremos de la siguiente forma: # export proxy_http=http://172.20.49.52:80 Despus de todo esto actualizaremos la base de Datos de los repositorios con la ayuda del comando: # apt-get update No nos debe de salir ningn error, de lo contrario lo volvemos a ejecutar o a mirar la sintaxis de los repositorios o por la conexin (Dependiendo de la velocidad de nuestra red se puede demorar un poco). 4. Paquetes necesarios para la Instalacin del MDS

Ahora instalaremos los paquetes que necesitamos para la configuracin del MDS, los paquetes son: Paquetes necesarios para la interfaz y administracin grafica del MDS: mmc-web-base mmc-web-mail mmc-web-network mmc-webproxy mmc-web-samba mmc-agent Paquetes y Libreras necesarios para la interpretacin de la MMC: python-mmc-plugins-tools python-mmc-base python-mmc-mail python-mmc-network python-mmc-proxy python-mmc-samba Paquete para el Correo (MTA) y comprender el Correo con el LDAP: postfix postfix-ldap Paquetes para el Servicio POP3 e IMAP dovecot-common dovecot-imapd dovecot-pop3d Paquetes de autenticacin y autorizacin para determinados protocolos: sasl2-bin libsasl2 libsasl2-modules Intermediario entre el Postfix, Spamassassin y el Clamav amavisd-new Paquetes para el Servidor DHCP integrado con el LDAP: dhcp3-server dhcp3-server-ldap

Paquetes para el Servidor LDAP y sus libreras: slapd ldap-utils libnss-ldap libpam-ldap Paquete para el Servidor DNS: bind9 Paquetes para el Servidor Samba (Servidor y Cliente): samba smbclient smbldap-tools Paquetes de utilidades de compresin para el sistema: lzop nomarch zoo gzip bzip2 unzip unrar-free unzoo arj Paquete del Servidor Antispam para el Postfix: spamassassin Paquetes que contienen la base de datos para los Spam (En Internet): razor pyzor dcc-client Paquetes para el Antivirus del Postfix: clamav-daemon clamav Paquetes y libreras del sistema: libdbd-ldap-perl libnet-ph-perl libnet-snpp-perl libnet-telnet-perl libnet-dns-perl Instalacin y Configuracin de los Paquetes

5.

Pasaremos a instalar los paquetes anteriormente mencionados, con el siguiente comando (En la instalacin nos preguntara informacin acerca del Dominio, Usuario, Contraseas, etc. Los cuales explicarnos ms adelante), as: # apt-get install mmc-web-base mmc-web-mail mmc-web-network mmc-web-proxy mmc-web-samba mmc-agent python-mmc-pluginstools python-mmc-base python-mmc-mail python-mmc-network pythonmmc-proxy python-mmc-samba postfix postfix-ldap sasl2-bin libsasl2 libsasl2-modules amavisd-new libdbd-ldap-perl libnet-ph-perl libnetsnpp-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 Tambin debemos de instalar los siguientes paquetes pero con el siguiente comando, en el cual diremos que tome los paquetes de determinada fuente (Repositorio) y no de otro, el comando es el siguiente: # apt-get install -t etch-backports dovecot-common dovecot-imapd

dovecot-pop3d

Configuracin Durante la instalacin de los nuevos paquetes nos pedir una serie de preguntas que deberemos de responder de la siguiente forma: LDAP Ingresar la contrasea para el servidor LDAP Sena.2008admon

Confirmamos la Contrasea:

SAMBA Ingresamos el nombre de nuestro Dominio example:

Seleccionaremos No cuando se nos pregunte si el archivo smb.conf debe ser modificado para utilizar WINS en la configuracin del DHCP.

POSTFIX Aqu nos Informara que solo podremos entregar Correo local con la configuracin por defecto:

Seleccionaremos "Sitio de Internet" como tipo genrico de la configuracin:

Pondremos el nombre de nuestro equipo "server1.example.com" como nombre de correo:

LIBNSS LDAP En esta ventana copiaremos 127.0.0.1 donde le diremos que el Localhost ser el identificador de recursos:

En el Nombre Distintivo DN (Nombre del Dominio) ira en nuestro caso example.com:

En la versin del LDAP ser 3:

En la cuenta del LDAP para el Root cambiaremos el cn por admin que ser el Usuario (Si no habr conflicto ms adelante) y lo dems con nuestro dominio cn=admin,dc=example,dc=com:

Por ltimo la Contrasea Sena2008admon, as:

para

el

Root

del

LDAP

LIBPAM LDAP Diremos que Si para que la base de Datos sea la raz local. Le diremos que No cuando nos pregunte si la base de Datos LDAP requiere Ingreso. En la cuenta del LDAP para el Root cambiaremos el cn por admin que ser el Usuario (Si no habr conflicto ms adelante) y lo dems con nuestro dominio cn=admin,dc=example,dc=com:

Y la Contrasea para el Administrador LDAP Sena.2008admon:

6.

Configuracin del LDAP

Copiar los esquemas de la MMC: Debemos de copiar el esquema para la MMC, los esquemas son: MMC, Mail, Samba, DNS y DHCP. Debemos de copiar estos archivos al directorio /etc/ldap/schema/ para el funcionamiento de la MMC. Los copiaremos con el siguiente comando: # 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/ Los dems esquemas estn en comprimidos en archivos .gz los cuales debemos de desempaquetarlos con el siguiente comando: # zcat /usr/share/doc/python-mmc-base/contrib/ldap/samba.schema.gz > /etc/ldap/schema/samba.schema # zcat /usr/share/doc/python-mmcbase/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 El siguiente paso ser incluir en el archivo de configuracin del LDAP slapd.conf los esquemas que acabamos de copiar, editaremos el archivo de la siguiente forma: # vim /etc/ldap/slapd.conf Buscaremos la siguiente lnea y agregaremos la ruta de los esquemas que copiamos anteriormente, esta es la lnea: include /etc/ldap/schema/inetorgperson.schema Agregaremos las siguientes lneas debajo de esta (Con la lnea schemacheck on estamos activando el esquema de control, tambin la agregamos), as: include include include /etc/ldap/schema/mmc.schema /etc/ldap/schema/samba.schema /etc/ldap/schema/mail.schema

include include

/etc/ldap/schema/dnszone.schema /etc/ldap/schema/dhcp.schema on

schemacheck 7.

Configuracin Bsica

Aqu vamos a cifrar la contrasea del Administrador del LDAP con SSHA para tener una mayor seguridad y no puedan leer la contrasea en el archive de configuracin, (Sera la Contrasea que definimos anteriormente Sena.2008admon), lo haremos con el siguiente comando, as: # slappasswd -s Sena.2008admon La salida de este comando debe de ser as: # {SSHA}kPd9OeiwGx4lyZUiQ2NFmzXV0JWyLV9A En el archivo de configuracin slapd.conf debemos de agregar la lnea del password (Contrasea) para el Admin del LDAP, as: # vim /etc/ldap/slapd.conf Buscaremos la siguiente lnea que se encuentra comentada, la des comentamos y agregaremos los datos de nuestro Dominio, debe de quedar as: rootdn "cn=admin,dc=example,dc=com"

Debajo de esta lnea debemos de agregar la siguiente lnea, ser el password (Contrasea) para el Administrador del LDAP, recordemos que la Contrasea la ciframos con SSHA, la copiaremos y la pondremos ah, debe de quedar as: rootpw {SSHA}kPd9OeiwGx4lyZUiQ2NFmzXV0JWyLV9A

Este password encriptado es la Contrasea del Administrador del LDAP que nos fue arrojado con el comando slappasswd s Sena.2008admon. Este bloque debe de quedar as: rootdn rootpw "cn=admin,dc=example,dc=com" {SSHA}kPd9OeiwGx4lyZUiQ2NFmzXV0JWyLV9A

Luego tenemos que modificar las opciones de indizacin (Registrar los datos) para la base de datos. Buscar en la siguiente lnea: # Indexing options for database #1 Borraremos la lnea que est debajo, esta: index objectClass eq Y luego agregaremos las siguientes lneas que sern el registro para la base de datos: index index index index index index objectClass,uidNumber,gidNumber eq cn,sn,uid,displayName pres,sub,eq memberUid,mail,givenname eq,subinitial sambaSID,sambaPrimaryGroupSID,sambaDomainName eq zoneName,relativeDomainName eq dhcpHWAddress,dhcpClassData eq

Ahora debemos de aadir le lista de acceso para la base de datos del SAMBA, buscaremos la siguiente lnea: access to attrs=userPassword,shadowLastChange La borramos y agregaremos la siguiente lnea: access to attrs=userPassword,sambaLMPassword,sambaNTPassword En este punto el archivo de configuracin del LDAP debe de tener esta apariencia: # This is the main slapd configuration file. See slapd.conf(5) for more # info on the configuration options. ############################################# ########################## # Global Directives: # Features to permit #allow bind_v2 # Schema and objectClass definitions include /etc/ldap/schema/core.schema include /etc/ldap/schema/cosine.schema include /etc/ldap/schema/nis.schema

include include include include include include include schemacheck

/etc/ldap/schema/inetorgperson.schema /etc/ldap/schema/mmc.schema /etc/ldap/schema/samba.schema /etc/ldap/schema/printer.schema /etc/ldap/schema/mail.schema /etc/ldap/schema/dnszone.schema /etc/ldap/schema/dhcp.schema on

# Where the pid file is put. The init.d script # will not stop the server if you change this. pidfile /var/run/slapd/slapd.pid # List of arguments that were passed to the server argsfile /var/run/slapd/slapd.args # Read slapd.conf(5) for possible values loglevel 0 # Where the dynamically loaded modules are stored modulepath /usr/lib/ldap moduleload back_bdb # The maximum number of entries that is returned for a search operation sizelimit 500 # The tool-threads parameter sets the actual amount of cpu's that is used # for indexing. tool-threads 1 ############################################# ########################## # Specific Backend Directives for bdb: # Backend specific directives apply to this backend until another # 'backend' directive occurs backend bdb checkpoint 512 30 ############################################# ########################## # Specific Backend Directives for 'other':

# Backend specific directives apply to this backend until another # 'backend' directive occurs #backend <other> ############################################# ########################## # Specific Directives for database #1, of type bdb: # Database specific directives apply to this databasse until another # 'database' directive occurs database bdb # The base of your directory in database #1 suffix "dc=example,dc=com" # rootdn directive for specifying a superuser on the database. This is needed # for syncrepl. rootdn "cn=admin,dc=example,dc=com" rootpw {SSHA}kPd9OeiwGx4lyZUiQ2NFmzXV0JWyLV9A # Where the database file are physically stored for database #1 directory "/var/lib/ldap" # For the Debian package we use 2MB as default but be sure to update this # value if you have plenty of RAM dbconfig set_cachesize 0 2097152 0 # Sven Hartge reported that he had to set this value incredibly high # to get slapd running at all. See http://bugs.debian.org/303057 # for more information. # Number of objects that can be locked at the same time. dbconfig set_lk_max_objects 1500 # Number of locks (both requested and granted) dbconfig set_lk_max_locks 1500 # Number of lockers dbconfig set_lk_max_lockers 1500 # Indexing options for database #1 index objectClass,uidNumber,gidNumber index cn,sn,uid,displayName index memberUid,mail,givenname eq pres,sub,eq eq,subinitial

index index index

sambaSID,sambaPrimaryGroupSID,sambaDomainName zoneName,relativeDomainName eq dhcpHWAddress,dhcpClassData eq

eq

# Save the time that the entry gets modified, for database #1 lastmod on # Where to store the replica logs for database #1 # replogfile /var/lib/ldap/replog # The userPassword by default can be changed # by the entry owning it if they are authenticated. # Others should not be able to see it, except the # admin entry below # These access lines apply to database #1 only access to attrs=userPassword,sambaLMPassword,sambaNTPassword by dn="cn=admin,dc=example,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. access to * by dn="cn=admin,dc=example,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=example,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"

Ahora debemos de editar el archivo ldap.conf en la ruta /etc/ldap/, as: # vim /etc/ldap/ldap.conf En el final del archiva agregaremos las siguientes lneas, donde le estamos diciendo el nombre del nuestro Dominio y que es local (127.0.0.1), as: host 127.0.0.1 base dc=example,dc=com Por ltimo debemos de reiniciar el servidor LDAP, no nos debe de salir ningn error, lo haremos con el siguiente comando: # /etc/init.d/slapd restart 8. Configuracin SAMBA

Para la configuracin del SAMBA lo pararemos, lo haremos con el siguiente comando: # /etc/init.d/samba stop Ahora copiaremos un archivo de configuracin del SAMBA que se agrega en la Instalacin, este archivo es una especie de resumen del archivo original del SAMBA pero contiene todo lo necesario para el funcionamiento del SAMBA. Podemos hacer un respaldo del archivo original con el Siguiente comando: # cp /etc/samba/smb.conf /etc/samba/smb.conf_Respaldo

Despus de esto ahora si copiaremos el archivo del SAMBA que se encuentra en la ruta /usr/share/doc/python-mmcbase/contrib/samba/ con el siguiente comando: # cp /usr/share/doc/python-mmc-base/contrib/samba/smb.conf /etc/samba/ Entraremos a editar el archivo smb.conf que acabamos de copiar, as: # vim /etc/samba/smb.conf En el archivo debemos de establecer los siguientes valores en la seccin que dice [global] estos valores sern los respectivos a nuestro Dominio: workgroup = EXAMPLE netbiosname = PDC-SRV-EXAMPLE ldap admin dn = cn=admin,dc=example,dc=com ldap suffix = dc=example,dc=com logon path = \\%N\profiles\%U Adems debemos de aadir las siguientes lneas en la misma seccin [global] debajo de las dems: 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 = yes security = user En este archivo debemos de agregar las siguientes lneas en las respectivas secciones, son: En la seccin [homes]: hide files = /Maildir/ En la seccin [profiles]: hide files = /desktop.ini/ntuser.ini/NTUSER.*/ En la seccin [archives]: path = /home/samba/archives En este punto, el archivo de configuracin de SAMBA debe tener este aspecto: [global] workgroup = EXAMPLE netbiosname = PDC-SRV-EXAMPLE preferred master = yes os level = 65 wins support = yes enable privileges = yes timeserver = yes socket options = SO_KEEPALIVE IPTOS_LOWDELAY SO_SNDBUF=8192 SO_RCVBUF=8192 log level = 3 null passwords = yes security = user # 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 logon drive = H:

map acl inherit = yes nt acl support = yes passdb backend = ldapsam:ldap://127.0.0.1/ obey pam restrictions = no ldap ldap ldap ldap ldap ldap ldap ldap admin dn = cn=admin,dc=example,dc=com suffix = dc=example,dc=com group suffix = ou=Groups user suffix = ou=Users machine suffix = ou=Computers idmap suffix = ou=Users passwd sync = yes delete dn = yes

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" add machine script = /usr/lib/mmc/add_machine_script '%u' 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" [homes] comment = Home directories browseable = no writeable = yes create mask = 0700 directory mask = 0700 hide files = /Maildir/ [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 [printers] comment = Printers path = /tmp browseable = no public = yes guest ok = yes writeable = no printable = yes [print$] comment = Drivers path = /var/lib/samba/printers browseable = yes guest ok = yes read only = yes write list = Administrator,root,@lpadmin [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 Para verificar el estado de la configuracin del SAMBA ejecutaremos el siguiente comando en el cual no nos debe de sacar ningn error (Este comando nos da el resumen del archivo de configuracin del SAMBA), as: # testparm Ahora en el SAMBA debemos de crear las credenciales para autenticarse con el LDAP, lo haremos con el siguiente comando: # smbpasswd -w Sena.2008admon Al ejecutar este comando nos debe aparecer algo como esto que nos indica que las credenciales fueron asignadas correctamente: # Setting stored password for "cn=admin,dc=example,dc=com" in secrets.tdb Ahora debemos de crear un SID para el grupo de trabajo para el SAMBA, el SID lo generamos con el siguiente comando: # net getlocalsid EXAMPLE La salida debe ser parecida a esta (Debemos de guardar este SID para agregarlo ms adelante en otro punto de la configuracin): # SID for domain EXAMPLE is: S-1-5-21-3159899821-12388239254881133 Debemos de comprobar si el SID ha sido registrado con xito en el LDAP, para ello ejecutaremos el siguiente comando, en el cual estamos filtrando (grep) y buscando la parte de sambaDomainName, as: # slapcat | grep sambaDomainName La salida debe de ser como esta: # dn: sambaDomainName=EXAMPLE,dc=example,dc=com sambaDomainName: EXAMPLE Ya podemos iniciar el Servidor SAMBA con el siguiente comando, no

debe de salir error: # /etc/init.d/samba start 9. Directorio LDAP

Tenemos que crear un archivo con el nombre de smbldap_bind.conf el cual define la forma de comunicarse con el Servidor LDAP, lo crearemos en el directorio /etc/smbldap-tools/ con el siguiente comando (Este archivo no existe lo crearemos as y despus le agregaremos unas lneas): # vim /etc/smbldap-tools/smbldap_bind.conf El contenido debe ser como este (cambiaremos todos los parmetros por los de nuestro Dominio): slaveDN="cn=admin,dc=example,dc=com" slavePw="Sena.2008admon" masterDN="cn=admin,dc=example,dc=com" masterPw="Sena.2008admon" Ahora debemos de crear el archivo smbldap.conf con el siguiente comando: # vim /etc/smbldap-tools/smbldap.conf En este archivo debemos de agregar las siguientes lneas. El contenido de este archivo debe de ser como este (Recordemos que tenemos que cambiar el SID por el que nos dio en el paso anterior), as: SID="S-1-5-21-3159899821-123882392-54881133" sambaDomain="EXAMPLE" ldapTLS="0" suffix="dc=example,dc=com" usersdn="ou=Users,${suffix}" computersdn="ou=Computers,${suffix}" groupsdn="ou=Groups,${suffix}" idmapdn="ou=Idmap,${suffix}" sambaUnixIdPooldn="sambaDomainName=EXAMPLE,${suffix}" scope="sub" hash_encrypt="SSHA" userLoginShell="/bin/bash" de configuracin principal,

userHome="/home/%U" userHomeDirectoryMode="700" userGecos="System User" defaultUserGid="513" defaultComputerGid="515" skeletonDir="/etc/skel" defaultMaxPasswordAge="45" userSmbHome="\\PDC-SRV-EXAMPLE\%U" userProfile="\\PDC-SRV-EXAMPLE\profiles\%U" userHomeDrive="H:" userScript="logon.bat" mailDomain="example.com" smbpasswd="/usr/bin/smbpasswd" Ahora poblaremos el Directorio del LDAP. Con este comando crearemos la cuenta de Administrador de Dominio (Administrator), con la cual podremos agregar los Equipos al Dominio (El 512 es el nmero del Grupo Administradores), as: # smbldap-populate -m 512 -a Administrator NOTA: Se le pedir que introduzca una contrasea para la cuenta de Administrador de Dominio Sena.2008admon Despus tenemos que modificar el UID nmero de la cuenta, de lo contrario no ser capaz de utilizar el Servidor de Correo con esta cuenta. Adems aadir esta cuenta al grupo "Domain Users" (No debe de salir error): # smbldap-usermod -u 3000 -G "Domain Users" Administrator 10. NSS Configuracin LDAP

En este paso configuraremos el Sistema para que se pueda utilizar el directorio LDAP para obtener usuario y listas de grupos. Modificaremos el archivo nsswitch en la ruta /etc/, as: # vim /etc/nsswitch.conf El contenido de este archivo debe de ser como 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: group: shadow: hosts: networks: protocols: services: ethers: rpc: netgroup: 11. compat ldap compat ldap compat ldap files dns files db files db files db files db files nis

Directorio SAMBA

En este punto debemos de crear los siguientes directorios necesarios para la configuracin del SAMBA, estos directorios los definimos en el archivo smb.conf, con los siguientes comandos: # # # # # mkdir mkdir mkdir mkdir mkdir -p /home/samba/shares/public/ /home/samba/netlogon/ /home/samba/profiles/ /home/samba/partage/ /home/samba/archives/

Cambiaremos el propietario del Directorio /home/samba/ y ajustaremos los permisos necesarios para los siguientes directorios: # # # # # chown -R :"Domain Users" /home/samba/ chmod 777 /var/spool/samba/ /home/samba/shares/public/ chmod 755 /home/samba/netlogon/ chmod 770 /home/samba/profiles/ /home/samba/partage/ chmod 700 /home/samba/archives/

NOTA: si al ejecutar el comando chown R:Domain Users /home/samba/ nos aparece un error que dice que el grupo Domain Users no existe debemos de entrar a editar el siguiente archivo en la siguiente ruta, as: # vim /etc/libnss-ldap.conf

Buscamos las siguientes lneas que estn comentadas y las des comentamos, adems de esto las modificaremos con los valores correspondientes a nuestro Dominio y unidad organizativa, debe tener un aspecto como el siguiente: nss_base_passwd nss_base_group ou=users,dc=example,dc=com ou=groups,dc=example,dc=com

Ahora entraremos al archivo de configuracin pam_ldap.conf, as: # vim /etc/pam_ldap.conf Buscamos las siguientes lneas que estn comentadas y las des comentamos, adems de esto tambin las modificaremos con los valores correspondientes a nuestro Dominio y unidad organizativa, debe tener un aspecto como este: nss_base_passwd nss_base_shadow nss_base_group ou=users,dc=example,dc=com?one ou=users,dc=example,dc=com?one ou=groups,dc=example,dc=com?one

Despues tenemos que reconfigurar el paquete libnss-ldap y libpamldap con el siguiente comando (Debemos de configurarlo con los mismos parmetros que utilizamos en el Punto nmero 5), as: # dpkg-reconfigure libnss-ldap # dpkg-reconfigure libpam-ldap 12. Configuracin PAM LDAP

Aqu agregaremos el modulo del LDAP al PAM, los cuales sern utilizados para la autenticacin con el LDAP. Entraremos a editar los siguientes archivos: # vim /etc/pam.d/common-account El contenido del archivo debe de ser como este: # # /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 Editaremos el siguiente archivo: # vi /etc/pam.d/common-auth El contenido del archivo debe de ser como este: # # /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 Editaremos el siguiente archivo: # vi /etc/pam.d/common-password El contenido del archivo debe de ser como este: # # /etc/pam.d/common-password - password-related modules common to all services # # This file is included from other service-specific PAM config files, # and should contain a list of modules that define the services to be #used to change user passwords. The default is pam_unix # The "nullok" option allows users to change an empty password, else # empty passwords are treated as locked accounts. # # (Add `md5' after the module name to enable MD5 passwords)

# # The "obscure" option replaces the old `OBSCURE_CHECKS_ENAB' option in # login.defs. Also the "min" and "max" options enforce the length of the # new password. password sufficient pam_unix.so nullok obscure min=4 max=8 md5 password sufficient pam_ldap.so use_first_pass use_authtok password required pam_deny.so # 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 Editaremos el siguiente archivo: # vim /etc/pam.d/common-session El contenido del archivo debe de ser como este: # # /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 Despus de editar estos archivos debemos de reiniciar el sistema con el siguiente comando: # reboot Cuando el equipo se inicie de nuevo, debemos de darle al Grupo de "Domain Admins" el derecho a aadir mquinas al dominio, con el siguiente comando (En la parte de EXAMPLE ira el Dominio con el cual

estamos trabajando): # net -U Administrator rpc rights grant 'EXAMPLE\Domain Admins' SeMachineAccountPrivilege Debe de salir: Successfully granted rights.

13.

SSL para el POSTFIX (Correo Electrnico)

En primer lugar debemos de crear un archivo de configuracin con la informacin de nuestro Dominio y el Administrador para el Servidor de Correo. Crearemos el siguiente archivo, as: # vim /etc/ssl/mail.cnf Y le agregaremos las siguientes lneas: [ req ] default_bits = 2048 default_keyfile = privkey.pem distinguished_name = req_distinguished_name prompt = no string_mask = nombstr x509_extensions = server_cert [ req_distinguished_name ] countryName = DE stateOrProvinceName = Niedersachsen localityName = Lueneburg organizationName = Projektfarm GmbH organizationalUnitName = IT commonName = server1.example.com emailAddress = postmaster@example.com [ server_cert ] basicConstraints = critical, CA:FALSE subjectKeyIdentifier = hash keyUsage = digitalSignature, keyEncipherment extendedKeyUsage = serverAuth, clientAuth nsCertType = server nsComment = "mailserver"

Ahora, crearemos el certificado SSL para la seguridad en las pginas Web, con el siguiente comando: # 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 Ajustaremos los derechos de la clave para que slo el root los pueda leer, con el siguiente comando: # chmod 600 /etc/ssl/private/mail.key 14. Configuracin del SALS El Postfix utilizara el Servidor SALS para la autenticacin de los Usuarios contra el Servidor LDAP. Crearemos el siguiente directorio necesario para el Servidor SALS con el siguiente comando (El p es para crear los directorios padres que falten para cada Directorio, si un Directorio no exite el lo creara), as: # mkdir -p /var/spool/postfix/var/run/saslauthd/ Editaremos el archivo salslauthd en la ruta /etc/default/ en el cual le especificaremos que trabajara con el mecanismo del LDAP, lo editaremos con el comando: # vim /etc/default/saslauthd El archivo debe de tener este aspecto: START=yes MECHANISMS="ldap" MECH_OPTIONS="" THREADS=5 OPTIONS="-c -m /var/spool/postfix/var/run/saslauthd -r" Ahora debemos de editar el archivo principal para la configuracin de SALS, debemos de agregar los datos respectivos de nuestro Dominio para el perfecto funcionamiento con el LDAP, editaremos el archivo: # vim /etc/saslauthd.conf Este archivo debe de tener este aspecto, con los datos de nuestro Dominio (el servidor LDAP ser 127.0.0.1 por que es local):

ldap_servers: ldap://127.0.0.1 ldap_search_base: ou=Users,dc=example,dc=com ldap_filter: (&(objectClass=mailAccount)(mail=%u@%r)(mailenable=OK)) Ahora en el Postfix le diremos que tome al Servidor SALS para la autenticacin (login) de los Usuarios del LDAP, editaremos el archivo smtpd.conf en la ruta /etc/postfix/sasl/ con el comando: # vim /etc/postfix/sasl/smtpd.conf El archivo debe tener este aspecto, en el cual le diremos que tome como mtodo de autenticacin el Servidor SALS y que ser en Texto plano porque no le hemos dado seguridad (SSL) el Servidor de Correo: pwcheck_method: saslauthd mech_list: plain login Ahora para que la autenticacin sea correcta, debemos crear el usuario Postfix y agregarlo al grupo de SASL, con el siguiente comando # adduser postfix sasl Por ltimo reiniciaremos el Servidor SASL con el siguiente comando: # /etc/init.d/saslauthd restart 15. Configuracin del POSTFIX

Debemos de editar el archivo principal de configuracin del Postfix, entraremos a editar el archivo con el comando: # vim /etc/postfix/main.cf El archivo debe de ser como este en el cual cambiaremos las lneas en las cuales deben de ir los datos de nuestro Dominio, buscaremos las lneas necesarias para que no haya conflicto con la dems configuraciones, el archivo debe de ser como este: # See /usr/share/postfix/main.cf.dist for a commented, more complete version smtpd_banner = $myhostname ESMTP $mail_name (Debian/GNU)

biff = no # appending .domain is the MUA's job. append_dot_mydomain = yes append_at_myorigin = yes # Uncomment the next line to generate "delayed mail" warnings #delay_warning_time = 4h myhostname = server1.example.com mydomain = example.com alias_maps = ldap:/etc/postfix/ldap-aliases.cf, hash:/etc/aliases alias_database = hash:/etc/aliases myorigin = /etc/mailname mydestination = server1.example.com,example.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 # 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 smtpd_sasl_type = dovecot smtpd_sasl_path = private/auth # Fix for outlook broken_sasl_auth_clients = yes # Reject anonymous connections smtpd_sasl_security_options = noanonymous smtpd_sasl_local_domain = # SSL/TLS smtpd_tls_security_level = may smtpd_tls_loglevel = 1 smtpd_tls_cert_file = /etc/ssl/certs/mail.pem smtpd_tls_key_file = /etc/ssl/private/mail.key smtpd_tls_session_cache_database = btree:${queue_directory}/smtpd_scache

# Amavis content_filter = amavis:[127.0.0.1]:10024 receive_override_options = no_address_mappings 16. Configuracin del Alias para el LDAP

Ahora editaremos el archivo ldap-aliases.cf en la ruta /etc/postfix/ para configurar el alias del LDAP, en este archivo debemos de agregar los parmetros de nuestro Dominio, as: # vim /etc/postfix/ldap-aliases.cf El archivo debe de ser como este: server_host = 127.0.0.1 search_base = ou=Users,dc=example,dc=com query_filter = (&(objectClass=mailAccount)(mailalias=%s)(mailenable=OK)) result_attribute = maildrop version = 3 17. Configuracin Principal del POSTFIX (master.cf)

Entraremos a editar el siguiente archivo en el cual debemos de agregar unas lneas para integrar el Postfix con el protocolo SMTP, el Servidor Dovecot y el Amavis, lo editaremos con el siguiente comando: # vim /etc/postfix/master.cf Aadiremos las siguientes lneas al final del archivo de configuracin: # SMTPS smtps inet n - - - - smtpd -o smtpd_tls_wrappermode=yes -o smtpd_sasl_auth_enable=yes # Dovecot dovecot unix - n n - - pipe flags=DRhu user=dovecot:mail argv=/usr/lib/dovecot/deliver -d $recipient # Mail to Amavis

amavis unix - - - - 10 smtp -o smtp_data_done_timeout=1200 -o smtp_send_xforward_command=yes -o disable_dns_lookups=yes -o max_use=20 # Mail from Amavis 127.0.0.1:10025 inet n - - - - smtpd -o content_filter= -o local_recipient_maps= -o relay_recipient_maps= -o smtpd_restriction_classes= -o smtpd_delay_reject=no -o smtpd_client_restrictions=permit_mynetworks,reject -o smtpd_helo_restrictions= -o smtpd_sender_restrictions= -o smtpd_recipient_restrictions=permit_mynetworks,reject -o smtpd_data_restrictions=reject_unauth_pipelining -o smtpd_end_of_data_restrictions= -o mynetworks=127.0.0.0/8 -o smtpd_error_sleep_time=0 -o smtpd_soft_error_limit=1001 -o smtpd_hard_error_limit=1000 -o smtpd_client_connection_count_limit=0 -o smtpd_client_connection_rate_limit=0 -o receive_override_options=no_header_body_checks,no_unknown_recipie nt_checks Despues de editar el archivo reiniciaremos el Postfix con el siguiente comando: # /etc/init.d/postfix restart 18. Configuracin del Servidor Dovecot con el LDAP

El nos proporcionara el protocolo POP3 (SSL/TLS) e IMAP (SSL/TLS) que ser el apoyo para el Servidor de Correo. Debemos de ejecutar el siguiente comando para dejar el archivo en blanco conde lo que esta dentro de las comillas ser lo que quedara en el archvio, as: # echo "" > /etc/dovecot/dovecot.conf

Editaremos el siguiente archivo en el cual especificaremos los protocolos que soportaran el Servidor de Correo (POP3 o IMAP), la configuracin del LDAP y su Autenticacin, lo haremos con el comando: # vim /etc/dovecot/dovecot.conf El contenido de este archivo debe de ser como esta: protocols = imap imaps pop3 pop3s listen = 0.0.0.0 login_greeting = example.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 } } } Ahora digitaremos el siguiente comando con el cual vaciaremos el archivo dovecot-ldap.conf, as: # echo "" > /etc/dovecot/dovecot-ldap.conf Despus debemos de editar el siguiente archivo en el cual especificaremos los datos de Nuestro Dominio, lo editaremos con el siguiente comando: # vim /etc/dovecot/dovecot-ldap.conf El contenido del archivo debe de ser como esta: hosts = 127.0.0.1auth_bind = yes ldap_version = 3 base = dc=example,dc=com scope = subtree user_attrs = homeDirectory=home,uidNumber=uid,mailbox=mail,mailuserquota=quo ta=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 Debemos de ajustar los derechos para el Dovevot Deliver, con el fin de que Dovecot utilice el derecho uid (nico Identificador) y gid (Identificador de Grupo) cuando se almacenan los mensajes en el Maildir, en resumen para que el MDA tenga permisos para almacenar los correos sobre ese Usuario (root) en ese Directorio. Digitaremos el siguiente comando: # dpkg-statoverride --update --add root dovecot 4755 /usr/lib/dovecot/deliver Despus debemos de reiniciar el Dovecot con el siguiente comando: # /etc/init.d/dovecot restart 19. Configuracin del Amavis (Intermediario)

El Amavis ser el intermediario entre el Spamassassin y el Clamav, en el cual los correos sern verificados para poder pasar al Correo (Postfix). Editaremos el archivo 15-content_filter_mode en la ruta /etc/amavis/conf.d/ y otros archivos ms, con el siguiente comando: # vim /etc/amavis/conf.d/15-content_filter_mode El archivo debe de tener este aspecto: 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; Editaremos el siguiente archivo, as: # vim /etc/amavis/conf.d/50-user El archivo debe de tener este aspecto: use strict;

$pax='pax'; 1; Despus debemos de agregar el usuario Clamav al Grupo del Amavis, con el siguiente comando: # adduser clamav amavis Ahora debemos de reiniciar los Servicios Amavis y Clamav (clamavdaemon es el Demonio y clamav-freshclam es la base de datos), lo haremos as: # /etc/init.d/amavis restart # /etc/init.d/clamav-daemon restart # /etc/init.d/clamav-freshclam restart 20. Configuracin del SPAMASSASSIN

En este paso implantaremos los Plugins necesarios para aumentar la deteccin de Spam en el Servidor de Correo, de lo contrario no servir nuestro Servidor. Entraremos a editar el archivo principal del Spamassassin con el siguiente comando: # vim /etc/spamassassin/local.cf Debemos de aadir el siguiente contenido al archivo, debe de quedar como este: # dcc use_dcc 1 dcc_path /usr/bin/dccproc #pyzor use_pyzor 1 pyzor_path /usr/bin/pyzor #razor use_razor2 1 razor_config /etc/razor/razor-agent.conf #bayes use_bayes 1 use_bayes_rules 1 bayes_auto_learn 1 En el mismo archivo debemos de buscar las siguientes lneas, des comentaremos la siguientes lneas y a required_score que se

encuentra en un valor de 5.0 le cambiamos el valor que viene por 0.3 que es el valor con el que se califican los Spam (si el contenido del mensaje supera 0.3 lo califica como un Spam), las lneas deben de quedar as: rewrite_header Subject *****SPAM***** report_safe 1 required_score 0.3 Tambin entraremos a editar el archivo v310.pre para la configuracin del Spamassassin, con el siguiente comando: # vim /etc/spamassassin/v310.pre Verificaremos que se encuentren des comentadas las siguientes lneas (Debemos de encontrar comentada solo al lnea DCC-plugin, pero verificaremos las dems lneas), debe de tener un aspecto como este: loadplugin loadplugin loadplugin loadplugin loadplugin loadplugin loadplugin loadplugin loadplugin Mail::SpamAssassin::Plugin::DCC Mail::SpamAssassin::Plugin::Pyzor Mail::SpamAssassin::Plugin::Razor2 Mail::SpamAssassin::Plugin::SpamCop Mail::SpamAssassin::Plugin::AWL Mail::SpamAssassin::Plugin::AutoLearnThreshold Mail::SpamAssassin::Plugin::WhiteListSubject Mail::SpamAssassin::Plugin::MIMEHeader Mail::SpamAssassin::Plugin::ReplaceTags

Ahora configuraremos que el Spamassassin se ejecute como Demonio, entraremos a editar el siguiente archivo de configuracin, as: # vim /etc/default/spamassassin Debemos de establecer la lnea Enabled en 1. Debe de tener el siguiente aspecto: ENABLED=1 OPTIONS="--create-prefs --max-children 5 --helper-home-dir" PIDFILE="/var/run/spamd.pid" #NICE="--nicelevel 15" CRON=0 Debemos de realizar los siguientes cambios para que el AntiSpam (Spamassassin) pueda detectar los Spam. Entraremos ha editar el archivo de configuracin 05-domain_id en la ruta /etc/amavis/conf.d/ con el siguiente comando:

# vim /etc/amavis/conf.d/05-domain_id Buscaremos y comentaremos esta lnea, debe de quedar asi: #chomp($mydomain = `head -n 1 /etc/mailname`); Y agregamos esta lnea en su reemplazo donde definiremos nuestro Dominio, debe de quedar as: chomp($mydomain = `example.com`); Luego entramos en el archivo de configuracin 20-debian_defaults, as: # vim /etc/amavis/conf.d/20-debian_defaults Buscaremos el siguiente bloque y lo debemos de modificar con los siguientes valores, estos sern los niveles de detencin de los Spam, el archivo debe de quedar as: $sa_spam_subject_tag = '***SPAM*** '; $sa_tag_level_deflt above that level $sa_tag2_level_deflt that level $sa_kill_level_deflt $sa_dsn_cutoff_level not sent = = = = 0.2; # add spam info headers if at, or 0.2; # add 'spam detected' headers at 0.1; # triggers spam evasive actions 10; # spam level beyond which a DSN is

Despus en el mismo archivo de configuracin debemos de buscar el siguiente bloque y debe de quedar como aqu se muestra: $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 frontend MTA $final_spam_destiny = D_PASS; $final_bad_header_destiny = D_PASS; # False-positive prone (for spam) Ahora pasaremos a editar el archivo master.cf en el Postfix, as:

# vim /etc/postfix/master.cf Debemos de verificar que este bloque tenga el siguiente contenido (Que la lnea ${nexthop} ${user} este agregada a la lnea superior pues la encontraremos como una lnea aparte, el bloque debe de quedar as: ifmail unix n n pipe flags=F user=ftn argv=/usr/lib/ifmail/ifmail -r $nexthop ($recipient) bsmtp unix n n pipe flags=Fq. user=bsmtp argv=/usr/lib/bsmtp/bsmtp -t$nexthop -f $sender $recipient scalemail-backend unix n n 2 pipe flags=R user=scalemail argv=/usr/lib/scalemail/bin/scalemail-store ${nexthop} ${user} ${extensio$mailman unix n n pipe flags=FR user=list argv=/usr/lib/mailman/bin/postfix-to-mailman.py ${nexthop} ${user} Ahora iniciaremos el Servidor Spamassassin y Reiniciar el Amavis, as: # /etc/init.d/spamassassin start # /etc/init.d/amavis restart 21. Configuracin del DNS (Servidor BIND9)

En este punto debemos de copiar el archivo named.conf que se encuentra en la ruta /usr/share/doc/python-mmcbase/contrib/bind/ (Directorios creados en el momento de la Instalacion de los paquetes) el cual contiene unos parmetros diferentes al original del BIND9, este archivo lo cambiaremos porque contiene la sintaxis para que pueda trabajar conjunto con el LDAP (Para poder crear la Zona por la interfaz grafica). Lo haremos con el siguiente comando: # cp /usr/share/doc/python-mmc-base/contrib/bind/named.conf /etc/bind/ Despus cambiaremos el punto de partida del LDAP para que inicie antes que el BIND9, as: update-rc.d -f slapd remove && update-rc.d slapd start 14 2 3 4 5 . stop 86 0 1 6 .

Esta parte es muy importante pues es donde configuraremos nuestro equipo para que pueda resolver el DNS tanto Local como para los dems Equipo de la Red, entraremos a editar el archivo resolv.conf en la ruta /etc/ y agregaremos el nombre y la IP de nuestro Dominio, as: # vim /etc/resolv.conf El archivo debe de tener este aspecto: search example.com nameserver 192.168.0.100 Despues debemos de crear el siguiente archivo con el siguiente comando (Esto lo debemos de hacer porque configuraciones anreriores agregamos uan lnea con este archivo pero no lo hemos creado), as: # vim /etc/bind9/named.conf.ldap 22. Configuracin del DHCP (DHCP3-Server)

Haremos lo mismo que con el DNS, debemos de copiar el archivo dhcpd.conf que se encuentra en la ruta /usr/share/doc/pythonmmc-base/contrib/dhcp/ (Directorios creados en el momento de la Instalacin de los paquetes) el cual contiene unos parmetros diferentes al original del DHCP3-server, este archivo lo cambiaremos porque contiene la sintaxis para que pueda trabajar conjunto con el LDAP (Para poder crear la Zona por la interfaz grafica). Lo haremos con el siguiente comando: # cp /usr/share/doc/python-mmc-base/contrib/dhcpd/dhcpd.conf /etc/dhcp3/ Entraremos a editar el archivo que acabamos de copiar y copiaremos los datos de Nuestro Dominio, as: # vim /etc/dhcp3/dhcpd.conf El archivo debe de quedar de la siguiente forma: ldap-server "localhost"; ldap-port 389; ldap-username "cn=admin, dc=example, dc=com"; ldap-password "Sena.2008admon";

ldap-base-dn "dc=example, dc=com"; ldap-method dynamic; ldap-debug-file "/var/log/dhcp-ldap-startup.log";

23.

Configuracin de la Interfaz Web (MMC)

23.1. Creacin de los Certificados SSL En este punto crearemos un directorio en el cual almacenaremos los Certificado y las llaves para la configuracin de SSL para la interfaz Web, tanto para MMC como para Squirrelmail (Interfaz Web para el Postfix), lo crearemos con el siguiente comando: # mkdir /etc/apache2/ssl/ Y generaremos el nuevo Certificado en el cual estamos especificando la ruta donde se almacenara, con que nombre y la cantidad de tiempo que durara en das, as: # openssl req -new -x509 -keyout /etc/apache2/ssl/server.key -out /etc/apache2/ssl/server.crt -days 365 -nodes Despus le debemos de dar permisos a la llave para que pueda funcionar al momento de pedir el Certificado, con este comando: # chmod 600 /etc/apache2/ssl/server.key 23.2. Creacin de los Host Virtuales Ahora Vamos a crear dos Host Virtuales para la MMC, uno que ser el Host Virtual que contendr la ruta de la Pagina Web de al MMC (https) y el otro ser el que nos redireccionara a la pagina segura (http), esto ser para cuando tratemos de ingresar a la MMC con http nos mande a https que es el modo seguro (SSL).

Crearemos el archivo http en la ruta /etc/apache2/sites-available/ con el siguiente comando: # vim /etc/apache2/sites-available/http Aadiremos las siguientes lneas al archivo, aqu le estamos diciendo que cuando pidan http lo mande por https con el mismo nombre para la MMC, el * nos quiere decir que escuche por todas las IP posibles que tenga nuestro equipo y el 80 es del Puerto, debe de quedar as: NameVirtualHost *:80 <VirtualHost *:80> ServerName server1.example.com RewriteEngine On RewriteCond %{HTTPS} off RewriteRule (.*) https://server1.example.com/mmc </VirtualHost> Ahora crearemos el Host Virtual que contiene la ruta de la pgina Web de a MMC, lo crearemos as: # vim /etc/apache2/sites-available/https El contenido de este archivo debe de tener este aspecto, el bloque SSL que esta subrayado es donde le decimos que trabaje con SSL y la ruta del Certificado y la Llave (Recordemos que SSL trabaja en el Puerto 443), as: NameVirtualHost *:443 <VirtualHost *:443> ServerName server1.example.com ServerAdmin Administrator@example.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:+EX P:+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> Debemos de agregar el puerto 443 por el cual va a escuchar a la configuracin de Apache para el Host Virtual https el cual trabaja por ese puesto por la configuracin del SSL, editaremos el siguiente archivo: # vim /etc/apache2/ports.conf Y debemos de aadir la siguiente lnea (Sin borrar la del 80), as: Listen 443 Despus debemos permitir los nuevos Host Virtual (Crear los enlaces con la ruta /etc/apache2/sites-enable/) es muy importante de lo contrario no servirn, as: # a2ensite http # a2ensite https Reescribiremos el mdulo del apache (Recargar), con los siguientes comandos: # a2enmod rewrite # a2enmod ssl Probaremos las configuraciones reiniciando el apache2 con el siguiente comando, no nos debe de salir ningn error (Si nos sale algn error debemos de mirar los Logs del sistema), as: # /etc/init.d/apache2 restart 23.3.Configuracin de los Plugins para la MMC Plugin BASE Ahora debemos de configurar los plugins necesarios para el funcionamiento, lo que haremos es activarlos, editndolos y colocando los datos respectivos de nuestro Dominio, si no los configuramos no

podr arrancar la MMC, todos los plugins son importantes pero uno se destaca mas sobre ellos por que los dems dependen de el. Entraremos a editar el Plugin Base que se encuentra en la ruta /etc/mmc/plugins/ con la ayuda del siguiente comando: # vim /etc/mmc/plugins/base.ini Modificar la baseDN con el nombre de nuestro Dominio, la contrasea del administrador del LDAP que ser en nuestro caso Sena.2008admon y cambiar la ruta de destino para los archivos del SAMBA (En la ultima parte de este bloque encontraremos una lnea que dice destpath, ha esta lnea le agregaremos el directorio archives, el contenido de este archivo debe ser parecido a este: [ldap] # LDAP we are connected to host = 127.0.0.1 # LDAP base DN baseDN = dc=example, dc=com # Users location in the LDAP baseUsersDN = ou=Users, %(basedn)s # Groups location in the LDAP baseGroupsDN = ou=Groups, %(basedn)s # Computers Locations baseComputersDN = ou=Computers, %(basedn)s # LDAP manager rootName = cn=admin, %(basedn)s password = Sena.2008admon # If enabled, the MMC will create/move/delete the home of the users # Else will do nothing, but only write user informations into LDAP userHomeAction = 1 # Skeleton directory to populate a new home directory skelDir = /etc/skel # If set, all new users will belong to this group when created defaultUserGroup = Domain Users # Default home directory for users defaultHomeDir = /home # user uid number start uidStart = 10000 # group gid number start gidStart = 10000 # LDAP log file path logfile = /var/log/ldap.log # FDS log file path

# logfile = /opt/fedora-ds/slapd-hostname/logs/access # you can specify here where you can authorized creation of your homedir # default is your defaultHomeDir # example: # authorizedHomeDir = /home, /home2, /mnt/depot/newhome [backup-tools] # Path of the backup tools path = /usr/lib/mmc/backup-tools # Where are put the archives destpath = /home/samba/archives Plugin MAIL Con este plugin podremos crear los Dominios y Usuarios Virtuales para el Correo (Postfix), lo activaremos editando el siguiente archivo: # vim /etc/mmc/plugins/mail.ini En el archivo debemos de cambiar los parmetros con los de nuestro Dominio y Activar los Dominios y Usuarios Virtuales en la lnea vDomainSupport colocando el valor en 1, as debe de quedar el archivo de configuracin (Verificaremos que las lneas For Postfix, For Dovecot delivery estn comentadas y que la linea mailbox = este des comentada para el buen funcionamiento del Plugin), debe de ser as: [main] disable = 0 # Enable virtual domain support vDomainSupport = 1 # If vdomain enabled, OU where the domain are stored vDomainDN = ou=mailDomains, dc=example, dc=com [userDefault] # For Postfix delivery # mailbox = %homeDirectory%/Maildir/ # For Dovecot delivery mailbox = maildir:%homeDirectory%/Maildir/ # Default quota (200 MBytes) set for user mailuserquota = 204800

Plugin NETWORK Tambin debemos de configurar este plugin el cual ser el que permitir la comunicacin para el Servidor DHCP y el Servidor DNS, para la creacin de Zonas y Rangos. Editaremos el siguiente archivo: # vim /etc/mmc/plugins/network.ini Modificaremos el archivo con los datos de nuestro Dominio el archivo debe de ser como este: [main] disable = 0 [dhcp] dn = ou=DHCP,dc=example,dc=com pidfile = /var/run/dhcpd.pid init = /etc/init.d/dhcp3-server logfile = /var/log/daemon.log leases = /var/lib/dhcp3/dhcpd.leases [dns] dn = ou=DNS,dc=example,dc=com pidfile = /var/run/bind/run/named.pid init = /etc/init.d/bind9 logfile = /var/log/daemon.log bindroot = /etc/bind/ binduser = bind # dnsreader = DNS Reader # dnsreaderpassword = DNSReaderPassword Plugin SAMBA En este plugins tambin lo configuraremos con los parmetros de nuestro Domino en el cual le estamos diciendo el Dominio para que almacene a los Usuarios del LDAP, de lo contrario no podremos Agregar ningn equipo de la Red al Servidor, editaremos el siguiente archivo con el comando: # vim /etc/mmc/plugins/samba.ini Modificar el nombre por defecto por el nombre de nuestro Dominio, el contenido debe de ser como este: [main] disable = 0 # Computers Locations baseComputersDN = ou=Computers, dc=example, dc=com

sambaConfFile = /etc/samba/smb.conf sambaInitScript = /etc/init.d/samba sambaClamavSo = /usr/lib/samba/vfs/vscan-clamav.so # Default SAMBA shares location defaultSharesPath = /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 Iniciar la MMC Ya configuramos los plugins necesarios para que se pueda Iniciar (Arrancar) la MMC, lo haremos con el siguiente comando: # /etc/init.d/mmc-agent start Si al reiniciar la MMC el Plugin SAMBA no carga o inicia, debemos de entrar al archivo de configuracin del SAMBA a cambiar la siguiente linea, con el siguiente comando: # vim /etc/samba/smb.conf Buscaremos la siguiente lnea que se encuentra por defecto en YES, la cambiaremos por NO, as: ldap delete=no Este parmetro especifica que una operacin de borrado en la base de datos ldapsam eliminara todas las entradas o slo los atributos especficos de SAMBA. Reiniciamos el Agente (MMC) de Nuevo y todo estar listo para acceder a la consola Administrativa, (Interfaz Web): # /etc/init.d/mmc-agent restart Es necesario reiniciar el Servidor BIND9 para que tome los cambios, as: # /etc/init.d/bind9 restart Esta ser la salida si la MMC cargo correctamente:

Restarting Mandriva Management Console XML-RPC Agent: mmc-agent starting... Registering authenticator baseldap / base.BaseLdapAuthenticator Registering authenticator externalldap / mmc.plugins.base.externalldap.ExternalLdapAuthenticator Registering provisioner externalldap / mmc.plugins.base.externalldap.ExternalLdapProvisioner Plugin base loaded, API version: 6:0:2 build(620) Plugin samba loaded, API version: 5:1:4 build(620) Plugin proxy: Can't find squidguard blacklist: /var/lib/squidguard/db/bad.destdomainlist. Plugin proxy not loaded. Plugin network loaded, API version: 1:1:0 build(620) Plugin mail loaded, API version: 6:1:4 build(620) Selecting authenticator baseldap / base.BaseLdapAuthenticator Authenticator baseldap successfully validated Selecting provisioners: None Selecting computer manager: none done. Esta ser la salida si la MMC no cargo correctamente: Starting Mandriva Management Console XML-RPC Agent: mmc-agent starting... MMC schema seems not be include in LDAP directory Plugin base not loaded. MMC agent can't run without the base plugin. Exiting. failed. Esta es la salida del error del ldap-delete: Starting Mandriva Management Console XML-RPC Agent: mmc-agent starting... Created OU ou=System,dc=example,dc=com Registering authenticator baseldap / base.BaseLdapAuthenticator Registering authenticator externalldap / mmc.plugins.base.externalldap.ExternalLdapAuthenticator Registering provisioner externalldap / mmc.plugins.base.externalldap.ExternalLdapProvisioner Plugin base loaded, API version: 6:0:2 build(620) SAMBA option 'ldap delete dn' must be disabled. Plugin samba not loaded. Plugin proxy: Can't find squidguard blacklist:

/var/lib/squidguard/db/bad.destdomainlist. Plugin proxy not loaded. Created OU ou=DHCP,dc=example,dc=com Created OU ou=DNS,dc=example,dc=com Created DHCP config object The server 'server1.example.com' has been set as the primary DHCP server Plugin network loaded, API version: 1:1:0 build(620) Created OU ou=mailDomains, dc=example, dc=com Plugin mail loaded, API version: 6:1:4 build(620) Selecting authenticator baseldap / base.BaseLdapAuthenticator Authenticator baseldap successfully validated Selecting provisioners: None Selecting computer manager: none done. Ahora ya podemos tener acceso a la interfaz Web de la MMC a travs del navegador Web, digitando pgina http://server1.example.com/mmc, recordemos que tenemos un Host Virtual el cual nos redireccionara a modo seguro (https), entonces el nos preguntara si queremos establecer la conexin segura a la cual le diremos que si (No lo preguntara con 2 ventanas emergentes, les daremos Clic en Aceptar y listo), as:

Clic en OK y Listo:

Nos debe de aparecer la siguiente ventana en la cual nos debemos de logear, con un Usuario (root) y la contrasea del LDAP (Sena.2008admon), as:

Esta es la Ventana Principal o el Home de la MMC:

23.4.Creacin de las Zonas DNS y DHCP En este paso procederemos a crear la Zona DNS (Clic en Network y Add DNS Zone), as:

DNS Zone FQDN: example.com Descripction: Server DNS (Puede ir cualquier Descripcin) Name Server Host Name: server1 Name Server IP: 192.168.1.65 Network Address: 192.168.1.0 Network Mask: 24

Despus debemos de Modificar la Zona del DHCP pues ella se crea automticamente al crear la Zona del DNS, ahora procederemos modificarla para nuestro Servidor DHCP, Clic en DHCP Subnets y Clic en Editar, as:

Debemos de recordar que si Creamos una Zona DNS y deseamos Eliminarla, debemos de Eliminar tambin la Zona en el DHCP para que no haya conflicto.

Aqu agregaremos las siguientes lneas DHCP Subnet Address: Viene por defecto Netmask: 24 Description: Cualquiera Autoritative: Chulearemos este parametro Broadcast Address: 192.168.1.255 Routers: 192.168.1.254 (En nuestro caso) Domain Name Server: 192.168.1.65 (Nuestra IP) WINS Server: 192.168.1.65 (No lo trabajara asi pero es necesario para las Maquinas Windows)

Al final de esta Ventana Chulearemos el campo que dice Dynamic pool for non-registered DHCP client y colocaremos el rango de IPS que deseemos entregar, Clic en Confirmar y Listo.

Ahora podemos mirar el estado de los Servicios de DHCP y DNS en la parte de Network Services Management (Ahora podemos Iniciar el Servidor DHCP, pues no habamos creado ninguna Zona), as:

24.

Instalacin y Configuracin de la Interfaz Web para el Correo (SQUIRRELMAIL)

Debemos de instalar el paquete Squirrelmail que ser la Interfaz Web del Servidor de Correo, lo instalaremos con el siguiente comando:

# apt-get install squirrelmail Para habilitar la interfaz grafica con el Servidor de Correo y nos salga ningn error al momento de Logearnos con un Usuario, debemos de editar varios archivo en diferentes directorios del Sistema. Entramos a uno de los archivos de configuracin que debemos de editar con el siguiente comando: # vim /etc/postfix/master.cf Buscaremos las siguientes lneas y las des comentamos, las lneas son: -o smtpd_enforce_tls=yes -o smtpd_sasl_auth_enable=yes Que por defecto vienen comentadas. Tambin es necesario crear un enlace entre el archivo apache.conf (Que ser el Host Virtual para la Pagina Web del Squirrelmail), de la siguiente forma. Primero debemos de estar parado en la siguiente ruta: # cd /etc/apache2/conf.d Y luego debemos de crear el enlace respectivo para el archivo apache.conf, as: # ln -s /usr/share/squirrelmail/config/apache.conf apache.conf Para verificar que el enlace quedo bien creado digitamos el siguiente comando: # ls -l Y nos debe aparecer algo como: # apache.conf -> /usr/share/squirrelmail/config/apache.conf Debemos de crear un Alias para la interfaz Web del Squirrelmail, para ingresar por medio de webmail.example.com y no por la IP del Servidor (Clientes). Entraremos a la MMC para crearle el Alias al equipo, en nuestro caso el equipo se llama server1 y el Alias ser Webmail. Seguiremos los siguientes pasos, entraremos por medio del navegador Web a la consola MMC, as: http://server1.example.com/mmc

Daremos Clic en Network, Clic en Nuestra Zona DNS y Clic en Editar:

Aqu agregaremos el Alias, webmail y Clic en Confirmar:

Al final nos debe de quedar as:

En nuestro caso el webmail.example.com.

Host

Virtual

quedara

con

el

nombre

de

24.1.Creacin de la Host Virtual Entraremos a la ruta /etc/apache2/conf.d/ y moveremos el archivo apache.conf a esta ruta /etc/apache2/sites-available/, as: # mv /etc/apache2/conf.d/apache.conf /etc/apache2/sites-available/

Despus la cambiaremos el nombre del archivo apache.conf por webmails (Esto es opcional, es por orden), as: # mv /etc/apache2/sites-available/apache.conf available/webmails /etc/apache2/sites-

Entraremos a editar el archivo webmails para configurarlo, as: # vim /etc/apache2/sites-available/webmails

Y debe de quedar con este aspecto (Donde el * es que escuche por todas las IP de nuestro equipo, Nombre del Host Virtual por el puesto 80 por que de lo contrario habr conflicto pero el Host Virtual se transmitir por el puesto 443 para la seguridad SSL): Alias /squirrelmail /usr/share/squirrelmail # users will prefer a simple URL like http://webmail.example.com NameVirtualHost <VirtualHost DocumentRoot ServerName *:80 *:443> /usr/share/squirrelmail webmail.example.com

SSLEngine on SSLCertificateKeyFile ssl/webmail.key SSLCertificateFile ssl/webmail.crt SSLProtocol all SSLCipherSuite ALL:!ADH:!EXPORT56:RC4+RSA:+HIGH:+MEDIUM:+LOW:+SSLv2:+EX P:+eNULL <Directory Options <IfModule php_flag </IfModule> <IfModule php_flag </IfModule> <IfModule DirectoryIndex </IfModule> /usr/share/squirrelmail> Indexes FollowSymLinks mod_php4.c> register_globals off register_globals mod_php5.c> off mod_dir.c> index.php

# access to configtest is limited by default to prevent information leak <Files configtest.php> order deny,allow allow from all </Files> SSLRequire %{SSL_CIPHER_USEKEYSIZE} >= 128 </Directory> </VirtualHost> # redirect to https when available (thanks omen@descolada.dartmouth.edu) # # Note: There are multiple ways to do this, and which one is suitable for # your site's configuration depends. Consult the apache documentation if # you're unsure, as this example might not work everywhere. # #<IfModule mod_rewrite.c> # <IfModule mod_ssl.c> # <Location /squirrelmail> # RewriteEngine on # RewriteCond %{HTTPS} !^on$ [NC] # RewriteRule . https://%{HTTP_HOST}%{REQUEST_URI} [L] # </Location>

# #</IfModule>

</IfModule>

Despus debemos de crear un archivo mas que nos redireccionar a la Interfaz Web con la seguridad SSL, para ello copiaremos el archivo http pero con otro nombre, as: # cp /etc/apache2/sites-available/http /etc/apache2/sitesavailable/webmail Entraremos a editar el archivo Webmail para configurarlo con los datos del nuevo Host Virtual, as: # El archivo vim de /etc/apache2/sites-available/webmail configuracin debe de quedar as:

<VirtualHost ServerName RewriteEngine RewriteCond RewriteRule </VirtualHost>

(.*)

*:80> webmail.example.com On %{HTTPS} off https://webmail.example.com

Ahora debemos de entrar a modificar el archivo http y quitarle primera lnea que dice NameVirtualHost *:80 por que de lo contrario habr conflicto con el archivo webmails, as: # vim /etc/ apache2/sites-available/http

Nos falta una parte muy importante para que nos pueda funcionar el Host Vistual, que es generar el certificado para la Interfaz Web del Squirrelmail, en el archivo webmails especificamos dos nombres, uno con el nombre de webmail.key y el otro con el nombre de webmail.crt los cuales al crearlos quedaran en la ruta /etc/apache2/ssl/, en este punto generaremos el nuevo certificado con en siguiente comando: # openssl req -new -x509 -keyout /etc/apache2/ssl/webmail.key -out /etc/apache2/ssl/webmail.crt -days 365 -nodes Ya generamos el certificado pero debemos de darle los mismos permisos que le dimos al certificado de la MMC en el paso anterior, as: # chmod 600 /etc/apache2/ssl/server.key

Despus de esto debemos de activar los Host Virtuales, tanto el webmail como el webmails (Estando parados en la ruta /etc/apache2/sitesavalaible/), con el siguiente comando: # # a2ensite a2ensite webmail webmails

Despus de esto reiniciamos el servidor apache2 y el DNS(Aqu nos daremos cuenta de algn error en la configuracin, el Servidor debe de reiniciar bien), as: # /etc/init.d/apache2 restart # /etc/init.d/bind9 restart NOTA: Si nos sale algn error debemos de mirar bien que nos dice y mirar la sintaxis de los archivos que estn en la carpeta /etc/apache2/sites-available/. - Recordemos que no podemos dejar el archivo apache.conf en la carpeta /etc/apache2/conf.d/ por eso lo movimos para la otra ruta, si esta en esta ruta pondr conflicto. Ahora debemos de probar en el navegador Web el Squirrelmail (Recordemos no trabajar con Servidor Proxy en el Navegador si es el caso), as: http://webmail.example.com Aqu nos debe de salir las imgenes del Certifcado SSL (recordemos que nos redirecciona a https) a las cuales le daremos Clic en OK y lito:

Clic en OK:

Esta es la Interfaz Web del Squirrelmail. En esta parte colocaremos el nombre del Usuario con el Dominio Completo (usuario1@example.com) y al Contrasea del Usuario:

25.

Configuracin de Dominios y Usuarios Virtuales (Postfix)

Como ya tenemos el Plugin Mail habilitado entraremos al archivo de

configuracin del Postfix con Usuarios Virtuales, el archivo se llama main.cf en la ruta /usr/share/doc/python-mmcbase/contrib/postfix/with-virtual-domains/ (Este directorio se cre con la instalacin de los paquetes), entraremos al archivo con el siguiente comando: # vim /usr/share/doc/python-mmc-base/contrib/postfix/with-virtualdomains/main.cf En este archivo de configuracin encontraremos las siguientes lneas las cuales copiaremos y pegaremos en otro archivo, las lneas que debemos de copiar debe de ser como estas: # 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 Entraremos al archivo main.cf que est en la ruta /etc/postfix/ para pegar las lneas que copiamos anteriormente con el siguiente comando: # vim /etc/postfix/main.cf Dentro del archivo de configuracin agregaremos las lneas debajo de la siguiente lnea, guardamos y listo, las lneas son: myhostname = server1.example.com mydomain = example.com alias_maps = ldap:/etc/postfix/ldap-aliases.cf, hash:/etc/aliases alias_database = hash:/etc/aliases myorigin = /etc/mailname mydestination = server1.example.com,example.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 Tambien buscaremos en la ltima lnea del archivo de configuracin un 127.0.0.1 y lo cambiaremos por localhost y listo. Luego debemos de copiar todos los archivos de configuracin que especificamos con las lneas que copiamos en el archivo main.cf para los Usuarios y Dominios Virtuales, los archivo son: ldap-domains.cf, ldap-accounts.cf, ldap-aliases.cf, ldap-maildrop.cf, ldap-uid.cf y ldapgid.cf y estn en la ruta /usr/share/doc/python-mmcbase/contrib/postfix/with-virtual-domains/, los copiaremos con el siguiente comando: # cp /usr/share/doc/python-mmc-base/contrib/postfix/with-virtualdomains/ldap-domains.cf /etc/Postfix/ # cp /usr/share/doc/python-mmc-base/contrib/postfix/with-virtualdomains/ldap-accounts.cf /etc/postfix/ # cp /usr/share/doc/python-mmc-base/contrib/postfix/with-virtualdomains/ldap-aliases.cf /etc/postfix/ # cp /usr/share/doc/python-mmc-base/contrib/postfix/with-virtualdomains/ldap-maildrop.cf /etc/postfix/ # cp /usr/share/doc/python-mmc-base/contrib/postfix/with-virtualdomains/ldap-uid.cf /etc/postfix/ # cp /usr/share/doc/python-mmc-base/contrib/postfix/with-virtualdomains/ldap-gid.cf/etc/postfix/ Ahora que los copiamos debemos de entrar a modificarlos con los datos de nuestro Dominio, lo haremos con el siguiente comando: # # # # # # vim vim vim vim vim vim /etc/postfix/ldap-domains.cf /etc/postfix/ldap-accounts.cf /etc/postfix/ldap-aliases.cf /etc/postfix/ldap-maildrop.cf /etc/postfix/ldap-uid.cf /etc/postfix/ldap-gid.cf

Ahora debemos de reiniciar el Postfix para que nos tome los cambios, es posible que el DNS tambien (Recordemos que si tenemos la MMC abierta

es posible que debamos de cerrarla y volver a entrar a ella), as: # /etc/init.d/postfix restart # /etc/init.d/bind9 restart Con esto ya podemos entrar a la consola Administrativa (MMC) y crear los Dominios Virtuales y configurar en los Usuarios los Usuarios y Dominios Virtuales. Entraremos a la MMC para crear el Dominio Virtual, as: http://server1.example.com/mmc Entraremos a Mail, despues Clic en Add a Domain y colocaremos los Datos que necesitamos, en nuestro caso el Dominio Virtual sera elemplo.com, despues la Descripcion que le deseemos dar y por ultimo la cuota de usuarios que le queramos dar, nosotros se la daremos Indefinida, as:

Asi nos debe de quedar el Dominio Virtual creado:

Ahora debemos de entrar a editar los usuarios a los cuales deseemos crearle el Usuario o el Dominio Virtual, as:

Al final de la pgina de cada Usuario encontraremos la casilla de Mail Alias, aqu podemos agregar el Usuario Virtual, el Dominio Virtual y ambos Usuario y Dominio Virtual, as (Confirmamos y Listo):

25.1.Probar el Antivirus y el Antispam por la nterfaz Web del Squirrelmail Para probar si esta funcionando el Antivirus en nuestro Servicio de Correo, intentaremos enviar un archivo .exe, enviaremos un correo a otro usuario de nuestro Directotio LDAP, en la consola del Squirrelmail le daremos Clic en Compose, especificaremos un Subject y el Destinatario, al final de la Ventana hay una parte para Adjuntar archivos, alli buscaremos el Archivo .exe y la enviaremos, pero como estamos trabajando con Antivirus el no nos debe de dejar enviarlo y en ves de eso nos debe de salir el siguiente mensaje:

Despues queremos provar si el Antispam funciona, para ello enviaremos un archivo con la palabra Viagra y con el mismo nombre como Subject, as:

Pero como el antiespam esta funcionando al Usuario destinatario le debe de aparecer el mensaje marcado como SPAM, as:

26. Union del Usuario (Windows XP) al Dominio example.com Ahora debemos de verificar si nuestro PDC si puede almecenar los Usuarios y Equipos en la base de Datos, entraremos al Usuario que sera un Equipo con Windows XP Professional SP2, antes de esp debemo de entrar a la MMC y cambiar un parametro en el SAMBA con el cual no trabajaremos. Entraremos a Shares, General Options y le quitaremos el Chulito a la Opcion This Server is a WINS Server por que nuestro Servidor no es un Servidor WINS aunque el Windows lo crea asi, Clic en confirmar y listo configuraremos la Trajeta de red del Cliente:

Ahora si onfiguraremos la tarjeta de Red para poder tener conexin con el Servidor, tendra nuestro rango y nuestra IP como Servidor DNS, as:

Le daremos Clic en Opciones Avanzadas, Clic en DNS y colocaremos como Sufijo DNS a nuestro Dominio, as:

Luego le daremos Clic en WINS y colocaremos nuestra IP como Servidor WINS, as:

Guardaremos los cambios y despues en la consola CMD le daremos un nsloohup y veremos si esta resolviendo nuestro Dominio, as:

Si todo esta bien ahora lo que debemos de hacer el unir el Equipo al Dominio, le daremos Clic derecho a Mi PC y Propiedades, nos debe de salir la siguiente Ventana a la cual le daremos Clic en Cambiar:

Aqu colocaremos el nombre de nustro Dominio en mayuscula (Nombre NET BIOS) y Clic en Aceptar, as:

Nos debe de salir esta Ventana en la cual el Usuario sera Administrator y la Contrasea Sena.2008admon, Clic en Aceptar, as:

Y nos debe de salir esta ventana de Bienvenida, as:

Nos pedira que debemos de Reiniciar el Equipo, as:

Y Clic en Si para Reiniciar el Equipo Ahora:

Al Reiniciar el Equipo nos debe de aparecer la Siguiente Ventana en la cual debemos de colocarl el nombre del Usuario, Contrasea y el Nombre del Dominio, as:

Você também pode gostar