Fedora MAIL

Embed Size (px)

Citation preview

INSTALACIN Y ADMINISTRACIN DE UN SERVIDOR DE CORREO NO SEGURO INTEGRADO CON LDAP. SISTEMA OPERATIVO: FEDORA 16 SERVICIO NACIONAL DE APRENDIZAJE SENA CENTRO DE SERVICIOS Y GESTIN EMPRESARIAL DUBERNEY BERRO OLAYA JEFFERSON SOSA CIFUENTES.

INSTRUCTOR: FELIPE LONDOO

MEDELLN AGOSTO DE 2011

El servidor de correo es ampliamente utilizado en una unidad corporativa o empresa en su red interna, sabemos que en los servidores constantemente se necesitan procesar chequeos, informacin, avisos, anuncios de seguridad e informacin a los empleados. Esta informacin es enviada a travs de correo electrnico, es aqu donde es conveniente utilizar direcciones de correo corporativas. Uno de los sistemas de correo ms utilizados es el Postfix. Los sistemas basados en Red Hat como CentOS o Fedora proporcionan la posibilidad de este servicio. Para qu se integra con LDAP? El servidor LDAP proporciona ciertas funciones que integradas al servicio de correo garantizan la seguridad y facilidad en la empresa o corporacin, con LDAP se puede por ejemplo controlar el ingreso de algunos usuarios y bloquear usuarios malintencionados a travs de ACL, proporciona listas de correo, alias de usuario e identificacin de los mismos. INSTALACIN DE POSTFIX. Recuerde que el servicio de correo trabaja con el protocolo smtp el cual escucha por el puerto 25, donde el MTA (Agete de transferencia de correo) recibe peticiones. Para instalar este servicio ejecute:yuminstallpostfix

NOTA IMPORTANTE: Asegurese que el puerto 25 est activado y escuchando.

Hagmos una prueba:

Cuando usted instala el Postfix podra decirse que ya tiene montado un servicio de correo local, en donde se asume que localhost es el dominio, y los usuarios locales de su mquina son los usuarios de correo, esto es funcional por el hecho de que usted puede probar si el servicio de correo est bien.NOTA IMPORTANTE: Si la shell no le reconoce el comando mail instale. Ejecute yuminstallmailx

La sintaxis para enviar un correo a un usuario es la siguiente:echomensajemailsasuntodireccin

Por ejemplo:echoteextraomuchomailssaludonoona@localhost

Ejecutando el comando mail desde el usuario local al que se envi se verifica que haya recibido u mail. Vase el siguiente ejemplo:

NOTA IMPORTANTE: Recuerde que este procedimiento es slo una prueba en la mquina local en donde el root enva un mail a un usuarios cualquiera, lo que no es igual en el caso de envar un mail a un usuario LDAP o en una mquina remota o desde un usuario de correo. Con esto solo se comprueba que el servicio de mail est funcionando correctamente.

El servicio de correo utiliza un MTA para enviar los correos, por defecto el sistema utiliza sendmail para enviarlos, en nuestro caso debemos utilizar postfix como MTA, para ello ejecute: Con este comando puede ver las alternativas de agente de envo de correo disponibles alternativesdisplaymta

Con el siguiente comando predeterminado, ejecute:alternativesconfigmta

configura

postfix

como

MTA

E ingrese el numero del servicio que va a utilizar, es decir, postfix.

Al instalar postfix se crea el archivo /etc/postfix/main.cf en donde se configura el servicio postfix para que escuche los clientes locales y externos.Configurando main.cf

En este archivo se encuentran algunos parmetros a modificar. Busque, descomente y Modifique las siguientes lineas:mydomain=abcinc.com myorigin=$mydomain inet_interfaces=all inet_interfaces=localhost mydestination=$myhostname,localhost.$mydomain,localhost, mynetworks=192.168.20.0/24,127.0.0.0/8 home_mailbox=Maildir/

EXPLICACIN Y NOTA IMPORTANTES QUE NO PUEDE DEJAR DE LEER:

en la opcin mydomain usted debe poner su dominio. En myorigin se configura el origen de los correos internos de la empresa, y el $mydomain indica que ser desde los host que hagan parte de su dominio. En inet_interfaces usted configura desde qu direcciones ip o rangos de ip se enviarn y recibirn los correos, por razones de seguridad generalmente no se habilita la opcin

inet_interfaces=all, pero para pruebas locales puede habilitarla. La linea mydestination=$myhostname,localhost.$mydomain,localhost indica hacia dnde sern enviados los correos, las opciones predeterminadas son el dominio suyo y el equipo local, por defecto al final de la linea viene sin $mydomain, si usted va a trabajar simplemente en su dominio agreguele la opcion $mydomain al final, si va a integrar correo con ldap debe quitarsela.

La linea mynetworks indica la red del domino por donde viajarn los paquetes, all se ingresa la ip de su red ms la loopback que es la local, Si no desea configurar la red de esta manera puede dejar que el servidor la detecte, busque la variable para este caso, la linea mynetworks_style y descomente las opciones que desee, no ingrese direcciones ip en esta lineas, pues l determina en qu red y qu ip tiene el equipo. NOTA: Usted puede configurar mynetworks_style o mynetworks, pero no puede configurar las dos, si configura una asegurese de que las otras lineas estn descomentadas. La opcin home_mailbox indica qu directorio almacenar los correos de cada usuario, hay 2 opciones una es Mailbox y la otra es Maildir/ la diferencia entre ellas es que Maibox crea un directorio por cada usuario sonde se almacenan todos los correos, mientras que Maildir/ crea un directorio ms organizado donde separa los leidos, no leidos y otros por carpetas separadas. Elija su preferencia y descomente. Despus de esto guarde los cambios /etc/postfix/main.cf y reinicie el servidor: en el archivo

Integrando Correo con LDAP Para que el servicio de correo funcione correctamente con los usuarios del servidor LDAP es necesario configurar algunas lineas de ms en el archivo /etc/postfix/main.cf donde se especificar qu debe hacer postfix con los usuarios LDAP.

1.) Cree el usuario vmail necesario para la integracin de correo en la red, este usuario almacena las carpetas donde se almacenan los correos, por lo que tiene que tener permisos de escritura.useraddd/var/vmailmu700vmail

NOTA: -m es para que cree el home si no existe, -u para Indicarle el uid que en nuestro caso es 700

2.)

Edite el archivo /etc/postfix/main.cf y aada las siguientes lineas:

virtual_mailbox_domains=abcinc.com virtual_mailbox_base=/var/vmail virtual_mailbox_maps=100 virtual_uid_maps=static:700 virtual_gid_maps=static:700 virtual_mailbox_maps=ldap:/etc/postfix/infousuario

Explicacin: Las lineas se refieren a:virtual_mailbox_domains=, El dominio suyo. virtual_mailbox_base=, El home del usuario vmail. virtual_uid_maps=static:, El user id del usuario vmail. virtual_gid_maps=static:, El id del grupo del usuario vmail. virtual_mailbox_maps =, Se refiere al archivo que lee el servidor.

(Este archivo lo crear usted en el siguiente paso)

3.)

Cree el archivo en /etc/postfix/ con un nombre de su preferencia, pero que sea el mismo de la linea virtual_mailbox_maps = En el archivo main.cf Vase por ejemplo:

nano/etc/postfix/infousuarios

Y edtelo ingresndole estos parmetros:Server_host=192.168.20.3 Server_port=389 search_base=dc=abcinc,dc=com query_filter=mail%s result_attribute=mailbox exression_limit=1

Explicacin: La lineaServer_host=,especificalaipdelservidor,puedeponerla

loopbacksilodesea. La linea Server_port especifica

el puerto de comunicacin con

LDAP.

search_basese refiere a el dominio donde buscar el sistemaquery_filteres el filtro que manejar el sistema de corre, es decir

haia dnde irn los correos. result_attribute se refiere al atributo que el postfix usa para saber dnde almacenar los correos entrantes. Expression_limites generalmente 1. Despus de esto reinicie el servicio.servicepostfixrestart

4.)

En el LDAP debe importar el archivo mail.schema que permite aadir las clases y atributos de correo necesarias. Descargue el archivo mail.schema y cpielo en /etc/openldap/schema/. Edite /etc/openldap/slapd.conf y aada la linea que incluya mail.schema. As:

cpmail.schema/etc/openldap/schema

Edite el archivo /etc/openldap/schema/mail.schema y comente todo el parrafo de las lineas 60 hasta el 64 por lo que generar problemas y deshabilitar el puerto 389 en Fedora, en CentOS y en Red Hat no dejar reiniciar el servicio. Hgalo as:

Luego edite slapd.conf incluyendo el archivo mail.schema

5.) su

En Apache Directory Studio u otro manager grfico de eleccin aada a los usuario ldap la clase mailAccount agreguele los atributos mailbox, mailalias y mailenable, este ultimoatributo ser ok.

Vase por ejemplo:

Con esto puede decirse que ahora ha integrado el servicio de correo con el servidor LDAP, donde cada usuario virtual puede tener su cuenta de correo.

Autenticacin de correo con Dovecot El sistema de Correo hace necesaria la autenticacin para garantizar que quien recibe los correos es el destinatario correcto y que a quien enva un mensaje es la persona indicada, por razones de seguridad y autenticacin es necesaria la participacin de un componente que garantice este aspecto. Dovecot es un servidor de correo IMAP y POP3 para Linux, que garantiza la seguridad en el sistema de correo. Dovecot es una excelente opcin tanto para instalaciones pequeas y grandes. Es rpido, fcil de instalar, no requiere la administracin especial y usa muy poca memoria. 1.) Instale Dovecot ejecutando yuminstalldovecot

NOTA IMPORTANTISIMA:

En caso de fedora puede que al instalar el dovecot Le cree la carpeta de archivos /etc/dovecot pero NO LE INSTALE EL SCRIPT DE ARRANQUE /etc/init.d/dovecot. En tal caso Descrguelo copielo a /etc/init.d y cambiele Los permisos con chmod 755, recuerde que el propietario en usuario y grupo debe ser Root. Descrgue el archivo de este link http://sites.google.com/site/netsukplus/descargas/dovecot

2.)

copie el archivo /usr/share/doc/dovecot 2.0.15/exampleconfig/dovecotldap.conf.ext al directorio /etc/dovecot.

cp/usr/share/doc/dovecot2.0.15/exampleconfig/dovecotldap.conf.ext/etc/dovecot

Edtelo este archivo descomentando lineas

hosts=127.0.0.1 En donde ingresar su la ip del servidor. hosts=127.0.0.1 sasl_bind=no tls=no auth_bind=no ldap_version=3 basedc=abcinc,dc=comEn donde ingresar su dominio. scope=subtree

Despus se encontrar con la linea

#user_attrs=homeDirectory=home,uidNumber=uid,gidNumber=gid

dejela comentada, y copie abajo la linea user_attrs = homeDirectory=home, esto se debe a que las cuenta agregada en LDAP solo debe leer hasta el directorio, pues si lee parametros como uid o gid crear conflicto ya que no se trata de un usuario normal sino virtual, por lo tanto solo deje esa linea hastahomeDirectory=home

Ms adelante se encontrar con las lineasuser_filter=(&(objectClass=posixAccount)(uid=%u))

Reemplacela por

user_filter=(&(objectClass=mailAccount)(mailenable=ok)(uid=%n))

Despus descomente la lineapass_attrs=uid=user,userPassword=password

Y finalmente reemplace la linea por la linea

pass_filter=(&(objcetClass=posixAccount)(uid=%u))

pass_filter=(&(objcetClass=mailAccount)(mailenable=ok)(uid=%u))

De modo que el archivo /etc/dovecot/ dovecot ldap.conf.ext debe quedar con esta sintaxis configuradahosts=127.0.0.1 sasl_bind=no tls=no auth_bind=no ldap_version=3 basedc=abcinc,dc=com scope=subtree user_attrs=homeDirectory=home user_filter=(&(objectClass=mailAccount)(mailenable=ok)(uid=%n)) pass_attrs=uid=user,userPassword=password pass_filter=(&(objcetClass=mailAccount)(mailenable=ok)(uid=%u))

Vase por ejemplo:

3.)

Ahora

vaya

al

archivo

/etc/dovecot/conf.d/10-

auth.conf y descomente ldap.conf.ext

la linea include auth

4.) Edite el archivo /etc/dovecot/conf.d/10mail.conf y descomente la linea mail_location (la linea 30) y las lineas mail_uid (la linea numero 109) y la linea mail_gid ( numero 110) y agregue vmail en su configuracin, es decir debe quedar as:mail_location=/var/vmail/%u/Maildir/ mail_uid=vmail mail_gid=vmail

5.) Edite el archivo /etc/dovecot/conf.d/auth ldap.conf.ext y descomente las lineas 5,6,9 y 10, de modo que quede as:passdb{ driver=ldap#PathforLDAPconfigurationfileseeexampleconfig/dovecotldap.conf.ext

args=/etc/dovecot/dovecotldap.conf.ext }

Y al final del archivo, descomente las lineas del 27 al 30, de modo que quede asuserdb{ driver=static args=uid=vmailgid=vmailhome=/var/vmail/%u/Maildir/ }

6.)

Edite el archivo /etc/dovecot/dovecot.conf, descomente la linea 21 y deje solo pop3 e imap como protocolos, la linea debe quedar as: (Recuerde que en Fedora esa linea la debe dejar solo con estos protocolos, ningunos otros)

protocolspopimap

Ms adelente descomente la linea 27 de modo que quede as:listen=*,::

Luego descomente la linea 39 y agregue la direccin de su subred, de modo que quede as:login_trusted_networks=192.168.20.0/24

Por ultimo y aunque viene configurado por defecto asegrese que las lineas 76,79,84 y 88 estn descomentadas.Probando la Autenticacin :

Para probar que realmente el Dovecot est autenticando los usuarios de LDAP puede probar en la mquina servidora local con telnet. Puede hacerlo con la loopback o la ip esttica que tiene el servidor, y comunicarse por el puerto 110 o 143. Por ejemplo: Realice los siguientes pasos: Ejecute en la terminal:

telnet127.0.0.1110 Trying127.0.0.1... Connectedto127.0.0.1. Escapecharacteris'^]'. +OKDovecotready. usermartha +OK passsena +OKLoggedin.

NOTA: lo que est en negrilla es la informacin que usted proporcionar, en este caso le estamos diciendo que se autentique con el usuario 'martha' y su contrasea es 'sena'. para salir ejecute quit.

Dicho esto es hora de probar cmo quedar el servicio para un usuario final que pueda recibir y enviar correos autenticndose con LDAP y con estrategias de seguridad. Para nuestro caso utilizaremos una maquina cliente con Windows 7 y un cliente de correo.

Instalando el cliente de correo en una mquina cliente:

NOTA IMPORTANTISIMA:

para la autenticacin de clientes de correo desde mquinas Remotas es IMPORTANTSIMO que edite la linea 39 , la cual es login_trusted_networks=192.168.20.0/24En donde es necesario descomentarla y Que agregue la direccion de su subred, pues si no se agrega, ninguna mquina remota podr Autenticarse con el servidor de correo y arrojar un error similar a este asegurese de que la Contrasea y el nombre de usuario sean los correctos

Los clientes de correo permiten fcilmente revisar los inbox de cada usuario fcilmente y de manera cmoda, la industria a desarrollado diferentes herramientas, Microsoft por ejemplo tiene su Outlook, Mac cuenta con su aplicacin 'mail' para revisar el correo y porsupuesto el mundo de software libre no queda atrs. Pues aplicaciones tan famosas como thunderbird, evolution o kmail estn disponibles en sistemas Linux. Y algunos en windows. A continuacin instalaremos 'Thunderbird' el cliente de correo desarrollado por Mozilla corporation- en Windows y lo configuraremos para recibir los correos del dominio -'abcinc' en este caso-. Siga los siguientes pasos: 1.) 2.) Inicialmente descargue el www.getthunderbird.com Instale el software y ejecutelo. cliente desde

Hay dos formas de configurar su cuenta de correo en Thunderbird y otros clientes, por una parte si el servidor cuenta con un DNS, Thunderbird reconocer automticamente el puerto y la IP del servidor, se contactar con l y tendr su cuenta disponible para leer sus mensajes. Por otra parte sin no hay un servidor DNS disponible usted debe configurar el cliente manualmente agregando la IP y los puertos. Mrelo a continuacin.Configurando el cliente de correo sin DNS y manualmente:

Al abrir thunderbird y si no cuenta con un servidor DNS realice los siguientes pasos: 1.) Abra el cliente y proporcione su nombre real, cuenta de correo y contrasea.

2.) Como thunderbird no pudo encontrar la configuracin automticamente por falta de un DNS le mostrar esta ventana para que si usted lo desea lo configure manualmente.

Puede configurar el servidor de manera que se trasfieran los mensajes por IMAP (Puerto 143-debe colocarlo) o POP (Puerto 110-debe colocarlo), como usted lo desee. Adems de ello como no hay un traductor de nombres de dominio ingrese la IP de la maquina servidora en el espacio del servidor donde el protocolo SMTP debe ir con el puerto 25. En la parte de autenticacin ponga contrasea normal para autenticar su cuenta con correos entrantes, sin autenticacin

para correos salientes. Y por ltimo de clic en crear cuenta. 3.) Aparecer un mensaje de advertencia diciendole que no se usa autenticacin cifrada, pues para este caso no la utilizaremos, lea el mensaje y marque Comprendo los riesgos, por ultimo de clic en crear cuenta.

4.) Por ltimo disfrute de revisar su correo. Si lo desea enve un correo desde otra cuenta o desde el root hasta la direccin que configur en thunderbird y pruebe que haya llegado su correo.

Configurando el cliente de correo con DNS:

Despus de tener un servidor DNS que sea capaz de traducir las direcciones IP del dominio abcinc.com, thunderbird encontrar la configuracin adecuada para crear su cuenta en el cliente de

correo. Es muy sencillo, siga los siguientes pasos, A continuacin se presentan y junto con ellos una prueba. Recuerde que el cliente debe tener configurado sus opciones DNS, si es Linux en /etc/resolv.conf o si es Windows en configuraciones deladaptador. Cree su cuenta en Thunderbird ingresando sus datos:

Thunderbird buscar la informacin segn los registros dns de pop o imap y se configurar solo.

Detecta que hay dos registros dns disponibles para la transferencia de correos, pop e imap, As que le pedir que elija el de su preferencia y ya!.

Le advertir que smtp.abcinc.com no usa contrasea cifrada, pero note que ya no aparece la IP sino la diireccin del registro dns smtp.abcinc.com

Debido a que nuestro servicio de correo no cuenta con un certificado reconocido por una entidad reconocida le pedir que agregue la excepcin para continuar o que descargue uno. Puede continuar.

A continuacin puede disfrutar de su cuenta de correo en Thunderbird, pero antes Hagamos una prueba.Hagmos una prueba:

Recuerda la cuenta que creamos con la configuracion manual? Pues esa cuenta con el usuario [email protected] le enviar un mensaje de correo a [email protected] desde otra mquina. En este caso la ingeniera Rosaura enva un mensaje de Alerta a su colega Martha debido a un problema presentado en la compaa hace 10 minutos.Rosaura enva:

Martha Recibe:

Martha Lee:

Lo que sigue es responsabilidad de Martha

Configuracin de Cuotas de Correo

Para configurar las cuotas en el servicio de correo siga los siguientes pasos: 1.) Vaya y edite el archivo /etc/dovecot/conf.d/90 quota.conf En este archivo busque la linea 18 en adelante, la lineaplugin

{ ya est descomentada, agregue abajo la linea quota = maildir, descomente luego la linea quota_rule = *:storage=1M,y por ltimo aseguresede que la linea que posee el}est descomentada, debe quedar as: NOTA IMPORTANTISIMA:En la linea quota_rule = *:storage=usted agrega el valor del Lmite de cuota que no deben sobrepasar los correos enviados, por defecto viene con 1G, lo que Indica 1GB, si desea que sean MG solo coloque el valor seguido de una M, por ejemplo 2M

plugin{ quota=maildir quota_rule=*:storage=2M #quota_rule2=Trash:storage=+100M }

Ms adelante busque la linea 35 donde le aparecer quota_warning, descomente las dos lineas de modo que quede as:plugin{ quota_warning=storage=95%%quotawarning95%u quota_warning2=storage=80%%quotawarning80%u }

Luego a partir de la linea 43 debe descomentar hasta la linea 49 de modo que quede as:servicequotawarning{ executable=script/usr/local/bin/quotawarning.sh user=dovecot unix_listenerquotawarning{ user=vmail } }

2.) Vaya al archivo /etc/postfix/main.cf y aada al finaldelarchivolassiguientes2lineas:

dovecot_destination_recipient_limit=1 virtual_transport=dovecot

3.) Edite el archivo /etc/postfix/master.cf donde debe aadir estas lineas al final del archivo.dovecotunixnnpipe flags=DRhuuser=vmailargv=/usr/libexec/dovecot/deliverf${sender}d${recipient}

4.) Edite a continuacin los archivos de dovecot, inicie editando el archivo /etc/dovecot/conf.d/15lda.confen donde debe descomentar la linea 7 aadiendo la direccin postmaster con su dominio, debe quedar as:[email protected]

Luego simplemente debe aadir estas lineas al final del archivo:serviceauth{ unix_listenerauthuserdb{ mode=0600 user=vmail group=vmail } }

5.) Continue con el archivo /etc/dovecot/conf.d/20 imap.conf busque la linea 16 y descomentela, reemplazndole el $mail_plugins por quotaimap_quota#Spaceseparatedlistofpluginstoload(defaultisglobalmail_plugins).

mail_plugins=quotaimap_quota

Tambin edite el archivo /etc/dovecot/conf.d/20pop3.confy busque la linea de configuracion similar a la anterior, reemplece $mail_pluginspor quota y guarde. De modo que quede as:

#Spaceseparatedlistofpluginstoload(defaultisglobalmail_plugins).

mail_plugins=quota

6.) Edite el archivo /etc/dovecot/conf.d/10-master.conf descomentando las lineas 19 y 40 de modo que habilitela escucha de dovecot por los puertos 143 y 110. Debe quedarse de este modo:serviceimaplogin{ inet_listenerimap{ port=143 } inet_listenerimaps{ #port=993 #ssl=yes } servicepop3login{ inet_listenerpop3{ port=110 } inet_listenerpop3s{ #port=995 #ssl=yes } }

7.) 8.)

Reinicie el servicio y haga la prueba.

servicepostfixrestart servicedovecotrestart

Configuracin de Listas de Correo.

Las listas de correo permite enviar correos a varias direcciones a la vez con tan solo enviarlo a uno solo, por ejemplo, supngase que los empleados de una empresa necesitan recibir la informacin pertinente a sus vacaciones, el jefe podra enviar los correos a cada una de las direcciones o enviarlo a una sola direccin y que llegue a las otras de manera automtica.

Para configurar una lista de correo realice los siguientes pasos: 1.) Cree un archivo cualquiera con la siguiente informacin segn su dominio en /etc/postfix. En search_base coloque la ruta de una Unidad Organizativa que crearemos a continuacin.Server_host=192.168.20.3 Server_port=389 search_base=ou=listas,dc=abcinc,dc=com query_filter=mail%s result_attribute=maildrop exression_limit=1

2.) Edite el archivo /etc/postfix/main.cf y aada al final la siguiente linea con la ruta del archivo creado anteriormente:Virtual_alias_maps=ldap:/etc/postfix/listas

3.) Dirjase a su cliente Grfico y cree la Unidad Organizativa que coloc el en archivo creado. Por ejemplo:

4.) Dentro de la Unidad Organizativa que cre, cree los atributos mailAlias y mailAccount. Recuerde que estas objecClass se aaden gracias al mail.schema.

Agregue despus los atributos mailalias, maildrop y mail. Mail: la direccion e-mail general de la lista. Maildrop: puede aadir varios atributos maildrop, en este atributo va la direccin personal de la persona que va a hacer parte de la lista. Mailalias: simplemente es una alias de la direccin general, puede ser la misma. Por ejemplo:

5.) Reinicie el servicio y haga la prueba. El mensaje enviado debe llegar a los correos pertenecientes a la lista creada.