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 método utilizado para el desarrollo de este proyecto ha sido el objetivo específico del SENA sobre los aprendices “Formación por proyectos”, es decir autodidactas; contando con las pautas otorgadas por los asesores tanto del área de administración de redes como de otras áreas en general.

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

Se espera culminar satisfactoriamente con las metas planteadas, por ello aplicamos toda nuestro empeño 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 formación del SENA.

CONCEPTOS TEORICOS MANDRIVA DIRECTORY SERVER Es una plataforma empresarial de directorio basado en LDAP diseñado para la gestión de identidades, control de acceso a la información, las políticas, la aplicación y la configuración de los perfiles de usuario. SERVIDOR DE CORREO: es una aplicación informática que nos permite enviar mensajes (correos) de unos usuarios a otros, con independencia de la red que dichos usuarios estén utilizando. SMTP: Protocolo simple de transferencia de correo. Protocolo de red basado en texto utilizado para el intercambio de mensajes de correo electrónico entre computadoras u otros dispositivos MTA: MAIL TRANSFER AGENT Agente de transferencia de correo electrónico; los agentes de correo electrónico son por lo común 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 automáticas. MUA: MAIL USER AGENT El MUA permite: leer, componer, responder y disponer (por ejemplo borrar o archivar) de los mensajes de correo electrónico. Estos funcionan con varias reglas. • Aceptan mensajes entrantes. • Comprueban dirección del mensaje. • Si son direcciones locales, almacenan el mensaje para después recuperarlo. • Si son direcciones remotas, envían el mensaje.

WEBMAIL: Es un programa informático, concretamente un cliente de correo electrónico, que provee una interfaz Web por la que acceder al correo electrónico. El webmail permite listar, desplegar y borrar vía 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/código abierto, un programa informático para el enrutamiento y envío de correo electrónico, creado con la intención de que sea una alternativa más rápida, fácil 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.-

Es el protocolo más indicado para las personas que utilizan un único PC para almacenar y gestionar sus mensajes. independientes de las que tiene su cliente local (Mozilla u Outlook). . descarga los mensajes y los borra del servidor. Importante: Webmail es un cliente de correo IMAP y como tal tiene sus propias funcionalidades. congresos. Sólo los mensajes que estén en la bandeja de entrada de Webmail se podrán descargar con POP3. Cuando vuelve al equipo habitual. Eso permite centralizar todos los mensaje en un único PC. Ponga atención si crea carpetas adicionales en Webmail para almacenar sus mensajes. Se trata de un cliente Web de correo (no requiere configuración) y que permite consultar los mensajes desde otros PCS (casa. por defecto.POP3 El protocolo POP descarga. Cuando se emplea más de un PC hay que realizar configuraciones especiales indicando que los mensajes se mantengan en el servidor. etc. Siendo realmente difícil trabajar con el mismo conjunto de mensajes en todos los clientes. Cualquier mensaje en estas carpetas no será accesible por el cliente POP.). evitando posibles pérdidas. Una alternativa a estas configuraciones es Webmail. La operativa habitual con POP3 es la siguiente: el usuario descarga mensajes de correo en su PC y esporádicamente lee los nuevos mensajes en otros equipos secundarios con Webmail. todos los mensajes a su ordenador y luego los borra del servidor. sin descargarlos.

suscripción a carpetas. porque son las más utilizadas. el cual cumple la función de identificar el spam mediante el análisis del texto contenido en el mensaje. El límite de mensajes que puede almacenar en las carpetas locales depende de las características de su cliente y del tamaño de su disco duro. . Para realizar el borrado definitivo se requiere la acción "purgar mensajes". etc. el servidor puede tener varias carpetas y sólo algunas se están visualizando con el cliente.) para acceder al buzón correo. Esto suele optimizar el rendimiento del servidor. esto no quiere decir que no se puedan crear carpetas locales (similares a POP) para almacenar muchos más mensajes de los que permite la cuota del buzón. Por lo tanto. Se trata de las carpetas remotas del servidor que están visibles y en uso desde su cliente. • 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. Con IMAP aparecen nuevos términos como: • • carpetas IMAP: carpetas remotas creadas en el servidor IMAP. siempre será mucho más grande que la cuota de la cuenta IMAP. ya que los mensajes se mantienen centralizados en el servidor. donde los mensajes se descargan al PC. Aunque IMAP use por defecto carpetas remotas en el servidor. en su lugar se marcan para borrar. purgar mensajes borrados: aunque depende del cliente.. En cualquier caso. no olvide que el espacio en disco destinado para los mensajes en el servidor es limitado y puede llenarse. los mensajes borrados nos suelen moverse a la carpeta Papelera. Es decir.IMAP trabaja mucho mejor en entornos en los que un usuario utiliza varios ordenadores (trabajo. casa. impidiendo la entrada de nuevos mensajes. Con IMAP también podrá organizar sus carpetas para clasificar mensajes. Todo lo contrario que POP.

Cyrus se autentica con saslauthdaemon. Slapd tiene soporte de autentificación fuerte gracias al uso de SASL.) se almacenan en una base de datos. El beneficio de usar ficheros separados es una mayor fiabilidad ya que sólo un mensaje se pierde en caso de error del sistema de ficheros. La base de datos de este se encuentra permanentemente actualizada. como: DIGEST-MD5. quien redirige la petición al mecanismo que le hayamos definido.1 de Cyrus. etc. SASL: SASL es un framework para autenticación y autorización en protocolos de internet.para cifrar el contenido que se transfiere). que buscará la información del usuario en la base de datos MySQL. Esto le permite usar tanto la interfaz de línea de comandos como los interfaces Web. por ejemplo PAM. Todos los usuarios son autenticados por el servidor IMAP. en teoría. En la configuración descrita en este artículo se implementa una autenticación de tres capas. de esta forma el clamAV bloque los malware o códigos maliciosos. Cada mensaje es almacenado en su propio fichero. Este método es mucho más seguro que un interfaz Web para /etc/passwd Desde la versión 2.CLAMAV: Este paquete cumple la función de escanear el texto y los archivos adjuntos del mensaje. los mensajes son indexados para mejorar el rendimiento de Cyrus. especialmente con muchos usuarios e ingentes cantidades de mensajes. A pesar de que mediante SASL sólo se maneja la autenticación (y se requieren otros mecanismos --como por ejemplo TLS-. Esto lo convierte en una magnífica solución cuando se tiene una gran cantidad de usuarios. SASL proporciona medios para un uso negociado del mecanismo elegido. EXTERNAL. Los metadatos. La administración es llevada a cabo mediante comandos especiales de IMAP. No hay nada tan rápido como el servidor IMAP Cyrus. y GSSAPI. se usa la versión 2 de la librería SASL para la autenticación. La implementación SASL de slapd hace uso del software Cyrus SASL. Además. . Cyrus usa su propio método para almacenar el correo de los usuarios. el cual soporta un gran número de mecanismos de autentificación. a cualquier protocolo de aplicación que use SASL usar cualquier mecanismo de autenticación soportado por SASL. Separa los mecanismos de autenticación de los protocolos de la aplicación permitiendo. Otra característica muy importante es que no son necesarias cuentas locales de Linux para cada usuario. tales como el estado de un mensaje (leído. CYRUS IMAP (Internet Message Access Protocol) A diferencia de otros servidores IMAP.

Es un protocolo criptográfico que proporciona un canal de comunicación seguro por una red. como el Transport Layer Security (TLS). OPENSSL: Consiste en un robusto paquete de herramientas de administración y librerías relacionadas con la criptografía. Puede ser instalado en la mayoría de servidores web siempre y cuando éste soporte PHP y el servidor web tenga acceso a un servidor IMAP y a otro SMTP. Este paquete de software es importante para cualquiera que esté planeando usar cierto nivel de seguridad en su máquina con un sistema operativo Libre basado en GNU/Linux. . una llave pública que puede ser compartida o publicada y otra privada o secreta conocida solo por el receptor del mensaje. La implementación TLS de slapd hace uso del software OpenSSL. Está liberada bajo su propia licencia es un protocolo de comunicación independiente de la plataforma. SSL utiliza un sistema criptográfico que emplea dos llaves para encriptar los datos. OpenSSL también nos permite crear certificados digitales que podremos aplicar a nuestro servidor. Muchos sitios en el Internet utilizan SSL para obtener información confidencial del usuario como por ejemplo el número de la tarjeta de crédito.SSL: Protocolo de Capa de Conexión Segura. OPENLDAP: OpenLDAP es una implementación del protocolo (LDAP) basada en el concepto de software libre desarrollada por el proyecto OpenLDAP.(SSL) Protocolo de comunicación de datos desarrollado para transmitir documentos privados a través del Internet. que suministran funciones criptográficas a otros paquetes como OpenSSH y navegadores Web (para acceso seguro a sitios HTTPS). TLS: Protocolo de comunicación de datos desarrollado para transmitir documentos privados a través del Internet. así como otros protocolos relacionados con la seguridad. por ejemplo Apache. Estas herramientas ayudan al sistema a implementar el Secure Sockets Layer (SSL). comúnmente Internet. Por convención las direcciones (URLS) de sitios que utilizan SSL empiezan con https en lugar de http. Slapd provee protecciones de privacidad e integridad gracias al uso de TLS (o SSL). SQUIRRELMAIL: es una aplicación web mail escrita en PHP.

cuando recibe un e-mail. MAILBOX: (Buzón) Es un espacio dentro de un dispositivo de almacenamiento. . Todos los subdirectorios deben residir en el mismo sistema de archivos. porque los mensajes se almacenan en ficheros distintos con nombres únicos.TIPOS DE BUZONES PARA CORREO MAILDIR: Es un formato de spool de correo electrónico que no bloquea los ficheros para mantener la integridad del mensaje. Maildir es un directorio (usualmente llamado Maildir) con tres subdirectorios llamados tmp. donde se coloca el correo electrónico. y cur. cada persona tiene un mailbox privado. new. En este sistema de correo. como podría ser un disco duro. el sistema de correo automáticamente lo pone en el mailbox del usuario.

19.com . 7. 25. 22. 16.cf) Configuración del Servidor Dovecot con el LDAP Configuración del Amavis (Intermediario) Configuración del SPAMASSASSIN Configuración del DNS (Servidor BIND9) Configuración del DHCP (DHCP3-Server) Configuración de la Interfaz Web (MMC) 23. 14. Instalación y Configuración de la Interfaz Web para el Correo (SQUIRRELMAIL) 24. 21.1 Creación de los Certificados SSL 23.3 Configuración de los Plugins para la MMC 23. 17. 9. 3. Configuración del Host ACLS (Listas de control de acceso) del Sistema de Archivos Configuración de los Repositorios para la Instalación Paquetes necesarios para la Instalación del MDS Instalación y Configuración de los Paquetes Configuración del LDAP Configuración Básica Configuración SAMBA Directorio LDAP NSS Configuración LDAP Directorio SAMBA Configuración PAM LDAP SSL para el POSTFIX (Correo Electrónico) Configuración del SALS Configuración del POSTFIX Configuración del Alias para el LDAP Configuración Principal del POSTFIX (master. 12. 10. 15. 13. 23. 26.1 Probar el Antivirus y el Antispam por la Interfaz Web del Squirrelmail Unión del Usuario (Windows XP) al Dominio example.2 Creación de los Host Virtuales 23. 4. 11.1 Creación de la Host Virtual Configuración de Dominios y Usuarios Virtuales (Postfix) 25. 2.TABLA DE CONTENIDO Introducion Conceptos teoricos 1. 18. 6. 5.4 Creación de las Zonas DNS y DHCP 24. 20. 8.

Debemos de configurar nuestro equipo con las siguientes especificaciones para todo el transcurso de la Instalación de lo contrario no podrá funcionar correctamente el Servidor.0. con el Servicio de Postfix (Correo) mas interfaz grafica (Squirrelmail) y con protección de Antivirus y Antispam.1 192.com Dominio con el cual trabajaremos: example IP para el Servidor: 192.com) con el siguiente comando: .0.168. será así en nuestro caso: • • • • Nombre del Equipo: server1.100 localhost. Explicaremos un poco de los pasos que debemos de efectuar y los comandos que debemos de efectuar. también tratar de aclarar los posibles errores que podemos encontrar durante y después de la Instalación y Configuración del Servidor (PDC).1.65 Contraseñas para el Sistema: Sena. así: # vim /etc/hosts Agregaremos los parámetros para nuestro Host. Configuración 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. debe tener un aspecto como este (los parámetros que se encuentran mas abajo son para IP versión 6.0.example.example.com server1 Modificaremos el archivo correspondiente al nombre de equipo.localdomain localhost server1. estos no los tocaremos): 127. con el nombre que queremos asignar (en nuestro casi server1.168.MANDRIVA DIRECTORY SERVER EN DEBIAN ETCH En este documento encontraremos la Instalación del MDS (Mandrila Directory Services) en Debían Etch.2008admon 1.example. en este caso nuestro Host y nuestra IP.

com > /etc/hostname Después de este comando debemos de reiniciar el equipo para que nos tome los cambios que realizamos con respecto al nombre del equipo.# echo server1. pero. 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 añadir el soporte para ACLS al correspondiente punto de montaje. 2. en otras palabras donde está instalado nuestro Debían y agregaremos la línea. para ello ejecutaremos el siguiente comando: # hostname # hostname –f El comando hostname nos dará el nombre completo del equipo. entraremos a editar el archivo fstab en la ruta /etc/.acl. debe de quedar así (en nuestro caso): # /etc/fstab: static file system information.example. así: # vim /etc/fstab Añadiremos la opción acl en el punto de montaje (raíz) donde el SAMBA almacenara los directorios donde los usuarios tendrán su Home. el resultado de estos dos comandos en nuestro caso debe de ser server1. # # <file system> <mount point> <type> <options> <dump> <pass> Proc /proc proc defaults 0 0 /dev/sda1 / ext3 defaults. lo reiniciamos normalmente o con el siguiente comando: # reboot Después que se reinicie el sistema comprobaremos si se realizaron bien los cambios que hicimos con el nombre del equipo.errors=remount-ro 01 /dev/sda5 none swap sw 0 0 .example. Buscaremos el punto de montaje del sistema. hostname –f nos dará el FQDN (Que es el nombre del equipo y el nombre del Dominio asociados al equipo).com. en este caso la raíz del sistema.

para ello le daremos el siguiente comando: .backports.de.noauto auto rw.org/debian-volatile etch/volatile main contrib non-free deb http://www.user. entraremos a editar el archivo así: # vim /etc/apt/sources.list en la ruta /etc/apt/ y agregar al final del archivo los repositorios (Recordemos que si tenemos des comentadas la líneas que nos mandan al CD de instalación de Debían las debemos de comentar para que no haya conflicto).org/debian/ etch main contrib non-free Despues de agregarlos debemos de generar una llave para que se puedan actualizar y descargar paquetes desde Debían Backports. Configuración de los Repositorios para la Instalación Ahora debemos de agregar los repositorios necesarios para la instalación de todos los paquetes para el MDS.iso9660 user.noauto 0 0 0 0 Después debemos de remontar el punto de montaje (Actualizar) para que los cambios tengan efecto.acl. así: # /dev/sda1 on / type ext3 (rw. para ello ejecutaremos el siguiente comando en el cual nos dará los datos del punto de montaje.list Agregaremos los siguientes repositorios al final del archivo (Cada repositorio es necesario para diferentes paquetes y aplicaciones): deb http://mds.errors=remount-ro) 3.org/debian etch-backports main deb http://ftp. debemos de ingresar a editar el archivo sources.debian. con el siguiente comando: # mount -o remount / Debemos de verificar si los cambios si se efectuaron correctamente.mandriva.org/pub/mds/debian etch main deb http://volatile.debian./dev/hdc /dev/fd0 /media/cdrom0 /media/floppy0 udf. así: # mount -l Nos debe de Mostar la línea que agregamos anteriormente.

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. Spamassassin y el Clamav amavisd-new Paquetes para el Servidor DHCP integrado con el LDAP: dhcp3-server dhcp3-server-ldap • • • • • • .org/debian/archive. de lo contrario lo volvemos a ejecutar o a mirar la sintaxis de los repositorios o por la conexión (Dependiendo de la velocidad de nuestra red se puede demorar un poco). 4.20. lo haremos de la siguiente forma: # export proxy_http=”http://172.49.52:80“ Después de todo esto actualizaremos la base de Datos de los repositorios con la ayuda del comando: # apt-get update No nos debe de salir ningún error.# wget -O .http://backports. los paquetes son: • Paquetes necesarios para la interfaz y administración grafica del MDS: mmc-web-base mmc-web-mail mmc-web-network mmc-webproxy mmc-web-samba mmc-agent Paquetes y Librerías necesarios para la interpretación 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 autenticación y autorización para determinados protocolos: sasl2-bin libsasl2 libsasl2-modules Intermediario entre el Postfix. Paquetes necesarios para la Instalación del MDS Ahora instalaremos los paquetes que necesitamos para la configuración del MDS.

el comando es el siguiente: # apt-get install -t etch-backports dovecot-common dovecot-imapd . etc. Contraseñas. con el siguiente comando (En la instalación nos preguntara información acerca del Dominio. Los cuales explicarnos más adelante). en el cual diremos que tome los paquetes de determinada fuente (Repositorio) y no de otro. 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 También debemos de instalar los siguientes paquetes pero con el siguiente comando. Pasaremos a instalar los paquetes anteriormente mencionados.• • • • • • • • Paquetes para el Servidor LDAP y sus librerías: 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 compresión 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 librerías del sistema: libdbd-ldap-perl libnet-ph-perl libnet-snpp-perl libnet-telnet-perl libnet-dns-perl Instalación y Configuración de los Paquetes 5. Usuario.

dovecot-pop3d Configuración Durante la instalación de los nuevos paquetes nos pedirá una serie de preguntas que deberemos de responder de la siguiente forma: LDAP • Ingresar la contraseña para el servidor LDAP “Sena.2008admon” • Confirmamos la Contraseña: SAMBA • Ingresamos el nombre de nuestro Dominio “example”: .

conf debe ser modificado para utilizar WINS en la configuración del DHCP.• Seleccionaremos “No” cuando se nos pregunte si el archivo smb. POSTFIX • Aquí nos Informara que solo podremos entregar Correo local con la configuración por defecto: • Seleccionaremos "Sitio de Internet" como tipo genérico de la configuración: .

com: .0.0.example.com" como nombre de correo: LIBNSS – LDAP • En esta ventana copiaremos “127.• Pondremos el nombre de nuestro equipo "server1.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.

dc=com”: • Por último la Contraseña “Sena2008admon”.dc=example. así: para el Root del LDAP .• En la versión 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 más adelante) y lo demás con nuestro dominio “cn=admin.

En la cuenta del LDAP para el Root cambiaremos el cn por admin que será el Usuario (Si no habrá conflicto más adelante) y lo demás con nuestro dominio “cn=admin.2008admon”: .dc=example.dc=com”: • Y la Contraseña para el Administrador LDAP “Sena. Le diremos que “No” cuando nos pregunte si la base de Datos LDAP requiere Ingreso.LIBPAM – LDAP • • Diremos que “Si” para que la base de Datos sea la raíz local.

schema . editaremos el archivo de la siguiente forma: # vim /etc/ldap/slapd.schema El siguiente paso será incluir en el archivo de configuración del LDAP slapd.schema.schema. Los copiaremos con el siguiente comando: # cp /usr/share/doc/python-mmc-base/contrib/ldap/mmc.schema # zcat /usr/share/doc/python-mmc-base/contrib/ldap/dhcp.gz los cuales debemos de desempaquetarlos con el siguiente comando: # zcat /usr/share/doc/python-mmc-base/contrib/ldap/samba. Debemos de copiar estos archivos al directorio /etc/ldap/schema/ para el funcionamiento de la MMC.schema # zcat /usr/share/doc/python-mmcbase/contrib/ldap/dnszone. Samba.conf Buscaremos la siguiente línea y agregaremos la ruta de los esquemas que copiamos anteriormente. los esquemas son: MMC.schema /etc/ldap/schema/ Los demás esquemas están en comprimidos en archivos .conf los esquemas que acabamos de copiar.schema.schema /etc/ldap/schema/ # cp /usr/share/doc/python-mmc-base/contrib/ldap/mail. DNS y DHCP.6.gz > /etc/ldap/schema/dhcp.schema Agregaremos las siguientes líneas debajo de esta (Con la línea schemacheck on estamos activando el esquema de control.gz > /etc/ldap/schema/dnszone.gz > /etc/ldap/schema/samba. esta es la línea: include /etc/ldap/schema/inetorgperson. así: include include include /etc/ldap/schema/mmc.schema /etc/ldap/schema/samba.schema /etc/ldap/schema/mail. también la agregamos). Configuración del LDAP Copiar los esquemas de la MMC: Debemos de copiar el esquema para la MMC. Mail.

será el password (Contraseña) para el Administrador del LDAP.dc=example.conf Buscaremos la siguiente línea que se encuentra comentada. la des comentamos y agregaremos los datos de nuestro Dominio. así: # slappasswd -s Sena. Este bloque debe de quedar así: rootdn rootpw "cn=admin. debe de quedar así: rootdn "cn=admin.2008admon La salida de este comando debe de ser así: # {SSHA}kPd9OeiwGx4lyZUiQ2NFmzXV0JWyLV9A En el archivo de configuración slapd.dc=com" Debajo de esta línea debemos de agregar la siguiente línea. debe de quedar así: rootpw {SSHA}kPd9OeiwGx4lyZUiQ2NFmzXV0JWyLV9A Este password encriptado es la Contraseña del Administrador del LDAP que nos fue arrojado con el comando “slappasswd –s Sena.schema on schemacheck 7.2008admon”).conf debemos de agregar la línea del password (Contraseña) para el Admin del LDAP. recordemos que la Contraseña la ciframos con SSHA.2008admon”. (Sera la Contraseña que definimos anteriormente “Sena.dc=example. lo haremos con el siguiente comando.schema /etc/ldap/schema/dhcp.dc=com" {SSHA}kPd9OeiwGx4lyZUiQ2NFmzXV0JWyLV9A . Configuración Básica Aquí vamos a cifrar la contraseña del Administrador del LDAP con SSHA para tener una mayor seguridad y no puedan leer la contraseña en el archive de configuración. así: # vim /etc/ldap/slapd.include include /etc/ldap/schema/dnszone. la copiaremos y la pondremos ahí.

schema include /etc/ldap/schema/cosine.uid.gidNumber eq cn.Luego tenemos que modificar las opciones de indización (Registrar los datos) para la base de datos.eq memberUid.displayName pres. esta: index objectClass eq Y luego agregaremos las siguientes líneas que serán el registro para la base de datos: index index index index index index objectClass.sub.subinitial sambaSID.givenname eq.relativeDomainName eq dhcpHWAddress.sn. buscaremos la siguiente línea: access to attrs=userPassword.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.sambaNTPassword En este punto el archivo de configuración del LDAP debe de tener esta apariencia: # This is the main slapd configuration file.sambaPrimaryGroupSID.uidNumber.mail.shadowLastChange La borramos y agregaremos la siguiente línea: access to attrs=userPassword. Buscar en la siguiente línea: # Indexing options for database #1 Borraremos la línea que está debajo.schema include /etc/ldap/schema/nis.sambaLMPassword.schema . See slapd.sambaDomainName eq zoneName.dhcpClassData eq Ahora debemos de añadir le lista de acceso para la base de datos del SAMBA.

pid # List of arguments that were passed to the server argsfile /var/run/slapd/slapd. pidfile /var/run/slapd/slapd. The init.schema /etc/ldap/schema/mmc.args # Read slapd.schema /etc/ldap/schema/printer.schema /etc/ldap/schema/mail.d script # will not stop the server if you change this. 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': .schema /etc/ldap/schema/dnszone.schema /etc/ldap/schema/dhcp.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.schema on # Where the pid file is put.schema /etc/ldap/schema/samba.include include include include include include include schemacheck /etc/ldap/schema/inetorgperson.

org/303057 # for more information.debian. This is needed # for syncrepl.displayName index memberUid.givenname eq pres. See http://bugs.subinitial . # Number of objects that can be locked at the same time.sub.mail.eq eq.dc=example.sn.dc=com" # rootdn directive for specifying a superuser on the database. rootdn "cn=admin. 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. 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.# Backend specific directives apply to this backend until another # 'backend' directive occurs #backend <other> ############################################# ########################## # Specific Directives for database #1.uid.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.

everyone else # can read everything.ou=Roaming.dc=example.sambaPrimaryGroupSID.dc=com" write by anonymous auth by self write by * none # Ensure read access to the base for things like # supportedSASLMechanisms. each user gets a roaming # profile for which they have write access to #access to dn=".dc=example.dc=com" write # by dnattr=owner write ############################################# .dc=com" write by * read # For Netscape Roaming support. access to * by dn="cn=admin.o=morsnet" # by dn="cn=admin.index index index sambaSID. except the # admin entry below # These access lines apply to database #1 only access to attrs=userPassword.dhcpClassData eq eq # Save the time that the entry gets modified. Without this you may # have problems with SASL not knowing what # mechanisms are available and the like.dc=example.*.relativeDomainName eq dhcpHWAddress.sambaNTPassword by dn="cn=admin.sambaLMPassword. # Others should not be able to see it.base="" by * read # The admin dn has full write access.sambaDomainName zoneName. 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. access to dn. # 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.

dc=com Por último debemos de reiniciar el servidor LDAP.conf_Respaldo . así: # vim /etc/ldap/ldap.conf /etc/samba/smb.########################## # Specific Directives for database #2.conf en la ruta /etc/ldap/.d/samba stop Ahora copiaremos un archivo de configuración del SAMBA que se agrega en la Instalación. lo haremos con el siguiente comando: # /etc/init.1). 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. donde le estamos diciendo el nombre del nuestro Dominio y que es local (127. así: host 127. este archivo es una especie de resumen del archivo original del SAMBA pero contiene todo lo necesario para el funcionamiento del SAMBA. Configuración SAMBA Para la configuración del SAMBA lo pararemos.1 base dc=example.0. lo haremos con el siguiente comando: # /etc/init. Podemos hacer un respaldo del archivo original con el Siguiente comando: # cp /etc/samba/smb.0.conf En el final del archiva agregaremos las siguientes líneas. no nos debe de salir ningún error.dc=org" Ahora debemos de editar el archivo ldap.d/slapd restart 8.0.0.

conf /etc/samba/ Entraremos a editar el archivo smb. así: # vim /etc/samba/smb.conf En el archivo debemos de establecer los siguientes valores en la sección que dice [global] estos valores serán los respectivos a nuestro Dominio: workgroup = EXAMPLE netbiosname = PDC-SRV-EXAMPLE ldap admin dn = cn=admin.dc=com ldap suffix = dc=example.Después 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.dc=com logon path = \\%N\profiles\%U Además debemos de añadir las siguientes líneas en la misma sección [global] debajo de las demás: 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 .dc=example.conf que acabamos de copiar.

ldap delete dn = yes security = user En este archivo debemos de agregar las siguientes líneas en las respectivas secciones.bat logon drive = H: . el archivo de configuración 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. son: En la sección [homes]: hide files = /Maildir/ En la sección [profiles]: hide files = /desktop.ini/NTUSER.ini/ntuser.*/ En la sección [archives]: path = /home/samba/archives En este punto.

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 .dc=com suffix = dc=example.1/ obey pam restrictions = no ldap ldap ldap ldap ldap ldap ldap ldap admin dn = cn=admin.0.map acl inherit = yes nt acl support = yes passdb backend = ldapsam:ldap://127.dc=example.0.

@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.root.[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.ini/NTUSER.ini/ntuser.*/ [partage] comment = aucun path = /home/samba/partage browseable = yes public = no .

dc=com" in secrets.dc=example. no . 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.dc=example.writeable = yes Para verificar el estado de la configuración del SAMBA ejecutaremos el siguiente comando en el cual no nos debe de sacar ningún error (Este comando nos da el resumen del archivo de configuración del SAMBA). así: # slapcat | grep sambaDomainName La salida debe de ser como esta: # dn: sambaDomainName=EXAMPLE.tdb Ahora debemos de crear un SID para el grupo de trabajo para el SAMBA.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. para ello ejecutaremos el siguiente comando.dc=com sambaDomainName: EXAMPLE Ya podemos iniciar el Servidor SAMBA con el siguiente comando. 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 más adelante en otro punto de la configuración): # 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. en el cual estamos filtrando (grep) y buscando la parte de sambaDomainName.

2008admon" masterDN="cn=admin.${suffix}" sambaUnixIdPooldn="sambaDomainName=EXAMPLE.2008admon" Ahora debemos de crear el archivo smbldap. 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). .${suffix}" computersdn="ou=Computers.debe de salir error: # /etc/init.conf con el siguiente comando: # vim /etc/smbldap-tools/smbldap. así: SID="S-1-5-21-3159899821-123882392-54881133" sambaDomain="EXAMPLE" ldapTLS="0" suffix="dc=example.dc=com" masterPw="Sena.d/samba start 9.conf En este archivo debemos de agregar las siguientes líneas. lo crearemos en el directorio /etc/smbldap-tools/ con el siguiente comando (Este archivo no existe lo crearemos así y después le agregaremos unas líneas): # vim /etc/smbldap-tools/smbldap_bind.${suffix}" groupsdn="ou=Groups. 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.conf El contenido debe ser como este (cambiaremos todos los parámetros por los de nuestro Dominio): slaveDN="cn=admin.dc=com" slavePw="Sena.dc=example.dc=example.${suffix}" idmapdn="ou=Idmap.dc=com" usersdn="ou=Users.${suffix}" scope="sub" hash_encrypt="SSHA" userLoginShell="/bin/bash" de configuración principal.

Modificaremos el archivo nsswitch en la ruta /etc/. Con este comando crearemos la cuenta de Administrador de Dominio (Administrator).conf El contenido de este archivo debe de ser como este: # /etc/nsswitch.com" smbpasswd="/usr/bin/smbpasswd" Ahora poblaremos el Directorio del LDAP.bat" mailDomain="example. de lo contrario no será capaz de utilizar el Servidor de Correo con esta cuenta. NSS Configuración LDAP En este paso configuraremos el Sistema para que se pueda utilizar el directorio LDAP para obtener usuario y listas de grupos.2008admon” Después tenemos que modificar el UID número de la cuenta. con la cual podremos agregar los Equipos al Dominio (El 512 es el número del Grupo Administradores). así: # vim /etc/nsswitch. Además añadir esta cuenta al grupo "Domain Users" (No debe de salir error): # smbldap-usermod -u 3000 -G "Domain Users" Administrator 10. así: # smbldap-populate -m 512 -a Administrator NOTA: Se le pedirá que introduzca una contraseña para la cuenta de Administrador de Dominio “Sena.conf # .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.

conf. 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 configuración del SAMBA. 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. estos directorios los definimos en el archivo smb.# Example configuration of GNU Name Service Switch functionality. passwd: group: shadow: hosts: networks: protocols: services: ethers: rpc: netgroup: 11. try: # `info libc "Name Service Switch"' for information about this file. así: # vim /etc/libnss-ldap. # If you have the `glibc-doc' and `info' packages installed.conf .

d/common-account El contenido del archivo debe de ser como este: # # /etc/pam.Buscamos las siguientes líneas que están comentadas y las des comentamos. así: # dpkg-reconfigure libnss-ldap # dpkg-reconfigure libpam-ldap 12. los cuales serán utilizados para la autenticación con el LDAP.dc=example. además de esto las modificaremos con los valores correspondientes a nuestro Dominio y unidad organizativa.conf.dc=example.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 . debe tener un aspecto como el siguiente: nss_base_passwd nss_base_group ou=users.dc=com?one Despues tenemos que reconfigurar el paquete libnss-ldap y libpamldap con el siguiente comando (Debemos de configurarlo con los mismos parámetros que utilizamos en el Punto número 5).conf Buscamos las siguientes líneas que están comentadas y las des comentamos.d/common-account .dc=com ou=groups. Configuración PAM LDAP Aquí agregaremos el modulo del LDAP al PAM. así: # vim /etc/pam_ldap.dc=com?one ou=groups.dc=com?one ou=users. debe tener un aspecto como este: nss_base_passwd nss_base_shadow nss_base_group ou=users.dc=example.dc=example.dc=example.dc=com Ahora entraremos al archivo de configuración pam_ldap. además de esto también las modificaremos con los valores correspondientes a nuestro Dominio y unidad organizativa. Entraremos a editar los siguientes archivos: # vim /etc/pam.

# 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 Después 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 añadir máquinas 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 Electrónico)

En primer lugar debemos de crear un archivo de configuración con la información 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 líneas: [ 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 páginas 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 sólo el root los pueda leer, con el siguiente comando: # chmod 600 /etc/ssl/private/mail.key 14. Configuración del SALS El Postfix utilizara el Servidor SALS para la autenticación 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 configuración 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):

0.ldap_servers: ldap://127.cf.conf en la ruta /etc/postfix/sasl/ con el comando: # vim /etc/postfix/sasl/smtpd. en el cual le diremos que tome como método de autenticación 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 autenticación sea correcta. entraremos a editar el archivo con el comando: # vim /etc/postfix/main. Configuración del POSTFIX Debemos de editar el archivo principal de configuración del Postfix.conf El archivo debe tener este aspecto. debemos crear el usuario Postfix y agregarlo al grupo de SASL.0.d/saslauthd restart 15.dist for a commented.cf El archivo debe de ser como este en el cual cambiaremos las líneas en las cuales deben de ir los datos de nuestro Dominio.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 autenticación (login) de los Usuarios del LDAP. editaremos el archivo smtpd. more complete version smtpd_banner = $myhostname ESMTP $mail_name (Debian/GNU) .1 ldap_search_base: ou=Users. el archivo debe de ser como este: # See /usr/share/postfix/main. buscaremos las líneas necesarias para que no haya conflicto con la demás configuraciones. con el siguiente comando # adduser postfix sasl Por último reiniciaremos el Servidor SASL con el siguiente comando: # /etc/init.

reject_rbl_client bl. permit_sasl_authenticated.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.localhost mail_destination_recipient_limit = 1 mailbox_command = /usr/lib/dovecot/deliver -d "$USER"@"$DOMAIN" relayhost = mynetworks = 127.0.com.com alias_maps = ldap:/etc/postfix/ldap-aliases.domain is the MUA's job.dsbl. reject_rbl_client dnsbl.net.abuseat. reject_rbl_client list.org.example.spamcop.com mydomain = example. hash:/etc/aliases alias_database = hash:/etc/aliases myorigin = /etc/mailname mydestination = server1.org. permit .0.example.org.org.localdomain.cf. append_dot_mydomain = yes append_at_myorigin = yes # Uncomment the next line to generate "delayed mail" warnings #delay_warning_time = 4h myhostname = server1. reject_rbl_client sbl-xbl.njabl.localhost.spamhaus. reject_rbl_client cbl.example.biff = no # appending .com.

reject_unknown_sender_domain. reject_unknown_recipient_domain. 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. reject_non_fqdn_recipient.pem smtpd_tls_key_file = /etc/ssl/private/mail.# Requirements for the HELO statement smtpd_helo_restrictions = permit_mynetworks. permit # Requirements for the sender address smtpd_sender_restrictions = permit_mynetworks. reject_invalid_hostname. permit_sasl_authenticated. permit_sasl_authenticated. reject_non_fqdn_hostname. reject_unauth_destination. reject_non_fqdn_sender. permit_sasl_authenticated. permit # Requirement for the recipient address smtpd_recipient_restrictions = permit_mynetworks.key smtpd_tls_session_cache_database = btree:${queue_directory}/smtpd_scache .

.cf en la ruta /etc/postfix/ para configurar el alias del LDAP.dc=example.. lo editaremos con el siguiente comando: # vim /etc/postfix/master. Configuración Principal del POSTFIX (master.1]:10024 receive_override_options = no_address_mappings 16. el Servidor Dovecot y el Amavis.. en este archivo debemos de agregar los parámetros de nuestro Dominio..1 search_base = ou=Users.dc=com query_filter = (&(objectClass=mailAccount)(mailalias=%s)(mailenable=OK)) result_attribute = maildrop version = 3 17.cf El archivo debe de ser como este: server_host = 127.n n .0.pipe flags=DRhu user=dovecot:mail argv=/usr/lib/dovecot/deliver -d $recipient # Mail to Amavis .smtpd -o smtpd_tls_wrappermode=yes -o smtpd_sasl_auth_enable=yes # Dovecot dovecot unix . así: # vim /etc/postfix/ldap-aliases.cf) Entraremos a editar el siguiente archivo en el cual debemos de agregar unas líneas para integrar el Postfix con el protocolo SMTP.0.0. Configuración del Alias para el LDAP Ahora editaremos el archivo ldap-aliases.0.cf Añadiremos las siguientes líneas al final del archivo de configuración: # SMTPS smtps inet n .# Amavis content_filter = amavis:[127.

0..0. Configuración 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.1:10025 inet n ..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.conf . 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.d/postfix restart 18.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...amavis unix .0.reject -o smtpd_helo_restrictions= -o smtpd_sender_restrictions= -o smtpd_recipient_restrictions=permit_mynetworks. así: # echo "" > /etc/dovecot/dovecot.0..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.no_unknown_recipie nt_checks Despues de editar el archivo reiniciaremos el Postfix con el siguiente comando: # /etc/init.reject -o smtpd_data_restrictions=reject_unauth_pipelining -o smtpd_end_of_data_restrictions= -o mynetworks=127..

log info_log_path = /var/log/dovecot.conf El contenido de este archivo debe de ser como esta: protocols = imap imaps pop3 pop3s listen = 0.key log_path = /var/log/dovecot.Editaremos el siguiente archivo en el cual especificaremos los protocolos que soportaran el Servidor de Correo (POP3 o IMAP). lo haremos con el comando: # vim /etc/dovecot/dovecot. la configuración del LDAP y su Autenticación.pem ssl_key_file = /etc/ssl/private/mail. mail_location = maildir:~/Maildir disable_plaintext_auth = no ssl_cert_file = /etc/ssl/certs/mail.0.com mailserver ready.conf } .0.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.0 login_greeting = example.

0.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.userPassword=password pass_filter = (&(objectClass=mailAccount)(mail=%u)(mailenable=OK)) . así: # echo "" > /etc/dovecot/dovecot-ldap.mailuserquota=quo ta=maildir:storage user_filter = (&(objectClass=mailAccount)(mail=%u)(mailenable=OK)) pass_attrs = mail=user.dc=com scope = subtree user_attrs = homeDirectory=home.0.conf. lo editaremos con el siguiente comando: # vim /etc/dovecot/dovecot-ldap.uidNumber=uid.1auth_bind = yes ldap_version = 3 base = dc=example.conf Después debemos de editar el siguiente archivo en el cual especificaremos los datos de Nuestro Dominio.conf El contenido del archivo debe de ser como esta: hosts = 127.mailbox=mail.

1. así: # vim /etc/amavis/conf. @bypass_spam_checks_maps = ( \%bypass_spam_checks.d/ y otros archivos más. con el siguiente comando: # vim /etc/amavis/conf.d/50-user El archivo debe de tener este aspecto: use strict. . Configuración del Amavis (Intermediario) El Amavis será el intermediario entre el Spamassassin y el Clamav. \@bypass_spam_checks_acl. Editaremos el siguiente archivo.d/dovecot restart 19. \$bypass_spam_checks_re). 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.d/15-content_filter_mode El archivo debe de tener este aspecto: use strict. \$bypass_virus_checks_re).default_pass_scheme = CRYPT user_global_gid = mail Debemos de ajustar los derechos para el Dovevot Deliver. \@bypass_virus_checks_acl. en el cual los correos serán verificados para poder pasar al Correo (Postfix). Digitaremos el siguiente comando: # dpkg-statoverride --update --add root dovecot 4755 /usr/lib/dovecot/deliver Después debemos de reiniciar el Dovecot con el siguiente comando: # /etc/init. en resumen para que el MDA tenga permisos para almacenar los correos sobre ese Usuario (root) en ese Directorio. Editaremos el archivo 15-content_filter_mode en la ruta /etc/amavis/conf. @bypass_virus_checks_maps = ( \%bypass_virus_checks.

de lo contrario no servirá nuestro Servidor. des comentaremos la siguientes líneas y a required_score que se .d/amavis restart # /etc/init.cf Debemos de añadir el siguiente contenido al archivo. Entraremos a editar el archivo principal del Spamassassin con el siguiente comando: # vim /etc/spamassassin/local. 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.d/clamav-daemon restart # /etc/init. 1.$pax='pax'. Configuración del SPAMASSASSIN En este paso implantaremos los Plugins necesarios para aumentar la detección de Spam en el Servidor de Correo. Después debemos de agregar el usuario Clamav al Grupo del Amavis.d/clamav-freshclam restart 20. 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.conf #bayes use_bayes 1 use_bayes_rules 1 bayes_auto_learn 1 En el mismo archivo debemos de buscar las siguientes líneas.

las líneas deben de quedar así: rewrite_header Subject *****SPAM***** report_safe 1 required_score 0. Debe de tener el siguiente aspecto: ENABLED=1 OPTIONS="--create-prefs --max-children 5 --helper-home-dir" PIDFILE="/var/run/spamd.3 También entraremos a editar el archivo v310.pre Verificaremos que se encuentren des comentadas las siguientes líneas (Debemos de encontrar comentada solo al línea DCC-plugin.pid" #NICE="--nicelevel 15" CRON=0 Debemos de realizar los siguientes cambios para que el AntiSpam (Spamassassin) pueda detectar los Spam.d/ con el siguiente comando: . así: # vim /etc/default/spamassassin Debemos de establecer la línea Enabled en 1.3 lo califica como un Spam).encuentra en un valor de 5. Entraremos ha editar el archivo de configuración 05-domain_id en la ruta /etc/amavis/conf.0 le cambiamos el valor que viene por 0. entraremos a editar el siguiente archivo de configuración. pero verificaremos las demás líneas). 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. con el siguiente comando: # vim /etc/spamassassin/v310.3 que es el valor con el que se califican los Spam (si el contenido del mensaje supera 0.pre para la configuración del Spamassassin.

Y agregamos esta línea en su reemplazo donde definiremos nuestro Dominio. or 0. $final_virus_destiny = D_DISCARD. $notify_method = $forward_method.0.# vim /etc/amavis/conf. # spam level beyond which a DSN is Después en el mismo archivo de configuración debemos de buscar el siguiente bloque y debe de quedar como aquí se muestra: $forward_method = 'smtp:127. así: .d/20-debian_defaults Buscaremos el siguiente bloque y lo debemos de modificar con los siguientes valores.2.d/05-domain_id Buscaremos y comentaremos esta línea. así: # vim /etc/amavis/conf.2. see virus quarantine) $final_banned_destiny = D_BOUNCE. $final_bad_header_destiny = D_PASS. # add 'spam detected' headers at 0. # add spam info headers if at. debe de quedar asi: #chomp($mydomain = `head -n 1 /etc/mailname`). # (data not lost. debe de quedar así: chomp($mydomain = `example.0. Luego entramos en el archivo de configuración 20-debian_defaults. # triggers spam evasive actions 10.1.1:10025'. # False-positive prone (for spam) Ahora pasaremos a editar el archivo master.com`).cf en el Postfix. $sa_tag_level_deflt above that level $sa_tag2_level_deflt that level $sa_kill_level_deflt $sa_dsn_cutoff_level not sent = = = = 0. estos serán los niveles de detención de los Spam. # D_REJECT when frontend MTA $final_spam_destiny = D_PASS. el archivo debe de quedar así: $sa_spam_subject_tag = '***SPAM*** '.

py ${nexthop} ${user} Ahora iniciaremos el Servidor Spamassassin y Reiniciar el Amavis.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 parámetros diferentes al original del BIND9.cf Debemos de verificar que este bloque tenga el siguiente contenido (Que la línea ${nexthop} ${user} este agregada a la línea superior pues la encontraremos como una línea aparte. así: update-rc.conf /etc/bind/ Después cambiaremos el punto de partida del LDAP para que inicie antes que el BIND9. 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.d -f slapd remove && update-rc.d slapd start 14 2 3 4 5 . Lo haremos con el siguiente comando: # cp /usr/share/doc/python-mmc-base/contrib/bind/named. 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). 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.d/amavis restart 21. Configuración del DNS (Servidor BIND9) En este punto debemos de copiar el archivo named.d/spamassassin start # /etc/init. así: # /etc/init.# vim /etc/postfix/master. . stop 86 0 1 6 .

com nameserver 192. Lo haremos con el siguiente comando: # cp /usr/share/doc/python-mmc-base/contrib/dhcpd/dhcpd.Esta parte es muy importante pues es donde configuraremos nuestro equipo para que pueda resolver el DNS tanto Local como para los demás Equipo de la Red.conf en la ruta /etc/ y agregaremos el nombre y la IP de nuestro Dominio.ldap 22. ldap-username "cn=admin. entraremos a editar el archivo resolv. dc=com".conf El archivo debe de quedar de la siguiente forma: ldap-server "localhost". Configuración del DHCP (DHCP3-Server) Haremos lo mismo que con el DNS.conf. 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).2008admon". así: # vim /etc/resolv. así: # vim /etc/bind9/named. ldap-password "Sena. así: # vim /etc/dhcp3/dhcpd. debemos de copiar el archivo dhcpd.100 Despues debemos de crear el siguiente archivo con el siguiente comando (Esto lo debemos de hacer porque configuraciones anreriores agregamos uan línea con este archivo pero no lo hemos creado). ldap-port 389.conf que se encuentra en la ruta /usr/share/doc/pythonmmc-base/contrib/dhcp/ (Directorios creados en el momento de la Instalación de los paquetes) el cual contiene unos parámetros diferentes al original del DHCP3-server.0. . dc=example.conf /etc/dhcp3/ Entraremos a editar el archivo que acabamos de copiar y copiaremos los datos de Nuestro Dominio.conf El archivo debe de tener este aspecto: search example.168.

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).1. esto será para cuando tratemos de ingresar a la MMC con http nos mande a https que es el modo seguro (SSL). 23.crt -days 365 -nodes Después le debemos de dar permisos a la llave para que pueda funcionar al momento de pedir el Certificado. Creación de los Certificados SSL En este punto crearemos un directorio en el cual almacenaremos los Certificado y las llaves para la configuración de SSL para la interfaz Web. tanto para MMC como para Squirrelmail (Interfaz Web para el Postfix). ldap-debug-file "/var/log/dhcp-ldap-startup.2. 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.ldap-base-dn "dc=example.log". Configuración de la Interfaz Web (MMC) 23. .key 23. con que nombre y la cantidad de tiempo que durara en días. así: # openssl req -new -x509 -keyout /etc/apache2/ssl/server. ldap-method dynamic. dc=com".key -out /etc/apache2/ssl/server. Creación de los Host Virtuales Ahora Vamos a crear dos Host Virtuales para la MMC. con este comando: # chmod 600 /etc/apache2/ssl/server.

example. debe de quedar así: NameVirtualHost *:80 <VirtualHost *:80> ServerName server1. 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).crt SSLProtocol all SSLCipherSuite ALL:!ADH:!EXPORT56:RC4+RSA:+HIGH:+MEDIUM:+LOW:+SSLv2:+EX P:+eNULL <Directory /usr/share/mmc/> AllowOverride None .Crearemos el archivo http en la ruta /etc/apache2/sites-available/ con el siguiente comando: # vim /etc/apache2/sites-available/http Añadiremos las siguientes líneas al archivo.example.example.com RewriteEngine On RewriteCond %{HTTPS} off RewriteRule (. aquí le estamos diciendo que cuando pidan http lo mande por https con el mismo nombre para la MMC. así: NameVirtualHost *:443 <VirtualHost *:443> ServerName server1.com/mmc </VirtualHost> Ahora crearemos el Host Virtual que contiene la ruta de la página Web de a MMC. lo crearemos así: # vim /etc/apache2/sites-available/https El contenido de este archivo debe de tener este aspecto. el * nos quiere decir que escuche por todas las IP posibles que tenga nuestro equipo y el 80 es del Puerto.*) https://server1.key SSLCertificateFile ssl/server.com ServerAdmin Administrator@example.com DocumentRoot /usr/share/mmc/ SSLEngine on SSLCertificateKeyFile ssl/server.

3.log CustomLog /var/log/apache2/mmc_access. editaremos el siguiente archivo: # vim /etc/apache2/ports.deny Allow from all php_flag short_open_tag on SSLRequire %{SSL_CIPHER_USEKEYSIZE} >= 128 </Directory> ErrorLog /var/log/apache2/mmc_error. así: # a2ensite http # a2ensite https Reescribiremos el módulo del apache (Recargar).conf Y debemos de añadir la siguiente línea (Sin borrar la del 80). editándolos y colocando los datos respectivos de nuestro Dominio.Order allow. no nos debe de salir ningún error (Si nos sale algún error debemos de mirar los Logs del sistema). así: Listen 443 Después debemos permitir los nuevos Host Virtual (Crear los enlaces con la ruta /etc/apache2/sites-enable/) es muy importante de lo contrario no servirán. así: # /etc/init. si no los configuramos no . con los siguientes comandos: # a2enmod rewrite # a2enmod ssl Probaremos las configuraciones reiniciando el apache2 con el siguiente comando. lo que haremos es activarlos.log combined LogLevel warn </VirtualHost> Debemos de agregar el puerto 443 por el cual va a escuchar a la configuración de Apache para el Host Virtual https el cual trabaja por ese puesto por la configuración del SSL.Configuración de los Plugins para la MMC Plugin BASE Ahora debemos de configurar los plugins necesarios para el funcionamiento.d/apache2 restart 23.

log # FDS log file path .podrá arrancar la MMC.ini Modificar la baseDN con el nombre de nuestro Dominio. 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.0. %(basedn)s # LDAP manager rootName = cn=admin.0. ha esta línea le agregaremos el directorio archives. la contraseña del administrador del LDAP que será en nuestro caso “Sena. 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. the MMC will create/move/delete the home of the users # Else will do nothing. el contenido de este archivo debe ser parecido a este: [ldap] # LDAP we are connected to host = 127.1 # LDAP base DN baseDN = dc=example. todos los plugins son importantes pero uno se destaca mas sobre ellos por que los demás dependen de el. dc=com # Users location in the LDAP baseUsersDN = ou=Users. %(basedn)s # Groups location in the LDAP baseGroupsDN = ou=Groups. %(basedn)s password = Sena.2008admon” y cambiar la ruta de destino para los archivos del SAMBA (En la ultima parte de este bloque encontraremos una línea que dice destpath. %(basedn)s # Computers Locations baseComputersDN = ou=Computers.2008admon # If enabled. but only write user informations into LDAP userHomeAction = 1 # Skeleton directory to populate a new home directory skelDir = /etc/skel # If set.

dc=example. /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).# 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. debe de ser así: [main] disable = 0 # Enable virtual domain support vDomainSupport = 1 # If vdomain enabled. 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 . /home2. lo activaremos editando el siguiente archivo: # vim /etc/mmc/plugins/mail. así debe de quedar el archivo de configuración (Verificaremos que las líneas For Postfix.ini En el archivo debemos de cambiar los parámetros con los de nuestro Dominio y Activar los Dominios y Usuarios Virtuales en la línea vDomainSupport colocando el valor en 1. OU where the domain are stored vDomainDN = ou=mailDomains. For Dovecot delivery estén comentadas y que la linea mailbox = este des comentada para el buen funcionamiento del Plugin).

Editaremos el siguiente archivo: # vim /etc/mmc/plugins/network.d/dhcp3-server logfile = /var/log/daemon.log bindroot = /etc/bind/ binduser = bind # dnsreader = DNS Reader # dnsreaderpassword = DNSReaderPassword Plugin SAMBA En este plugins también lo configuraremos con los parámetros de nuestro Domino en el cual le estamos diciendo el Dominio para que almacene a los Usuarios del LDAP. el contenido debe de ser como este: [main] disable = 0 # Computers Locations baseComputersDN = ou=Computers. para la creación de Zonas y Rangos. editaremos el siguiente archivo con el comando: # vim /etc/mmc/plugins/samba.dc=example.pid init = /etc/init.dc=com pidfile = /var/run/dhcpd.ini Modificar el nombre por defecto por el nombre de nuestro Dominio.dc=com pidfile = /var/run/bind/run/named.log leases = /var/lib/dhcp3/dhcpd.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 . de lo contrario no podremos Agregar ningún equipo de la Red al Servidor.pid init = /etc/init.d/bind9 logfile = /var/log/daemon.leases [dns] dn = ou=DNS.dc=example.Plugin NETWORK También debemos de configurar este plugin el cual será el que permitirá la comunicación para el Servidor DHCP y el Servidor DNS.

lo haremos con el siguiente comando: # /etc/init. /opt.so # Default SAMBA shares location defaultSharesPath = /home/samba # You can specify authorized paths for share creation # Default value is the defaultSharesPath value # authorizedSharePaths = /shares. debemos de entrar al archivo de configuración del SAMBA a cambiar la siguiente linea.d/bind9 restart Esta será la salida si la MMC cargo correctamente: .sambaConfFile = /etc/samba/smb. así: ldap delete=no Este parámetro especifica que una operación de borrado en la base de datos ldapsam eliminara todas las entradas o sólo los atributos específicos de SAMBA. (Interfaz Web): # /etc/init.conf sambaInitScript = /etc/init. la cambiaremos por NO. así: # /etc/init.d/mmc-agent start Si al reiniciar la MMC el Plugin SAMBA no carga o inicia.conf Buscaremos la siguiente línea que se encuentra por defecto en YES. Reiniciamos el Agente (MMC) de Nuevo y todo estará listo para acceder a la consola Administrativa. con el siguiente comando: # vim /etc/samba/smb. /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.d/samba sambaClamavSo = /usr/lib/samba/vfs/vscan-clamav.d/mmc-agent restart Es necesario reiniciar el Servidor BIND9 para que tome los cambios.

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

así: .com/mmc.example.dc=example. entonces el nos preguntara si queremos establecer la conexión segura a la cual le diremos que si (No lo preguntara con 2 ventanas emergentes.dc=com Created DHCP config object The server 'server1.com' has been set as the primary DHCP server Plugin network loaded./var/lib/squidguard/db/bad.dc=example. les daremos Clic en Aceptar y listo). Created OU ou=DHCP. API version: 1:1:0 build(620) Created OU ou=mailDomains.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 través del navegador Web. digitando página http://server1. Plugin proxy not loaded.example.destdomainlist. dc=example. recordemos que tenemos un Host Virtual el cual nos redireccionara a modo seguro (https). API version: 6:1:4 build(620) Selecting authenticator baseldap / base.dc=com Created OU ou=DNS. dc=com Plugin mail loaded.

Clic en OK y Listo: Nos debe de aparecer la siguiente ventana en la cual nos debemos de logear. así: Esta es la Ventana Principal o el Home de la MMC: .2008admon). con un Usuario (root) y la contraseña del LDAP (Sena.

168. así: • • • • • • DNS Zone FQDN: example.Creación de las Zonas DNS y DHCP En este paso procederemos a crear la Zona DNS (Clic en Network y Add DNS Zone).65 Network Address: 192.168.com Descripction: Server DNS (Puede ir cualquier Descripción) Name Server Host Name: server1 Name Server IP: 192.1.1.0 Network Mask: 24 .23.4.

Clic en DHCP Subnets y Clic en Editar.Después debemos de Modificar la Zona del DHCP pues ella se crea automáticamente al crear la Zona del DNS. . ahora procederemos modificarla para nuestro Servidor DHCP. así: Debemos de recordar que si Creamos una Zona DNS y deseamos Eliminarla. debemos de Eliminar también la Zona en el DHCP para que no haya conflicto.

1.168.168.254 (En nuestro caso) Domain Name Server: 192.Aquí agregaremos las siguientes líneas • • • • • • • • DHCP Subnet Address: Viene por defecto Netmask: 24 Description: Cualquiera Autoritative: Chulearemos este parametro Broadcast Address: 192.255 Routers: 192. . Clic en Confirmar y Listo.168.168.65 (Nuestra IP) WINS Server: 192.1.1.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 IP’S que deseemos entregar.

lo instalaremos con el siguiente comando: .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. así: 24. pues no habíamos creado ninguna Zona). Instalación y Configuración de la Interfaz Web para el Correo (SQUIRRELMAIL) Debemos de instalar el paquete Squirrelmail que será la Interfaz Web del Servidor de Correo.

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

Clic en Nuestra Zona DNS y Clic en Editar: Aquí agregaremos el Alias.Daremos Clic en Network. webmail y Clic en Confirmar: Al final nos debe de quedar así: .

example.1. 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. 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.example. Host Virtual quedara con el nombre de 24.com NameVirtualHost <VirtualHost DocumentRoot ServerName *:80 *:443> /usr/share/squirrelmail webmail.Creación de la Host Virtual Entraremos a la ruta /etc/apache2/conf. es por orden).com. así: # mv /etc/apache2/conf.En nuestro caso el webmail.com .d/ y moveremos el archivo apache.d/apache. así: # mv /etc/apache2/sites-available/apache.conf a esta ruta /etc/apache2/sites-available/.conf available/webmails /etc/apache2/sites- Entraremos a editar el archivo webmails para configurarlo.conf /etc/apache2/sites-available/ Después la cambiaremos el nombre del archivo apache.example.conf por webmails (Esto es opcional.

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

com On %{HTTPS} off https://webmail.example. 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.key y el otro con el nombre de webmail. uno con el nombre de webmail. para ello copiaremos el archivo http pero con otro nombre. así: # chmod 600 /etc/apache2/ssl/server.# #</IfModule> </IfModule> Después debemos de crear un archivo mas que nos redireccionará a la Interfaz Web con la seguridad SSL.com Ahora debemos de entrar a modificar el archivo http y quitarle primera línea que dice NameVirtualHost *:80 por que de lo contrario habrá conflicto con el archivo webmails.crt los cuales al crearlos quedaran en la ruta /etc/apache2/ssl/. así: # El archivo vim de /etc/apache2/sites-available/webmail configuración debe de quedar así: <VirtualHost ServerName RewriteEngine RewriteCond RewriteRule </VirtualHost> (.example. en el archivo webmails especificamos dos nombres.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. que es generar el certificado para la Interfaz Web del Squirrelmail.*) *:80> webmail.key -out /etc/apache2/ssl/webmail. así: # vim /etc/ apache2/sites-available/http Nos falta una parte muy importante para que nos pueda funcionar el Host Vistual.key . en este punto generaremos el nuevo certificado con en siguiente comando: # openssl req -new -x509 -keyout /etc/apache2/ssl/webmail.

con el siguiente comando: # # a2ensite a2ensite webmail webmails Después de esto reiniciamos el servidor apache2 y el DNS(Aquí nos daremos cuenta de algún error en la configuración. tanto el webmail como el webmails (Estando parados en la ruta /etc/apache2/sitesavalaible/).d/apache2 restart # /etc/init.d/bind9 restart NOTA: Si nos sale algún error debemos de mirar bien que nos dice y mirar la sintaxis de los archivos que están en la carpeta /etc/apache2/sites-available/.example. así: http://webmail.conf en la carpeta /etc/apache2/conf. . Ahora debemos de probar en el navegador Web el Squirrelmail (Recordemos no trabajar con Servidor Proxy en el Navegador si es el caso). así: # /etc/init.Después de esto debemos de activar los Host Virtuales. si esta en esta ruta pondrá conflicto. el Servidor debe de reiniciar bien).Recordemos que no podemos dejar el archivo apache.d/ por eso lo movimos para la otra ruta.com Aquí nos debe de salir las imágenes 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. Configuración de Dominios y Usuarios Virtuales (Postfix) Como ya tenemos el Plugin Mail habilitado entraremos al archivo de . En esta parte colocaremos el nombre del Usuario con el Dominio Completo (usuario1@example.com) y al Contraseña del Usuario: 25.

example.cf que está en la ruta /etc/postfix/ para pegar las líneas que copiamos anteriormente con el siguiente comando: # vim /etc/postfix/main.cf. ldap:/etc/postfix/ldap-maildrop. hash:/etc/aliases alias_database = hash:/etc/aliases myorigin = /etc/mailname mydestination = server1.example.com alias_maps = ldap:/etc/postfix/ldap-aliases. las líneas son: myhostname = server1. el archivo se llama main.localhost mail_destination_recipient_limit = 1 mailbox_command = /usr/lib/dovecot/deliver -d "$USER"@"$DOMAIN" relayhost = mynetworks = 127.cf virtual_alias_maps = ldap:/etc/postfix/ldap-aliases.cf en la ruta /usr/share/doc/python-mmcbase/contrib/postfix/with-virtual-domains/ (Este directorio se creó con la instalación de los paquetes).cf Dentro del archivo de configuración agregaremos las líneas debajo de la siguiente línea.configuración del Postfix con Usuarios Virtuales.cf En este archivo de configuración encontraremos las siguientes líneas las cuales copiaremos y pegaremos en otro archivo.localdomain. guardamos y listo.localhost.cf virtual_mailbox_base = / virtual_alias_domains = virtual_minimum_uid = 100 virtual_uid_maps = ldap:/etc/postfix/ldap-uid.com.cf Entraremos al archivo main.0. las líneas que debemos de copiar debe de ser como estas: # Virtual Domains Control virtual_mailbox_domains = ldap:/etc/postfix/ldap-domains.com.cf virtual_gid_maps = ldap:/etc/postfix/ldap-gid.0.com mydomain = example.cf virtual_mailbox_maps = ldap:/etc/postfix/ldap-accounts.0/8 mailbox_size_limit = 0 .cf.example. entraremos al archivo con el siguiente comando: # vim /usr/share/doc/python-mmc-base/contrib/postfix/with-virtualdomains/main.

cf para los Usuarios y Dominios Virtuales.cf /etc/postfix/ldap-uid. lo haremos con el siguiente comando: # # # # # # vim vim vim vim vim vim /etc/postfix/ldap-domains. ldap-uid.cf y están en la ruta /usr/share/doc/python-mmcbase/contrib/postfix/with-virtual-domains/.cf Ahora debemos de reiniciar el Postfix para que nos tome los cambios.cf /etc/postfix/ldap-maildrop.0. es posible que el DNS tambien (Recordemos que si tenemos la MMC abierta . ldap-aliases. los copiaremos con el siguiente comando: # cp /usr/share/doc/python-mmc-base/contrib/postfix/with-virtualdomains/ldap-domains.cf y ldapgid.cf /etc/postfix/ # cp /usr/share/doc/python-mmc-base/contrib/postfix/with-virtualdomains/ldap-gid.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/ Ahora que los copiamos debemos de entrar a modificarlos con los datos de nuestro Dominio.cf.0.cf /etc/Postfix/ # cp /usr/share/doc/python-mmc-base/contrib/postfix/with-virtualdomains/ldap-accounts. ldap-accounts.cf /etc/postfix/ldap-gid. ldap-maildrop.cf. Luego debemos de copiar todos los archivos de configuración que especificamos con las líneas que copiamos en el archivo main.cf /etc/postfix/ldap-aliases.cf.recipient_delimiter = + inet_interfaces = all Tambien buscaremos en la última línea del archivo de configuración un 127.cf /etc/postfix/ # cp /usr/share/doc/python-mmc-base/contrib/postfix/with-virtualdomains/ldap-aliases.cf /etc/postfix/ldap-accounts.cf. los archivo son: ldap-domains.1 y lo cambiaremos por localhost y listo.

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.d/postfix restart # /etc/init. así: Asi nos debe de quedar el Dominio Virtual creado: .com/mmc Entraremos a Mail. despues la Descripcion que le deseemos dar y por ultimo la cuota de usuarios que le queramos dar.com. nosotros se la daremos Indefinida. así: # /etc/init. Entraremos a la MMC para crear el Dominio Virtual.es posible que debamos de cerrarla y volver a entrar a ella). en nuestro caso el Dominio Virtual sera elemplo.example. así: http://server1. despues Clic en Add a Domain y colocaremos los Datos que necesitamos.

Ahora debemos de entrar a editar los usuarios a los cuales deseemos crearle el Usuario o el Dominio Virtual. así: Al final de la página de cada Usuario encontraremos la casilla de Mail Alias. así (Confirmamos y Listo): . el Dominio Virtual y ambos Usuario y Dominio Virtual. aquí podemos agregar el Usuario Virtual.

para ello enviaremos un archivo con la palabra Viagra y con el mismo nombre como Subject.Probar el Antivirus y el Antispam por la nterfaz Web del Squirrelmail Para probar si esta funcionando el Antivirus en nuestro Servicio de Correo.1. intentaremos enviar un archivo .exe. al final de la Ventana hay una parte para Adjuntar archivos. así: . especificaremos un Subject y el Destinatario. alli buscaremos el Archivo .exe y la enviaremos.25. enviaremos un correo a otro usuario de nuestro Directotio LDAP. en la consola del Squirrelmail le daremos Clic en Compose. 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.

entraremos al Usuario que sera un Equipo con Windows XP Professional SP2. 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. Entraremos a Shares. antes de esp debemo de entrar a la MMC y cambiar un parametro en el SAMBA con el cual no trabajaremos.com Ahora debemos de verificar si nuestro PDC si puede almecenar los Usuarios y Equipos en la base de Datos. así: 26. Union del Usuario (Windows XP) al Dominio example. Clic en confirmar y listo configuraremos la Trajeta de red del Cliente: .Pero como el antiespam esta funcionando al Usuario destinatario le debe de aparecer el mensaje marcado como SPAM.

así: Le daremos Clic en Opciones Avanzadas. así: .Ahora si onfiguraremos la tarjeta de Red para poder tener conexión con el Servidor. tendra nuestro rango y nuestra IP como Servidor DNS. Clic en DNS y colocaremos como Sufijo DNS a nuestro Dominio.

Luego le daremos Clic en WINS y colocaremos nuestra IP como Servidor WINS. así: . así: Guardaremos los cambios y despues en la consola CMD le daremos un nsloohup y veremos si esta resolviendo nuestro Dominio.

Si todo esta bien ahora lo que debemos de hacer el unir el Equipo al Dominio. 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. le daremos Clic derecho a Mi PC y Propiedades. así: .

así: . así: Y nos debe de salir esta ventana de Bienvenida.2008admon. Clic en Aceptar. así: Nos pedira que debemos de Reiniciar el Equipo.Nos debe de salir esta Ventana en la cual el Usuario sera Administrator y la Contraseña Sena.

así: . Contraseña y el Nombre del Dominio.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.

Sign up to vote on this title
UsefulNot useful