MANUAL DE CONFIGURACION SERVIDOR DE CORREO SEGURO (POSTFIX) INTEGRADO CON MANDRIVA DIRECTORY SERVER (MDS) EN EL SISTEMA OPERATIVO GNU/LINUX DEBIAN ETCH.
TITULACIÓN: ADMINISTRACION DE REDES DE COMPUTADORES
APRENDICES: ALEJANDRA GUTIERREZ CALDERON ALEJANDRO ARBOLEDA ANDRES LOPEZ ANDRES RESTREPO GONZALES DANIEL VALENCIA GARCIA EDER GARCIA DURAN JOLMAN ALEXANDER ROBLEDO JOSE RODOLFO HERRERA AGUILAR
TELEINFORMATICA PROYECTO DE FORMACION REGIONAL ANTIOQUIA MEDELLIN
TABLA DE CONTENIDO.
1
Pág. 1.0 PREAMBULO.....................................................................................................8 1.1 SISTEMA BASICO............................................................................................10 1.2 ACLS DEL SISTEMA DE ARCHIVOS..............................................................11 1.3 REPOSITORIOS...............................................................................................12 2. CONFIGURACION.............................................................................................13 3.0 CONFIGURACION DE LDAP...........................................................................19 3.1 CONFIGURACION DE SLAPD.CONF.............................................................19 4. SAMBA Y LDAP..................................................................................................23 4.1 DIRECTORIO LDAP.........................................................................................26 4.2 CONFIGURACION DE NSS LDAP...................................................................29 4.3 CONFIGURACION DE PAM LDAP..................................................................31 5. CONFIGURACION DE BIND..............................................................................33 6. CONFIGURACION DHCP..................................................................................35 7.CONFIGURACION PLUGUINS...........................................................................36 7.1 PLUGIN NETWORK..................................…....................................................37 7.2 PLUGIN SAMBA...............................................................................................37 8. MMC INTERFAZ WEB........................................................................................39 8.1 CONFIGURACION BIND Y DHCPD.................................................................40 8.2 AGREGAR USUARIOS....................................................................................43 9. AGREGAR WINDOWS XP AL DOMINIO...........................................................45 10. CONFIGURACION DEL SERVICIO DE CORREO..........................................47 10.1 SSL PARA EL CORREO................................................................................48 10.2 CONFIGURACION DE SASL........................................................................49 10.3 CONFIGURACION POSTFIX.........................................................................50 10.4 CONFIGURACION DE ALIAS LDAP..............................................................53 10.5 CONFIGURACION DEL ARCHIVO MASTER.CF..........................................53 10.6 CONFIGURACION DOVECOT.......................................................................54 10.7 CONFIGURACION DOVECOT LDAP............................................................56 10.8 ENTREGA DE DOVECOT..............................................................................56 10.9 CONFIGURACION DE AMAVIS....................................................................56 10.10 CONFIGURACION DEL SPAMASSASSIN..................................................57 11. CONFIGURACION WEBMAIL..........................................................................60 12. CREACION DE DOMINIOS Y USUARIOS VIRTUALES..................................63 13. SEGURIDAD SSL PARA EL WEBMAIL...........................................................67 14. CONFIGURACION BASICA DEL MUA……………………………………..……..72
2
INTRODUCCION.
Nosotros como estudiantes de la tecnología Administración de Redes de Computadores, deseamos fortalecernos en conocimientos, aprovechando la retroalimentación en nuestra área y así demostrar ganancia en nuestro desempeño como tecnólogos. Para comenzar a hacerlo hemos planteado como proyecto, realizar el montaje de un controlador de dominio y servidor de correo, con sus respectivas evidencias. En nuestra tercera fase de estudio, participaremos activamente en la formación por proyectos conformando un equipo colaborativo y cooperativo de trabajo y así recibiremos las asesorías necesarias en cuanto a Administración de Redes.
3
PLANTEAMIENTO DEL PROBLEMA. Para cumplir con unos de los requerimientos propuestos por los docentes de la titulación Administración de redes, se decidió realizar el montaje de un servidor de correo seguro montado con Postfix y un servicio de directorio en Mandriva Directory Server “MDS” y a su vez su integración, para generar un manual funcional, de modo que otras personas al momento de utilizarlo, les proporcione gran ayuda. El proyecto planteado busca implementar conocimientos y solucionar dudas acerca de los diferentes protocolos de servicio de correo y LDAP.
4
DESCRIPCION GENERAL. Este proyecto se va a realizar con el objetivo de montar un controlador de dominio, y servicio de correo open source en un sistema operativo libre. Hemos realizado investigaciones y recibido asesorías con respecto al montaje, la implementación y el mantenimiento de dichos protocolos para poder llevar acabo este proyecto.
5
OBJETIVO GENERAL. Realizar el montaje, implementación e integración de una plataforma de correo segura y un servicio de directorio, basados en licencia GPL., en un sistema operativo open source, y generar un manual en el cual se explicara como se llevo acabo dicha implementación. OBJETIVOS ESPECIFICOS: Evaluar los conocimientos adquiridos durante la tapa electiva acerca del tema a desarrollar. Proponer un plan para reforzar y adquirir nuevos conocimientos del tema a desarrollar para llevar acabo la ejecución. Ejecutar el plan de desarrollo del proyecto propuesto. Retroalimentar nuestros conocimientos. Cumplir con las expectativas propuestas por los docentes y por los que llevaran a cabo el proyecto a desarrollar. Crecer cooperativamente, actitudinalmente en responsabilidad y compromiso.
6
ALCANCE. Con este proyecto pretendemos desarrollar la integración de un servicio de directorio con una plataforma de correo segura, con su respectivo manual, al finalizar esto se espera que los conocimientos acerca del tema mejoren y el trabajo propuesto se lleva acabo satisfactoriamente, sin ningún tipo de percance.
7
1.0 PREAMBULO. Mandriva Directory Server es una plataforma de directorio de empresa basada en LDAP diseñada para la gestión de identidades, control de acceso, políticas y la configuración de aplicaciones y usuarios. Mandriva Directory Server es la subestructura de la identidad del sistema de gestión, el servicio de directorio de administración y la gestión de los servicios de red. Es un proyecto de OPEN SOURCE con las siguientes características: - Autenticación y manejo de usuarios contra un directorio LDAP - Una bonita interfaz web pasada en Ajax y PHP llamada MMC Las aplicaciones instaladas para MDS son: • • • • • •
mmc-agent. python-mmc-pluguins-tools. python-mmc-base. python-mmc-samba. python-mmc-mail. python-mmc-network.
En este documento explicamos la instalación y configuración del Servidor de Directorio de Mandriva, implementado sobre el sistema operativo Debían Etch. •
• • • •
Todo el sistema de integración de OpenLDAP. Samba Primary Domain Controller (PDC). Servidor de correo Postfix con Dovecot, Amavis, Spamassassin y ClamAV (POP3/IMAP/SSL/TLS/Quota). BIND “servidor-DNS”. Servidor DHCP, con actualizaciones dinámicas.
Para el montaje de este Servidor, la configuración con la que trabajaremos será: • • • • •
Nombre del equipo: pdc.grupo1.com Dirección IP: 192.168.0.100 Dominio Primario: grupo1.com Grupo de trabajo: GRUPO1 Contraseña (password): sena2008
8
Aquí se muestra el funcionamiento de la MMC en la que la interfaz Web será el plugin base.ini que se comunicara con la base de datos LDAP, esta será la encargada de cargar todos los pluguins. Como trabajaremos con LDAP en el archivo sldap.conf es en donde especificaremos el login y password del administrador de LDAP, pero esta también la puede encontrar en un servidor LDAP secundario o una base de datos en Mysql.
9
1.1 SISTEMA BASICO. Primero especificar el nombre del hosts y el de nuestro dominio. Vamos al archivo de configuración: vim /etc/hosts
Después de configurar el nombre del host en el archivo de host, editamos el archivo hostname. vim /etc/hostname
Ahora reiniciamos el sistema”PC”. Reboot Cuando reinicie el sistema ejecutamos el comando hostname, que sirve para ver el nombre de la maquina y hostname -f que sirve para ver el FQDN (nombre completo) así:
10
1.2 ACLS DEL SISTEMA DE ARCHIVOS. Añadir la opción "acl" en el punto de montaje donde se encontraran los directorios que SAMBA compartirá
Después de hacer el montaje para que tengan efecto los cambios ejecutamos el comando mount -o remount / y si todo está bien, ejecutamos el comando mount –l que nos muestra los anteriores cambios efectuados.
11
1.3 REPOSITORIOS. Debemos agregar los siguientes repositorios al archivo /etc/apt/sources.list: #Debian MDS: Contiene los pluguins necesarios para el funcionamiento de MDS. deb http://mds.mandriva.org/pub/mds/debian etch main #Debian Volatiles: Este repositorio contiene paquetes que necesitan cambiar continuamente, tales como los paquetes que tienen que ver con filtrado de spam y detección de virus, descompresores etc. deb http://volatile.debian.org/debian-volatile etch/volatile main contrib nonfree #Debian Backports: Está formado por paquetes de versiones modernas de programas que han sido compiladas para integrarse lo mejor posible en el árbol de dependencias de una versión estable. deb http://www.backports.org/debian etch-backports main #Adicionales, por si alguna ves no se encuentra algún repositorio disponible. deb http://ftp.es.debian.org/debian/ stable main contrib non-free deb ftp://ftp.us.debian.org/debian sarge main contrib non-free
Luego importamos la clave PGP de los repositorios Debian backports desde backports.org, con lo siguiente: wget -O - http://backports.org/debian/archive.key | apt-key add -
Después actualizamos con el siguiente comando: apt-get update
12
Después de actualizar con apt-get update instalaremos esta lista de paquetes, no vamos a trabajar con todos pero los tendremos ahí por si alguna vez implementaremos servicios adicionales. apt-get install mmc-web-base mmc-web-mail mmc-web-network mmc-webproxy mmc-web-samba mmc-agent python-mmc-plugins-tools python-mmcbase python-mmc-mail python-mmc-network python-mmc-proxy pythonmmc-samba postfix postfix-ldap sasl2-bin libsasl2 libsasl2-modules amavisd-new libdbd-ldap-perl libnet-ph-perl libnet-snpp-perl libnet-telnet-perl lzop nomarch zoo clamav clamav-daemon gzip bzip2 unzip unrar-free unzoo arj spamassassin libnet-dns-perl razor pyzor dcc-client slapd ldap-utils libnss-ldap libpam-ldap dhcp3-server dhcp3-server-ldap bind9 samba smbclient smbldap-tools Y apt-get install -t etch-backports dovecot-common dovecot-imapd dovecotpop3d (Con apt-get install –t especificamos la versión del sistema operativo, ya que los paquetes dovecot actuales del repositorio debian estándar tienen un error al trabajar en conjunto con LDAP, de modo que utilizaremos los paquetes dovecot del repositorio Debian Backports.) 2. CONFIGURACION. Durante la instalación de los nuevos paquetes se le pedirá una serie de preguntas, responda de la siguiente manera.
Introduzca la contraseña para el administrador del LDAP.
Confirme la contraseña del administrador del LDAP.
13
Aceptar para que nuestro sistema utilice la versión más actualizada de dhcpserver.
Introducimos el Dominio con el cual trabajaremos.
Trabajaremos con la opción “NO” ya que nuestro equipo trabajara con una dirección IP estática.
En la configuración de Postfix, escogemos Sitios de Internet ya que nuestro servicio podrá ver otros servicios de correo y viceversa.
14
Introducimos el nombre del equipo en el cual tendremos el Servidor de correo, este debe tener el FQDN completo Ejemplo: pdc.grupo1.com.
Introducimos la dirección loopback ya que en nuestra maquina correrá el servicio LDAP.
Introducimos el nombre del dominio Ejemplo: dc=grupo1, dc=com.
15
Escogemos la versión numero 3 ya que es la más actualizada.
Cambiamos estos valores cn=manager por cn=admin, ya que el usuario manager no existe y el admin, Es el usuario que puede administrar la base de datos del LDAP. dc= grupo1, dc=dominio.
16
Introducimos la contraseña SENA2008.
Aceptamos, este asistente nos indica que debemos hacer una configuración en el archivo nsswitch para que el sistema busque los usuarios, grupos y objetos en la base de datos del LDAP.
17
Por lo que necesitaremos autenticar a los usuarios a través del directorio LDAP, escogemos la opción “NO” para que todos los usuarios tengan derecho de lectura sobre dicha base de datos.
Escogemos la opción “NO” ya que en el ítem anterior dimos permisos de lectura sobre dicho directorio.
18
3.0 CONFIGURACION DE LDAP. Después de haber descargado de los repositorios, Copiamos y descomprimimos los archivos del esquema MMC, mail, SAMBA, printer, DNS y DHCP en el directorio de esquema de LDAP. cp /usr/share/doc/python-mmc-base/contrib/ldap/mmc.schema /etc/ldap/schema/ cp /usr/share/doc/python-mmc-base/contrib/ldap/mail.schema /etc/ldap/schema/ zcat /usr/share/doc/python-mmc-base/contrib/ldap/samba.schema.gz > /etc/ldap/schema/samba.schema zcat /usr/share/doc/python-mmc-base/contrib/ldap/printer.schema.gz > /etc/ldap/schema/printer.schema zcat /usr/share/doc/python-mmc-base/contrib/ldap/dnszone.schema.gz > /etc/ldap/ schema/dnszone.schema zcat /usr/share/doc/python-mmc-base/contrib/ldap/dhcp.schema.gz > /etc/ldap/schema/dhcp.schema 3.1 CONFIGURACION DE SLAPD.CONF. Agregamos estas líneas en el siguiente archivo de configuración /etc/ldap/slapd.conf. include /etc/ldap/schema/mmc.schema include /etc/ldap/schema/samba.schema include /etc/ldap/schema/printer.schema include /etc/ldap/schema/mail.schema include /etc/ldap/schema/dnszone.schema include /etc/ldap/schema/dhcp.schema Y habilitamos todos estos esquemas agregando esta línea schemacheck on
19
De modo que quede de la siguiente forma
Luego encriptaremos la clave del administrador LDAP, que definimos en la configuración de este (2.1 y 2.2), para encriptar el password utilizaremos la herramienta slappasswd, Ejemplo: slappasswd –s sena2008 El resultado debe ser similar a este {SSHA} kPd9deiwYx4lyAUiQ2NFmzXJK0WyLV9B Después de haber cifrado la el password agregue esta línea, rootdn "cn=admin, dc=grupo1, dc=com" en el archivo /etc/ldap/sldap.conf y descomente:
Luego será necesario modificar las opciones de indexado para la base de datos, buscamos y comentamos la siguiente línea Indexing options for database #1 y agregamos las siguiente líneas index objectClass,uidNumber,gidNumber eq index cn,sn,uid,displayName pres,sub,eq index memberUid,mail,givenname eq,subinitial index sambaSID,sambaPrimaryGroupSID,sambaDomainName eq index zoneName,relativeDomainName eq index dhcpHWAddress,dhcpClassData eq De tal forma que quede así
20
Ahora agregamos SAMBA a la lista de acceso para la base de datos para estos borramos esta línea: access to attrs=userPassword,shadowLastChange. Y agregamos esta, ya que admin tendrá permisos de escritura sobre este atributo que seria Samba. access to attrs=userPassword,sambaLMPassword,sambaNTPassword
Por último editamos el archivo /etc/ldap/ldap.com, y añadimos las siguientes líneas, en donde decimos en donde se encuentra el servidor LDAP y cual es el dominio con el que trabajaremos. host 127.0.0.1 base dc=grupo1,dc=com
21
Procederemos a reiniciar el servicio de LDAP. /etc/init.d/sldap restart La salida debe ser igual a esta
22
4. SAMBA Y LDAP. Primero paramos el servidor samba: /etc/init.d/samba stop Copiamos el archivo de configuración del ejemplo samba dentro del directorio samba: cp /usr/share/doc/python-mmc-base/contrib/samba/smb.conf /etc/samba/ Y ajústela lo siguiente en el archivo /etc/samba/smb.conf: workgroup = GRUPO1 netbiosname = SRV-GRUPO1 ldap admin dn = cn=admin, dc=grupo1, dc=com ldap suffix = dc=grupo1, dc=com Agregamos las siguientes líneas en esta misma sección [global] preferred master = yes os level = 65 wins support = yes timeserver = yes socket options = SO_KEEPALIVE IPTOS_LOWDELAY SO_SNDBUF=8192 SO_RCVBUF=8192 logon drive = H: passwd program = /usr/sbin/smbldap-passwd -u %u passwd chat = "Changing password for*\nNew password*" %n\n "*Retype new password*" %n\n add user script = /usr/sbin/smbldap-useradd -m "%u" add user to group script = /usr/sbin/smbldap-groupmod -m "%u" "%g" set primary group script = /usr/sbin/smbldap-usermod -g "%g" "%u" add group script = /usr/sbin/ambldap-groupadd -p "%g" delete user script = /usr/sbin/smbldap-userdel "%u" delete user from group script = /usr/sbin/smbldap-groupmod -x "%u" "%g" delete group script = /usr/sbin/smbldap-groupdel "%g" obey pam restrictions = no ldap idmap suffix = ou=Users ldap delete dn = no security = user
23
24
Agregamos las siguientes líneas en las secciones: Sección [homes]: hide files = /Maildir/ “Para que oculte los directorio Maildir de los usuarios” Sección [profiles]: hide files = /desktop.ini/ntuser.ini/NTUSER.*/ Sección [archives]: Path = /home/samba/archives Por último agregamos esto [partage] comment = aucun Path = /home/samba/partage browseable = yes Public = no writeable = yes Podemos verificar si el SAMBA está funcionando bien con el comando testparm
Ahora le damos a SAMBA las credenciales necesarias para escribir en el LDAP así: smbpasswd –w sena2008
25
Ahora crearemos un SID para nuestro grupo de trabajo”workgroup”, para q el LDAP reconozca y autorice el samba, esto lo hacemos con lo siguiente net getlocalsid GRUPO1
Tomamos nota de este resultado que no arroja y seguimos con la configuración, comprobamos si el SID ha sido registrado en el ldap con el siguiente comando, slapcat | grep sambaDomainName, la salida debe ser similar a esta:
Ahora reiniciamos Samba: /etc/init.d/samba restart 4.1 DIRECTORIO LDAP. Lo primero que de hacer es crear el archivo de configuración smbldap-tools que define la manera de comunicarse con el servidor LDAP, el archivo lo crearemos en la siguiente ruta /etc/smbldap-tools, y el archivo se llamara: smbldap_bind.conf El contenido de este nuevo archivo tendrá estas líneas: slaveDN="cn=admin,dc=grupo1,dc=com" slavePw="contraseña_del_LDAP" masterDN="cn=admin,dc=grupo1,dc=com" masterPw="contraseña_del_LDAP"
26
Luego creamos el fichero de configuración principal en esta misma ruta /etc/smbldap-tools y el archivo se llamara smbldap.conf, este archivo tendrá una colección de scripts que ofrecen un sistema de gestión de usuarios y grupos con LDAP y Samba, gracias al uso de un anuario LDAP listo para funcionar. De esta forma, podrás añadir, suprimir o modificar cuentas de usuarios en el anuario LDAP, así como grupos Unix y Samba. Nota: Cambiaremos las líneas que no corresponden con el nombre de nuestro dominio. Ejemplo: Todas las líneas en las que se encuentre la palabra MANDRIVA, EXAMPLE, hay que tener en cuenta las palabras que se encuentren en minúscula y en mayúscula y con el SID que creamos anteriormente. SID="S-1-5-21-3159899821-123882392-54881133" sambaDomain="GRUPO1" ldapTLS="0" suffix="dc=grupo1,dc=com" usersdn="ou=Users,${suffix}" computersdn="ou=Computers,${suffix}" groupsdn="ou=Groups,${suffix}" idmapdn="ou=Idmap,${suffix}" sambaUnixIdPooldn="sambaDomainName=GRUPO1,${suffix}" scope="sub" hash_encrypt="SSHA" userLoginShell="/bin/bash" userHome="/home/%U" userHomeDirectoryMode="700" userGecos="System User" defaultUserGid="513" defaultComputerGid="515" skeletonDir="/etc/skel" defaultMaxPasswordAge="45" userSmbHome="\\PDC-SRV-GRUPO1\%U" userProfile="\\PDC-SRV-GRUPO1\profiles\%U" userHomeDrive="H:" userScript="logon.bat" mailDomain="grupo1.com" smbpasswd="/usr/bin/smbpasswd"
27
Ha llegado la hora de poblar el directorio ldap y de crear una cuenta que Administrara el dominio. smbldap-populate –m 512 -a administrator, luego nos pedirá una contraseña para este administrador. Luego tendremos que modificar el uid-number de esta cuenta, de otro modo no podremos utilizar el servidor de correo. Además añadimos esta cuenta al grupo "Domain Users", ejecutando el siguiente comando: smbldap-usermod -u 3000 -G "Domain Users" grupo1
28
4.2 CONFIGURACION DE NSS LDAP. Define el orden de búsqueda de las bases de datos de cuentas de usuarios ya sean locales o virtuales. Agregamos las siguientes líneas borrando todas las anteriores del archivo /etc/nsswittch.conf Nota: cuidado al modificar estos archivos porque al reiniciar la maquina nos puede presentar un error de logueo. passwd: compat ldap group: compat ldap shadow: compat ldap hosts: files dns networks: iles protocols: db files services: db files ethers: db files rpc: db files netgroup: nis Nos quedara algo como esto:
Para ver si nuestro equipo está viendo los usuarios y los grupos de LDAP digitamos el comando getent group, el resultado debe ser diferente al que se encuentra en /etc/passwd ya que si el resultado es igual el equipo no está viendo los usuarios y los grupos de LDAP.
29
Esto nos quiere decir que todo ha salido bien.
30
Crearemos los directorios que definimos en el archivo smb.conf: mkdir -p /home/samba/shares/public/ mkdir /home/samba/netlogon/ mkdir /home/samba/profiles/ mkdir /home/samba/partage/ mkdir /home/samba/archives/ Les cambiamos el propietario y los permisos a los directorios que compartirá SAMBA, con los siguientes comandos. chown -R :"Domain Users" /home/samba/ chmod 777 /var/spool/samba/ /home/samba/shares/public/ chmod 755 /home/samba/netlogon/ chmod 770 /home/samba/profiles/ /home/samba/partage/ chmod 700 /home/samba/archives/ 4.3 CONFIGURACION DE PAM LDAP. NOTA: Para la modificación de los siguientes archivos tendremos que tener los mimos cuidados que tuvimos en el archivo /etc/nsswitch, podemos borrar todo y colocar las líneas a continuación. El objetivo es permitir la autentificación de los usuarios del servidor mediante la información almacenada en un servidor LDAP, de tal forma que se pueda mantener una única base de datos con todos los usuarios, y no una base de datos por cada máquina. Vamos a /etc/pam.d/common-account, Este módulo realiza un manejo de cuentas no basada en autentificación. Es usado normalmente para permitir o restringir el acceso a determinados servicios según el día del mes, recursos utilizados actualmente (número máximo de usuarios)... # # /etc/pam.d/common-account - authorization settings common to all services # # This file is included from other service-specific PAM config files, # and should contain a list of the authorization modules that define # the central access policy for use on the system. The default is to # only deny service to users whose accounts are expired in /etc/shadow. # account required pam_unix.so account sufficient pam_ldap.so
31
En /etc/pam.d/common-auth Este tipo de módulo provee con dos medios de autentificación del usuario. Primero establece que el usuario es quien dice ser, indicando a la aplicación que pregunte al usuario por una contraseña u otros medios de identificación. Después, el módulo puede comprobar la pertenencia a un grupo (independientemente de la información almacenada en /etc/groups/ ) u otros privilegios mediante sus 'credential granting properties', el contenido debe ser igual al siguiente: # # /etc/pam.d/common-auth - authentication settings common to all services # # This file is included from other service-specific PAM config files, # and should contain a list of the authentication modules that define # the central authentication scheme for use on the system # (e.g., /etc/shadow, LDAP, Kerberos, etc.). The default is to use the # traditional Unix authentication mechanisms. # auth sufficient pam_unix.so nullok_secure auth sufficient pam_ldap.so use_first_pass auth required pam_deny.so En el archivo /etc/pam.d/common-password Este módulo es requerido para modificar el token de autentificación asociado al usuario. Típicamente hay un módulo por cada tipo de módulo de autentificación basado en 'challenge/response'. # # /etc/pam.d/common-auth - authentication settings common to all services # # This file is included from other service-specific PAM config files, # and should contain a list of the authentication modules that define # the central authentication scheme for use on the system # (e.g., /etc/shadow, LDAP, Kerberos, etc.). The default is to use the # traditional Unix authentication mechanisms. # auth sufficient pam_unix.so nullok_secure auth sufficient pam_ldap.so use_first_pass auth required pam_deny.so
32
En el archivo /etc/pam.d/common-session Este módulo está asociado con realizar cosas que deben ser hechas por el usuario antes o después de que pueda acceder al servicio. Esto incluye montar directorios, intercambio de datos con algún usuario, etc... el contenido debe ser igual al siguiente # # /etc/pam.d/common-session - session-related modules common to all services # # This file is included from other service-specific PAM config files, # and should contain a list of modules that define tasks to be performed # at the start and end of sessions of *any* kind (both interactive and # non-interactive). The default is pam_unix. # session required pam_unix.so session optional pam_ldap.so Después reiniciamos el sistema: reboot Cuando el sistema arranque de nuevo otorgamos privilegios al grupo Administradores del dominio para que puedan agregar maquinas al dominio. net -U Administrator rpc rights grant 'GRUPO1\Domain Admins' SeMachineAccountPrivilege
5. CONFIGURACION DE BIND. Copiamos el archivo de configuración prediseñado que se encuentra en la siguiente ruta. cp /usr/share/doc/python-mmc-base/contrib/bind/named.conf /etc/bind/ A continuación modificamos el punto de inicio de slapd para que arranque antes que bind, ya que necesitaremos primero localizar los recursos para que el LDAP pueda localizarlos en el directorio. update-rc.d -f slapd remove && update-rc.d slapd start 14 2 3 4 5 . stop 86 0 1 6.
33
Luego editamos el archivo /etc/resolv.conf poniendo como sufijo DNS el dominio con el que estamos trabajando y la ip de nuestra maquina.
34
6. CONFIGURACION DHCP Copiamos este ejemplo /usr/share/doc/python-mmcbase/contrib/dhcpd/dhcpd.conf /etc/dhcp3/ en /etc/dhcp Cambiando la contraseña que le asignamos a LDAP y cambiando el ejemplo por el nombre de nuestro dominio, de modo que quede similar a este.
35
7. CONFIGURACION PLUGUINS. Procedemos a editar el Pluguin base para la consola MMC encontrado en /etc/mmc/plugins/base.ini, cambiando la baseDN de modo que concuerde con el domino con el que estamos trabajando, luego cambie la línea de password con la contraseña del administrador del LDAP.
36
7.1 PLUGIN NETWORK. Después editaremos el plugin de la red para la MMC encontrado en /etc/mmc/plugins/network.ini, cambiando el dominio de modo que concuerde con el que estamos trabajando, quedara similar a este.
7.2 PLUGIN SAMBA. Por último configuraremos el pluguin de Samba situado en /etc/mmc/plugins/samba.ini, una vez dentro de este cambiaremos la línea que hace referencia al dominio con el cual trabajaremos.
37
Ahora crearemos un directorio llamado archives el cual necesita la MMC para que pueda correr en nuestro sistema, lo crearemos en esta ruta mkdir /home/archives. Ya en este punto el agente está listo para arrancar digitamos /etc/init.d/mmc-agent start
38
8. MMC INTERFAZ WEB. Para ingresar a la interfaz web es necesario digitar en el navegador web http://127.0.0.1/mmc. Para ingresar a su configuración digitamos root y el password del admistrador de LDAP.
39
8.1 CONFIGURACION BIND Y DHCPD. Haga clic en "Network" en el menú principal y luego en "Add DNS Zone" en el menú de la izquierda. Editamos la configuración de acuerdo a nuestra configuración. Haga clic en "Create" para guardar los cambios. Nota: Una subred DHCP con la configuración básica será creada.
123456789-
Aquí digitamos el dominio con el que estos trabajando Copiamos una breve descripción del servicio Colocamos el nombre del equipo Digitamos la dirección ip del equipo Especificamos el rango en que trabajaremos, con Su respectiva mascara Esta opción es para crear una zona inversa Esta opción es para crear simultáneamente un pool en el dhcp Finalizaremos creando la zona DNS
40
Para configurar el DHCP haz clic en dhcp subnets, luego en el papel y el lápiz clic para entrar a configurar este servicio.
41
Colocamos el rango que entregara el servicio DHCP Especificamos la mascara Colocamos nuestro sufijo DNS Ponemos la dirección de broadcast Colocamos nuestro sufijo DNS Digitamos la dirección ip del Gateway En este campo especificamos la ip de nuestra maquina Como este servicio de directorio también trabaja con nombres NetBios le especificamos quien es el que resolverá dichos nombres 9- Dejamos esta opción por defecto 10- Especificamos el tiempo de concesión de la dirección IP 11- Primera dirección que entregaremos 12- Ultima dirección que entregaremos 12345678-
Ahora la configuración de DHCP está completa y puede arrancar el servidor DHCP. Haga clic en "Network services management" sobre el lado izquierdo y luego clic en el triángulo verde para iniciar el servidor DHCP. Nota: Siempre que cree/elimine/cambie subredes DHCP debe reiniciar el servidor DHCP.
1- Iniciar 2- Parar 3- Reiniciar 4- Force-Reload 5- Ver configuración
42
8.2 AGREGAR USUARIOS.
1- Clic en “Add a user”
43
123456789-
Escribimos el login del usuario a crear Digitamos su respectivo password Confirmamos Si queremos colocar su foto examinaremos la ubicación de la misma Copiamos el nombre(s) Establecemos la dirección de correo (
[email protected]) Digitamos el teléfono, si no es correcto lo podemos borrar Podemos agregar más números telefónicos Para terminar nos vamos a confirmar encontrada al final
44
9. AGREGAR WINDOWS XP AL DOMINIO. • • • • • • •
•
Cerciórese de que ningún otro servidor DHCP este corriendo Inicie Windows e ingrese como Administrador local Configure su conexión de red para usar DHCP Botón derecho en "Mi PC " y seleccione "Propiedades" Seleccione la pestaña "Nombre de equipo" y haga clic en "Cambiar" Ingrese el nombre de equipo deseado, marque el botón de radio "Dominio" e ingrese grupo1.com. Haga clic en "Aceptar" para guardar los cambios
Tras unos pocos momentos se le pedirán nombre_del_administrador_del_dominio, que definimos pasos atrás.
Si todo va bien, recibirá un mensaje de bienvenida
45
•
Reinicie el sistema.
•
Cuando el sistema vuelva a subir, ingrese con el nombre y contraseña del usuario creado anteriormente.
46
10. CONFIGURACION DEL SERVICIO DE CORREO. Para la configuración de este servicio trabajaremos con una interfaz Web segura para revisar los correos, un sistema que cifrara el trafico entre usuario y servidor, un sistema antivirus y antispam, los usuarios se loguearan en el servidor de directorio previamente configurado. Se ha elegido Postfix como MTA. A Postfix se le han agregado los siguientes mecanismos de seguridad: TLS/SSL, para cifrar las conexiones y SASL (Simple Authentication and Security Layer) como sistema de autentificación. Todo el correo que pase a través del servidor SMTP será revisado en busca de virus y SPAM. Para llevar a cabo esta tarea se utilizará AMaViSd-new como interfaz entre el servidor de correo SMTP y las aplicaciones ClamAV y Spamassassin, las cuales analizarán el correo en busca de virus y SPAM respectivamente. Para la consulta de mensajes por parte de los usuarios se dispondrá de un servidor POP3 e IMAP, con sus respectivas versiones seguras con protocolo SSL, para lo cual se hará uso de Dovecot (POP3- (SSL/TLS), IMAP- (SSL/TLS)).
47
10.1 SSL PARA EL CORREO. Para cifrar la conexión entre el cliente y el servidor usaremos SSL, crearemos un archivo de configuración con esta información ya que nosotros seremos una entidad certificadora el archivo se creara en /etc/ssl/mail.cnf Nota: ·Entre más grande el default_bits mas segura será la transmisión entre el cliente y el servidor. [ req ] default_bits = 2048 default_keyfile = privkey.pem distinguished_name = req_distinguished_name prompt = no string_mask = nombstr x509_extensions = server_cert [ req_distinguished_name ] countryName = CO stateOrProvinceName = Antioquia localityName = Medellin organizationName = Sena organizationalUnitName = Grupo1 commonName = pdc.grupo1.com emailAddress =
[email protected] [ server_cert ] basicConstraints = critical, CA:FALSE subjectKeyIdentifier = hash keyUsage = digitalSignature, keyEncipherment extendedKeyUsage = serverAuth, clientAuth nsCertType = server nsComment = "mailserver"
48
Una vez creado este texto creamos el certificado SSL ejecutando la siguiente línea: openssl req -x509 -new -config /etc/ssl/mail.cnf -out /etc/ssl/certs/mail.pem -keyout /etc/ssl/private/mail.key -days 365 -nodes –batch
Con esto creamos dos llaves una publica que tendrán los clientes y una llave maestra que es la que tendrá el servidor (Estas dos llaves son las que descifraran el tráfico entre el servidor y el cliente. La clave llave privada es creada en /etc/ssl/private/mail.key, y la publica en /etc/ssl/certs/mail.pem) Luego cambiamos los permisos para que root solo pueda leerlo. chmod 600 /etc/ssl/private/mail.key
10.2 CONFIGURACION DE SASL. Ya que Postfix utilizara SASL para autenticar los usuarios contra un servidor LDAP, crearemos los siguientes directorios, para abrir el puerto de SASL. mkdir -p /var/spool/postfix/var/run/saslauthd/ START=yes MECHANISMS="ldap" MECH_OPTIONS="" THREADS=5 OPTIONS="-c -m /var/spool/postfix/var/run/saslauthd -r" Luego configuraremos /etc/saslauthd.conf, en donde le diremos a SASL quien es el servidor LDAP y con qué dominio trabajara. ldap_servers: ldap://127.0.0.1 ldap_search_base: ou=Users,dc=grupo1,dc=com ldap_filter:(&(objectClass=mailAccount)(mail=%u@%r)(mailenable=OK))
Ahora en /etc/postfix/sasl/ crearemos este archivo smtpd.conf, y agregamos estas dos líneas.
49
pwcheck_method: saslauthd mech_list: plain login Añadimos a Postfix SASL el grupo para prevenir problemas de permisos adduser postfix sasl
Reiniciamos el servicio SASL /etc/init.d/saslauthd restart 10.3 CONFIGURACION POSTFIX. Copiamos el archivo de ejemplo de configuración cp /usr/share/doc/python-mmc-base/contrib/postfix/with-virtual-domain/* /etc/postfix/ Editamos el archivo principal de configuración de Postfix /etc/postfix/main.cf # See /usr/share/postfix/main.cf.dist for a commented, more complete version smtpd_banner = $myhostname ESMTP $mail_name (Debian/GNU) biff = no # appending .domain is the MUA's job. append_dot_mydomain = yes append_at_myorigin = yes # Uncomment the next line to generate "delayed mail" warnings #delay_warning_time = 4h myhostname = pdc.grupo1.com mydomain = grupo1.com alias_maps = ldap:/etc/postfix/ldap-aliases.cf, hash:/etc/aliases alias_database = hash:/etc/aliases myorigin = /etc/mailname mydestination = pdc.grupo1.com,grupo1.com,localhost.localdomain,localhost mail_destination_recipient_limit = 1 mailbox_command = /usr/lib/dovecot/deliver -d "$USER"@"$DOMAIN" relayhost = mynetworks = 127.0.0.0/8 mailbox_size_limit = 0 recipient_delimiter = + inet_interfaces = all
50
# Use Maildir home_mailbox = Maildir/ # Wait until the RCPT TO command before evaluating restrictions smtpd_delay_reject = yes # Basics Restrictions smtpd_helo_required = yes strict_rfc821_envelopes = yes # Requirements for the connecting server smtpd_client_restrictions = permit_mynetworks, permit_sasl_authenticated, reject_rbl_client bl.spamcop.net, reject_rbl_client dnsbl.njabl.org, reject_rbl_client cbl.abuseat.org, reject_rbl_client sbl-xbl.spamhaus.org, reject_rbl_client list.dsbl.org, permit # Requirements for the HELO statement smtpd_helo_restrictions = permit_mynetworks, permit_sasl_authenticated, reject_non_fqdn_hostname, reject_invalid_hostname, permit # Requirements for the sender address smtpd_sender_restrictions = permit_mynetworks, permit_sasl_authenticated, reject_non_fqdn_sender, reject_unknown_sender_domain, permit # Requirement for the recipient address smtpd_recipient_restrictions = permit_mynetworks, permit_sasl_authenticated, reject_non_fqdn_recipient, reject_unknown_recipient_domain, reject_unauth_destination, permit # Enable SASL authentication for the smtpd daemon smtpd_sasl_auth_enable = yes
51
smtpd_sasl_type = dovecot smtpd_sasl_path = private/auth # Fix for outlook broken_sasl_auth_clients = yes # Reject anonymous connections smtpd_sasl_security_options = noanonymous smtpd_sasl_local_domain = # SSL/TLS smtpd_tls_security_level = may smtpd_tls_loglevel = 1 smtpd_tls_cert_file = /etc/ssl/certs/mail.pem smtpd_tls_key_file = /etc/ssl/private/mail.key smtpd_tls_session_cache_database = btree:${queue_directory}/smtpd_scache # See /usr/share/postfix/main.cf.dist for a commented, more complete version smtpd_banner = $myhostname ESMTP $mail_name (Debian/GNU) biff = no # appending .domain is the MUA's job. append_at_myorigin = yes append_dot_mydomain = no myhostname = mail.mandriva.com alias_maps = hash:/etc/aliases alias_database = hash:/etc/aliases myorigin = /etc/mailname mydestination = mail.mandriva.com,mail,localhost.localdomain,localhost relayhost = mynetworks = 127.0.0.0/8 mailbox_size_limit = 0 recipient_delimiter = + inet_interfaces = all luser_relay = # Virtual Domains Control virtual_mailbox_domains = ldap:/etc/postfix/ldap-domains.cf virtual_mailbox_maps = ldap:/etc/postfix/ldap-accounts.cf virtual_alias_maps = ldap:/etc/postfix/ldap-aliases.cf, ldap:/etc/postfix/ldapmaildrop.cf virtual_mailbox_base = / virtual_alias_domains = virtual_minimum_uid = 100 virtual_uid_maps = ldap:/etc/postfix/ldap-uid.cf virtual_gid_maps = ldap:/etc/postfix/ldap-gid.cf 52
# Amavis content_filter = amavis:[127.0.0.1]:10024 receive_override_options = no_add
10.4 CONFIGURACION DE ALIAS LDAP. Como los alias de correo están almacenados en el directorio LDAP hay que decirle a Postfix donde y como ha de realizar las búsquedas. Cuando se especifica: search_base, va a ser el prefijo que se va a utilizar en una serie de variables de Postfix para especificar la configuración e interrogación de LDAP. Editamos este archivo de modo que concuerde con nuestro dominio server_host = 127.0.0.1 search_base = ou=Users,dc=grupo1,dc=com query_filter = (&(objectClass=mailAccount)(mailalias=%s)(mailenable=OK)) result_attribute = maildrop version = 3
10.5 CONFIGURACION DEL ARCHIVO MASTER.CF. Este es el último archivo de configuración del Postfix /etc/postfix/master.cf, Agregue las siguientes líneas: # SMTPS smtps inet n - - - - smtpd -o smtpd_tls_wrappermode=yes -o smtpd_sasl_auth_enable=yes # Dovecot dovecot unix - n n - - pipe flags=DRhu user=dovecot:mail argv=/usr/lib/dovecot/deliver -d $recipient
# Mail hacia Amavis amavis unix - - - - 10 smtp -o smtp_data_done_timeout=1200 -o smtp_send_xforward_command=yes -o disable_dns_lookups=yes -o max_use=20
53
# Mail desde Amavis 127.0.0.1:10025 inet n - - - - smtpd -o content_filter= -o local_recipient_maps= -o relay_recipient_maps= -o smtpd_restriction_classes= -o smtpd_delay_reject=no -o smtpd_client_restrictions=permit_mynetworks,reject -o smtpd_helo_restrictions= -o smtpd_sender_restrictions= -o smtpd_recipient_restrictions=permit_mynetworks,reject -o smtpd_data_restrictions=reject_unauth_pipelining -o smtpd_end_of_data_restrictions= -o mynetworks=127.0.0.0/8 -o smtpd_error_sleep_time=0 -o smtpd_soft_error_limit=1001 -o smtpd_hard_error_limit=1000 -o smtpd_client_connection_count_limit=0 -o smtpd_client_connection_rate_limit=0 -o receive_override_options=no_header_body_checks,no_unknown_recipient_check s Luego procederemos a reiniciar el Postfix.
10.6 CONFIGURACION DOVECOT. Esta configuración que se le realizara al Dovecot proveerá soporte POP3(SSL/TLS), IMAP- (SSL/TLS) y cuota al servidor de correo. Los demonios imap-login y pop3-login, los cuales implementan los protocolos IMAP y POP3 se encuentran incluidos en el paquete Dovecot. El uso de IMAP y POP se configura a través de Dovecot; por defecto, Dovecot ejecuta solamente IMAP. Limpiaremos la configuración que viene por defecto con: echo " " > /etc/dovecot/dovecot.conf Luego entramos a agregar estas líneas y ajustamos el nombre de nuestro dominio:
54
protocols = imap imaps pop3 pop3s listen = 0.0.0.0 login_greeting = grupo1.com mailserver ready. mail_location = maildir:~/Maildir disable_plaintext_auth = no ssl_cert_file = /etc/ssl/certs/mail.pem ssl_key_file = /etc/ssl/private/mail.key log_path = /var/log/dovecot.log info_log_path = /var/log/dovecot.log # IMAP configuration protocol imap { mail_plugins = quota imap_quota } # POP3 configuration protocol pop3 { pop3_uidl_format = %08Xu%08Xv mail_plugins = quota } # LDA configuration protocol lda { postmaster_address = postmaster auth_socket_path = /var/run/dovecot/auth-master mail_plugins = quota } # LDAP authentication auth default { mechanisms = plain login passdb ldap { args = /etc/dovecot/dovecot-ldap.conf } userdb ldap { args = /etc/dovecot/dovecot-ldap.conf } socket listen { master { path = /var/run/dovecot/auth-master mode = 0660 user = dovecot group = mail } client { path = /var/spool/postfix/private/auth mode = 0660 user = postfix group = postfix } } } 55
10.7 CONFIGURACION DOVECOT LDAP. Limpiamos la configuración que viene por defecto en este archivo con echo "" > /etc/dovecot/dovecot-ldap.conf, luego entramos al nuevo archivo de configuración y agregamos las siguientes líneas ajustando nuestro dominio hosts = 127.0.0.1 auth_bind = yes ldap_version = 3 base = dc=grupo1,dc=com scope = subtree user_attrs = homeDirectory=home,uidNumber=uid,mailbox=mail,mailuserquota=quota=maildir:storage user_filter = (&(objectClass=mailAccount)(mail=%u)(mailenable=OK)) pass_attrs = mail=user,userPassword=password pass_filter = (&(objectClass=mailAccount)(mail=%u)(mailenable=OK)) default_pass_scheme = CRYPT user_global_gid = mail
10.8 ENTREGA DE DOVECOT. Ajustamos los permisos para la entrega de Dovecot, de modo que utilice el uid y gid correctos cuando almacena mensajes en los maildirs, con: dpkg-statoverride --update --add root dovecot 4755 /usr/lib/dovecot/deliver Después reiniciamos el servicio de Dovecot /etc/init.d/dovecot restart
10.9 CONFIGURACION DE AMAVIS. Es una aplicación que toma un correo entrante/saliente (eso dependerá de nuestra configuración) lo detiene, se lo da a una aplicación en nuestro caso será Amavis por su parte los pasará a Spamassassin y ClamAV, luego que los correos han sido verificados serán enviados nuevamente a Postfix. Editamos el siguiente archivo, para que Amavis cumpla con estos, ya que lo hemos definido en el archivo Master.cf de Postfix. vim /etc/amavis/conf.d/15-content_filter_mode
56
use strict; @bypass_virus_checks_maps = ( \%bypass_virus_checks, \@bypass_virus_checks_acl, \$bypass_virus_checks_re); @bypass_spam_checks_maps = ( \%bypass_spam_checks, \@bypass_spam_checks_acl, \ $bypass_spam_checks_re); 1;
Luego en vim /etc/amavis/conf.d/50-user, agregamos estas líneas para obligar que se cumplan las reglas que definimos anteriormente. use strict; $pax='pax'; 1;
Luego agregue el usuario ClamAV al grupo Amavis y reinicie Amavis y ClamAV. adduser clamav amavis /etc/init.d/amavis restart /etc/init.d/clamav-daemon restart /etc/init.d/clamav-freshclam restart 10.10 CONFIGURACION DEL SPAMASSASSIN. En este paso habilitará plugins adicionales para incrementar la detección de spam. vim /etc/Spamassassin/local.cf Agregue el siguiente contenido al archivo: # dcc Usa un checksum para las veces que se ha enviado el mensaje. use_dcc 1 dcc_path /usr/bin/dccproc #pyzor use_pyzor 1 pyzor_path /usr/bin/pyzor #razor BD en internet aprender de todos nosotros lo que consideramos spam. use_razor2 1 razor_config /etc/razor/razor-agent.conf
57
#bayes Compara mensajes uno legitimo con un Spam, y saca estadisticas use_bayes 1 use_bayes_rules 1 bayes_auto_learn 1 En vim /etc/spamassassin/v310.pre que las siguientes líneas se encuentren descomentadas: loadplugin Mail::SpamAssassin::Plugin::DCC loadplugin Mail::SpamAssassin::Plugin::Pyzor loadplugin Mail::SpamAssassin::Plugin::Razor2 loadplugin Mail::SpamAssassin::Plugin::SpamCop loadplugin Mail::SpamAssassin::Plugin::AWL loadplugin Mail::SpamAssassin::Plugin::AutoLearnThreshold loadplugin Mail::SpamAssassin::Plugin::WhiteListSubject loadplugin Mail::SpamAssassin::Plugin::MIMEHeader loadplugin Mail::SpamAssassin::Plugin::ReplaceTags
Ahora configure Spamassassin de modo que se ejecute como demonio. vim /etc/default/spamassassin ENABLED=1 OPTIONS="--create-prefs --max-children 5 --helper-home-dir" PIDFILE="/var/run/spamd.pid" #NICE="--nicelevel 15" CRON=0
Hasta el momento la configuración que tiene el Postfix contra el Spam y el Malware no es suficiente, habrá que hacerle una pequeña configuración. Para que el Spamassassin pueda identificar si un mensaje es Spam editaremos el siguiente archivo: vim/etc/amavis/conf.d/05-domain_id Una vez dentro del archivo de configuración buscamos y comentamos esta línea chomp($mydomain = `ejemplo.com`); y la modificamos con nuestros parámetros, de modo que quede así: chomp($mydomain = `grupo1.com`); Luego entramos en el archivo de configuración vim /etc/amavis/conf.d/20-debian_defaults
58
Modificamos estos parámetros: $sa_spam_subject_tag = '***SPAM*** '; $sa_tag_level_deflt = 0.2; # add spam info headers if at, or above that level $sa_tag2_level_deflt = 0.2; # add 'spam detected' headers at that level $sa_kill_level_deflt = 0.1; # triggers spam evasive actions $sa_dsn_cutoff_level = 10; # spam level beyond which a DSN is not sent En este mismo archivo buscamos el siguiente bloque y modificaremos: $forward_method = 'smtp:127.0.0.1:10025'; $notify_method = $forward_method; $final_virus_destiny = D_DISCARD; # (data not lost, see virus quarantine) $final_banned_destiny = D_BOUNCE; # D_REJECT when front-end MTA $final_spam_destiny = D_PASS; $final_bad_header_destiny = D_PASS; # False-positive prone (for spam) Entramos al directorio de Spamassassin y editamos el archivo local.cf, des comentamos estas líneas: rewrite_header Subject *****SPAM***** report_safe 1 required_score 0.3 A required_score 5.0 le cambiamos el valor que viene por defecto que es 5.0 a 0.3 que es el valor con el que se califican los Spam (si el contenido del mensaje supera 0.3) lo califica como Spam Nota: Si todos los correos que nos envían y enviamos son Spam tendremos que jugar con los números bajando la forma de calificación de los correos Luego inicie Spamassassin y reinicie Amavis. /etc/init.d/spamassassin start /etc/init.d/amavis restart De modo que al momento de mandar un mensaje Spam debe aparecer algo como esto
59
Y al momento de recibir un virus debe aparecer algo similar a esto:
11. CONFIGURACION WEBMAIL. Para llevar a cabo el servicio de correo a través de una interfaz web trabajaremos con Squirrelmail que es una aplicación webmail creada por Nathan y Luke Ehresman y escrita en PHP. Puede ser instalado en la mayoría de servidores web siempre y cuando éste soporte PHP y el servidor webtenga acceso a un servidor IMAPy a otro SNMP. SquirrelMail sigue el Standard HTML 4.0 para su presentación, haciéndolo compatible con la mayoría de servidores web. SquirrelMail está diseñado para trabajar con plugins, lo cual hace más llevadera la tarea de agregar nuevas características entorno al núcleo de la aplicación. Licenciada bajo la GNU General Public License, Squirrelmail essoftware libre Actualmente está disponible en más de 40 lenguajes. Instalaremos Squirrelmail de a siguiente forma apt-get install squirremail Luego crearemos un enlace simbólico para así poderlo abrir ln –s /usr/share/squirrelmail/config/apache.conf /etc/apache2/conf.d
Modificamos el siguiente archivo vim /etc/apache2/conf.d/apache.conf, descomentando las líneas de búsquedas de la pagina web.
60
Al digitar la dirección IP del servidor aparecerá la interfaz grafica del Webmail.
Ahora podemos loguearnos con los usuarios creados en la MMC pasos atrás.
61
• • • •
En Compose es en donde editamos el correo que vamos a enviar. En INBOX es el buzón de los correos entrantes. En Send es el buzón de los corres enviados. En Trash son los correos borrados.
62
Ejemplo de cómo se envía un correo a un usuario a un usuario creado en LDAP.
12. CREACION DE DOMINIOS Y USUARIOS VIRTUALES. Primero editamos el pluguin de correo en /etc/mmc/plugins/mail.ini, en donde cambiaremos el nombre del dominio con el que estamos trabajando, habilitaremos la opción de usuarios virtuales y descomentar la opción en donde se guardaran los correos de los usuarios.
Luego de cargar el pluguin de correo el consola MMC, hacemos clic en, ”Add a domain”
63
Posteriormente aparecerá este pantallazo.
1. 2. 3. 4. 5.
Agregamos el dominio virtual Damos una descripción de este dominio Si queremos que la cuota de correo sea ilimitada Establecemos la cuota en caso que no sea ilimitada Creamos el dominio virtual
Luego nos dirigimos a editar los usuarios para agregarlos a los dominios virtuales creados y también para crearles alias o usuarios virtuales.
1. Esta opción es para que el usuario tenga acceso al correo 2. Establecemos la cuota para este usuario 64
3. Si queremos que el usuario editado no tenga limite en el buzón 4. Aquí se crean los alias que deseemos Ej: El usuario real se llama
[email protected], al hacer esto también se va a llamar
[email protected],
[email protected],
[email protected]. Podemos crear los usuarios que queramos, y los dominios a los que los agregaremos deben ser creados en el pluguin de correo. 5. Cada vez que queramos agregar damos seleccionamos la opción “Add”.
Para finalizar los usuarios y dominio virtuales debemos dirigirnos a /usr/share/doc/pitón-mmc-base/contrib/postfix/with-virtual-domains, en donde copiaremos los siguientes archivos, cp ldap-accounts.cf ldap-aliases.cf ldap-domains.cf ldap-gid.cf ldapmaildrop.cf ldap-transport.cf ldap-uid.cf /etc/postfix De modo que quede
Editamos cada archivo copiado cambiando el dominio en donde trabajaremos vim ldap-accounts.cf
65
vim ldap-aliases.cf
vim ldap-domains.cf
vim ldap-gid.cf
vim ldap-maildrop.cf
66
vim ldap-transport.cf
vim ldap-uid.cf
Ahora si podemos hacer uso de los usuario virtuales y dominio virtuales creados.
13. SEGURIDAD SSL PARA EL WEBMAIL. Creamos la carpeta en donde se encontraran los certificados mkdir /etc/apache2/ssl/ Luego creamos los certificados, llenando la información requerida. Estos certificados se encontraran en /etc/apache2/SSL: 1.
Este certificado será para la consola MMC
openssl req -new -x509 -keyout /etc/apache2/ssl/mmc.key -out /etc/apache2/ssl/mmc.crt -days 365 -nodes
67
2. Este certificado será para el Webmail: openssl req -new -x509 -keyout /etc/apache2/ssl/correo.key -out /etc/apache2/ssl/correo.crt -days 365 -nodes
Le daremos permisos a los certificados creados de modo que root sea el único de leerlo y modificarlo. chmod 600 /etc/apache2/ssl/mmc.key mail.key
Teniendo los certificados, crearemos los sitios seguros para esto debemos borrar el enlace creado anteriormente en /etc/apache2/conf.d Ahora en /etc/apache2/sites-available/ crearemos un archivo llamado mmc y dentro de este agregaremos las siguientes líneas, y habilitaremos el motor SSL, redireccionando esta pagina al puerto 143.
ServerName pdc.grupo1.com RewriteEngine On RewriteCond %{HTTPS} off RewriteRule (.*) https://pdc.grupo1.com /mmc Después creamos el archivo mmcs que tendrá la seguridad y al que apunta el archivo creado anterior mente y especificamos la ubicación de las llaves (publica y privada). NameVirtualHost *:443
ServerNamepdc.grupo1.com ServerAdmin [email protected] DocumentRoot /usr/share/mmc/ SSLEngine on SSLCertificateKeyFile ssl/server.key SSLCertificateFile ssl/server.crt SSLProtocol all SSLCipherSuite ALL:!ADH:!EXPORT56:RC4+RSA:+HIGH:+MEDIUM:+LOW: +SSLv2:+EXP:+eNULL 68
AllowOverride None Order allow,deny Allow from all php_flag short_open_tag on SSLRequire %{SSL_CIPHER_USEKEYSIZE} >= 128 ErrorLog /var/log/apache2/mmc_error.log CustomLog /var/log/apache2/mmc_access.log combined LogLevel warn
Creamos el sitio Webmail en /etc/apache2/conf.d lo llamaremos correo y tendrá estas líneas.
ServerName correo.grupo1.com RewriteEngine On RewriteCond %{HTTPS} off RewriteRule (.*) https://pdc.grupo1.com Posteriormente creamos el archivo seguro al que apuntara el archivo correo y especificamos la ubicación de las llaves (publica y privada), para este sitio. Alias /squirrelmail /usr/share/squirrelmail NameVirtualHost *:80
DocumentRoot /usr/share/squirrelmail ServerName correo.grupo1.com ServerAdmin [email protected] SSLEngine on SSLCertificateKeyFile ssl/webmail.key SSLCertificateFile ssl/webmail.crt SSLProtocol all SSLCipherSuite ALL:!ADH:!EXPORT56:RC4+RSA:+HIGH:+MEDIUM:+LOW: +SSLv2:+EXP:+eNULL Options Indexes FollowSymLinks php_flag register_globals off
69
php_flag register_globals off DirectoryIndex index.php # access to configtest is limited by default to prevent information leak order deny,allow allow from all SSLRequire %{SSL_CIPHER_USEKEYSIZE} >= 128 Agregamos el puerto seguro en /etc/apache2/ports.conf Listen 443 Habilitamos los sitios creados a2ensite mmc a2ensite mmcs a2ensite correo a2ensite correos El modulo de reescritura a2enmod rewrite Y el modulo de SSL a2enmod SSL Ahora reiniciamos apache. /etc/init.d/apache2 restart
70
Al momento de entrar al lossitios Web ya sea correo o MMC deberá aparecer.
Y
71
14. CONFIGURACION BASICA DEL MUA. Para llevar acabo la configuración de un cliente escogimos Outlook Express, ya que es el más popular y viene integrado con el Microsoft Office. Colocamos el nombre del usuario.
Digitamos la dirección de correo electrónico.
72
Como nuestro servidor tendrá soporte para IMAP y POP, no tendremos ningún problema en escoger cualquier opción según nuestras necesidades.
Digitamos la cuenta del usuario creada en LDAP con su password.
73
Finalizamos con la instalación básica del cliente.
Para recibir los correos que nos han enviado pulsamos clic en la opción “Enviar y recibir todo”
74
De modo que:
Pulsando doble clic podremos ver el contenido del mensaje recibido.
75
14. ANEXOS. Si aparece algún error al momento de digitar getent grop para visualizar los usuarios y grupos de LDAP realizamos los siguientes cambios: Vamos al archivo de configuración /etc/pam_ldap.conf y allí modificamos estas líneas: Nos fijamos que estas líneas estén descomentadas: • host 127.0.0.1 • base dc=grupo1 dc=com • ldap versión 3 • pam_password crypt Descomentamos y modificamos las siguientes lineas nss_base_passwd ou=People,dc=padl,dc=com?one De modo que queden así: nss_base_passwd ou=users,dc=tudominio,dc=com?one Descomentamos y modificamos las siguientes líneas nss_base_group ou=Groups,dc=padl,dc=com?one Aquí cambiamos y queda así: nss_base_group ou=groups,dc=tudominio,dc=com?one
76
Ahora vamos al archivo de configuración /etc/libnss-ldap.conf y hacemos las siguientes modificaciones: Nos fijamos que las siguientes líneas se encuentren descomentadas: • host 127.0.0.1 • base dc=grupo1 dc=com • ldap versión 3 Descomentamos y modificamos las siguientes líneas nss_base_passwdou=People,dc=pald,dc=com?one Cambiamos y queda así: nss_base_passwdou=users,dc=grupo1,dc=com Descomentamos y modificamos la siguiente líneas nss_base_shadowou=People,dc=pald,dc=com?one Cambiamos y queda así: nss_base_shadowou=users,dc=grupo1,dc=com Descomentamos y modificamos la siguiente líneas nss_base_group ou=Groups,dc=pald,dc=com?one Cambiamos y queda así: nss_base_group ou=groups,dc=grupo1,dc=com
77
Luego podemos ejecutar el asistente de estos dos archivos de configuración. • dpkg-reconfigure libpam-ldap
Nos aparecerá un cuadro de dialogo donde cambiaremos el identificador de recursos para el servidor LDAP por 127.0.0.1, damos aceptar.
El nombre distintivo (DN) de la base de búsquedas lo dejamos como esta dc=grupo1,dc=com, damos aceptar.
Versión de LDAP a utilizar es “3”, damos aceptar.
En Make local root Database admin elegimos “No”.
78
Hace falta un usuario para acceder a la base de datos LDAP? elegimos “No”
Local crypt to use when changing passwords, elegimos “crypt”, damos aceptar.
79
Luego ejecutamos la siguiente línea para ejecutar el asistente de libnss-ldap •
dpkg-reconfigure libnss-ldap
Nos aparecerá un cuadro de dialogo donde cambiaremos el identificador de recursos para el servidor LDAP por 127.0.0.1.
El nombre distintivo (DN) de la base de búsquedas lo dejamos como esta dc=grupo1,dc=com, damos aceptar.
Versión de LDAP a utilizar es 3, damos aceptar,
Dar privilegios especiales de LDAP para root? elegimos “NO”.
80
¿Desea hacer que la configuración la pueda leer o escribir el propietario? elegimos “No” y al finalizaremos.
81
15. GLOSARIO. Python: Lenguaje de programación de propósito general, orientado a
objetos, que también puede utilizarse para el desarrollo web. Python-mmc-plugins-tools: Contiene herramientas comunes necesarias por parte de algunos plugins del paquete MMC-agent. Python-mmc-base: Principal plugin base MMC. Contiene la base de la infraestructura de todos los plugins MMC; tiene como base operaciones de gestion de LDAP (usuarios, grupos, etc), la autenticación de usuarios. El archivo de configuración del plugin es /etc/mmc/plugins/base.ini Python-mmc-samba: Plugin samba que permite que la MMC pueda añadir/quitar atributos de samba a los usuarios y grupos, para la gestion de Samba, utiliza el plugin base para todas sus operaciones relacionadas con LDAP. El archivo de configuración del plugin es /etc/mmc/plugins/samba.ini Python-mmc-mail: El plugin de correo permite a la MMC añadir/eliminar la entrega de correo de gestion de los atributos a los usuarios y grupos, correo electrónico y dominios virtuales, utiliza el plugin base para todas sus operaciones relacionadas con LDAP. El el archivo de configuración del plugin es /etc/mmc/plugins/mail.ini. Python-mmc-network: El plugin network permite la MMC python API para la gestion de zonas DNS y hosts, DHCP subredes y hosts, en un LDAP. El el archivo de configuración del plugin es /etc/mmc/plugins/network.ini. ACL: Access Control List, listas de control de acceso, Es una forma de determinar los permisos de acceso apropiados a un determinado objeto, dependiendo de ciertos aspectos del proceso que hace cada host, permitiendo controlar el flujo de tráfico en equipos de redes. PAM (Pluggable Authentication Modules): Es un conjunto de librerías compartidas que proporcionan una forma alternativa para la autentificación de usuarios en los programas. PAM utiliza una arquitectura conectable y modular, que otorga al administrador del sistema de una gran flexibilidad en establecer las políticas de autenticación para el sistema.
82
CONCLUSIONES. Este Servidor de Directorio puede ser implementado en una Empresa mediana o con pequeña productividad, aunque también puede ser instalado en una Compañía grande, para la buena administración de los usuarios. La configuración del MDS nos llevo a conocer el funcionamiento y a entender los conceptos de un servicio de directorio,integrado con LDAP. Durante la ejecucion de este manual se evaluo los conocimientos adquiridos en la etapa electiva del quinto trimestre. Gracias al plan propuestros para llevar a acbo este proyecto se obtuvieron nuevos conocimientos hacerca del tema desarrolllado. Se espera que si se cumpla con las espectativas propuestas por los docentes y nosotros mismos. Gracias a la actitud, responsabilidad, cooperacion y el compromiso de los integrantes se pudo realizar este manual, y adquirir nuvas experiencias en cuanto el trabajo grupal.
83
NETGRAFIA Autor: Oliver Meyer Nombre: Mandriva Directory Server On Debian Etch Fecha de publicacion: Martes 2008-02-05 17:58 Link: http://www.howtoforge.com/mandriva-directory-server-on-debian-etch Fecha de acceso al sitio: Septiembre 9 del 2008 Autor: Versión castellana no autorizada: Daniel Armando Rodriguez
Nombre: Mandriva Directory Server en Debian Etch Año de publicación: 2008 Link:http://www.softwarelibre.misiones.gov.ar/index.php? option=com_content&task=view&id=156&Itemid=3 Fecha de acceso: Octubre 15 del 2008
84