Servidor de Correo en Debian

Share Embed Donate


Short Description

PROYECTO PLATAFORMA DE CORREOS SOBRE LINUX DEBIAN Administración de Redes de Computadores Presentado por: Rafael Emiro...

Description

PROYECTO PLATAFORMA DE CORREOS SOBRE LINUX DEBIAN Administración de Redes de Computadores

Presentado por : Rafael Emiro Vega Tirado. Jeyson Andrey Henao Alvarez. Jonathan Andrés Loaiza García. César Augusto Pineda González. Leidy Marcela Martinez Alzate.

Grupo: 9 HELP LAN

Presentado a: Prof. Andrés Mauricio Ortiz.

Servicio Nacional de Aprendizaje “SENA” Regional Antioquia Centro de Servicios y Gestión Empresarial.

2008

Proyecto Plataforma de Correos.

ÍNDICE Página. 1 Introducción.

4

2 Objetivos.

5

2.1 Objetivo General.

5

2.3 Objetivos Específicos.

5

3 Conceptos Teóricos.

6

3.1 MTA.

6

3.2 MDA.

6

3.3 MUA.

6

3.4 WEBMAIL.

7

3.5 Postfix.

7

3.6 Dovecot.

7

3.7 Amavis-New.

8

3.8 SASL.

8

3.9 SSL Y TLS.

8

3.10 Squirrelmail.

8

3.11 Tipos De Buzones Para El Correo.

9

3.11.1 Mailbox.

9

3.11.2 Maildir.

9

3.12 Mandriva Directory Server “MDS”.

10

3.13 Cómo Trabaja El Servidor De Correos.

11

4 Descripición De Los Paquetes A Utilizar.

12

5 Instalación.

14

5.1 Preparación Del Sistema.

14

5.2 Hostname.

14

5.3 Filesystem ACL´s.

15

5.4 Repositorios.

16

5.5 Instalación De Los Paquetes A Utilizar.

18

6 Configuraciones.

27

6.1 Configuración Del LDAP.

27

6.2 Configuración De Samba.

33

2

Proyecto Plataforma de Correos.

6.3 Configuración Del PAM LDAP.

43

6.4 Configuración DNS (BIND9).

46

6.5 Configuración DHCP.

46

6.6 SSL Para El Co Correo (Entidad Certificador).

47

6.7 Configuración SASL.

48

6.8 Configuración Postfix.

50

6.9 Configuración De Dovecot.

55

6.10 Configuración De Amavis.

58

6.11 Configuración De Spamassassin.

60

6.12 Certificados SSL.

62

6.13 Configuración Sitio Web MMC.

62

6.14 Configuración Sitio Web Squirrelmail.

65

6.15 Configuración Plugin MMC.

68

6.16 Interfaz MMC.

71

7 Configuración Del Lado Del Cliente.

83

8 Comprobación Del Servidor De Correos.

86

8.1 Usuarios Y Dominios Virtuales.

86

8.2 Comprobación Antispam.

89

8.3 Comprobación Antivirus.

90

9 Conclusión.

91

10 Bibliografía.

92

3

Proyecto Plataforma de Correos.

1 INTRODUCCIÓN En éste éste proye proyecto cto presen presentar taremo emoss una guía guía avanza avanzada da de cómo cómo instal instalar ar y config configura urarr una una plataf plataform orma a o sistem sistema a de correo correoss segura segura utiliz utilizand ando o el MTA MTA Postfix, Dovecot (IMAP y POP3), Amavis-New (Spamassassin y ClamAV), TLS, OpenSSL, SASL, Squirrelmail. De igual forma, se debe instalar y configurar un Servicio de Directorios para poder autenticar y almacenar la base de datos de los usuarios, para esto se utilizará la base de datos de OpenLDAP la cual será administrada desde el servicio de directorio de Mandriva Directory Server. Todo lo ante anteri rior or esta estará rá inst instal alad ado o y conf config igur urad ado o sobr sobre e el Sist Sistem ema a Oper Operat ativ ivo o GNU/Linux Debian.

4

Proyecto Plataforma de Correos.

2 OBJETIVOS 2.1 OBJETIVO GENERAL Se debe diseñar diseñar,, implementa implementarr y gestionar un sistema sistema o plataforma plataforma de correos correos en el Sistema Operativo GNU/Linux Debian.

2.2 OBJETIVOS ESPECÍFICOS Se debe presentar un manual de configuración del sistema de correos. En cuyo manual se debe tener en cuenta los siguientes objetivos en lo que se enfocará el proyecto. •

Cifrar el tráfico entre usuarios y servidor.



Validar los usuarios contra un sistema de directorios.



Almacene los correos de los usuarios en un sistema de directorios.



Permita configurar usuarios y dominios virtuales.



Soporte un sistema de antivirus, antispam y antimawalre.



Soporte administración gráfica.



Soporte acceso POP, IMAP y Webmail (Realizarlo de forma segura con SSL).

5

Proyecto Plataforma de Correos.

3 CONCEPTOS TEÓRICOS 3.1 MTA Mail Transportation Agent, Agente de Transporte de Correo. Es una aplicación que cumple la función de transferir correos electrónicos de una computadora a otra. En si, éste es el servidor de correos que utiliza el protocolo SMTP. Dentro de MTA´s están: Microsoft Exchange, Postfix, Sendmail, Qmail, Exim, entre otros. •

SMTP:

(Simple

Mail

Transfer  Protocol, Protocolo

Simple

de

Transferencia de Correos). El cual se basa en el intercambio de correos electrónicos entre equipos de cómputo, entre otros dispositivos como los son los celulares, PDA´s, etc. Éste se basa en la estructura ClienteServidor. Servidor. Trabaja por el puerto 25

3.2 MDA Mail Delivery Agente, Agente de Entrega de Correo. Un MTA del destinatario entrega el correo electrónico al servidor de correo entrante (Otro MTA), cuando esto sucede, servidor de correo entrante recibirá el nombre de MDA, el cual almacena el correo electrónico mientras espera que el usuario lo acepte.

3.3 MUA Mail User Agent, Agente Usuario de Correo. Es un programa, que se instala en la computadora del usuario, con el fin de realizar las funciones de leer y enviar  correos electrónicos. Dentro de éstas características están: Microsoft Outlook, Mozilla Thunderbird, Eudora Mail, Incredimail, Lotus Notes, entre otros.

6

Proyecto Plataforma de Correos.

3.4 WEBMAIL Es un cliente de correo electrónico, el cual provee una interfaz Web con el fin de acceder a los correos electrónicos; es decir, con ésta aplicación podemos ingresar, ingresar, leer, enviar correos electrónicos vía Web.

3.5 Postfix. Es un MTA de código abierto, utilizado para el envío de correos electrónicos utilizando el protocolo en SMTP, el cual pretende ser fácil en su administración, ser rápido y, algo importante, ser compatible con otros MTA como Sendmail, Qmail, Exim, entre otros. Postfix no es un programa monolítico, sino que utiliza una gran combinación de paquetes; dichos paquetes cumple una función específica en los parámetros de configuración.

3.6 Dovecot. Simplemente es un Servidor Ser vidor POP/IMAP. POP/IMAP. Éstos son utilizados para recuperar los mensajes de los servidores MDA. •

POP: (Simple Mail Transfer Protocol), utilizado en los clientes locales de correo con el fin de obtener los correos almacenados en un servidor  remoto, de ésta forma, los correos se pueden guardar en el equipo cliente, aunque nada impide dejar los correos en el servidor. Trabaja en el puerto 110



IMAP: (Internet Message Access Protocol), Es más complejo y obtiene ciertas ventajas sobre POP por ejemplo: Permite visualizar los correos remotamente y no descargarlos al equipo cliente como lo hace POP, de tal forma que si se borra un mensaje desde un usuario se borrará en el servidor, si abrimos un mensaje desde el cliente también se abrirá en el servidor. Trabaja en el puerto 143

7

Proyecto Plataforma de Correos.

3.7 AMAVIS-NE AMAVIS-NEW W Es una inte interf rfa az entre ntre el MTA MTA y los los filt filtro ross de cont conte enido nido (Clam ClamA AV Y Spamassassin). Éste se comunica con el MTA mediante el protocolo SMTP o LMTP. Trabajan por el puerto 10025 •

Spamassassin: Es un filtro de correos, el cual cumple la función de iden identitififica carr el spam spam medi median ante te el anál anális isis is del del texto texto cont conten enid ido o en el mensaje.



ClamaAV: Éste paquete cumple la función de escanear el texto y los archivos adjuntos del mensaje, de ésta forma el ClamAV bloquea los malware o códigos maliciosos. La base de datos de éste se encuentra permanentemente actualizada.

3.8 SASL Es un Framework utilizado para la autenticación y autorización de protocolos de red. Sin embargo requiere mecanismos de ayuda como lo es TLS para realizar  el cifrado de los datos al momento de ser transferidos.

3.9 SSL Y TLS Secure Sockets Layer/Protocolo de Capa de Conexión Segura y Transportation Layer Security/Seguridad de la Capa de Transporte. Transporte. Proporcionan seguridad en la red mediante el cifrado de la comunicación. Postfix/TLS no implementa por sí mismo TLS, éste debe utilizar un paquete adicional: OpenSSL. Corren por el puerto 636

3.10 SQUIRRELMAIL Es un WebMail o cliente Web, el cual cumple la función de revisar y enviar  correos desde una interfaz Web.

8

Proyecto Plataforma de Correos.

3.11 TIPOS DE BUZONES PARA EL CORREO Los servidores servidores de correo correo utilizan utilizan uno de los dos tipos de buzones: buzones: Mailbox Mailbox y Maildir.

3.11.1 MAILBOX: Es un tipo de buzón que almacena los correos en forma de cola, es decir, éste almacena todos los correos de un respectivo usuario en un solo archivo; de ésta forma todo correo, sea spam, enviado o recibido recibido se al macerarán macerarán en ese único archvio. Cada usuario, por lógica tiene su propio archivo. En Linux Debian éste archivo está ubicado en la siguiente ruta  /var/spool/mail/ [ USUARIO USUARIO ] .

3.11.2 MAILDIR: Es otro tipo de buzón consiste en un directorio, en el cual existen otros subdirectorios en los que van guardados los mensajes en diferentes archivos. De ésta forma los mensajes spam, enviados o recibidos se almacenarán en arch archiv ivos os dist distin into tos. s. En Linu Linuxx Debi Debian an gene genera ralm lmen ente te el arch archivo ivo Mail Maildi dirr se encuentra en la siguiente ruta  /home/[USUARIO]/Maildir .

9

Proyecto Plataforma de Correos.

3.12 MANDRIVA DIRECTORY SERVER “MDS” Es una plataforma de directorio o servicio de directorio basado en OpenLDAP diseñado para cumplir la función de gestionar identidades, control de acceso a la inform informaci ación, ón, defin definir ir polític políticas as admini administr strativ ativas as en la red, red, admini administr straci ación ón de servios de red, las aplicaciones y la configuración de los usuarios. Éste servicio de directorio puede correr sobre diferentes distribuciones de Linux, en pocas palabr palabras, as, se puede puede instal instalar ar y confi configur gurar ar tanto tanto en la distri distribuc bución ión de Linux Linux Mandriva como en Linux Debian, entre otras. Se puede dar una breve explicación mediante la siguiente gráfica a cerca del funcionamiento de éste. •

Servicio de Directorios: Es un repositorio de información estructurado que cumple la función de almacenar y organizar la información de los usuarios en la red de datos. Por medio del SD se logra el acceso a los recursos sobre una red.



OpenLDAP: Lightweight Directory Acces Protocol, Protocolo Ligero de Acceso a Directorios. Como sus siglas lo indica, es un protocolo de tipo Client Cliente-S e-Serv ervido idorr utiliz utilizado ado para para accede accederr a un servic servicio io de direct directori orio; o; trabaja por el puerto 389. OpenLDAP se puede definir como una tipo de base de datos. LDAP es el protocolo propietario de Microsoft, en cambio OpenLDAP hace parte del software libre o de licencia libre.



Directorios: Es una base de datos, que en general contiene información más descrita basada en atributos.

10

Proyecto Plataforma de Correos.

3.13 CÓMO TRABAJA EL SERVIDOR DE CORREOS Cuando un correo electrónico es enviado, el mensaje se enruta de servidor al servid servidor or hasta hasta llegar llegar al servid servidor or de corre correo o destin destinata atario, rio, de ésta ésta forma, forma, el mensaje se envía al servidor de correo (MTA), el cual tiene como función de transportar los mensajes hacia el MTA destinatario. En Internet los servidores MTA MTA se comun comunica ican n median mediante te el protoc protocolo olo SMTP SMTP, por lo que tambié también n son son llamados servidores SMTP o servidores de correo saliente. Luego el MTA destinatario entrega el correo electrónico al MDA o servidor de correo entrante; éste almacena el mensaje mientras espera que el usuario lo acep acepte te.. Los Los servi servido dore ress MDA MDA tamb tambié ién n reci recibe ben n el nomb nombre re de servi servido dore ress POP/IMAP.

11

Proyecto Plataforma de Correos.

4. DESCRIPCIÓN DE LOS PAQUETES A UTILIZAR Para la instalación del MDS junto con la plataforma de correo se deben instalar  ciertos paquetes, por consiguiente, se deberá realizar una pequeña explicación de la función de cada paquete. •

Mmc-web-ba Mmc-web-base se mmc-web-ma mmc-web-mailil mmc-web-net mmc-web-network work mmc-web-pro mmc-web-proxy xy mmc-web-sa mmc-web-samba mba mmc-agent: mmc-agent: Son Son los los paqu paquet etes es util utiliz izad ados os para para la administración gráfica del servicio de directorios como tal.



Python Python-mm -mmc-p c-plug lugins ins-to -tools ols

python python-mm -mmc-b c-base ase

python python-mm -mmc-m c-mail ail

python-mmc-network python-mmc-proxy python-mmc-samba: Son las librer librerías ías de Pytho Python n (Lengu (Lenguaje aje de progra programac mación ión), ), utiliz utilizado adoss para para comprender el lenguaje de los paquetes mmc. •

Postfix: es el MTA como tal.



Postfix-ldap: es el esquema del Postfix con el fin de ser utilizado para ser poblado en la base de datos del LDAP.



Dovecot-c Dovecot-common ommon,, dovecot-im dovecot-imapd, apd, dovecot-po dovecot-pop3d: p3d: Contie Contienen nen los servicios de POP3 e IMAP.



Amavisd-new: Es el paquete que contiene la interfaz entre el MTA y los filtros.



Lzop, zoo, unzip, unrar, unzoo, arj, gzip, bzip2, nomarch: Utilidades compresor de archivos.



Razor, pyzor, dcc: Son las bases de datos, ubicadas en Internet, que cont contie iene nen n las las list listas as de spam spam.. De ésta ésta form forma a Ésto Éstoss le indi indica can n a Spamassassin qué debe detectar como spam.



Sasl2-bin, libsasl2, libsasl2-modules: Utilizado para la autenticación y autorización de algunos protocolos de red, depende de sus respectivas librerías.



Dhcp3Dhcp3-ser serve verr, dhcp3dhcp3-ser serve ver-l r-ldap dap,, bin bind9: d9: Son Son los los paqu paquet etes es que que contienen los servicios de DHCP y DNS y su respectivos paquetes para ser poblados al LDAP.

12

Proyecto Plataforma de Correos. •

Clamav, Clamav, clamav-daemon: Es el paquete que instala el Antivirus para el servidor de correos.



Spamassassin: Es el paquete del Antispam para el servidor de correos.



Slapd: Es el paquete del LDAP.



Samba, smbclient, smbldap-tools: Samba es el servidor como tal, smbclient es el cliente de samba y el paquete sambldap-tools es el que define cómo se conectará el Samba con el LDAP.



Squirrelmail: Es un Webmail tilizado para revisar los correos vía Web.

13

Proyecto Plataforma de Correos.

5. INSTALACIÓN. 5.1 Preparación del Sistema. Nuestra máquina contará con las siguientes especificaciones:

Hostname: server1.grupo9.com Samba Domain: GRUPO9 IP: 192.168.0.19 Gateway: 192.168.0.1 Passwords Para Todo: sena2008  5.2 Hostname: Editar el archivo hosts con el fin de que nuestra máquina nos resuelva localmente por ahora.

#pico /etc/hosts El archive debe quedar de ésta forma:

127.0.0.1 localhost.local localhost.localdomain domain localhost 192.168.0.19 server1.grupo9.c server1.grupo9.com om server1 # The following lines are desirable for IPv6 capable hosts ::1 ip6-localhost ip6-loopba ip6-loopback  ck  fe00::0 ip6-localnet ff00::0 ip6-mcastprefix ff02::1 ip6-allnodes ff02::2 ip6-allrouters ff02::3 ip6-allhosts Proceder a poner como nombre a nuestra máquina server1.grupo9.com el cual se define en el archivo hostname

#echo server1.grupo9.com > /etc/host /etc/hostname name Luego reiniciamos el sistema para que aplique los cambios efectuados.

14

Proyecto Plataforma de Correos.

#reboot Probamos de la siguiente forma si los cambios fueron aplicados. Para ver el nombre de nuestra máquina. #hostname

Para probar si nuestra propia máquina está resolviendo nuestro nombre de host  FQDN.

#hostname -f 

FQDN: Fully Qualified Domain Name, Es el nombre que incluye el “nombre de equipo”  y el “nombre de dominio”  asosociado a un equipo. Por 

ejemplo, en nuestro caso, nuestro nombre de máquina es server1 cuyo dominio es grupo9.com, el FQDN será server1.grupo9.com. En ambos resultados nos debe mostrar lo siguiente.

server1.grupo9.com

5.3 Filesystem ACL´s. Se debe agregar ACL´s al Filesystem a nuestro punto de montaje “/”.

ACL: Access Control List, Lista de Control de Acceso. En este sistema de permisos los ficheros no tienen fijos los permisos (como en el modelo tradi tradici cion onal al,, que que tien tiene e tres tres perm permis isos os “par “para a el usua usuari rio o prop propie ieta tari rio, o, grup grupo o propietario y otros”), sino que los permisos del fichero en realidad son una lista de Entra Entrada dass de Cont Contro roll de Acces Acceso. o. Cada Cada una una de las las ACE´ ACE´ss cont contie iene ne lo pará paráme metr tros os de usua usuari rio/ o/gr grup upo o y perm permis iso o que que indi indica ca un tipo tipo de acce acceso so determinado para un usuario o grupo; el conjunto de todas éstas forman la ACL que marca el tipo de acceso permitido en un fichero.

15

Proyecto Plataforma de Correos.

Editar el archivo fstab.

#pico /etc/fstab Agregar la palabra opcion ACL en el punto de montaje. Debe quedar de la siguiente forma:

# /etc/fstab: static file system information. # #   proc /proc proc defaults 0 0 /dev/sda1 / ext3 defaults, acl,errors=remount-ro 0 1 /dev/sda5 none swap sw 0 0 /dev/hdc /media/cdrom0 /media/cdro m0 udf,iso9660 user,noauto 0 0 /dev/fd0 /media/floppy0 /media/flopp y0 auto rw,user,noauto 0 0 Debemos remontar el punto de montaje “/” para que aplique los cambios.

#mount -o remount / Para probar si los cambios fueron realizados, digitamos el siguiente comando.

#mount -l Debe aparecer una línea parecida a ésta.  /dev/sda1 on / type ext3 (rw, acl  ,errors=remount-ro)

5.4 REPOSITORIOS Para instalar los paquetes requeridos para realizar éste trabajo se deben utilizar los siguientes repositorios, los cuales habilitamos en el archivo sources.list 

#pico /etc/apt/sources.list Agregar los siguientes repositorios.

16

Proyecto Plataforma de Correos.  MDS  repository #  MDS 

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

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

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

deb http://ftp.es.debian.org/debian/ etch main contrib non-free deb ftp://ftp.us.debian.org/debian sarge main contrib non-free Antes de actualizar la lista de repositorios, debemos pedir una llave de acceso para poder descargar los paquetes Backports.

#wget -O - http://backports.org/debian/ http://backports.org/debian/archive.key archive.key | apt-key add Luego se procede a actualizar la lista de repositorios.

#apt-get update

17

Proyecto Plataforma de Correos.

5.5 INSTALACIÓN DE LOS PAQUETES A UTILIZAR Se procede a instalar los siguientes paquetes para luego empezar a configurar  los respectivos archivos de configuración.

apt-get inst apt-get install all mmc-w mmc-web-b eb-base ase mmc-w mmc-web-m eb-mail ail mmc-w mmc-web-n eb-netwo etwork rk mmc-w mmc-web-pr eb-proxy oxy mmc-web-sa mmc-w eb-samba mba mmc-a mmc-agent gent pyth python-mm on-mmc-plu c-plugins gins-tool -toolss pyth python-mm on-mmc-ba c-base se pyth pythononmmc-mail python-mmc-network python-mmc-proxy python-mmc-samba postfix postfix-ldap sasl2-bin libsasl2 libsasl2-modules amavisd-new libdbd-ldap-perl libnet-ph perl libnet-snpp-perl libnet-telnet-perl lzop nomarch zoo clamav clamav-daemon gzip  bzip2 unzip unrar-free unzoo arj spamassassin squirrelmail libnet-dns-perl razor pyzor  dcc-clien dcc-c lientt slap slapdd ldap ldap-util -utilss libn libnss-l ss-ldap dap libp libpam-ld am-ldap ap dhcp dhcp3-ser 3-server ver dhcp dhcp3-se 3-server rver-ldap -ldap  bind9 samba smbclient smbldap-tools En éste paso procedemos a realizar la configuración inicial del LDAP y el Postfix. Digitar la contraseña para la base de datos LDAP “ sena2008  sena2008 ”  ”. 

18

Proyecto Plataforma de Correos.

Confirmamos la contraseña “ sena2008  sena2008 ”  ”. 

19

Proyecto Plataforma de Correos.

Seleccionamos “   Aceptar ”. ”. Lo cual indica la versión del servicio DHCP y anuncia que el servicio no será autorizado automáticamente.

Digitar el nombre del grupo de trabajo “ GRUPO9”  GRUPO9” . Éste nombre trabaja como un nombre Netbios.

20

Proyecto Plataforma de Correos.

Escog Escoger er la opción opción “ ”. Con esto esto damo damoss la opci opción ón que que no quer querem emos os ”. Con actualizaciones dinámicas para el Samba por parte del DHCP.

Se procede a la configuración inicial del servicio de Postfix “  Acepta  Aceptar”  r” .

21

Proyecto Plataforma de Correos.

Escogemos la opción “ Sitio Sitio de Internet ”  ” , con el fin de que nuestro servicio de correo se vea a través de Internet, claro está, por medio de un dominio.

Digitar el nombre de correo “ server1.grupo9.com”  server1.grupo9.com” . Éste nombre indentifica desde dónde se a originado el correo.

22

Proyecto Plataforma de Correos.

Identificado de Recuros para el Servidor LDAP. Digitar  “ ldap://127.0.0.1 ldap://127.0.0.1 /” , con el fin de contactar al LDAP por medio de dicha IP y pueda ser contactado.

Digitar el Nombre Distintivo (DN) “ dc=grupo9,dc=com”  dc=grupo9,dc=com” , el cual será utilizado para la base de búsqueda.

23

Proyecto Plataforma de Correos.

Vesión de LDAP a utilizar  “ 3”  Se debe utilizar la versión más reciente que esté disponible.

Cuenta LDAP para root “ cn=admin.,dc=grupo9,dc=com”  cn=admin.,dc=grupo9,dc=com” . Con el fin de definir la cuenta para el root, el cual tendrá todos lo privilegios para el LDAP. LDAP.

24

Proyecto Plataforma de Correos.

Contraseña para la cuenta LDAP de root “ sena2008  sena2008 ”  ”. 

Éste mensaje indica que el archivo nsswitch.conf  no se gestiona autom utomá átic ticamen mente, te,

por por

lo tant tanto o,

mas mas

adelan elante te debe debemo moss

mod modific ificar arlo lo

manualmente.

25

Proyecto Plataforma de Correos.

Make local root Database admin. “ ”  ” . Indica si solo el root puede ver la base de datos del LDAP.

¿Hace falta un usuario para acceder a la base de datos LDAP? “ ”  ”  Se utiliza para permitir a otros usuarios acceder a la base de datos LDAP. LDAP.

26

Proyecto Plataforma de Correos.

Ahora procedemos a instalar los paquetes del Dovecot (POP3 e IMAP).

#apt-get install -t etch-backp etch-backports orts dovecot-common dovecot-imapd dovecot-pop3d El comando “apt-get “apt-get install  install  -t ”  ”  da la opción de copiar todas la fuentes de argumento dentro del directorio; en éste caso copiará todas las fuentes del direcorio etch-backport, el cual está especificado en la lista de repositorios.

6. CONFIGURACIONES 6.1 CONFIGURACIÓN DEL LDAP Se procede procede copiar copiar los el esquema esquema del Mail, Samba, Samba, MMC, MMC, DNS, DNS, DHCP DHCP y agregarlos al squema del LDAP.

#cp /usr/share/doc/python-mmc-base/contrib/ldap/mmc.schema /etc/ldap/schema/ #cp /usr/share/doc/python-mmc-base/contrib/ldap/mail.schema /etc/ldap/schema/ #zcat /usr/share/doc/python-mmc-base/contrib/ldap/samba.schema.gz > /etc/ldap/schema/samba.schema #zcat /usr/share/doc/python-mmc-base/contrib/ldap/dnszone.schema.gz > /etc/ldap/schema/dnszone.schema #zcat /usr/share/doc/python-mmc-base/contrib/ldap/dhcp.schema.gz > /etc/ldap/schema/dhcp.schema Debemos indicarle al LDAP que acepte los esquemas que acabamos de copiar, copiar, para esto editamos el archivo sldap.conf.

#pico /etc/ldap/slapd.conf  De ésta forma, procedemos a incluir las listas de los esquemas que copiamos anteriormente.

27

Proyecto Plataforma de Correos.

include /etc/ldap/schema/mmc.schema include /etc/ldap/schema/samba.schema include /etc/ldap/schema/mail.schema include /etc/ldap/schema/dnszone.schema include /etc/ldap/schema/dhcp.schema Sin embargo, debemos habilitar éstas líneas agregadas, por lo que debemos incluri la siguiente línea debajo de éstas.

schemacheck on Se debe cifrar la contraseña del Admin LDAP, ya que en el momento de la instalación no se cifró. Esto se hace con el fin de darle seguridad a la clave de acceso para el administrador. La contraseña se encripta en el formato SSHA.

#slappasswd -s sena2008 Deba aparecer algo parecido a esto.

{SSHA}lPd5OeiUGx4lyZUiQ2MFmzXV0JWyKV9A Abrir el archivo de configuración del LDAP para agregar ésta clave encriptada.

#pico /etc/ldap/sldap.conf  Buscar la línea que dice rootdn, y descoméntela, de tal forma que quede así.

rootdn "cn=admin,dc= "cn=admin,dc=grupo9,dc=co grupo9,dc=com" m" Y Agrege debajo de ésta la linea rootpw  junto con la clave del Admin LDAP encriptada que originamos anteriormente.

rootpw {SSHA}lPd5OeiUGx4lyZUiQ2MFmzXV0JWyKV9A Dentro del mismo archivo, buscar la siguiente opción.

index objectClass eq Bórrela o coméntela y agregue las siguientes.

28

Proyecto Plataforma de Correos.

index objectClass,uidNumber,gidNumber eq index cn,sn,uid,displayName pres,sub,eq index memberUid,mail,givenname eq,subinitial index sambaSID,samba sambaSID,sambaPrimaryGroupSID,samb PrimaryGroupSID,sambaDomainName aDomainName eq index zoneName,relativeDomainName eq index dhcpHWAddress,dhcpClassData eq Debemos definir las listas de acceso que samba tendrá sobre el LDAP y los respectiviso atributos de los usuarios. De ésta forma, buscamos y cambiamos la línea que dice.

access to attrs=userPa attrs=userPassword,shadowL ssword,shadowLastChange astChange Por ésta.

access to attrs=userPa attrs=userPassword,sambaLMPa ssword,sambaLMPassword,sambaN ssword,sambaNTPassword TPassword El archive sldap.conf debe de quedar de ésta forma. f orma.

# This is the main slapd configuration file. See slapd.conf(5) for more # info on the configuration options. ###################################################################### # # Global Directives: # Features to permit #allow bind_v2 # Schema and objectClass definitions include /etc/ldap/schema/core.schema include /etc/ldap/schema/cosine.schema include /etc/ldap/schema/nis.schema include /etc/ldap/schema/inetorgperson.schema incluy inc luyee /etc/ /et c/lda ldap/s p/sche chema/ ma/mmc mmc.sc .schem hemaa 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 schemacheck on # Where the pid file is put. The init.d script # will not stop the server if you change this.   pidfile /var/run/slapd/slapd.pid

29

Proyecto Plataforma de Correos.

# List of arguments that were passed to the server  argsfile /var/run/slapd/slapd.args # Read slapd.conf(5) for possible values loglevel 0 # Where the dynamically loaded modules are stored modulepath /usr/lib/ldap moduleload back_bdb # The maximum number of entries that is returned for a search operation sizelimit 500 # The tool-threads parameter sets the actual amount of cpu's that is used # for indexing. tool-threads 1 ###################################################################### # # Specific Backend Directives for bdb: # Backend specific directives apply to this backend until another  # 'backend' directive occurs backend bdb checkpoint 512 30 ###################################################################### # # Specific Backend Directives for 'other': # Backend specific directives apply to this backend until another  # 'backend' directive occurs #backend ###################################################################### # # Specific Directives for database #1, of type bdb: # Database specific directives apply to this databasse until another  # 'database' directive occurs database bdb # The base of your directory in database #1 suffix "dc=grupo9,dc=com" # rootdn directive for specifying a superuser on the database. This is needed # for syncrepl. rootdn "cn=admin,dc=grupo9,dc=com" rootpw {SSHA}Lc4KZ36flCnEKGVJcVP/uJvCcW8Yg+7B # Where the database file are physically stored for database #1 directory "/var/lib/ldap"

30

Proyecto Plataforma de Correos.

# For the Debian package we use 2MB as default but be sure to update this # value if you have plenty of RAM dbconfig set_cachesize 0 2097152 0 # Sven Hartge reported that he had to set this value incredibly high # to get slapd running at all. See http://bugs.debian.org/303057 # for more information information.. # Number of objects that can be locked at the same time. dbconfig set_lk_max_objects 1500 # Number of locks (both requested r equested 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 eq index cn,sn,uid,displayName pres,sub,eq index memberUid,mail,givenname eq,subinitial index sambaSID,samba sambaSID,sambaPrimaryGroupSID,samb PrimaryGroupSID,sambaDomainName aDomainName eq index zoneName,relativeDomainName eq index dhcpHWAddress,dhcpClassData eq # Save the time that the entry gets modified, for database #1 lastmod on # Where to store the replica logs for database #1 # rep replogfile /var/lib/ldap/replog # The userPassword by default can be changed # by the entry owning it if they are authenticated. # Others should not be able to see it, except the # admin entry below # These access lines apply to database #1 only access to attrs=userPa attrs=userPassword,sambaLMPa ssword,sambaLMPassword,sambaN ssword,sambaNTPassword TPassword by dn="cn=admi dn="cn=admin,dc=grupo9,d n,dc=grupo9,dc=com" c=com" write by anonymous auth by self write by * none # Ensure read access to the base for things like # supportedSASL supportedSASLMechanisms. Mechanisms. Without this you may # have problems with SASL not knowing what # mechanisms are available and the like. # Note that this is covered by the 'access to *' # ACL below too but if you change that as people # are wont to do you'll still need this if you # want SASL (and possible other things) to work  # happily happil y. access to dn.base="" by * read 31

Proyecto Plataforma de Correos.

# The admin dn has full write access, everyone else # can read r ead everything. access to * by dn="cn=admi dn="cn=admin,dc=grupo9,d n,dc=grupo9,dc=com" c=com" write by * read # For Netscape Roaming support, each user gets a roaming # profile for which they have write access to #access to dn=".*,ou=Ro dn=".*,ou=Roaming,o=morsnet aming,o=morsnet"" # by dn="cn=admi dn="cn=admin,dc=grupo9,d n,dc=grupo9,dc=com" c=com" write # by dnattr=owne dnattr=ownerr write ###################################################################### # # Specific Directives for database #2, of type 'other' (can be bdb too): # Database specific directives apply to this databasse until another  # 'database' directive occurs #database # The base of your directory for database #2 #suffix "dc=debian,dc=org" De igual forma, se debe editar el archivo de configuración ldap.conf , con el fin de especificarle al LDAP la IP y el nombre de dominio con que se quiere que trabaje.

#pico /etc/ldap/ldap.conf  Agregamos las siguientes líneas al final del archivo.

host 127.0.0.1  base dc=example, dc=example,dc=com dc=com Reiniciamos el servidor LDAP para que aplique los cambios efectuados.

#/etc/init.d/sldap restart

32

Proyecto Plataforma de Correos.

6.2 CONFIGURACIÓN DE SAMBA Proceder a configurar el servidor Samba, ya que el LDAP necesita de éste para poder poder almace almacenar nar los usuario usuarios, s, passwo password, rd, entre entre otros, otros, ademá ademáss para para poder  poder  integrar las redes de Linux con las de Microsoft. Primero debemos parar el servicio.

#/etc/init.d/samba stop Para Para inte integr grar ar el serv servid idor or Samb Samba a con con el LDAP LDAP debe debemo moss copi copiar ar el arch archiv ivo o smb.conf  del LDAP y pegarlo en directorio de Samba. Éste archivo es ofrecido

por las las lib librerías del  python-mmc-base, las las cuale ualess fue fueron ron inst insta alada ladass anteriormente, dichas librerías se encuentran en la siguiente ruta ya que al momento de la inatalación se ubican en /usr/share/doc/ . #cp /usr/share/doc/python-mmc-base/contrib/samba/smb.conf /etc/samba/ De ésta forma, editar el archivo de configuración smb.conf .

#pico /etc/samba/smb.conf  En la sección [Global]  se deben modificar las siguientes líneas, de tal forma que se parezcan a éstas.

workgroup = GRUPO9 netbiosname = SRV-GRUPO9 SRV-GRUPO9 ldap admin dn = cn=admin,dc=grupo9,dc=com cn=admin,dc=grupo9,dc=com ldap suffix = dc=grupo9,dc=com logon path = \\%N\profiles\%U

33

Proyecto Plataforma de Correos.

Adicionalmente, en la sección [Global], agregar las siguientes líneas, ya que no vienen vienen por defecto en el archivo archivo smb.conf  del LDAP. Estas líneas representan el soporte y la integración que el Samba tendrá sobre el LDAP.

 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 /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 /usr/sbin/smbldap-useradd -m "%u" add user to group script = /usr/sbin/ /usr/sbin/smbldap-groupmo smbldap-groupmodd -m "%u" "%g" set primary group script = /usr/sbin/smbldap-usermod /usr/sbin/smbldap-usermod -g "%g" "%u" add group script = /usr/sbin/am /usr/sbin/ambldap-groupad bldap-groupaddd -p "%g" delete user script = /usr/sbin/smbldap-userdel /usr/sbin/smbldap-userdel "%u" delete user from group script = /usr/sbin/smbldap-groupmod /usr/sbin/smbldap-groupmod -x "%u" "%g" delete group script = /usr/sbin/smbldap-groupdel /usr/sbin/smbldap-groupdel "%g" obey pam restrictions = no ldap idmap suffix = ou=Users ldap delete dn = no security = user  En la sección [homes] , agregar la siguiente línea. Con ésta línea le estamos dando la opción al Samba que oculte el Maildir (Buzón) de cada usuario.

hide files = /Maildir/ En la sección [profiles], agregar la siguiente línea, con el fin de que los archivos de Samba estén ocultos.

34

Proyecto Plataforma de Correos.

hide files = /desktop.ini/ntuser.ini/NTUSER.*/ En la sección [archives], editar la siguiente línea, de ésta forma especificamos la ruta de los archivos del samba, los cuales estarán ocultos por la opción que le dimos en el paso anterior.

 path = /home/samba/ /home/samba/archives archives Además, agregar al final del archivo smb.conf el siguiente bloque [partage] que no viene por defecto. Esto es si queremos, ya que éste bloque no afecta para nada la configuración; simplemente se utiliza para publicar algunos servicios.

[partage] comment = aucun path = /home/samba/partage browseable = yes public = no writeable = yes El archivo de configuración smb.conf debe quedar de ésta forma.

[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/ /usr/sbin/smbldap-pas smbldap-passwd swd -u %u  passwd chat = "Cambiando clave para*\nNueva clave*" %n\n "*Confirme nueva clave*" %n\n add user script = /usr/sbin/smbldap-useradd /usr/sbin/smbldap-useradd -m "%u" add user to group script = /usr/sbin/ /usr/sbin/smbldap-groupmo smbldap-groupmodd -m "%u" "%g" set primary group script = /usr/sbin/smbldap-usermod /usr/sbin/smbldap-usermod -g "%g" "%u" add group script = /usr/sbin/am /usr/sbin/ambldap-groupad bldap-groupaddd -p "%g" delete user script = /usr/sbin/smbldap-userdel /usr/sbin/smbldap-userdel "%u" delete user from group script = /usr/sbin/smbldap-groupmod /usr/sbin/smbldap-groupmod -x "%u" "%g" delete group script = /usr/sbin/smbldap-groupdel /usr/sbin/smbldap-groupdel "%g" obey pam restrictions = no ldap idmap suffix = ou=Users ldap delete dn = no security = user 

35

Proyecto Plataforma de Correos.

workgroup = GRUPO9 netbiosname = SRV- GRUPO9 server string = Mandriva Directory Server - SAMBA %v log level = 3 null passwords = yes # unix charset = ISO8859-1 name resolve order = bcast host domain logons = yes domain master = yes  printing = cups  printcap name = cups logon path = \\%N\profiles\%u logon script = logon.bat map acl inherit = yes nt acl support = yes force unknown acl user = Yes  passdb backend = ldapsam:ldap://127.0.0.1/ ldap admin dn = cn=admin,dc= grupo9 ,dc=com ldap suffix = dc= grupo9,dc=com ldap group suffix = ou=Groups ldap user suffix = ou=Users ldap machine suffix = ou=Computers ldap idmap suffix = ou=Idmap idmap backend = ldap:ldap://127.0.0.1/ idmap uid = 20000-30000 idmap gid = 20000-30000 enable privileges = yes add machine script = /usr/lib/mmc/add_machine_script '%u' add share command = /usr/lib/mmc /usr/lib/mmc/add_chang /add_change_share_script e_share_script delete share command = /usr/lib/mmc/delete_share_script add printer command = /usr/lib/m /usr/lib/mmc/add_printe mc/add_printer_script r_script deleteprinter deleteprint er command = /usr/lib/mmc /usr/lib/mmc/delete_p /delete_printer_script rinter_script [homes] comment = Home directories browseable = no writeable = yes create mask = 0700 directory mask = 0700 hide files = /Maildir/ path = /home/samba/ar /home/samba/archives chives

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

Proyecto Plataforma de Correos.

[archives] comment = Backup share path = /home/archiv /home/archives es browseable = yes public = no writeable = no [printers] comment = All printers path = /var/spool/ /var/spool/samba samba public = yes guest ok = yes browseable = no writeable = no printable = yes [print$] comment = Printer Driver Download Area path = /var/lib/sa /var/lib/samba/printers mba/printers browseable = no guest ok = yes read only = yes write list = Administrador,root,@lpadmin force group = "Print Operators" create mask = 0775 directory mask = 0775 [netlogon] path = /home/samba /home/samba/netlogon /netlogon public = no writeable = no browseable = no [profiles] path = /home/samba /home/samba/profiles /profiles writeable = yes create mask = 0700 directory mask = 0700 browseable = no hide files = /desktop.ini/ntuser /desktop.ini/ntuser.ini/NTUSER.*/ .ini/NTUSER.*/ [partage] comment = aucun path = /home/samba/par /home/samba/partage tage browseable = yes public = no writeable = yes

37

Proyecto Plataforma de Correos.

Digit igita ar el sigui iguien ente te coma comand ndo o con el fin fin de obte btener ner un suma umario rio de la configuración de Samba. Al final del sumario no debe presentar errores. #testparm Se procede a darle las credenciales a Samba para que pueda escribir sobre LDAP.

#smbpasswd -w sena2008 Debe aparecer algo como esto, lo cual indica que las credenciales fueron asignadas correctamente.

Setting stored password for "cn=admin,dc=grupo9,dc=com" "cn=admin,dc=grupo9,dc=com" in secrets.tdb Debemos genera un SID para el grupo de trabajo, con el fin de que el LDAP reconozca y autorice al Samba con éste identificador. identificador.

#net getlocalsid GRUPO9 Debe mostrarnos al final algo como esto. No perdamos éste SID, ya que más adelante lo debemos utilizar.

SID for domain GRUPO9 is: S-9-5-21-315989982 S-9-5-21-3159899829-923882392-54 9-923882392-54889933 889933 Para comprobar que el SID fue registrado por el LDAP, digitamos el siguiente comando.

#slapcat | grep sambaDomainName Lo más probable es que aparezcan algunas líneas de error, lo cual es normal. Lo que nos debe interesar es que aparezcan las siguientes líneas.

38

Proyecto Plataforma de Correos.

dn: sambaDomain sambaDomainName=GRUPO9,dc Name=GRUPO9,dc=grupo9,dc= =grupo9,dc=com com sambaDomainName: GRUPO9 Luego se procede a iniciar el servicio Samba.

#/etc/init.d/samba start Debemos

crear

los

archivos

de

configuración

de

smbldap-tools

(smbldap_bind.conf, smbldap.conf), los cuales definen la forma de comunicarse

el Samba con el LDAP.

#pico /etc/smbldap-tools/smbldap_bind.conf  El archivo debe llevar el siguiente contenido.

slaveDN="cn=admin,dc=grupo9,dc=com" slaveDN="cn=admin,dc=g rupo9,dc=com" slavePw="sena2008" masterDN="cn=admin,dc=grup masterDN="cn= admin,dc=grupo9,dc=com" o9,dc=com" masterPw="sena2008" Ahora procedemos crear el archivo smbldap.conf. El contenido de éste debe llevar los siguiente (En la línea SID debemos poner nuestro SID, el cual generamos anteriormente). S-9-5-21-3159899829-923882392-54 29-923882392-54889933" 889933" SID=" S-9-5-21-31598998 sambaDomain= "GRUPO9" ldapTLS="0" suffix="dc= grupo9,dc=com" usersdn="ou=Users,${suffix}" computersdn="ou=Computers,${suffix}" groupsdn="ou=Groups,${suffix}" idmapdn="ou=Idmap,${suffix}" sambaUnixIdPooldn="samba sambaUnixIdPo oldn="sambaDomainName= DomainName=GRUPO9,${suffix}" scope="sub" hash_encrypt="SSHA" userLoginShell="/bin/bash" userHome="/home/%U" userHomeDirectoryMode="700" userGecos="System userGecos= "System User" defaultUserGid="513"

39

Proyecto Plataforma de Correos.

defaultComputerGid="515" skeletonDir="/etc/skel" defaultMaxPasswordAge="45" userSmbHome="\\PDC-SRV-GRUPO9\%U" userProfile="\\PDC-SRV-GRUPO9\profiles\%U" userHomeDrive="H:" userScript="logon.bat" mailDomain="grupo9.com" smbpasswd="/usr/bin/smbpasswd" Proc Proce edemo demoss a pobl pobla ar la base ase de dato datoss LDAP DAP y a crea crearr la cuent uenta a de Administrator en el dominio Administrator. Al final no pedirá la contraseña del Administrator, Administrator, la cual será “sena2008” .

#smbldap-populate #smbldap-popu late -m 512 -a Administrator  Se proc proced ede e a camb cambia iarr el núme número ro UID UID de la cuen cuenta ta,, de lo cont contra rari rio o el Administrator no podrá utilizar el servidor de correos con ésta cuenta, además se debe agregar el usuario Administrador al grupo “Domain Users” .

#smbldap-usermod #smbldap-use rmod -u 3000 -G "Domain Users" Administrator  Administrator  Editar el archivo nsswitch.conf , para luego poder visualizar los usuarios y grupos del LDAP.

#pico /etc/nsswitch.conf  El archivo debe tener el siguiente contenido.

# /etc/nsswitch.conf  # # Example configuration of GNU Name Service Switch functionality. # If you have the `glibc-doc' and `info' packages installed, try: # `info libc "Name Service Switch"' for information about this file. passwd: compat ldap group: compat ldap shadow: compat ldap hosts: files dns networks: files protocols: db files 40

Proyecto Plataforma de Correos.

services: ethers: rpc: netgroup:

db files db files db files nis

Para Para comp compro roba barr si está está en buen buen func funcio iona nami mien ento to,, digi digita tamo moss el sigu siguie ient nte e comando.

#getent group Debemos cerciorarnos de que al final aparezca algo como esto, lo cual indica que está visualizando la base de datos LDAP.

Domain Admins:*:512: Domain Users:*:513:Administrator,mauro,fefe,jona Domain Guests:*:514: Domain Computers:*:515: Administrators:*:544: Account Operators:*:5 Operators:*:548: 48: Print Operators:*:5 Operators:*:550: 50: Backup Operators:*: Operators:*:551: 551: Replicators:*:552:

Posible Fallo: Si no aparecen las anteriores lìneas, l ìneas, debemos editar  los archivos libnss-ldap y libpam-ldap.

#pico /etc/libnss-ldap.conf 

Busc Buscam amos os las las sigu siguie ient ntes es line lineas as y las las desc descom omen enta tamo mos. s. En dich dichas as lìne lìneas as digi digita tare remo moss los los valo valore ress corr corres espo pond ndie ient ntes es a nues nuestr tro o domi domini nio o y unid unidad ad orgainizativa.

nss_base_passwd

ou=users,dc=grupo9,dc=com

nss_base_group

ou=groups,dc=grupo9,dc=com

41

Proyecto Plataforma de Correos.

Editar el siguiente archivo en donde estableceremos el nombre de dominio y unidades organizativas para los usuarios y grupos. Se deben descomentar.

#pico /etc/pam_ldap.conf 

Las lìneas deben quedar de la siguiente forma.

nss_base_passwd

ou=users,dc=grupo9,dc=com?one

nss_base_shadow

ou=users,dc=grupo9,dc=com?one

nss_base_group

ou=groups,dc=grupo9,dc=com?one

Luego se deben reconfigurar el paquete libnss-ldap ylibpam-ldap para que se apli apliqu quen en los los camb cambio ioss efec efectu tuad ado o en los los dos dos arch archiv ivos os de conf config igur urac ació ión n anteriores.

#dpkg-reconfigure #dpkg-reconfi gure libnss-lda libnss-ldapp

Establecer los valores pertenecientes a nuestro nombre de dominio.

#dpkg-reconfigure #dpkg-reconfi gure libpam-ldap

Establecer los valores pertenecientes a nuestro dominio.

Volver Volver a probar la configuración del nsswitch con el comando tesparm.

Ahora debemos crear unos directorios que Samba necesita para alojar sus archiv archivos. os. Dichos Dichos direct directori orios os fueron fueron los bloque bloquess que que están están descri descritos tos en el archivo smb.conf .

42

Proyecto Plataforma de Correos.

#mkdir -p /home/samba /home/samba/shares/publ /shares/public/ ic/ #mkdir /home/samba/ /home/samba/netlogon/ netlogon/ #mkdir /home/samba/ /home/samba/profiles/ profiles/ #mkdir /home/samba/ /home/samba/partage/ partage/ #mkdir /home/samba/ /home/samba/archives/ archives/ Se debe reiniciar el Samba para que se apliquen los cambios con respecto a los directorios creados.

#/etc/init.d/samba restart Algunas veces, al reiniciar más adelante la MMC presenta errores, por esto debemos crear un directorio adicional “archives” en “/home/” .

#mkdir /home/archiv /home/archives es A los directorios creados en el paso anterior, debemos de darle los permisos específicos, para que Samba pueda tener derechos sobre dichos directorios.

#chown -R :"Domain Users" /home/samba /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/

6.3 Configuración del PAM LDAP. Ahora, Ahora, debemo debemoss agrega agregarr el módulo módulo del LDPA LDPA al PAM. Los cuales cuales serán serán utilizados utilizados para la autenticac autenticación ión contra contra el LDAP. LDAP. Específic Específicament amente e los archivos archivos que se modifican son: common-account, common-auth, common-password, common-session.

Editar el archivo common-account .

43

Proyecto Plataforma de Correos.

#pico /etc/pam.d/common-account El archivo debe debe quedar de la siguiente siguiente forma.

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

pam_unix .so pam_unix.so pam_ldap.so

Editar el archivo common-auth.

#pico /etc/pam.d/common-auth El archivo debe debe quedar de la siguiente siguiente forma.

# # /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 LDAP,, Kerberos, etc.). The default is to use the # traditional Unix authentication mechanisms. # auth auth auth

sufficient sufficient required

pam_unix.so nullok_secur nullok_securee pam_ldap.so use_first_pass pam_deny.so

Editar el archivo common-password .

#pico /etc/pam. /etc/pam.d/common-pass d/common-password word El archivo debe debe quedar de la siguiente siguiente forma.

# 44

Proyecto Plataforma de Correos.

# /etc/pam.d/common-password /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 user passwords. The default is pam_unix 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' `OBSCURE_CHECKS_ENAB' option in # login.defs. Also the "min" and "max" options enforce the length of the # new password. password password password

sufficient sufficient required

pam_unix.so nullok obscure min=4 max=8 md5 pam_ldap.so use_first_pass use_authtok  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 pam_crackli b.so retry=3 minlen=6 difok=3 # password required pam_unix.so use_authtok nullok md5 Editar el archivo common-session.

#pico /etc/pam.d/common-session El archivo debe debe quedar de la siguiente siguiente forma.

# # /etc/pam.d/common-session /etc/pam.d/common-session - session-rela session-related ted 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-interac non-interactive). tive). The default is pam_unix. # session required session optional

pam_unix .so pam_unix.so pam_ldap.so

Para que estos cambios realizados, debemos reiniciar nuestro sistema.

#reboot 45

Proyecto Plataforma de Correos.

Luego de haber iniciado el sistema, debemos darle derecho al grupo “Domain Admins” de agregar máquinas al dominio.

#net -U Administrator rpc rights r ights grant 'GRUPO9\Domain Admins' Admins' SeMachineAccountPrivilege

6.4 Configuración DNS (BIND9) Procedemos a configurar el servicio DNS.

#cp /usr/share/doc/python-mmc-base/contrib/bind/named.conf /etc/bind/ Ahora debemos especificarle al sistema que en la secuencia de inicio “rc.d”  inicie primero el Sldap y luego el BIND.

#update-rc.d -f slapd remove && update-rc.d update-rc.d slapd start 14 2 3 4 5 . stop 86 0 1 6 . Debemos especificar en la tarjeta de red que seamos nuestro propio registro DNS.

#pico /etc/resolv.conf  El archivo debe quedar de la siguiente forma.

search grupo9.com nameserver 127.0.0.1 nameserver 192.168.0.19

6.5 Configuración DHCP Procedemos a configurara el servicio DHCP.

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

46

Proyecto Plataforma de Correos.

Editar el archivo dhcpd.conf .

#pico /etc/dhcp3/dhcpd.conf  El contenido del archivo debe quedar de la siguiente forma.

ldap-server "localhost"; ldap-port 389; ldap-username "cn=admin, dc= grupo9 , dc=com"; ldap-password " sena2008 "; ldap-base-dn "dc= grupo9 , dc=com"; ldap-method dynamic; ldap-debug-file ldap-debug-fi le "/var/log/d "/var/log/dhcp-ldap-start hcp-ldap-startup.log"; up.log";

6.6 SSL Para El Correo (Entidad Certificadora). Se debe debe inst instal alar ar una una enti entida dad d cert certifi ifica cado dora ra para para obte obtene nerr los los resp respec ectiv tivos os certificados y llaves para la seguridad de nuestros dos sitios Web: MMC, Squirrelmail. Debemos editar el archivo mail.cnf .

#pico /etc/ssl/mail.cnf  El archivo debe llevar el siguiente contenido.

[ req ] default_bits = 2048 default_keyfile = privkey.pem distinguished_name = req_distinguished_name prompt = no string_mask = nombstr   x509_extensions = server_cert [ req_disting req_distinguished_name uished_name ] countryName = DE stateOrProvinceName = Niedersachsen localityName = Lueneburg organizationName = Projektfarm GmbH organizationalUnitName organizationalUn itName = IT 47

Proyecto Plataforma de Correos.

commonName emailAddress [ server_cert ] basicConstraints subjectKeyIdentifier keyUsage extendedKeyUsage nsCertType nsComment

= server1.grupo9.com = [email protected] = critical, CA:FALSE = hash = digitalSignature, keyEncipherment = se serverAuth, cl clientAuth = server   = "mailserver"

Ahora, debemos crear el certificado SSL.

#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 Especificar los derechos de la llave, de tal forma que solo el root pueda leerlo.

#chmod 600 /etc/ssl/private/mail.key

6.7 Configuración SASL Postfix Postfix autentica autenticará rá los usuarios contra la base de datos LDAP. Procedemos Procedemos a crear el directorio saslauthd . En éste directorio se almacenará unos archivos, los cuales permiten la autenticación del Postfix contra el LDAP. LDAP.

#mkdir -p /var/spool/ /var/spool/postfix/va postfix/var/run/saslau r/run/saslauthd/ thd/ Editar el archivo saslauthd , el cual debe quedar de la siguiente forma.

START=yes MECHANISMS="ldap" MECH_OPTIONS="" THREADS=5 OPTIONS="-c -m /var/spool/postfix/v /var/spool/postfix/var/run/saslauthd ar/run/saslauthd -r" Luego, editar el archivo saslauthd.conf  con el fin de indicarle a SASL contra quién va a realizar la l a autenticación.

48

Proyecto Plataforma de Correos.

#pico /etc/saslauthd.conf  Debe quedar de la siguiente forma.

ldap_servers: ldap://12 ldap://127.0.0.1 7.0.0.1 ldap_search_base: ldap_search _base: ou=Users,dc= grupo9 ,dc=com ldap_filter: ldap_filt er: (&(objectClas (&(objectClass=mailAcco s=mailAccount)(mail=%u@% unt)(mail=%u@%r)(mailenable=OK)) r)(mailenable=OK)) Debemos crear el archivo smtpd.conf con el fin de indicarle a Postfix cuál va a hacer el método de autenticación.

#pico /etc/postfix/sasl/smtpd.conf  El contenido de éste archivo debe llevar lo siguiente.

 pwcheck_method: saslauthd mech_list: plain login Ahora, para que la autenticación se correcta, debemos crear el usuario  postfix y agregarlo al grupo sasl .

#adduser postfix sasl Debemos reiniciar  SASL para que aplique los cambios efectuados.

#/etc/init.d/saslauthd restart

49

Proyecto Plataforma de Correos.

6.8 Configuración Postfix Copiamos los archivo del Postifx con el fin de poder trabajar con lo Usuarios y Dominios virtuales.

#cp /usr/share/doc/python-mmc-base/contrib/postfix/with-virtual-domain/* /etc/postfix/ Editamos Editamos el archivo archivo main.cf  para modificar el dominio al que Postfix atenderá, usuarios y dominios virtuales, entre otros.

#pico /etc/postfix/main.cf  El archivo debe quedar de la siguiente forma.

Nota: Reco Recome mend ndam amos os que que copi copien en cada cada una una de las las líne líneas as que que se repr repres esen enta ta a cont contin inua uaci ción ón,, de tal tal form forma a que que qued quede e como como se mues muestra tra a continuación.

# See /usr/share/p /usr/share/postfix/mai ostfix/main.cf.dist n.cf.dist for a commented, more complete version smtpd_banner = $myhostname ESMTP $mail_name (Debian/GNU)  biff = no # appending .domain is the MUA's job. append_dot_mydomain = yes append_at_myorigin = yes # Uncomment the next line to generate "delayed mail" warnings #delay_warning_time = 4h myhostname = server1.grupo9.com mydomain = grupo9.com alias_maps = ldap:/etc/postfi ldap:/etc/postfix/ldap-aliases x/ldap-aliases.cf, .cf, hash:/etc/aliase hash:/etc/aliasess alias_database = hash:/etc/aliases myorigin = /etc/mailname mydestination = server1.grupo9.com ,grupo9.com ,localhost.localdomain,localhost mail_destination_recipient_limit = 1 mailbox_command mailbox_comm and = /usr/lib/do /usr/lib/dovecot/del vecot/deliver iver -d "$USER"@"$DOMAIN" relayhost = mynetworks = 127.0.0.0/8 mailbox_size_limit = 0 recipient_delimiter = + inet_interfaces = all

50

Proyecto Plataforma de Correos.

# Virtual Domains Control virtual_mailbox_domains = ldap:/etc/postfix/ldap-domains.cf  virtual_mailbox_maps = ldap:/etc/postfix/ldap-accounts.cf  virtual_alias_maps = ldap:/etc/postfix/ldap-aliases.cf, ldap:/etc/postfix/ldap-maildrop.cf  virtual_mailbox_base = / virtual_alias_domains = virtual_minimum_uid virtual_mini mum_uid = 100 virtual_uid_maps = ldap:/etc/postfix/ldap-uid.cf  virtual_gid_maps = ldap:/etc/postfix/ldap-gid.cf  # Use Maildir  home_mailboxx = Maildir/ home_mailbo # 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_restriction smtpd_sende r_restrictionss =  permit_mynetworks,  permit_sasl_authenticated, reject_non_fqdn_sender, reject_unknown_sender_domain,  permit # Requirement for the recipient address smtpd_recipient_restrict smtpd_recipi ent_restrictions ions =  permit_mynetworks, 51

Proyecto Plataforma de Correos.

 permit_sasl_authenticated, reject_non_fqdn_recipient, reject_unknown_recipient_domain, reject_unauth_destination,  permit # Enable SASL authentication for the smtpd daemon smtpd_sasl_auth_enable = yes smtpd_sasl_type = dovecot smtpd_sasl_path = private/auth # Fix for outlook   broken_sasl_auth_clients = yes # Reject anonymous connections smtpd_sasl_security_options = noanonymous smtpd_sasl_local_domain = # SSL/TLS smtpd_tls_security_level = may smtpd_tls_loglevel = 1 smtpd_tls_cert_file = /etc/ssl/certs/mail.pem smtpd_tls_key_file = /etc/ssl/private/mail.key smtpd_tls_session_cache_database = btree:${queue_directory}/smtpd_scache # Amavis content_filter = amavis:[ localhost]:10024 receive_override_options = no_address_mappings Editar el archivo ldap.aliases.cf  con el fin de definir los álias del LDAP en el Postfix.

#pico /etc/postfix/ldap-aliases.cf  Se debe editar simplemente el dominio con que se está trabajando.

server_host = 127.0.0.1 search_base = ou=Users,dc= grupo9 ,dc=com query_filterr = (&(objectClass query_filte (&(objectClass=mailAccou =mailAccount)(mailalias nt)(mailalias=%s)(mailenab =%s)(mailenable=OK)) le=OK)) result_attribute result_attri bute = maildrop version = 3 Debemos editar el archivo master.cf en donde se definen qué protocolos y con qué servicio adicionales trabajará postfix.

52

Proyecto Plataforma de Correos.

#pico /etc/postfix/master.cf  Al final del archivo, agregar las siguientes líneas de configuración.

# SMTPS smtps inet n - - - - smtpd -o smtpd_tls_ smtpd_tls_wrappermode=y wrappermode=yes es -o smtpd_sasl_auth_enable=yes # Dovecot dovecot unix - n n - - pipe flags=DRhu user=dovecot:mail argv=/usr/lib/dovecot/deliver -d $recipient # Mail to Amavis amavis unix - - - - 10 smtp -o smtp_data_done_timeout=1200 -o smtp_send_xforward_command=yes -o disable_dns_lookups=yes -o max_use=20 # Mail from Amavis 127.0.0.1:10025 127.0.0.1:100 25 inet n - - - - smtpd -o content_filter= -o local_recipient_maps= -o relay_recipi relay_recipient_maps= ent_maps= -o smtpd_restriction_classes= -o smtpd_delay_reject=no -o smtpd_client_restrictions=permit_mynetworks,reject -o smtpd_helo_restrictions= -o smtpd_send smtpd_sender_restriction er_restrictions= s= -o smtpd_recipi smtpd_recipient_restrict ent_restrictions=permit ions=permit_mynetworks,re _mynetworks,reject ject -o smtpd_data_restrictions=reject_unauth_pipelining -o smtpd_end_of_data_restrictions= -o mynetworks= mynetworks=127.0.0.0/8 127.0.0.0/8 -o smtpd_error_sle smtpd_error_sleep_time=0 ep_time=0 -o smtpd_soft smtpd_soft_error_limit=1 _error_limit=1001 001 -o smtpd_hard_e smtpd_hard_error_limit=1000 rror_limit=1000 -o smtpd_client_connection_count_limit=0 -o smtpd_client_connection_rate_limit=0 -o receive_override_options=no_header_body_checks,no_unknown_recipient_checks Debemos de configurar los archivos ldap-accounts, ldap-aliases, ldap-domains, ldap-gid, ldap-maildrop, ldap-transport, ldap-uid con el fin de habilitar el uso de

los usuarios y dominios virtuales. #pico /etc/postfix/ ldap-accounts l dap-accounts

53

Proyecto Plataforma de Correos.

server_host = 127.0.0.1 server_port = 389 search_base = ou=Users,dc= grupo9 ,dc=com query_filterr = (&(objectClass query_filte (&(objectClass=mailAccou =mailAccount)(mailenabl nt)(mailenable=OK)(mail=%s)) e=OK)(mail=%s)) result_attribute result_attri bute = mailbox version = 3 expansion_limit = 1 #pico /etc/postfix/ ldap-aliases

server_host = 127.0.0.1 search_base = ou=Users,dc= grupo9 ,dc=com query_filterr = (&(objectClass query_filte (&(objectClass=mailAccou =mailAccount)(mailalias nt)(mailalias=%s)(mailenab =%s)(mailenable=OK)) le=OK)) result_attribute result_attri bute = mail version = 3 #pico /etc/postfix/ ldap-domains

server_host = 127.0.0.1 server_port = 389 search_base = ou=mailDomains,dc=mandriva,dc=com query_filterr = (&(objectClass query_filte (&(objectClass=mailDomai =mailDomain)(virtualdomai n)(virtualdomain=%s)) n=%s)) result_attribute result_attri bute = virtualdomai virtualdomainn version = 3 #pico /etc/postfix/ ldap-gid

server_host = 127.0.0.1 server_port = 389 search_base = ou=Users,dc= grupo9 ,dc=com query_filterr = (&(objectClass query_filte (&(objectClass=mailAccou =mailAccount)(mail=%s)(mail nt)(mail=%s)(mailenable=OK)) enable=OK)) result_attribute result_attri bute = gidNumber  version = 3 expansion_limit = 1 #pico /etc/postfix/ ldap-maildrop l dap-maildrop

server_host = 127.0.0.1 server_port = 389 search_base = ou=Users,dc=grupo9,dc=com query_filterr = (&(objectClass query_filte (&(objectClass=mailAccou =mailAccount)(mailenabl nt)(mailenable=OK)(mail=%s)) e=OK)(mail=%s)) result_attribute result_attri bute = maildrop version = 3 #pico /etc/postfix/ ldap-transport l dap-transport

server_host = 127.0.0.1 server_port = 389 search_base = ou=Users,dc= grupo9 ,dc=com query_filterr = (&(objectClass query_filte (&(objectClass=mailAccou =mailAccount)(mailenabl nt)(mailenable=OK)(mail=%s)) e=OK)(mail=%s)) result_attribute result_attri bute = mailhost 54

Proyecto Plataforma de Correos.

result_format = smtp:[%s] version = 3 #pico /etc/postfix/ ldap-uid

server_host = 127.0.0.1 server_port = 389 search_base = ou=Users,dc= grupo9 ,dc=com query_filterr = (&(objectClass query_filte (&(objectClass=mailAccou =mailAccount)(mail=%s)(mail nt)(mail=%s)(mailenable=OK)) enable=OK)) result_attribute result_attri bute = uidNumber  version = 3 expansion_limit = 1 Debemos reiniciar el Postfix para que se apliquen los cambios efectuados.

#/etc/init.d/postfix restart

6.9 Configuración de Dovecot Debemos borrar todo el contenido del archivo dovecot.conf ya que éste no nos sirve para lo que queremos realizar. realizar.

#echo "" > /etc/dovecot/dovecot.conf  Proce Procedem demos os a editar editar dicho dicho archivo archivo,, que que deberí debería a estar estar compl completa etamen mente te en blanco.

#pico /etc/dovecot/dovecot.conf  El archivo debe quedar de ésta forma, en donde se debe especificar el dominio, entre otras cosas.

 protocols = imap imaps pop3 pop3s listen = 0.0.0.0 login_greeting login_greet ing = grupo9.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 55

Proyecto Plataforma de Correos.

info_log_path = /var/log/dovecot.log # IMAP configuration  protocol imap { mail_plugins = quota imap_quota } # POP3 configuration  protocol pop3 { pop3_uidl_format 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/dove /var/run/dovecot/auth-ma cot/auth-master  ster  mode = 0660 user = dovecot group = mail }

}

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

}

56

Proyecto Plataforma de Correos.

Dejamos en blanco el archivo dovecot-ldap.conf .

#echo "" > /etc/dovecot/dovecot-ldap.conf  Procedemos a editarlo.

#pico /etc/dovecot/dovecot-ldap.conf  Debemo Debemoss agrega agregarr las siguie siguiente ntess líneas líneas,, en donde donde se debe debe especi especific ficar ar el dominio, entre otras cosas.

hosts = 127.0.0.1 auth_bind = yes ldap_version = 3  base = dc= grupo9 ,dc=com scope = subtree user_attrs = homeDirectory=home,uidNumber=uid,mailbox=mail,mailuserquota=quota=maildir:stor  age user_filter = (&(objectCla (&(objectClass=mailAcco ss=mailAccount)(mail=%u)(mai unt)(mail=%u)(mailenable=OK lenable=OK)) ))  pass_attrs = mail=user,userPassword=password  pass_filter ass_filter = (&(objectClas (&(objectClass=mailAcco s=mailAccount)(mail=%u)(mail unt)(mail=%u)(mailenable=OK enable=OK)) )) default_pass_scheme = CRYPT user_global_gid = mail Ahora debemos ajustar los derechos para poder autorizar a Dovecot, con el fin de que éste pueda utilizar los derechos UID y GID cuando se almacena el mensaje en el Maildir de cada usuario.

# dpkg-statoverride --update --add root dovecot 4755 /usr/lib/dovecot/deliver  Reiniciamos el servicio Dovecot.

# /etc/init.d/dovecot restart

57

Proyecto Plataforma de Correos.

6.10 Configuración de Amavis. Se configurará con el fin de que el Postfix pase los correos a Amavis. Éste, de igual forma lo pasará a Sapamassassin y a CalmAV para que realicen el respectivo escaneo contra spam y contra antivirus. Luego de haber aprobado el mensaje por parte del servicio Amavis, éste debe reinyectar el mensaje a Postfix. Definir los filtros que utilizará Amavis en el archivo 15-content_filter_mode.

#pico /etc/amavis/conf.d/15-content_filter_mode Se deben descomentar las siguientes líneas, si se desea, se puede borrar todo el contenido de éste archivo de tal forma que sólo queden las siguientes líneas.

use strict; @bypass_virus_checks_map @bypass_vi rus_checks_mapss = ( \%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; Editar el archivo 50-user .

#pico /etc/amavis/conf.d/50-user  El archivo debe ser parecido a esto.

use strict; $pax='pax'; 1; Se debe crear el usuario clamav y agregarlo al grupo amavis.

#adduser clamav amavis

58

Proyecto Plataforma de Correos.

Editar el archivo 05-domain_id para especificar el dominio con que trabajará Amavis.

#pico /etc/amavis/conf.d/05-domain_id Debe se parecido a esto.

use strict; #chomp($mydomain = `head -n 1 /etc/mail #chomp($mydomain /etc/mailname`); name`); chomp($mydomainn = `grupo9.com`); chomp($mydomai @local_domains_acl @local_doma ins_acl = ( ".$mydomain" ); 1; # insure a defined defined return Editar el archivo 20-debian_defaults, con el fin de definir el etiquetado los virus, spam y los niveles que Amavis utilizará para etiquetar a éstos.

#pico /etc/amavis/conf.d/20-debian_defaults Debemos asegurarnos que las siguientes líneas estén parecidas a éstas.

Nota: La plabra ***SPAM***  aparecerá delante del asunto del mensaje en el caso de que sea un spam. Si todos los mensajes que recibimos o enviamos los detecta como spam, debemos aumentar los niveles que están en éste archivo.

$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_ $s a_ds dsn_ n_cu cuto tofff_ f_le leve vell = 10 10;; # sp spam am le leve vell be beyo yond nd wh whic ichh a DS DSN N is no nott se sent nt $forward_method = 'smtp:127.0.0.1:100 $forward_method 'smtp:127.0.0.1:10025'; 25'; $notify_method = $forward_me $forward_method; thod; $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 $fi nal_ba _bad_h d_head eader_ er_des destin tinyy = D_PASS; # False-positive prone (for spam)

59

Proyecto Plataforma de Correos.

Reiniciar los servicios amavis, clamav-daemon, clamav-freshclam para que se apliquen los cambios efectuados.

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

6.11 Configuración Spamassassin Se edita el archivo local.cf en donde se definirá el nivel de escaneo y las bases de datos que se utilizarán.

#pico /etc/spamassassin/local.cf  Debemos asegurarnos que las siguientes líneas estén descomentadas.

Nota: Si los mensajes que recibimos o enviamos los detecta a todos como spam, debemos aumentar el score.

rewrite_header Subject *****SPAM***** report_safe 1 required_score 0.3 Dentro del mismo archivo, agregar las siguientes líneas, las cuales son las bases de datos que contienen el listado de los spam. Estas bases de datos se encuentran ubicadas en Internet.

# dcc use_dcc 1 dcc_path /usr/bin/dc /usr/bin/dccproc cproc #pyzor  use_pyzor 1  pyzor_path /usr/bin/py /usr/bin/pyzor  zor  #razor  use_razor2 1 razor_config /etc/razo /etc/razor/razor-agent. r/razor-agent.conf  conf  #bayes use_bayes 1 60

Proyecto Plataforma de Correos.

use_bayes_rules 1  bayes_auto_learn 1 Habilitar los plugin de Spamassassin, para esto debemos editar el archivo v310.pre.

#pico /etc/spamassassin/v310.pre Asegurarse que las siguientes estén 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 Se debe configurar Spamassassin de modo que se ejecute como demonio, editando el archivo spamassassin.

#pico /etc/default/spamassassin El archivo debe ser parecido al siguiente.

ENABLED=1 OPTIONS="--create-prefss --max-children 5 --helper-home OPTIONS="--create-pref --helper-home-dir" -dir" PIDFILE="/var/run/spamd.pid" #NICE="--nicelevell 15" #NICE="--niceleve CRON=0 Para que se apliquen los cambios efectuados, se debe reiniciar Spamassassin y Amavis.

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

61

Proyecto Plataforma de Correos.

6.12 Cetificados SSL Se procede a darle seguridad a la consola MMC y al Squirrelmail. Para esto se debe crear el directorio ssl dentro de apache2 .

#mkdir /etc/apache2/ssl/ Pedimos el certificado para la MMC.

#openssl req -new -x509 -keyout /etc/apache2/ssl/ server.key  –out /etc/apache2/ssl/ server.crt -days 365 -nodes Debemos de darle permisos a la llave server.key , con el fin que solo el root pueda realizar acción sobre ella.

#chmod 600 /etc/apache2/ssl/ server.key Pedimos el certificado para el Webmail Squirrelmail.

#openssl req -new -x509 -keyout /etc/apache2/ssl/ webmail.key –out /etc/apache2/ssl/ webmail.crt -days 365 -nodes Debemos de darle permisos a la llave webmail.key .

#chmod 600 /etc/apache2/ssl/ webmail.key

6.13 Configuraciòn Sitio Web MMC Se debe tener claro, que para éste caso trabajaremos con Host Virtuales (Un Vhost para la MMC y otro para el Squirremail). Crear el sitio Web mmc , el cual cumplirá la función de redireccionar a mmcs (De forma segura).

62

Proyecto Plataforma de Correos.

#pico /etc/apache2/sites-available/mmc Éste sitio debe contener las siguientes líneas.

ServerName server1.grupo9.c server1.grupo9.com om RewriteEngine On RewriteCond %{HTTPS} off  RewriteRule (.*) https://s https://server1.grupo9.com erver1.grupo9.com/mmc /mmc Creamos el sitio Web mmcs.

#pico /etc/apache2/sites-available/mmcs Éste sitio debe contener las siguientes líneas.

 NameVirtualHost *:443 ServerName server1.grupo9.c server1.grupo9.com om ServerAdmin Administrato [email protected] [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:+eNU LL mc/> AllowOverride None Order allow,deny Allow from all php_flag short_open_tag on SSLRequire %{SSL_CIPHER_USEKEYSIZE} %{SSL_CIPHER_USEKEYSIZE} >= 128 ErrorLog /var/log/apache2/mmc_error.log 63

Proyecto Plataforma de Correos.

CustomLog /var/log/apache2/mmc_access.log combined LogLevel warn

64

Proyecto Plataforma de Correos.

6.14 Configuración Sitio Web Squirremail Por defecto, cuando se instala Squirrelmail, éste instala su sitio web escrito en php, hp, el cual ual se enc encuentr entra a en la ruta ruta con con el nombr ombre e de apach pache. e.co conf  nf  deseamos mos config configura urarr de forma forma  /usr/share/squirrelmail/config/apache.conf  Si desea básica el Squirrelmail, simplemente realizamos un enlace entre éste sitio y el apache2.

#ln -s /usr/share/squirrelmail/config/apache.conf /etc/apache2/conf.d/apache.conf  Reiniciamos el apache2 para que se apliquen los cambios.

#/etc/init.d/apache2 restart De éste modo se puede acceder al Squirrelmail via Web digitando en nuestro navegador localhost .

Forma Segura (SSL) Se procede a configurar el webmail Squirrelmail de forma segura. Crear el sitio Web webmail , el cual cumplirá la función de redireccionar a webmails (De forma segura). Algo que se debe tener en cuenta, es que si

tenemos configurado el Squirrelmail de forma básica, simplemente debemos elimnar el archivo  /etc/apache2/conf.d/apache2  para que entren en conflicto con con el siti sitio o del del Squi Squirre rrelma lmailil que que será será conf config igur urad ado o en  /etc/apache2/sitesavailable/ 

#rm /etc/apache2/conf.d/apache.conf  Luego se procede a configurar el sitio Web del Squirrelmail.

#pico /etc/apache2/sites-available/webmail Éste sitio debe contener las siguientes líneas.

65

Proyecto Plataforma de Correos.

ServerName webmail.grup webmail.grupo9.com o9.com RewriteEngine On RewriteCond %{HTTPS} off  RewriteRule (.*) https://we https://webmail.grupo9 bmail.grupo9.com .com Creamos el sitio Web webmails.

#pico /etc/apache2/sites-available/webmails Éste sitio debe contener las siguientes líneas, en las cuales se define el respectivo certificado y llave para la seguridad del sitio Web.

Alias /squirrelmai /squirrelmaill /usr/share/sq /usr/share/squirrelmail uirrelmail # users will prefer a simple URL like http://webmail.example.com  NameVirtualHost *:80 DocumentRoot /usr/share/s DocumentRoot /usr/share/squirrelmail quirrelmail ServerAdmin Administrat [email protected] [email protected] ServerName webmail.grup webmail.grupo9.com o9.com SSLEngine on SSLCertificateKeyFile ssl/webmail.key SSLCertificateFile ssl/webmail.crt SSLProtocol all SSLCipherSuite ALL:!ADH:!EXPORT56:RC4+RSA:+HIGH:+MEDIUM:+LOW:+SSLv2:+EXP:+eNU LL irrelmail> Options Indexes FollowSymLinks php_flag register_globals off  php_flag register_globals off  66

Proyecto Plataforma de Correos.

DirectoryIndex index.php # access to configtest is limited by default to prevent information leak  order deny,allow allow from all SSLRequire %{SSL_CIPHER_USEKEYSIZE} %{SSL_CIPHER_USEKEYSIZE} >= 128 # redirect to https when available (thanks [email protected]) # # Note: There are multiple ways to do this, and which one is suitable for  # your site's configurati configuration on depends. Consult the apache documentation if  # you're unsure, as this example might not work everywhere. # # # # ail> # RewriteEngin RewriteEnginee on # RewriteCond %{HTTPS} !^on$ [NC] # RewriteRule . https://% https://%{HTTP_HOST}%{R {HTTP_HOST}%{REQUEST_URI} EQUEST_URI} [L] # # # Debemos darle la opción a apache2 que además escuche por el puerto 443 (Seguridad). Editar el archivo ports.conf .

#pico /etc/apache2/ports.conf  Agregar la línea Listen 443 de tal forma que el archivo quede de la siguiente forma.

Listen 80 Listen 443 Procedemos a habilitar los sitios Web creados.

67

Proyecto Plataforma de Correos.

#a2ensite mmc #a2ensite mmcs #a2ensite webmail #a2ensite webmails Debemos reescribir los módulos de los sitios siti os Web.

# a2enmod rewrite Cargar el módulo ssl para que pueda funcionar la seguridad de los l os sitios Web.

# a2enmod ssl Reinicira el servicio Web para que aplique los cambios efectuados.

# /etc/init.d/apache2 restart

6.15 Configuración Pluging MMC Procedemos a configurar el plugin-base, el cual comunicará el Samba con la MMC. Con esto se obtiene el buen funcionamiento de la interfaz web de la MMC.

#pico /etc/mmc/plugins/base.ini El contenido debe ser parecido al siguiente.

[ldap] # LDAP we are connected to host = 127.0.0.1 # LDAP base DN  baseDN = dc= grupo9 , dc=com # Users location in the LDAP  baseUsersDN = ou=Users, %(basedn)s # Groups location in the LDAP  baseGroupsDN = ou=Groups, %(basedn)s # Computers Locations 68

Proyecto Plataforma de Correos.

 baseComputersDN = ou=Computers  baseComputersDN ou=Computers,, %(basedn)s # LDAP manager  rootName = cn=admin, %(basedn)s %( basedn)s  password = sena2008 # If enabled, the MMC will create/move/delete the home of the users # Else will do nothing, but only write user informations into LDAP userHomeAction = 1 # Skeleton directory to populate a new home directory skelDir = /etc/skel # If set, all new users will belong to this group when created defaultUserGroup defaultUse rGroup = Domain Users # Default home directory for users defaultHomeDir defaultHome Dir = /home # user uid number start uidStart = 10000 # group gid number start gidStart = 10000 # LDAP log file path logfile = /var/log/ld /var/log/ldap.log ap.log # FDS log file path # logfile = /opt/fedora-ds/slapd-hostname/logs/access # you can specify here where you can authorized creation of your homedir  # default is your defaultHomeDir  # example: # authorizedHomeDir = /home, /home2, /mnt/depot/newhome [backup-tools] # Path of the backup tools  path = /usr/lib/mmc /usr/lib/mmc/backup-tool /backup-toolss # Where are put the archives destpath = /home/samba/archives Editar Editar el plugin plugin mail.ini  para para pode poderr trab trabaj ajar ar con con los los usua usuari rios os y domin dominio ioss virtuales.

#pico /etc/mmc/plugins/mail.ini El archivo debe ser parecido a éste.

[main] disable = 0 # Enable virtual domain support vDomainSupport vDomainSuppo rt = 1 # If vdomain enabled, OU where the domain are stored vDomainDN = ou=mailDomains, dc= grupo9, dc=com [userDefault] # For Postfix delivery 69

Proyecto Plataforma de Correos. mailbox = %homeDir %homeDirectory%/Maildir/ ectory%/Maildir/

# For Dovecot delivery mailbox = maildir:%homeDir maildir:%homeDirectory%/Maildir/ ectory%/Maildir/

# Default quota (200 MBytes) set for user  #Ésta línea indica la cuota en Disco para el buzón de los correos. mailuserquota mailuserquo ta = 204800

Editar el plugin network.ini para administrar los servicio DNS y DHCP.

#pico /etc/mmc/plugins/network.ini El archivo debe ser parecido al siguiente.

[main] disable = 0 [dhcp] dn = ou=DHCP,dc= grupo9 ,dc=com  pidfile = /var/run/dhcp /var/run/dhcpd.pid d.pid init = /etc/init.d/dhcp3-server  logfile = /var/log/da /var/log/daemon.log emon.log leases = /var/lib/dhcp3/dhcpd.leases [dns] dn = ou=DNS,dc= grupo9 ,dc=com  pidfile = /var/run/bind /var/run/bind/run/named.pi /run/named.pidd init = /etc/init.d/bind9 logfile = /var/log/da /var/log/daemon.log emon.log  bindroot = /etc/bind/ bindgroup = bind

# dnsreader = DNS Reader  # dnsreaderpas dnsreaderpassword sword = DNSReaderPassw DNSReaderPassword ord Iniciar Iniciar la mmc-agent  para que se apliquen los cambios efectuados y se ponga en funcionamiento.

#/etc/init.d/mmc-agent start Reiniciar el Servicio DNS.

# /etc/init.d/bind9 restart

70

Proyecto Plataforma de Correos.

6.16 Interfaz MMC Para conectarse a la interfaz web de la MMC, se debe digitar en nuestro navegador  http://127.0.0.1 ó http://192.168.0.19 http://192.168.0.19.. Cuando se tenga definido el nombre de host y el nombre de dominio (FQDN) en la consola de administración MMC se pueda ingresar con http://server1.grupo9.com/mmc Como Login digitamos “root”  y como password “sena2008” , dicho password es la contraseña del administrador del LDAP.

Una ves haber ingresado, debe aparecer la consola de administración MMC.

71

Proyecto Plataforma de Correos.

Procedemos a configurar la respectiva zona en el DNS. Para esto debemos dar  clic en “Network” , luego “Add DNS Zone” , llene los campos requeridos, luego “Create” para guardar los cambios.

Se debe crear un alias al primer miembro de la zona DNS, de tal forma que el host virtual del Squirremail sea accesible. Para esto se debe dar clic en “DNS  Zones” , luego en el ícono de la “Lupa” .

72

Proyecto Plataforma de Correos.

Ahora, Dar clic en el icono del "lápiz y papel" .

Digitar “webmail” como alias del host “server1” , luego dar clic en “Confirm” para confirmar la configuración.

Al confirmar los cambios aplicados, debe aparecer algo como esto.

73

Proyecto Plataforma de Correos.

Se debe editar el ámbito DHCP. Para esto, dar clic en "DCHP subnets" , luego en el icono del "lápiz y papel" .

74

Proyecto Plataforma de Correos.

Llenar los campos requeridos, de tal forma que sea parecida a la ilustración de la imagen imagen siguient siguiente, e, luego luego dar clic clic en "Confirm"  para guardar los cambios realizados.

Al confirmar los cambios efectuados, debe aparecer álgo como esto.

75

Proyecto Plataforma de Correos.

Hasta éste punto la configuración del servicio DHCP está completa, de ésta forma y se puede iniciar dicho servicio. Para esto se debe hacer clic en "Network services management" , luego clic en el triángulo verde para iniciar el

servicio servici o DHCP. DHCP.

Para poder utilizar la cuenta de correo del Administrador se debe habilitar, Para esto, dar clic en "Users", luego luego “List”. Dar clic en el icono de "Lápiz y Papel" Papel" en la cuenta correspondiente del Administrator. Administrator.

Digitar la dirección de correo en el campo “Mail address” .

Nota: Se debe habilitar el plugin de correo e ingresar la cuota en disco deseada, si no se le asigna alguna cuota, ésta cuenta tomará la cuota por  defecto (200 MB), Lugo guarde los cambios los cambios efectuados; ó se le

76

Proyecto Plataforma de Correos.

puede dar la opción de la cuota ilimitada. Quizás deba ingresar la cuota nuevamente (ya que la MMC la sobrescribe con el valor predeterminado) y guardar los cambios. Proceder a crear alguna cuenta de usuario del dominio. Dar clic en "Add" . Se deben llenar los campos requeridos, sin embargo los campos obligatorios que debemos llenar son: Login, Password, Confirm Password, Name, Mail address. Para éste caso, crearemos dos usuarios: rafa, jeyson. Se mostrará primero la plantilla del usuario rafa y luego la del usuario jeyson.

77

Proyecto Plataforma de Correos.

78

Proyecto Plataforma de Correos.

79

Proyecto Plataforma de Correos.

Para trabajar con dominios virtuales debemos realizar los siguientes pasos. El dominio virtual será “helplan.com” .

Ahora, procedemos a darle la opción a cada usuario para que pueda trabajar  con usuarios y dominios virtuales. Usuario rafa.

80

Proyecto Plataforma de Correos.

Buscamos la sección de Mail plugin (Editando el usuario rafa). En ésta prueba trabajaremos de la siguiente forma: Usuario Real: rafa Usuario Virtual: rafael  Dominio Real: grupo9.com Dominio Virtual: helplan.com Al final, confirmamos los cambios.

81

Proyecto Plataforma de Correos.

Buscamos la sección de Mail plugin (Editando el usuario  jeyson). En ésta prueba trabajaremos de la siguiente forma: Usuario Real: jeyson Usuario Virtual: jahenaoal  Dominio Real: grupo9.com Dominio Virtual: helplan.com Al final, confirmamos los cambios.

82

Proyecto Plataforma de Correos.

7 CONFIGURACIÓN DEL LADO DEL CLIENTE (Windows XP. Aplica para otras versiones de Windows).

Para unir algún equipo cliente XP al dominio grupo9.com debemos realizar los siguientes pasos. •

Se debe cerciorarse que ningún otro DHCP esté corriendo en nuestra propia red.



Inicie el Sistema de Windows e ingrese como Administrador local.



Cerciorars Cerciorarse e que la configurac configuración ión de la tarjeta tarjeta de red esté activada para usar DHCP.



Clic derecho en “MI PC” , luego “Propiedades” .



Clic en la pestaña “Nombre de equipo” , luego “Cambiar” .

83

Proyecto Plataforma de Correos. •

Automáticamente ya debe estar definido el nombre de host “clon” . Seleccionar la casilla de “Dominio” y escribir el dominio al que quiere pertenece “GRUPO9” . Ojo, se digita como un nombre Netbios. Luego “Aceptar” .

Aparecerá la siguiente ventana, en la cual debemos ingresar la cuenta del “Administrator” y la contraseña “sena2008” .

84

Proyecto Plataforma de Correos.

Esperar unos segundos. Debe aparecer una pequeña ventana dándo la bienvenida al dominio GRUPO9. Luego “Aceptar” .

Lueg Luego, o, el quip quipo o nos nos pedi pedirá rá que que se deba deba rein reinic icia iarr el sist sistem ema. a. Clic Clic en “Aceptar” para todo.

Luego de que el Sitema haya reiniciardo, ingresar alguna de las cuentas creada anteriormente (rafa ó jeyson). Además debemos dar la opción al inico de seción, que nos loguearemos contra un dominio y no contra el sistema.

85

Proyecto Plataforma de Correos.

8 Comprobación del Servidor de Correos.

8.1 Usarios y Dominios Virtuales. Para Para ingr ingres esar ar al corre correo o elec electró tróni nico co desd desde e el PDC PDC o desd desde e el clie client nte e XP debemos realizar los siguientes pasos. •

Digita Digitarr en nuestr nuestro o navega navegador  dor  webmail.grupo9.com Nos darem daremos os cuenta

que

de

inmediato

se

redireccionará

a

https://webmail.grupo9.com (De forma segura). Pedirá que se debe obtener un certificado para poder visualizar el contenido del sitio Web. Clic en OK.

86

Proyecto Plataforma de Correos. •

En la siguiente imagen muestra si aceptamos el respectivo certificado para poder conectarce de forma segura al sitio Web. Clic en OK.



De ésta forma, iniciamos sesión sesión con la cuenta de correo con cont contra rase seña ña sena2008  (Passw (Password ord del [email protected] y con usuario).

87

Proyecto Plataforma de Correos.

Una Una ves ves de habe haberr ingr ingres esad ado o al corr correo eo,, proc proced edem emos os a envi enviar ar un corr correo eo electrónico a la cuenta  [email protected] (helplan.com es un dominio virtual) ó podemos enviar el mensaje a la cuenta  [email protected]

En teoría, el correo ha haberle llegado al buzón del usuario  jeyson. Para probar, probar, ingresamos a la cuenta  [email protected] con contraseña sena2008

88

Proyecto Plataforma de Correos.

Podemos darnos cuenta que el correo fue recibido.



Nota: Si el corr correo eo aún aún no ha lleg llegad ado, o, debe debemo moss espe espera rarr unos unos minutos, ya que el proceso de enviar y recibir correos electrónicos es un suceso que consume recursos de cómputo.

8.2 Comprobación AntiSpam. Para realizar la comprobación si el antispam spamassassin está en buen funcionamiento,

debemos

enviar

un

mensaje

desde

la

cuenta

[email protected] a la cuenta  [email protected], con la palabra “ viagra” 

varias veces, y como asunto digitar  “viagra” . Una ves hecho esto, revisamos la cuenta  [email protected] y observamos el siguiente etiquetado que spamassassin le agrega al mensaje.

89

Proyecto Plataforma de Correos.

8.3 Comprobación Antivirus. Para esto, probamos enviando un archivo adjunto .zip o .exe. El antivirus no acepta estos tipos de extenciones y los reconoce de inmediato como virus. Envi Enviar arem emos os un mens mensaj aje e desd desde e la cuen cuenta ta [email protected] a la cuent uenta a  [email protected] con el archivo adjunto  prueba.exe.

Una vez hecho esto, en pocos segundos, aparecerá el siguiente mensaje en la cuenta [email protected] anunciando que el mensaje que intentó enviar está catalogado como virus.

90

Proyecto Plataforma de Correos.

9 CONCLUSIÓN

Con el desarrollo de éste proyecto pro yecto nos damos cuenta de que el Software Libre intenta suplir una de las necesidades mas importantes en una infraestructura de red como lo es un servicio de directorio, en este caso es MDS el que nos brinda esa posibilidad de implementar este servicio en una de las distribuciones mas estables en el mundo del software libre como GNU/DEBIAN.

Además, se logró entender y explicar el funcionamiento, y facil administración del servidor de correos mediante el MTA MTA Postfix y sus respectivos soportes que tiene frente a otras aplicaciones como lo son Dovetoc, Amavis, Squirrelmail, SSL, entre otras.

Con la elaboración de éste proyecto, logramos entender una gran cantidada de conceptos que no estaban estipulados dentro de los objetivos de éste, por lo que nos lleva a decir que cumplió satisfactoriamente los objetivos especificados dentro del proyecto.

91

Proyecto Plataforma de Correos.

10 BIBLIOGRAFÍA

Para la realización de éste proyecto, se tuvieron varios sitios Web que nos sirveron de mucha ayuda. Dentro de éstos están. •

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



http://linuxsilo.net/articles/postfix.html



http://es.wikipedia.org/wiki/Wikipedia:Portada



http://wiki.red-sena.net/



http://www.arrakis.es/~pfabrega/t1.html

92

View more...

Comments

Copyright ©2017 KUPDF Inc.
SUPPORT KUPDF