Servidor de correo con webmail

Esto puede ser una continuación del tutorial: Httpd + PHP + MySQL + mod_ssl + phpmyadmin con varios certificados seguros.

También puede ir bien: DNS con Webmin.

En este tutorial vamos a aprender a instalar un servidor de correo -en este caso postfix- para envíos seguros -con cyrus- y dovecot. También utilizaremos sendmail para el webmail -con squirrelmail-. Todo está hecho en Fedora 13. Manos a la obra.

Para hacer lo siguiente, necesitaremos este software:

– Postfix: Servidor de correo.

– Dovecot: Servidor POP3 i IMAP.

– Cyrus-sasl: Estructura de seguridad para protocolos de datos de internet.

– Cyrus-imapd: Servidor IMAP.

– System-switch-mail: Permite elegir el servidor de correo que utilitzará la máquina.

– Sendmail: Servidor de correo que permite la implementación con postfix.

– Squirrelmail: Gestor de correo a través de web.

Para instalar todos estos paquetes hará falta ejecutar como root en un terminal este comando:

system-switch-mail

Al instalar todos estos paquetes, system-switch-mail preguntará qué sistema de correo elegiremos para funcionar como principal, en este caso elegiremos Postfix.

Primero tenemos que poner las reglas de SELinux para que permita escribir en el directorio /var/spool/mail que es donde se encontrarán los correos de los usuarios, por ello en un terminal como root ejecutamos el siguiente comando:

Certificados con mod_ssl

Primero tenemos que instalar los certificados necesarios para que nuestros correos se envíen de forma segura. Si aun no tenemos instalado el programa ejecutamos el siguiente comando el un terminal:

Seguidamente crearemos el certificado seguro. Para ello accederemos a la carpeta de los certificados a través de comandos:

En este caso utilizaremos una clave de 1024 bytes DSA. El terminal ejecutamos:

Una vez creada la clave crearemos un algoritmo DSA x509 para 3 años:

Como anteriormente, te pide Código del país, etc (para más información ver Httpd + PHP + MySQL + mod_ssl + phpmyadmin con varios certificados seguros)
Una vez terminado, ya no necesitamos el certificado pem, por lo tanto la eliminamos y modificamos los permisos para que sólo pueda leer el usuario root:

Ahora vamos a la carpeta de dovecot y eliminamos los certificados de ejemplo:

Seguidamente crearemos el certificado necesario para dovecot, debe ser RSA de 1024 octects con Estruct x.509:

Volvemos a cambiar los permisos al certificado y vamos a la carpeta root:

Postfix

Ahora empezamos con la configuración de postfix:

Modificamos el fichero /etc/postfix/master.cf, pero lo hacemos a través de comandos para mayor comodidad, por lo que en un terminal ejecutamos lo siguiente:

Seguidamente modificamos el fichero /etc/postfix/main.cf. De igual manera lo hacemos a través de comandos (Acordaros de modificar las lineas resaltadas por vuestro dominio:

Ahora tenemos que modificar el archivo /etc/aliases para que el correo del sistema se entregue a cualquier otro usuario sin privilegios. La última línea del fichero la descomentar y la modificamos de forma que quedará de la siguiente manera:

Ahora ejecutamos el comando siguiente para crear el fichero /etc/aliases.db utilizado por postfix:

Dovecot

A continuación, seguimos con Dovecot.

Pasamos a configurar dovecot. Para empezar modificaremos el fichero/etc/dovecot.conf y modificaremos la línea protocolos para que quede de la siguiente manera:

Ahora especificamos el fichero de configuración donde encontrar los certificado modificando las siguientes lineas:

Ahora hacemos que los servicios se ejecuten al inicio e iniciamos los servicios:

Sendmail

Para configurar sendmail necesitamos un usuario al sistema, como ya tenemos un creado, la asignaremos una clave SMTP con método de cifrado CRAM-MD5 y DIGEST-MD5. Utilizaremos el comando saslpasswd2:

Arrancaremos saslpasswd2 con el sistema y reiniciamos el servicio:

A continuación le tendremos que decir en/etc/mail/local-host-names los dominios que utilizaremos por correo, por lo que quedará así:

Ahora crearemos un fichero llamado relay-domains en/etc/mail/con el mismo contenido que el archivo anterior:

Para configurar el control de acceso modificaremos el fichero/etc/mail/access y pondremos las ip s aceptadas y denegadas:

Ahora modificamos el fichero/etc/mail/sendmail.mc para habilidad y desde habilitar funciones por defecto.

Definimos una política de seguridad para evitar que sepan la versión de sendmail y agregar un mensaje personal cuando intenten conectarse a través del puerto 25:

A continuación modificamos la línea siguiente por la que está en negrita para evitar el login en texto plano, obligando a utilizar el login a través de CRAM-MD5 y DIGEST-MD5:

Para evitar que usuarios no incluidos en el fichero/etc/mail/access puedan acceder sin autenticarse para SMTP descomentar la siguiente línea:

Modificamos la siguiente línea para poder recibir correos de internet o desde la red, y no sólo desde localhost:

Modificamos una línea para evitar lleguen correos de dominios inexistentes:

Definimos la máscara del servidor:

Para definir que el dominio es local, añadimos una línea al final del fichero (notemos que es sin espacio y la C mayúscula):

Para poder definir dominios virtuales con los propios dominios añadimos el parámetro virtusertable en/etc/mail/sendmail.mc:

Ahora crearemos 3 ficheros dentro de/etc/mail/:

/etc/mail/virtusertable: Definimos las cuentas virtuales

/etc/mail/generics-domains: Ponemos el mismo que en/etc/mail/local-host-names:

/etc/mail/genericstable: Actualizar archivos/etc/mail/virtusertable.db y/etc/mail/genericstable.db

En el fichero/etc/mail/sendmail.mc justo encima de la línea MAILER (smtp) dnl añadimos estas lineas para evitar SPAM:

Por último iniciamos IMAP y POP3 al inicio del sistema y reiniciamos sendmail:

Squirrelmail

Por último configuraremos Squirrelmail:

Para configurar el SquirrelMail debemos ejecutar el fichero de configuración conf.pl situado en/usr/share/SquirrelMail/config/. Para ello ejecutamos en un terminal como root:

Cuando ejecutamos el script de configuración encontramos el siguiente menú:

squirrel

Primero editamos la “Organization prefences”. Seleccione el número 1 y nos metemos en el menú de preferencias, y haciendo clic en los números y escribiendo lo que hay. Cambiamos las opciones que nos interesa, primero presionando el número que nos interesa cambiar, y seguidamente el contenido por el que lo cambiamos.

Las opciones mas interesantes de esta pantalla son:

1. Organization Name: El nombre de la organización

2. Organization Logo: La ruta de la imagen del logo

4. Organization Title: El título de la organización

7. Provider Link: El link de la web de la organización

8. Provider Name: El nombre del proveedor

Una vez configurado esto, volvemos atrás y seleccionamos “Server Settings”. La opcion mas destacada de esta pantalla es:

1. Domain: El nombre del dominio

Hecho esto seleccionamos “Languages”. En “Default Language” ponemos: es_ES.

Por último los plugins lo dejaremos de la siguiente manera:

squirrel2

Ya hemos acabado, como no es un servicio sino que es una página web no hay reiniciarla.
Para acceder a él desde un navegador metemos la siguiente url:
https://www.ejemplo.com/webmail