Sunday, June 7, 2009

Zimbra me dejo AZombrado




La ultima vez que instale un webmail opensource fue Squirrelmail una solucion que permitía acceder a un Exchange Server mediante IMAP. Esto hace unos 5 años atras, en aquel momento OWA necesitaba abrir muchos puertos para interactuar con Exchange y no me parecía una solucion segura.

En este momento surgió la posibilidad de realizar el insourcing del sistema de correo de una organización que tiene unos 1000 usuarios.

Dado que estamos en un momento económico bastante complicado, se me pidio encontrar una solucion acorde a los tiempos, y aqui empieza la historia de Zimbra.

Este sistema de correo fue pensado en GRANDE, es totalmente escalable y en verdad es una SUITE DE COLABORACION que comprende :

  • Integra sistemas Open Source. Linux®, Jetty, Postfix, MySQL®, OpenLDAP®.
  • Usa protocolos abiertos standar SMTP, LMTP, SOAP, XML, IMAP, POP.
  • Tecnología de clientes moderna . Java, JavaScript thin client, DHTML.
  • Escalable horizontalmente, es decir que se pueden agregar mas servers sin afectar a la arquitectura.
  • Acceso de los clientes mediante interfaz Wev
  • Consola de Administración de usuarios y servidores

La arquitectura como podemos ver es abierta y escalable

Se puede integrar con sistemas de terceros ( Microsoft AD por ejemplo )

Trae incorporada soluciones Antivirus ( ClamAV ) y Antispam ( SpamAssasin )

Veamos como es la instalación en una máquina virtual (32 bits )con OpenSuse 10.3, la instalación es "medianamente sencilla", el unico punto donde podemos tener problemas es en la resolución de nombres.

En este link estan los pasos para la instalacion en OpenSuse 10.3, yo les hago un resumen.

NOTA : Esta guia es solo ilustrativa, la configuración de la solucion dependerá del numero de usuarios, volúmenes de mails, arquitectura de la red.
Por ultimo vale aclarar que faltan los pasos para el hardening de la instalación.


1 Instalar OpenSuse 10.3 y verificar de tener fetchmail, cURL, libidn, GMP, sudo, compat-libstdc++, libopenssl0_9_8.
Es recomendable no instalar un ambiente gráfico, ya que la solucion se administra via web. Por lo tanto una instalación standard trae la mayoria de los componentes anteriormente enunciados. En mi caso, solo falto instalar GMP.

2 Si se realizo una instalacion del tipo Server, tenemos que quitar todos los paquetes que puedan interferir con Zimbra.
AppArmor, Apache, MySQL, OpenLDAP, Amavis, Spamassassin, Postfix debe estar instalado.

3 Importantísimo el tema de la configuración del server DNS. Sin esto, no lograremos hacer funcionar a Zimbra.
Esto en si requiere una serie de pasos :

a ) Instalar Bind

b ) Configurar el archivo /etc/named.conf

Editarlo, al final del ultimo corchete de

zone "localhost" IN {
type master;
file "localhost.zone";
allow-update { none; };
};


Se debe agregar la zona del dominio con el que trabajaremos

zone "yourowndomain.com" IN {
type master;
file "yourowndomain.com.zone";
allow-update { none; };
};

c ) Tenemos que movernos al directorio /var/lib/named

Ahora debemos copiar el archivo localhost.zone en
yourowndomain.com.zone

cp localhost.zone yourowndomain.com.zone

d ) Luego tenemos que editar el archivo yourowndomain.com.zone

En este caso, el dominio que configure se llama mailzimbra.com, ustedes deberan reemplazarlo con su dominio

$TTL 86400
@ IN SOA @ mail.mailzimbra.com. (
42 ; serial (d. adams)
2D ; refresh
4H ; retry
6W ; expiry
1W ) ; minimum

@ IN NS mail.mailzimbra.com.
IN MX 10 mail.mailzimbra.com.
IN A 10.1.1.4
mail IN A 10.1.1.4
www IN A 10.1.1.4


e ) Deben reiniciar el servicio de DNS

/etc/init.d/named restart

f ) Tenemos que configurar el archivo resolv.conf con la IP del DNS Server

vi /etc/resolv.conf

domain site
nameserver 10.1.1.4


Como vemos, yo configure el DNS en la maquina donde tengo Zimbra.

El siguiente paso es configurar el nombre del server

hostname mail.yourowndomain.com

Debemos verificar que el archivo hosts tenga tambien la IP de nuestro server

vi /etc/hosts

127.0.0.1 localhost
10.1.1.4 mail.mailzimbra.com

g ) Verificamos si todo funciona, mediante el comando dig.


mail:~ # dig mx mailzimbra.com

; <<>> DiG 9.4.1-P1 <<>> mx mailzimbra.com
;; global options: printcmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 59335 ;; flags: qr aa rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 1, ADDITIONAL: 1 ;; QUESTION SECTION: ;mailzimbra.com. IN MX ;; ANSWER SECTION: mailzimbra.com. 86400 IN MX 10 mail.mailzimbra.com. ;; AUTHORITY SECTION: mailzimbra.com. 86400 IN NS mail.mailzimbra.com. ;; ADDITIONAL SECTION: mail.mailzimbra.com. 86400 IN A 10.1.1.4 ;; Query time: 3 msec ;; SERVER: 10.1.1.4#53(10.1.1.4) ;; WHEN: Sun Jun 7 23:53:36 2009 ;; MSG SIZE rcvd: 83 Todo Ok, podemos continuar. 4 ) Ahora debemos descomprimir el archivo con Zimbra que bajaremos desde aqui. Zimbra OpenSuse 10.3


5 ) Editamos el archivo /etc/syslog-ng/syslog-ng.conf y agregamos estas lineas al final del documento.

# Zimbra logger
filter f_local0 { facility(local0); }; # zimbra
destination zmail { file("/var/log/zimbra.log" owner("zimbra") ); }; # zimbra
log { source(src); filter(f_mail); destination(zmail); }; # zimbra
destination local0 { file("/var/log/zimbra.log" owner("zimbra") ); }; # zimbra
log { source(src); filter(f_local0); destination(local0); }; # zimbra
filter f_auth { facility(auth); }; # zimbra
destination zmauth { file("/var/log/zimbra.log" owner("zimbra") ); }; # zimbra
log { source(src); filter(f_auth); destination(zmauth); }; # zimbra

6 ) Paramos los posibles servicios que se esten ejecutando

service postfix stop
chkconfig postfix off

7 ) Nos movemos al directorio donde se descomprimió la aplicación y ejecutamos :

./install.sh --platform-override


8 ) En algun punto de la instalacion se nos indica que hay un problema con el registro MX.

Contestamos YES y debemos agregar nuestro dominio a la izquierda del ultimo corchete en [ mail.yourowndomain.com ]




9 ) Luego de contestar Yes a los modulos que instalara Zimbra, comienza la descompresión de los archivos y su instalación automática.

Solo resta ingresar la password del usuario de administración y por ultimo se nos pedira si queremos informar de la instalación a Zimbra.com



Ahora podemos acceder a la interfaz de administración mediante el Browser apuntando al nombre del dominio o la IP,mediante https en el puerto 7071.
Dado que es un certificado auto-generado, debemos dar ok cuando el browser no advierte.

Estas son algunas de las interfaces de administración :


Del lado del cliente, realmente hicieron un muy buen trabajo :

Interfaz de mail


Acceso a la lista global de direcciones ( LDAP )

Mensajería instantánea

Inserción de módulos que permiten por ejemplo en este caso, acceder
a mapas de direcciones de Yahoo.

Olvidaba agregar que se puede acceder desde dispositivos mobiles ( Zimbra mobile)





Esto fue solo el 5% de todas las posibilidades que brinda Zimbra.

En este momento hay una fuerte presion por parte de Software Legal por el licenciamiento, muchas empresas en esta crisis no esta en condiciones de afrontar los costos de un server Exchange y las licencias clientes, tal vez es hora de buscar soluciones como Zimbra.

Costos de licencias de Exchange Server y CAL ( cada CAL corresponde a un usuario ) ( precios en EEUU )


ProductosPreciosCaracterísticas



Exchange Server 2007 Standard Edition

$699 US

Permite la creación de hasta 5 grupos de almacenamiento, con un máximo de 5 bases de datos por rol Mailbox de servidor.

Exchange Server 2007 Enterprise Edition

$3,999US

Permite la creación de hasta 50 grupos de almacenamiento, con un máximo de 50 bases de datos por rol Mailbox de servidor.

Ofertas de la Licencia CAL

Exchange Server 2007 Standard CAL

$67 US

La CAL para dispositivo/usuario de Exchange Server 2007 es necesaria para cada usuario/dispositivo con más acceso al servidor, y con derechos de accesos a ambas ediciones de Exchange Server.

Exchange Server 2007 Enterprise CAL License and Software Assurance (L&SA)*

$25 US

La CAL para Exchange Enterprise ofrece acceso a la Mensajería Unificada y desempeño afianzado, así como Forefront Security para Exchange Server y Filtro Hospedado de Exchange en función de una protección anti-virus y anti-spam.








El Standard CAL brinda lo siguiente :

The Exchange Server Standard CAL provides access to e-mail, shared calendaring and Outlook Web Access (OWA). In addition you will get advancements that reduce the cost and complexity of the messaging system by giving IT Administrators the messaging protection their company demands, the anywhere access their end users want and the reliability they need.


Haciendo resumidas cuentas, para el caso de 1000 usuarios, tenemos aproximadamente de costo.

1000 CAL's : 67 x 1000 = 67000 U$S

1 Exchange Server Standard = 699 U$S

1 Windows Server 2008 Standard = 1000U$S

( No estoy contando el AntiSPAM , tampoco el Antivirus y no tengo claro
el tema de las CAL en el server para los mails que van a internet )
Seguramente necesitaremos ademas un AD y un Backup del AD
pero no vamos a tenerlo en cuenta, porque tambien entrarian las CAL de
los usuarios del AD.


Costo total aproximado = U$S 69000

Te hago un descuento del 50% = U$S 34500


Para quienes no tienen U$S 35000 la direccion de Zimbra esta aca.

2 comments:

Anonymous said...

muy buen resumen, me ayudó bastante!!

Anonymous said...

Instalar el dns en el mismo servidor no es buena idea. Aparte puede funcionar igual Zimbra si es solo para probarlo y no enviar ni recibir correo. Luego, postfix no debería estar instalado antes de zimbra!..ni apache ni OpenLdap ni nada..el paso 6 está de más igual q toda la parte de DNS y syslog.

Saludos!