ACTIVIDAD Nº 11 ADMINISTRACIÓN DE UN SISTEMA DE CORREO ... · Software que permite implementar un...
Transcript of ACTIVIDAD Nº 11 ADMINISTRACIÓN DE UN SISTEMA DE CORREO ... · Software que permite implementar un...
ACTIVIDAD Nº 11 ADMINISTRACIÓN DE UN SISTEMA DE CORREO
INSTRUCTOR MAURICIO ORTIZ
APRENDIZ GUSTAVO MEDINA A.
LUIS FERNANDO MONTENEGRO
TECNOLOGÍA EN GESTIÓN DE REDES DE DATOS
SERVICIO NACIONAL DE APRENDIZAJE – SENA
CENTRO DE SERVICIOS Y GESTION EMPRESARIAL
FICHA DE CARACTERIZACIÓN: 259747
MEDELLIN
2012
OBJETIVOS · Diseñar e implementar una Solución de Correo Seguro. PLANTEAMIENTO DEL PROBLEMA La empresa ABCx requiere el diseño e implementación de una plataforma de correo seguro que se integre a los servicios de red y a las aplicaciones existentes en la organización. La información de los objetos de la red son almacenados en un servicio de Directorio Ligero (Active Directory MS, openLDAP, 389 Directory Server, etc.) Con la siguiente estructura lógica:
Nota: El esquema anterior ya pudo haber sido desarrollado a través de una
actividad anterior.
INTRODUCCIÓN:
Con la expresión “servicio de correo” normalmente se hace referencia a toda
la infraestructura tecnológica detrás de una solución de correo electrónico, en
donde usuarios de una organización o usuarios de una entidad en la web
obtienen servicios que le permiten intercambiar mensajes electrónicos con
otros usuarios de la organización o dominio, o con usuarios de otras
organizaciones o dominios en Internet. Sin embargo una solución de correo
es mucho más que un simple servicio, es en realidad un entramado de
servicios y tecnologías que interactúan entre sí para permitir, como mínimo, a
los clientes finales (los usuarios del correo electrónico) intercambiar
mensajes. Adicionalmente, debido a la tendencia de convergencia de
servicios, una solución de correo electrónico también puede
Proveer funciones complementarias a sus clientes, como por ejemplo:
Agenda Electrónica, Mensajería unificada y Almacenamiento remoto. Pero
esto no es todo, la ya irrefutable necesidad de añadir seguridad en las
transacciones de los diferentes entes que intervienen en una comunicación
en los servicios de la solución de correo, y la necesidad de implantar
métodos de autenticación y validación en las cuentas del correo electrónico
aumentan el grado de complejidad de las soluciones de correo.
Una solución de correo está formada principalmente por una familia de
Agentes que se encargan de tareas específicas en cada fase de la
transacción de un mensaje de correo electrónico:
Figura 2.
ACTIVIDADES ESPECÍFICAS:
Primera parte
• Implemente el árbol lógico de la figura 1. Tenga en cuenta que esta
actividad ya pudo haber sido desarrollada en una actividad anterior.
• Implemente una solución MTA (Mail Transport Agent) para el dominio
ABCx.com (La x
Corresponde a un número de equipo asignado por el grupo de docentes).
Recuerde que las cuentas de correo y los buzones corresponden a objetos
del dominio (ejemplo: usuarios) que están alojados en el Servicio de
Directorio Ligero.
• Implemente una solución MDA (Mail Delivery Agent) y un Servidor IMAP y
POP3
(MRA/MAA) para la entrega de correos a los agentes MUA. Recuerde que las
cuentas de correo y los buzones corresponden a objetos del dominio
(ejemplo: usuarios) que están alojados en el Servicio de Directorio Ligero.
• Configure políticas para los buzones de correo, ejemplo: cuotas máximas
de almacenamiento, políticas de filtrado a través del MDA, etc.
• Cree listas de distribución que permitan enviar correos a grupos de usuarios
con características en común, por ejemplo: compras, usuarios-
• Implemente una solución de acceso web (WEBMAIL) para los clientes del
dominio a sus
Cuentas de correo.
• Implemente, junto con los otros equipos de trabajo, una solución DNS que
permita localizar los diferentes servidores de correo (Registro MX) en su
ambiente de aprendizaje.
• Envíe y reciba correos a y desde los otros sistemas de correo de los
dominios de otros equipos
Desarrollo Actividad 1
MARCO TEORICO: Definición de Conceptos
OPENLDAP:
Software que permite implementar un directorio activo en Linux, utiliza el
protocolo LDAP y su código fue liberado bajo su propia licencia
OpenLDAP Public License
LDAP:
Protocolo ligero de acceso a directorio permite el acceso a un servicio de
directorio ordenado para buscar cierta información. También es tomado como
una base de datos ya que en él se almacena por ejemplo la información de
autentificación (usuario y contraseña) aunque es posible almacenar todo tipo
de información asociada a una red.
SAMBA:
Protocolo ligero de acceso a directorio permite el acceso a un servicio de
directorio ordenado para buscar cierta información. También es tomado como
una base de datos ya que en él se almacena por ejemplo la información de
autentificación (usuario y contraseña) aunque es posible almacenar todo tipo
de información asociada a una red.
MDS (Mandriva Directory Server):
Mandriva Directory Server es una plataforma de directorio la cual está
basada en Ldap y nos permite administrar identidades, información de
control de acceso, políticas, configuración de aplicaciones y perfiles de
usuario.
POSTFIX (MTA):
Es el agente de envío (MTA) aplicación la cual se encarga de enrutar y
enviar el correo electrónico.
DOVECOT (MDA):
Es el agente (MDA) recibe el correo entrante y lo envía al buzón fue creado
pensando masque todo en la seguridad, fácil de instalar.
8 CLIENTES DE CORREO:
8.1. SQUIRRELMAIL:
Aplicación webmail puede ser instalado en la mayoría de los servidores web
siempre y cuando soporte php y el servidor web tenga acceso a un servidor
IMAP.
8.2. THUNDERBIRD:
Es un cliente de servidor de correo, desarrollado por Mozilla.
9. TIPOS DE BUZONES:
9.1. MAILDIR:
Es el buzón este mantiene la integridad del mensaje por que los mensajes se
almacenan en ficheros diferentes con nombres únicos. Ejemplo nuevo, leído,
etc.
9.2. MAILBOX:
También es un buzón pero este no clasifica los mensajes, los guarda en un
mismo fichero.
10. CERTIFICADOS DIGITALES:
10.1. SASH:
Seguridad y autentificación. Método utilizado para dar soporte de
autentificación para la conexión de información cifrada basada en protocolos.
10.2. SSL/TLS:
Protocolo de capa de trasporte primero llamado SSL y luego paso a TLS, que
sirve para proporcionar conexiones seguras ya que cuenta con un cifrado
criptográfico.
11. ANTIVIRUS Y ANTISPAM:
11.1. AMAVISD:
Aplicación que se encarga de la revisión de los correos, mandándoselos al
antivirus y el antispam. Este se comunica con el Postfix.
11.2. CLAMAV:
Software antivirus con licencia GPL multiplataforma.
11.3. SPAMASSASSIN:
Software para analizar correos en búsqueda de spam. Su propietario es
apache
12. INSTALACION Y CONFIGURACION DEL SERVIDOR DE CORREO.
En un manual anterior (manual de administración de openLDAP 2.4) se
realizó la configuración de openLDAP, sin embargo no tenemos un esquema
que defina clases y atributos para una cuenta de correo: mailbox, maildrop,
mailenable, quota, etc.
Como primer paso vamos a crear el esquema mail.schema
1.1 Crear o descargar el esquema mail.schema
En esta URL se define un esquema:
http://mds.mandriva.org/svn/mmc-projects/mmc-
core/trunk/agent/contrib/ldap/mail.schema
Debe crearse un nuevo archivo llamado mail.schema y guardarse en
/etc/openldap/schema/. Luego debe copiarse el contenido del archivo como
se muestra a continuación: la copia se realiza del esquema descargado
anteriormente
Copia del esquema descargado anteriormente en el nuevo archivo creado
mail.schema guardamos con CTROL+ENTER luego CTROL+X
1.2 Conversión de mail.schema a mail.ldif
En el manual de administración de openLDAP 2.4 se explicó que esta
versión de openLDAP trabaja la configuración directamente con archivos de
extensión LDIF y no con archivos de extensión schema,
Para visualizar los esquemas actuales usados en openldap podemos usar el
comando tree.
Pero se presentó un inconveniente no se pudo visualizar los esquemas por
lo que se procede a verificar si está instalado la función TREE con el
comando rpm –q tree Si se comprueba que no está lo instalamos con el
comando muy – y install tree
Instalamos el tree
Proceso de instalación tree y comprobación
Los esquemas actuales usados en openldap
Continuación Conversión de mail.schema a mail.ldif
Siguiente procedimiento convertir archivos con extensión schema a ldif
Verifico que archivos dentro del directorio chema debo convertir a formato ldif
con la ruta representada en la imagen
Con la información anterior de los archivos a convertir en el directorio
schema creo un archivo en el directorio raíz el root con el nombre de
misesquemas.conf
Proceso de edición del archivo misesquemas.conf con la correspondiente
ruta de cada archivo del directorio schema
Luego se debe crear un directorio para la creación de los esquemas en
formato LDIF
Ejecutar el comando slaptest para realizar la conversión:
Ejecute el comando anterior pero se me presento el siguiente error
Solucione el error ingresando a la ruta /etc/openldap/schema/misc.shema
Descimenté la línea 38 como esta en la imagen
Realizo nuevamente el slaptest despues de haber descomentado la linea 38
del archivo misc.schema y logro tener éxito verificando con el comando tree
veo ya el arbol creado apartir del directorio conf que se creo previamente
Hacemos una copia del archivo cn={11}mail.ldif y la editamos:
Editamos las líneas
dn: cn={11}mail por la siguiente---- dn:
cn=mail,cn=schema,cn=config
objectClass: olcShemaConfig por la siguiente---- objectClass:
olcShemaConfig
cn: {11}mail por la siguiente---- cn: mail
Luego debemos borrar las siguientes líneas
Por último se importa el esquema
Se me presento un conflicto al importar el mail.ldif por un parámetro
duplicado el cual es el mail
Ingresamos al archivo mail.ldif y buscamos con CTROL+W el atributo
“mailhost” Y lo modificamos cambiando su nombre en nuestro caso solo
agregamos el carácter 1 al atributo “mailhost1” para evitar un atributo
duplicado dentro del mail.ldif
Modificamos el atributo mailhost por mailhost1 guardamos con CTROL+O y
cerramos con CTROL +X
Ejecutamos la importación nuevamente del esquema LDAP
Verificamos con el comando tree
1.3 Crear usuarios para que sean usuarios de correo electrónico
Para este procedimiento se usará el cliente gráfico Apache Directory Studio.
En primer lugar se creará una nueva entrada en el directorio como se
muestra en la figura:
Ingreasmos a la ruta del directorio /var/www/html/dirapache/apached
Ejecutamos el siguiente comando para inicia la Herramienta cliente Ache Directory : ./ApacheDirectoryStudio
Primero crearemos 2 unidades organizativas con el nombre de Usuarios y
Grupos luego crearemos los usuarios de correo
Creemos nueva entrada
Se creará desde cero y no a partir de otra entrada como plantilla:
Se crea la entrada con las siguientes clases: organizationalUnit, Añadimos esta clase de objeto que tendrá la entrada, por defecto nos arrojara el top
Damos la ruta donde será creada, especificamos el RDN, en este caso es el ou(unidad organizativa) y luego el nombre que le vamos a dar a la nueva unidad organizativa. Clic en next. El RDN es el nombre relativo que aparecerá en el árbol jerárquico del servicio de directorio En nuestro caso los que vamos acrear Usuarios y Grupos
Este es el resumen de atributos colocados luego damos finalizar y
terminamos el proceso de la creación de la unidad organizativa tanto para
Usuario como para Grupos
Aquí visualizamos las unidades finalmente creadas
Creación de usuarios para que sean usuarios de correo electrónico
Ahora crearemos los usuarios de correo el procedimiento es similar al
anterior aplicado en los contenedores creados para Usuarios Grupos
Crear una nueva entrada en el directorio a partir de la Unidad Usuarios como
se muestra en la figura
Luego le diremos que la nueva entrada se creará desde cero y no a partir de
otra entrada como plantilla
Se crea la entrada con las siguientes clases: inetOrgPerson, mailAccount
(Las demás clases se agregan automáticamente
El RDN (Nombré distinguido relativo de cada usuario de correo) será el uid.
En muchos casos se usa cn como el RDN. En este caso el uid será Gustavo,
ya que se pretende crear un usuario que a su vez será usuario de correo:
Luego, se pedirá que se ingresen los atributos obligatorios: cn, mail y sn. Sin
embargo usaremos otros atributos adicionales. Para esto presionamos el
botón New Attribute, como se muestra en la siguiente figura:
La búsqueda de atributos es una labor sencilla. Se ingresan los siguientes
atributos adicionales: mailbox y mailenable. Ver las siguientes dos figuras:
Ahora visualizamos el usuario de correo recién creado
NOTA: El atributo mail será usado para indicarle al servidor de correo el e-
mail del usuario.
NOTA: El atributo mailbox será usado para indicarle al servidor de correo
cual será la ruta (path) del buzón del usuario. Por ejemplo si se almacenan
los correos en /var/mail, el buzón de gustavo estará en la ruta
/var/mail/gustavo/Maildir/.
NOTA: El atributo mailenable será usado para indicarle al servidor de correo
que la cuenta se encuentra activa o inactiva.
1.4 Modificar usuarios para que sean usuarios de correo electrónico
En el manual de administración de openLDAP 2.4 se crearon varios usuarios
con diferentes clases y atributos, sin embargo no estaban pensados para ser
usuarios de correo sino más bien usuarios que pudieran autenticarse en
sistemas UNIX (posixAccount) o usuarios con información personal
(inetOrgPerson).
A continuación se muestra el proceso de modificación de un objeto (Usuario)
existente, para convertirlo también en usuario de correo electrónico. En el
siguiente pantallazo se muestra un usuario de LDAP que fue creado a partir
de las clases posixAccount e inetOrgPerson. Para que este usuario, sea
usado como usuario de correo simplemente ubicamos el cursor del mouse
sobre cualquiera de las objectClass y luego presionamos el botón New
Value.
Buscamos la clase mailAccount y luego la agregamos y damos clic en Next:
Para la clase mailAccount el atributo obligatorio es mail:
Finalmente se agregan los atributos mailenable y mailbox, como se mostró
en pasos anteriores
2. INSTALACIÓN Y CONFIGURACIÓN DE POSTFIX (MTA y MDA)
Postfix es un servidor de correo Open Source, que actúa como agente de
transporte de correo (MTA). A continuación se describe el proceso de
instalación y configuración de Postfix como MTA y como agente de entrega
de correo (MDA).
En procesos anteriores se instaló el servidor de directorio openLDAP 2.4. Los
usuarios de correo electrónico serán los mismos usuarios definidos en el
LDAP. En otras palabras se usará LDAP como backend del Postfix.
La implementación supone que los correos serán entregados a los buzones
de los usuarios dentro del dominio abc.com
Antes de instalar y configurar POSTFIX responda las siguientes preguntas,
ya que sus respuestas son la base de la configuración:
Respuesta: abc.com
Respuesta: Cualquier dominio puede enviarme correos electrónicos.
r?
Respuesta: Solo los usuarios dentro de la red local 192.168.40.0/24
Respuesta: A cualquier destino, incluyendo dominios en internet
mbox o maildir?
Respuesta: Se usará Maildir
Respuesta: El servidor Postfix enviará correo directamente, sin necesidad de
usar un relay de retransmisión de correo.
Respuesta: El servidor Postfix enviará correo solo a usuarios del directorio
openLDAP. No se usaran los usuarios del sistema.
Procedimiento para la instalación y configuración de Postfix:
2.1 Instalación de Postfix
En las distribuciones basadas en RHEL 6.0 (Red Hat Enterprise Linux 6.0)
Postfix es el agente de transporte por omisión (Preinstalado). Sin embargo, si
este no es el caso solo será necesario instalarlo: Antes verifico si tengo
instalado el postfix con el siguiente comando indicado en la imagen in de lo
contrario aplico # yum install postfix
2.2 Configuración inicial de Postfix con base en las necesidades:
Editar el archivo main.cf con los parámetros de configuración A continuación
se muestran las líneas que se deben editar:
Ingreso al archivo main.cf se indica en la imagen posteriormente los
parámetros a editar
Parámetros que se deben configurar dentro de main.cf se procede
descimentando las siguientes líneas y editando como aparece en cada
imagen en este procedimiento se debe tener el registro mail ya creado en el
DNS abc.com como CNAME en la zona Directa y el apuntador en la zona
Inversa
Nombre del dominio que se usa para correos salientes en este caso
reemplazamos ($mydomain) por abc.com
myhostname: Corresponde al nombre del servidor de correo (Hostname).
Debe existir un registro en el servidor DNS.
mydomain: Es el nombre de dominio que se usará para los correos salientes.
myorigin: Es el nombre de dominio que se usará para los correos salientes.
Si el usuario usersena envía un correo electrónico, postfix pondrá como
remitente [email protected]. Para la configuración mostrada en la figura
myorigin sería abc.com (mydomain).
inet_interfaces: interfaces (subredes) que estarán a la escucha de peticiones
de clientes de correo electrónico. En este caso, el servidor escuchará por
todas las interfaces de red. Por ejemplo si el servidor tiene 2 interfaces de
red escuchará por cada una de estas interfaces.
mydestination: El parámetro mydestination especifica que dominios entregar
localmente, en vez de enviarlo a otras maquinas. En este caso, todo correo
@abc.com ($mydomain) será entregado de manera local por el mismo
servidor y no se usará otro MTA.
mynetworks: La directiva mynetworks permite que una red se considere local
para Postfix. Esto es, distinguir entre maquinas dentro de la red local que
tienen permitido el uso del servidor de correo. En el ejemplo de configuración
solo los equipos de la red 192.168.40.0/24 y el host local pueden usar Postfix
como agente de transporte de correo.
home_mailbox: Este parámetro define el formato en que serán almacenados
los buzones. Existen dos tipos de formatos mbox y maildir. El elegido será
Maildir que es un formato que usa varios directorios y evita los bloqueos. Con
la configuración mostrada los usuarios tendrán sus buzones en el directorio
/home/username/Maildir/
NOTA: Con la configuración mostrada ya pueden hacerse pruebas y enviar
correos a los usuarios locales (Unix users) o a dominios en Internet. Cada
correo es almacenado en el home de cada usuario.
Aunque se mostrará la prueba de esto, no podemos olvidar que no queremos
trabajar con usuarios locales sino que nuestros usuarios de correo estarán
definidos en el directorio LDAP, por lo cual será necesario cambiar
nuevamente la configuración de
2.3 Prueba del servidor de correo con usuarios locales usando un MUA
Para realizar la prueba podemos usar un cliente de correo electrónico (MUA)
de línea de comandos llamado mail o podemos usar algún cliente de correo
(MUA) gráfico.
En el servidor RHEL existen solo dos usuarios: root y usersena. Las dos
pruebas que se realizarán serán:
Enviar un correo electrónico del usuario [email protected] al usuario
Lo primero ingresar con la cuenta usuario administrador root con el comando
su -
Editamos la contraseña sena2012
Aplicamos el siguiente comando que se indica en la imagen para enviar el
correo y para cambiar de cuenta de usuario ejecutamos el comando su -
sena luego aplicamos el comando cat como aparece en la imagen y
visualizamos el correo que se envio
El Segundo correo se encuentra en la carpeta SPAM de la bandeja de gmail
misena:
2.4 Configuración de postfix usando LDAP como backend
En el paso anterior se realizó una prueba exitosa de postfix, usando los
usuarios UNIX. Ahora cambiaremos los parámetros necesarios para que
postfix trabaje con los usuarios del directorio (Usuarios virtuales).
Lo primero será consultar la documentación oficial de postfix para la
configuración de dominios y usuarios virtuales LDAP (Búsqueda en google:
virtual domains postfix ldap). En los resultados buscamos el de la
documentación oficial en la sección Postfix virtual MAILBOX example:
separate domains, non-UNIX accounts:
http://www.postfix.org/VIRTUAL_README.html#virtual_mailbox
http://www.postfix.org/VIRTUAL_README.html#virtual_alias
Con base en el ejemplo, adaptaremos la configuración de Postfix a nuestras
necesidades. Borre $mydomain de la línea mostrada en rojo como lo indica
la imagen y agregue las demás líneas al final del archivo main.cf
Debemos ingresar al archivo con la ruta nano /etc/postfix/main.cf
Líneas al final del archivo main.cf
virtual_mailbox_domains le dice a Postfix que abc.com es un dominio de
correo virtual. Si se incluye $mydomain en virtual_mailbox_domains no
puede incluirse en mydestination.
El parámetro virtual_mailbox_base especifica un prefijo para todas las rutas
de acceso de buzón virtual. En este directorio se crearán varios
subdirectorios, uno por cada usuario del LDAP que sea también usuario de
correo electrónico. Por ejemplo, para el usuario
uid=anderson,dc=abc,dc=com, postfix creará los directorios
/var/vmail/anderson y /var/vmail/anderson/Maildir.
NOTA: El directorio /var/vmail debe existir, por eso lo crearemos y luego un
usuario a partir del cual se crearán los buzones y el cual tendrá como
directorio personal /var/vmail y su uid será 5000
Creación del directorio y usuario
El parámetro virtual_mailbox_maps especifica la tabla de búsqueda de los
buzones. Este parámetro lo pasaremos usando LDAP, a través del atributo
mailbox. Por ejemplo: cuando postfix recibe un correo electrónico para el
usuario [email protected] necesita saber dónde almacenarlo, entonces
realiza una consulta al servidor LDAP del atributo mailbox, del usuario elvis.
El servidor LDAP responderá que el atributo mailbox será mauricio/Maildir/.
El archivo /etc/postfix/ldap-accounts.cf debe tener la información necesaria
para la conexión con el servidor LDAP y el atributo de respuesta para la
consulta:
NOTA: La configuración variará dependiendo de si el servidor se encuentra
en una máquina local o en una máquina remota. Yo recomiendo usar un
FQDN (Por ejemplo ldap.abc.com).
NOTA: Como puede verse la búsqueda en el LDAP se realizará primero una
verificación de todas las entradas que sean mailAccount, luego se buscará la
dirección de correo (%s) y por último se verificará que el atributo mailenable
tenga el valor OK, en otra palabras, que la cuenta de correo esté habilitada.
NOTA: El atributo resultante es mailbox.
A continuación se comprobará con el usuario elvis que existe en el directorio:
Por último reiniciamos el servicio:
2.5 Prueba del servidor de correo con usuarios del directorio (LDAP)
Se usará el cliente de línea de comandos mail:
De acuerdo a la configuración que se ha realizado hasta el momento, este
correo debe estar almacenado en el mailbox del usuario mauricio, que es el
directorio /var/vmail/mauricio/Maildir/
Verificamos con el comando tree si el correo se almaceno en el anterior
directorio
Como se puede ver no me almaceno el correo en el mailbox del usuario
mauricio de directorio LDAP
Primero verifico si hay una correcta resolución DNS con nslookup o ping al
servidor de dominio de la zona directa y resolución inversa luego si hay
conexión con usuarios del directorio LDAP
No establece conexión con ningún usuario aplico el siguiente comando
Verifico nuevamente conexión con usuarios del directorio LDAP
Verifico con el comando authoconfig-tui si hay una correcta configuracion de
autenticación de usuarios de servidor de directorio LDAP
Luego reinicio el servicio LDAP CON service slapd restart
Verifico nuevamente la comunicación de ususarios LDAP ya nos responde la
autenticación permitiendo comunicación con ususarios del directorio LDAP
Ingreso al archivo main.cf se indica en la imagen Descimentó la línea
$mydomain dentro del archivo posteriormente los parámetros a editar
Verifico si el usuario a partir del cual se crearán los buzones y el cual tendrá
como directorio personal /var/vmail y su uid 5000 exista, con el comando
Cat /etc/passwd
Reinicio el servicio posfix
Envio un correo para examinar si funciona el servidor y veo que no se puede
crear el directorio de correo para los usuarios
Ahora examinamos los logs dentro del mailbox para ver cuál es el error que
no permite almacenar correos en el buzón de cada usuario de correo con los
usuarios LDAP ya creados. Con el comando tail –f /var/log/maillog
Vemos que el correo no se envió tanto para el usuario pablo como Anderson
lo indican los logs asi: el error indica no se pudo crear el maibox o directorio
también no se tienen permisos de propiedad sobre usuario vmail como lo ven
en las siguientes imágenes
En rojo se indica no se tienen permisos de propiedad sobre usuario vmail
Verifico los permisos de propiedad del usuario vmail con el comando ls –l en
el directorio var: el propietario de vmail es el root
Establecemos como propietario de vmail al usuario vmail con el comando
chowm
Reiniciamos el servicio postfix y LDAP neuavamente.luego
Aplicamos el comando tree para visualizar el árbol de directorios y
subdirectorios. Como puede verse, postfix a través del MDA, creó el
directorio Mauricio, Anderson y otros usuarios a partir de /var/vmail y los
demás subdirectorios.
Envio de correo con el usuario diana y visualización con el comando tree
Envió de correo con el usuario pablo y verificación de los usuarios Mauricio y
Anderson de quienes ya se envió correos con anterioridad, en el tree el árbol
de pablo no aparece
Se me presento problemas para enviar correo con El usuario pablo de
Compras y crear el directorio mailbox no sé porque
Ahora leeremos el mail usando el comando cat:
NOTA: Más adelante se usarán dos clientes gráficos (MUA) para la revisión
de correo: Outlook y Thunderbird. Lo único que nos hace falta es configurar
el servidor POP/IMAP.
3. INSTALACIÓN Y CONFIGURACIÓN DE DOVECOT (MAA)
Dovecot es un servidor de IMAP y POP3 Open Source para sistemas
GNU/Linux o Unix en general
Dovecot puede trabajar con el estándar MBOX y MAILDIR y es
completamente compatible con clientes MUA que accedan directamente a
los buzones de correo.
Dovecot también incluye un Agente de Entrega de Correo llamado Local
Delivery Agent (agente de entrega local o LDA). Por el momento, el agente
de entrega de correo es virtual a través de postfix, pero más adelante
tendremos que configurar dovecot como MDA (o en términos de Dovecot,
LDA). Esto con el fin de que se impida la entrega de correos cuando los
usuarios hayan excedido la cuota
3.1 Instalación de dovecot
Una vez instalado dovecot, se configurará para que el servicio sea iniciado cuando el sistema arranque:
Es importante saber qué versión de dovecot se está usando para luego buscar la documentación apropiada en la Wiki de dovecot. El siguiente comando muestra la versión de dovecot (2.0.9):
3.2 Configuración de dovecot
Dovecot tiene varios archivos de configuración. A continuación se explican los que serán usados para nuestra configuración:
/etc/dovecot/dovecot.conf: Configuraciones básicas de protocolos (IMAP, POP o ambos), redes de confianza, etc. Además se incluyen los archivos del directorio /etc/dovecot/conf.d/
/etc/dovecot/conf.d/10-mail.conf: En este archivo se le indicará a dovecot la ruta en la que debe buscar el buzón de los usuarios y, el UID y GID del usuario local a través del cual se accede al mail (En nuestro caso el usuario vmail).
/etc/dovecot/conf.d/10-auth.conf: Antes de que un usuario pueda acceder a su buzón desde el MUA, debe pasar por un proceso de autenticación con el servidor POP/IMAP. Este archivo permite configurar qué tipo de backends se usarán para usuarios y contraseñas. En nuestro caso usaremos LDAP.
/etc/dovecot/conf.d/auth-ldap.conf.ext: En este archivo se le indicará a dovecot los parámetros para la búsqueda de usuarios y contraseñas en LDAP.
Lo primero que haremos será usar únicamente los protocolos IMAP y POP. Sin embargo si usted desea solo usar uno de los dos no hay problema
Se descomenta la siguiente línea y se habilitan únicamente los protocolos IMAP y POP: se elimina lmtp
Luego, se configurará la ruta de los buzones de los usuarios y se le indicará a dovecot el usuario del sistema para acceder al correo. Para esto se editará el archivo /etc/dovecot/conf.d/10-mail.conf
Se descomentan y se configuran las siguientes directivas (En color rojo):
Explicación: Cuando un usuario use un cliente (MUA) y se autentique, se buscará su buzón en /var/vmail/%n/Maildir donde %n se reemplaza por el nombre de usuario que compone la dirección de correo electrónico. Por ejemplo, para el usuario elvis (Con dirección de correo [email protected]), DOVECOT buscará su buzón en /var/vmail/elvis/Maildir de esta manera, el usuario puede ver la bandeja de entrada y los demás mensajes de su buzón.
El uid y gid es usado para que DOVECOT tenga permisos tanto de lectura como escritura en los buzones de los usuarios. El permiso de lectura es obvio, pero, ¿Para qué necesita DOVECOT tener permisos de escritura sobre el directorio? Sencillo: En caso de que el usuario no tenga creado un buzón, DOVECOT lo creará de manera automática.
Luego se habilitará el uso de LDAP para la autenticación de usuarios y se deshabilitará el uso de usuarios locales. Busque el final del archivo y comente la línea de autenticación usando usuarios locales y descomente la línea de autenticación LDAP.
descomente la línea de autenticación LDAP. rojo comente la línea de autenticación usando usuarios locales. naranja
En el archivo /etc/dovecot/conf.d/auth-ldap.conf.ext se hace referencia a otro archivo de configuración que debe crearse /etc/dovecot/dovecot-ldap.conf.ext. Este archivo está en la documentación de dovecot como ejemplo. Se realiza la búsqueda del archivo y luego se copia en el directorio /etc/dovecot:
Explicación:
(127.0.0.1)
indica que la búsqueda de usuarios se realizará a partir la base dentro de todos los contenedores y sub-contenedores.
servidor LDAP (auth_bind)
queda para los usuarios, en este caso será dc=abc,dc=com.
clase posixAccount será necesario borrar los demás atributos de respuesta para dovecot (user_attrs). Más adelante usaremos el atributa quota.
de usuarios y passwords, respectivamente. En otras palabras, los usuarios para DOVECOT serán aquellas entradas del directorio que sean instancias de la clase mailAccount, que el correo esté habilitado (mailenable=OK) y cuyo uid sea la parte de username del correo electrónico (%n).
servidor POP/IMAP. En este caso se usará el atributo uid como el login y el atributo userPassword como contraseña.
Por último reiniciamos el servicio para aplicar los cambios:
3.3 Prueba del servidor POP desde la línea de comandos Para realizar esta prueba será necesario instalar el cliente telnet.
Hacemos un telnet al puerto 110 (POP3). Esto abre una conexión con DOVECOT a través del puerto 110:
Como puede verse, el login fue exitoso. Ahora, si queremos revisar los correos podemos usar los comandos del protocolo. Como podemos ver solo se tiene un mensaje sin leer (#1) de 528 bytes. Se usa retr para leer el correo número 1.
Para borrar el primer correo use el comando:
Para salir de la prueba POP3 con usuario diana con el comando quit
3.4 Prueba del servidor IMAP desde la línea de comandos
Hacemos un telnet al puerto 143 (IMAP). Esto abre una conexión con DOVECOT a través del puerto 143:
Ahora ejecutamos los comandos del protocolo IMAP que se muestran a continuación: Tuve algunos inconvenientes en logeo con diana por la ortografía del comando importante no omitir ni un punto o letra del comando. Login [email protected]
Luego Aplicamos el comando. list “ “ “ * “
Verificar el estado comando . status INBOX (messages)
Examino el INBOX comando . select INBOX
NOTA: Existen muchos más comandos pero es cuestión del lector indagar sobre ellos, ya que uno de los propósitos de este manual es usar herramientas gráficas. 4. CONFIGURACIÓN DEL CLIENTE DE CORREO GRÁFICO (MUA)
Ahora que tenemos instalados tres de los agentes de correo electrónico: Postfix (MTA y MDA) y Dovecot (MAA: Servidor POP e IMAP), podemos instalar el cliente de correo (MUA). El MUA que se instalará será Thunderbird y posteriormente se usará Outlook que viene integrado en la suite ofimática Microsoft Office.
Desde la página oficial de Thunderbird se puede descargar el paquete y luego se instala. Pero en nuestro caso lo descargaremos con el comando yum verificamos si el paquete esta si no lo descargamos
Configuración de Thunderbird: buscamos por esta ruta la aplicación
Es importante tener el servidor DNS configurado, de lo contrario se debe realizar es recomendable realizarla por el botón configuración manual del DNS, luego se debe proceder a agregar usuario al Thunderbird
El protocolo “Entrante” usado será IMAP, que hasta el momento no usará SSL y la autenticación se realizará en texto plano. La dirección IP de mi servidor IMAP es 192.168.1.30
El protocolo “Saliente” será SMTP, que hasta el momento no usará SSL y no se usará autenticación. Luego botón crear cuenta
Opciones finales en la creación de la cuenta elegimos puertos y SSL opción ninguno e identificación sin autenticación
Habilito entiendo los riesgos y crear cuenta
Por último se crea la cuenta: Esperamos a que se compruebe la contraseña y después se crea exitosamente nuestro usuario de ldap Ya con esto podemos revisar el buzón del usuario diana
RECUERDE:
enviarlo.
quiere revisar su correo electrónico (Bandeja de entrada y demás directorios) está usando el protocolo IMAP. 5. CONFIGURACIÓN DEL SERVIDOR DNS Con anterioridad se configuro el servidor DNS en nuestro caso se estableció como abc.com y el nombre del host fue sdir, el fqdn es: sdir.abc.com Se Crean los archivos directa e inversa en el directorio /var/named/ Agregamos los registros: tipo A mail, que se usaron para los Virtual Hosts que se crearán en el capítulo 7, para el acceso a los Webmails. También se debe crear los registros MX 10 y SMTP
NSLOOKUP
5.4 Crear una nueva cuenta en thuderbird después de instalar el servidor DNS o tener ya configurado el DNS
La máquina en la que está instalado Thunderbird debe tener como DNS la dirección IP del servidor DNS que acabamos de instalar.
Creación de la cuenta: Creamos una nueva con el usuario Mauricio
Visualizo las cuentas de correo creadas en el Thunderbird
6. CONFIGURACIÓN DE LISTAS DE DISTRIBUCIÓN DE CORREO ELECTRÓNICO Las listas de distribución permiten enviar correos a grupos de usuarios con características en común, por ejemplo: [email protected]. Cuando un correo electrónico es enviado a esta dirección, el servidor SMTP lo reenvía a un grupo de usuarios. La configuración de listas de correo es una tarea muy sencilla y solo necesitamos crear un nuevo objeto del LDAP y habilitar los alias de correo en Postfix. 6.1 Creación de objetos mailAlias en LDAP
En primer lugar se creará una nueva unidad organizativa llamada listas de correo.
Luego dentro de esta unidad organizativa lListas de Correo se creará una entrada que sea instancia de las clases mailAlias y mailAccount
El RDN será el atributo [email protected]
Luego hacemos uso del atributo maildrop por cada cuenta de correo que queremos que pertenezca a la lista de distribución. En la siguiente imagen se muestra que existen solo dos cuentas de correo [email protected] y [email protected]
6.2 Configuración de listas de correo en postfix Agregar la siguiente línea al final del archivo main.cf
Luego crearemos el archivo maillist.cf
NOTA: El atributo resultante de la búsqueda será maildrop, es decir, todas las direcciones de correo pertenecientes a la lista de correo.
Una forma rápida de probar es a través del comando postmap:
6.2 Prueba de listas de correo desde un cliente (MUA) gráfico
Bandeja de entrada de CARLOS:
Bandeja de entrada de LUIS:
7. CONFIGURACIÓN DE UN WEBMAIL
Un Webmail es un cliente de correo electrónico, que provee una interfaz web para el acceso al correo electrónico.
Existen dos Webmails open source muy populares: Roundcube y AtMail Open (sin embargo existen más). Para este tutorial instalaremos ambos.
7.1 Instalación y configuración del servidor Web Apache
La instalación del servidor Web Apaches se realizó con anterioridad con el comando yum install –y httpd
Se realizará la configuración de Virtual Hosting basado en nombres en el servidor apache, ya que existirá más de un sitio Web (Con diferentes nombres de dominio) pero una sola dirección IP.
Como repaso, recuerde que para crear un host virtual en distribuciones Red Hat solo es necesario crear un archivo con extensión .conf en el directorio /etc/httpd/conf.d
Creamos el host virtual para la aplicación AtMail Open:
Creamos el host virtual para la aplicación RoundCube:
Decomentamos la línea dentro del archivo principal del servidor web apache NameVirtualHost
NOTA DE REPASO: La directiva NameVirtuaHost es usada cada vez que exista más de un sitio virtual por dirección IP, pero solo debe usarse una vez. Para este ejemplo de configuración la dirección IP que alojará más dos sitios será la interfaz con dirección IP 192.168.40.103, que es una de las direcciones IP del servidor. El otro Host Virtual estará reservado para el Webmail Roundcube.
Se inicia el servicio y se configura para que inicie automáticamente luego de que el sistema operativo inicie:
NOTA: Ignoramos los warnings, ya que más adelante crearemos los DocumentRoots
7.2 Instalación y configuración de AtMail Open
Se descargaron los paquetes estándar para la instalación de AtMail Open, luego de una búsqueda en google. Para la fecha de creación de este manual la URL de descarga es: http://atmail.org/download.php
AtMail Open está escrito en PHP y se instala como cualquier aplicación Web que se ha instalado previamente: Se necesita un servidor Web con soporte para PHP.
Lo primero será copiar el archivo comprimido en el DocumentRoot del servidor Web y descomprimir
Webmail descomprimido
Antes de instalarlo leemos las instrucciones de instalación y los requerimientos previos visitamos este link y en Guias de instalacion http://support.atmail.com/display/DOCS/WebMail+Client+Installation
Guia de Instalación AtMail6webmail y Requisitos
Requisitos de hardware
Recomendado: Pentium 1Ghz Clase + 512 MB de RAM 80 GB de disco duro mínimo: Pentium 500Mhz 128MB RAM Clase 10 GB HDD
Requisitos de software
Sistema Operativo
Desde Atmail se basa en PHP, que puede ser portado a cualquier plataforma que soporte y / o compila PHP. En la actualidad, Atmail es compatible con los siguientes entornos: Ubuntu 9.1 +, Debian 5.0 +, SuSE 11.2 +, RedHat Enterprise 5 +, CentOS 5 +, Fedora 12 +, FreeBSD 8 +, MySQL Server Se requiere para los datos AtMail base de datos SQL. Los paquetes se pueden descargar desde el sitio de MySQL (http://www.mysql.com). Se recomienda tener instalado lo siguiente: MySQL-server MySQL-devel MySQL-client Apache / HTTPD
Apache es obligatorio y se instala por lo general de forma predeterminada con las distribuciones de Linux y variantes de Unix
PHP (Mínimo versión PHP: 5,1; máximo versión PHP: 5,3, requerido) - PHP es necesario y se instala normalmente por defecto en la mayoría de distribuciones de Linux y variantes de Unix. Tenga en cuenta que también tendrá que tener los siguientes paquetes instalados: Db / db-devel o GDBM / GDBM-devel - requerido por Courier-IMAP GCC 3.4 + + / hacer Para continuar con la instalación atmail6Webmail visita instrucciones de instalación. http://support.atmail.com/display/DOCS/WebMail+Client+Installation
Vamos entonces a instalar lo necesario, luego reiniciamos el servidor Web e iniciamos el servidor MySQL Verifico si tengo instalado MySQL, PHP
Procedemos a instalar los paquetes de software que nos faltan
Verifico nuevamente que si hayan quedado instalados
Reinicio servicios de httpd y mysql
Debemos Configurar el servidor MySQL para que inicie automáticamente y correr el script de configuración inicial de MySQL:
Se creará una base de datos (atmail) y un usuario (atmailuser) que sea el propietario de dicha base de datos:
El último paso antes de comenzar la instalación es configurar al usuario apache como propietario del directorio /var/www/html/atmail (Como lo dice el archivo README)
Ahora podemos comenzar con la instalación. Para esto abrimos el navegador y digitamos la URL con el NameServer que hayamos configurado en el VirtualHost para atmail (atmail.abc.com)
Compruebe que todos los módulos necesarios están instalados. Si los módulos necesarios no están, instalarlos manualmente a través de la línea de comandos servidores aquí se nos indica que Falta instalar las extensiones mbstring y ldap:
RSOLVEMOS LAS DEPENDENCIAS Verifico si están las extensiones mbstring y ldap:
Procedo a instalar mbstring
Editamos el archivo php.ini:
Incrementamos a 16M
Incrementamos a 16M
Instalación del modulo PHP DOM Extension
Termino de chequear y configurar la dependencia o el modulos por instalar en la preinstalación y todas están ya listas en atmail
Cada que se haga un cambio en la configuración de PHP debe reiniciarse el apache: # Service httpd restart
Contunuando con el proceso de instalación que tiene 6 etapas o steps damos al final del formulario en continuar
Seleccionamos el idioma español y aceptamos los términos del contrato
Se crea la base de datos si no existe si ya está creada no habilitamos la opción crear base de datos créate database tables
Configuramos el virtual host atmail.abc.com con los siguientes parámetros
Ingresamos al archivo principal del apache y agregamos nameVirtualHost 8080 La ruta es: nano /etc/HTTP/conf/httpd.conf
Agregamos el correo del usuario administrador del atmail registrado en el directorio LDAP Yy continuar
Registramos la licencia con in ID de descarga y un serial Key que envían por correo a usted si lo solicita
Ingrese un usuario administrador del atmail webmail
Configure lo siguiente
Logeamos
7.3 Instalación y configuración de Roundcube Se descargaron los paquetes estándar para la instalación de Roundcube, luego de un búsqueda en google. Para la fecha de creación de este manual la URL de descarga es: http://sourceforge.net/projects/roundcubemail/files/roundcubemail/0.7.2/roundcubemail-0.7.2.tar.gz/download Lo primero será copiar el archivo comprimido en el DocumentRoot del servidor Web y descomprimir el paquete
Se creará una base de datos (roundcube) y un usuario (roundcubeuser) que sea el propietario de dicha base de datos:
El último paso antes de comenzar la instalación es configurar al usuario apache como propietario del directorio /var/www/html/roundcube (Como lo dice el archivo README)
Ahora podemos comenzar con la instalación. Para esto abrimos el navegador y digitamos la URL http://mail.abc.com/installer pero primero se instalan las extensiones de PHP necesarias y se edita el archivo PHP.ini porque en el proceso de instalación de rouncube en el anvegador nos van a solicitar que configuremos estos parametros Instalamos la extensión DOM o de php: verificamos que tenemos instalado
Editamos el archivo php.ini:
Ahora podemos comenzar con la instalación. Para esto abrimos el navegador y digitamos la URL http://mail.abc.com/installer Chequeamos y configuremos en tres pasos de instalación que todo este correcto
Reiniciamos el servicio apache y continuamos con el proceso de instalación de rouncube
Luego se nos pedirá que descarguemos los archivos main.inc.php y db.inc.php y los copiemos en el directorio /var/www/html/roundcube/config
Copiamos los archivos en el directorio /var/www/html/roundcube/config
Luego inicializamos la base de datos
Por el momento no voy a realizar pruebas de conexión con los servidores SMTP e IMAP, entonces procedemos a finalizar la instalación moviendo el directorio installer:
Finalmente accedemos con la URL http://mail.abc.com/
CUOTAS
CONFIGURACIÓN DE QUOTAS CON OPENLDAP 2.4 Y DOVECOT 2.0.9
La configuración de cuotas se puede realizar de dos formas: básica y
avanzada en nuestro caso realizaremos la configuración más avanzada de
las cuotas, donde se integrarán las cuotas del correo para que funcionen por
medio del openldap. Primero iremos al archivo principal de las cuotas, allí se
agregaran las reglas para las quotas.
“nano /etc/dovecot/conf.d/90-quota.conf”
Dentro del mismo archivo “90-quota.conf” se utilizara el plugin maildir lo
habilitamos descomentandolo eliminando el símbolo # de donde empieza la
línea maildir
Para que las reglas y cuotas funcionen perfectamente, se debe configurar el
agente LDA, el cual ayuda a entregar localmente el correo, para más
información sigue este link http://wiki.dovecot.org/LDA.
Ingresamos como lo indica la imagen y editamos lo siguiente
Dentro del mismo archivo se debe agregar el plugin para que utilice las
cuotas, además se agregaran otras líneas que pueden ser de gran utilidad a
la gestión de los buzones.
En el archivo master del dovecot, agregare el servicio de autenticación a
través del usuario vmail el cual se creó con anterioridad, esto para que sea
más segura y rápida la plataforma. Como se indica en la imagen
Se debe agregar se agregará la ubicación del buzón (mailbox). En el archivo mail, como se indica en la imagen
Se debe agregar el plugin para utilizar cuotas.
En los demás protocolos IMAP, POP3, LMTP también se debe habilitar el
plugin para utilizar cuotas, esto según el protocolo que se vaya a utilizar, en
este caso se configurarán los tres protocolos.
Ahora en el archivo principal del dovecot, habilitaré los tres protocolos, esto
para que la plataforma sea más robusta y rápida, puesto a que el protocolo
LMTP, ayuda a la entrega local cuando hay muchos correos en cola.
Verificamos que en directorio “/conf.d” este incluido para la configuración del dovecot.
Ahora en el archivo que conecta el dovecot con el openldap, se habilitará la
autenticación bind (LDAP).
Como se indica en la imagen
Ahora se agregará lo más importante para la conexión con el ldap, lo cual
son los atributos (user_attrs), que se usaran para la conexión, y además en
la misma línea se especificará como se usará la cuota, este caso se utilizará
el plugin quota, y la cuota será establecida en MB.
Se debe agregar el atributo “mailuserquota” lo hacemos por medio del
apache Directory studio.
Establecimos 2 Megas de cuotas de almacenamiento o envio de correo
Comprobaremos que la cuota haya quedado bien establecida por medio del
thunderbird aplicación de correo MTA, ingresamos con el usuario de correo
pablo para ver que si se aplicó la configuración
Vemos que la CUOTA fue establecida en 2 M pero para que esto funcione
perfectamente debo vincular el servidor Postfix con el servidor Dovecot
Porque antes nos salía el error de cuota indicando que el servidor no incluia
la característica de cuotas
Para unir completamente el dovecot con el postfix ingresamos archivo
master.cf , es la única forma en la que se integran servicios al postfix como
las de cuotas y otros como autenticación con certificados etc. Dentro del
master.cf, se editara la siguiente línea indicada en la imagen, se debe tener
muy en cuenta que este archivo es muy sensible con espacios y sentencias,
por lo que se deberá tener la mayor precisión posible con este archivo.
Debemos relacionar un usuario y grupo con el postfix en nuestro caso se
hará con el vmail, anteriormente se creó el usuario vmail entonces se pone
el usuario vmail, se debe poner el mismo usuario creado anteriormente.
Configuración de cuotas básicas de almacenamiento en el MDA (dovecot
2.0) Primero iremos al archivo “/etc/dovecot/conf.d/20-pop3.conf”, y allí
agregaremos el plugin de cuota. En el
Se presentaron problemas al establecer las cuotas de envio de correo
Para unir completamente el dovecot con el postfix para poder realizar la
autenticación con los certificados TLS y con SASL, la única forma en la que
se integran servicios al postfix es por medio del master.cf, por lo cual lo
debemos agregar en el master.cf, se debe tener muy en cuenta que este
archivo es muy sensible con espacios y sentencias, por lo que se deberá
tener la mayor precisión posible con este archivo. Se procede a descimentar
las líneas de TLS y SASL.
El usuario y grupo con el cual se relacionará el postfix es el vmails, si
anteriormente se creó el usuario vmail entonces se pone el usuario vmail, se
debe poner el mismo usuario creado anteriormente.