Vamos a configurar Cyrus (No he probado la última versión, pero la 2.2 me parece bastante estable y es la que utilizaré en esta guía), haremos que autentifique los usuarios con sasl, y miraremos la configuración, hay ciertas cosas interesantes que debemos saber y otras que debemos cambiar.
Antes de nada, decir que he escrito esta guía usando Ubuntu Server 12.04, así que voy a utilizar comandos como apt-get y sudo que puede que no uses en tu distribución, de todas formas, la base de todo, los paquetes y los archivos de configuración deberían coincidir.
Vamos a instalar Cyrus:
$ sudo apt-get install cyrus-admin-2.2 cyrus-common-2.2 cyrus-doc-2.2 cyrus-imapd-2.2 cyrus-clients-2.2 cyrus-pop3d-2.2
Tras ello, debemos asegurarnos de que el grupo de /etc/sasldb2 es sasl:
$ stat /etc/sasldb2 Fichero: «/etc/sasldb2» Tamaño: 12288 Bloques: 24 Bloque E/S: 4096 fichero regular Dispositivo: 801h/2049d Nodo-i: 149541 Enlaces: 1 Acceso: (0660/-rw-rw----) Uid: ( 0/ root) Gid: ( 45/ sasl) Acceso: 2013-06-20 14:25:19.847911242 +0200 Modificación: 2013-06-20 14:25:14.783913275 +0200 Cambio: 2013-06-20 14:25:14.783913275 +0200 Creación: -
Si no lo es:
$ sudo chgrp sasl /etc/sasldb2
Ahora, para hacer posible la identificación debemos asegurarnos de que el usuario cyrus pertenece al grupo sasl
$ groups cyrus cyrus : mail
En este caso no es así, por lo que hacemos lo siguiente:
$ sudo gpasswd -a cyrus sasl
Editemos entonces los ficheros de configuración (No voy a poner el fichero de configuración completo, sólo las líneas a las que debemos prestar atención, en negrita):
/etc/imapd.conf
unixhierarchysep: yes .... admins: cloud .... allowanonymouslogin: no .... popminpoll: 3 .... autocreatequota: 100 quotawarn: 90 .... sasl_mech_list: PLAIN LOGIN CRAM-MD5 DIGEST-MD5 .... loginrealms: totaki.com myotherdomain.com anotherone.com virtdomains: on .... sasl_pwcheck_method: saslauthd
Veamos todo esto en detalle.
- unixhierachysep: Nos permite poner puntos en las direcciones de correo, por ejemplo pepe.perez@midominio.com Cyrus internamente usa el punto para delimitar la jerarquía de las carpetas, y por eso no se puede usar normalmente. Pero si ponemos aquí un yes, hace una conversión de caracteres justo antes de procesar la dirección por lo que ya podemos usar puntos si queremos.
- admins: Aquí escribimos usuarios (separados por espacios) con privilegios de administración para todos los servicios, debemos añadir al menos uno para empezar a crear buzones. Luego podemos comentar esta línea por seguridad.
- allowanonymouslogin: Permite identificarse como usuario anónimo en el sistema. Mejor lo desactivamos si no lo está ya.
- popminpoll: Es el tiempo que debe esperar un usuario que se identifique por POP entre sus peticiones. Si tenemos muchos usuarios puede ser una buena idea restringir este tiempo para evitar que un sólo usuario pueda producir peticiones en cortos periodos de tiempo (supuestamente ya tenemos bastantes). Aunque también podemos poner aquí un 0, y permitir que en menos de un minuto podamos descargar de nuevo el correo.
- autocreatequota: Cuota de usuario en Megabytes. Limita el espacio que puede ser utilizado por un usuario. Si ponemos un cero, será ilimitado.
- quotawarn: El usuario será notificado cuando llegue a este porcentaje de uso de espacio o más. Si utilizamos la opción de cuota, esto es una buena idea.
- sasl_mech_list: Es una lista separada por espacios de los mecanismos de identificación utilizados por sasl para validar el usuario. Podemos elimitar PLAIN (texto plano), para evitar identificaciones inseguras por parte de los usuarios. Si dejamos la línea como viene en el ejemplo, se usarán los métodos ordenados de mayor a menor en cuanto a su seguridad.
- loginrealms: Lista separada por espacios de los dominios que podemos utilizar para los e-mails de usuarios.
- virtdomains: Si lo activamos (ponemos on aquí), el nombre de usuario se separará de la @ y el dominio del usuario será la parte de la derecha.
- sasl_pwcheck_method: Método de autentificación, estaremos usando saslauthd para este tutorial.
Antes de reiniciar, debemos asegurarnos de que /run/cyrus/lock y /run/cyrus/proc existen, y si no:
$ sudo mkdir /var/cyrus/lock $ sudo mkdir /var/cyrus/proc $ sudo chown cyrus:mail /var/cyrus/lock /var/cyrus/proc
Reiniciamos Cyrus:
$ sudo service cyrus-imapd restart
Y ahora creamos un buzón de ejemplo (explicaremos en detalle la creación de buzones más adelante)
$ sudo saslpasswd2 -c info@mylittlecloud.com Password: 1234 Again: 1234 $ cyradm --user cloud localhost Password: **** > cm user/info@mylittlecloud.com > quit
Ahora podremos configurar este buzón en nuestro cliente favorito (Algunos clientes como Thunderbird requieren una dirección de correo saliente, y todavía no la tenemos configurada). Para probar el buzón podemos intentar copiar ahí mensajes de otras cuentas de correo que tengamos configuradas.
Explicaré en detalle cómo hacer tareas comunes como crear/borrar usuarios y buzones, definir cuota de usuario, etc algunas páginas más adelante.
Deja un comentario