Zextras Carbonio Community Edition
ZEXTRAS CARBONIO COMMUNITY EDITION, TUS DATOS, TU CONTROL
Vivimos en un mundo donde los datos lo son todo. Desde nuestras conversaciones de trabajo hasta los documentos más importantes de un proyecto, todo está digitalizado, almacenado y, muchas veces, compartido sin que realmente sepamos qué ocurre con esa información. ¿Quién tiene el control sobre nuestros datos?
Si nos paramos a pensarlo, toda nuestra información y la de muchas empresas está en servicios gestionados por terceros que no están bajo nuestro control directo. Por lo tanto no sabemos que pasa con esa información, ni en que lugar del mundo está almacenada ni por supuesto quien tiene acceso a ella.
Es por ello que a muchas empresas le preocupe y busquen alternativas seguras que no comprometan sus datos ni genere dependencias tecnológicas y Zextras Carbonio es una buena alternativa.
¿Qué puedes hacer con Zextras Carbonio Community Edition?
La respuesta es sencilla: prácticamente todo lo que necesitas para trabajar y colaborar.
- Correo electrónico profesional: Gestiona tus comunicaciones de manera eficiente con una herramienta moderna y adaptable.
- Chat y videollamadas seguras: Olvídate de depender de plataformas que no te garantizan privacidad.
- Colaboración en documentos: Trabaja con tu equipo en tiempo real, sin sacrificar el control de tus archivos.
- Almacenamiento centralizado: Guarda todos tus archivos en un lugar seguro, accesible solo para las personas que tú autorices.
Y todo esto en un entorno que tú mismo puedes configurar, el cual debe cumplir unos requisitos respecto a hardware, 4 vCPU, 16GB RAM y 50GB de disco solo para sistema y carbonio, tendrás que asignar más en función de tus previsiones, es decir, si tienes por ejemplo 20 usuarios y quieres darle 10 GB a cada uno de correo necesitaras 200GB.
Además Carbonio tiene 12 roles diferentes que pueden ser instalados en un solo nodo o en varios para optimizar y obtener alta disponibilidad, por lo tanto los requisitos serían otros. Lo mínimo para un solo nodo con todo es lo mencionado anteriormente.
Puertos Requeridos por Zextras Carbonio a nivel externo
Rol MTA (Mail Transfer Agent):
- 25/TCP (SMTP): Recepción de correos electrónicos entrantes entre servidores.
- 465/TCP (SMTP sobre TLS): Envío de correos electrónicos con TLS.
- 587/TCP (SMTP autenticado): Envío de correos electrónicos autenticados, requiere STARTTLS.
Rol Proxy:
- 80/TCP (HTTP): Conexión no segura al cliente web de Carbonio, redirigida a https.
- 110/TCP (POP3): Servicios POP3 externos.
- 143/TCP (IMAP): Servicios IMAP externos.
- 443/TCP (HTTPS): Conexión segura al cliente web de Carbonio.
- 993/TCP (IMAPS): Acceso IMAP seguro externo.
- 995/TCP (POP3S): Acceso POP3 seguro externo.
- 5222/TCP (XMPP): Requerido por el rol de Work Stream Collaboration (Chat).
- 6071/TCP (HTTPS): Acceso seguro al Panel de Administración.
Rol Carbonio VideoServer:
- 20000-40000/UDP: Conexiones de clientes para transmisiones de audio y video.
Puertos Requeridos por Zextras Carbonio a nivel interno
En cada Nodo:
- 22/TCP (SSH): Acceso SSH para administración.
- 8301/TCP y UDP: Gestión del protocolo Gossip en la LAN.
- 9100/TCP: Exportador de datos para Carbonio Monitoring Node.
- 9256/TCP: Exportador de procesos para Carbonio Monitoring.
Rol Postgres:
- 5432/TCP: Acceso a la base de datos Postgres.
- 9187/TCP: Exportación de datos de Postgres para Carbonio Monitoring.
Rol Directory Server:
- 389/TCP: Conexión LDAP no segura.
- 636/TCP: Conexión LDAP segura.
- 9330/TCP: Exportación de datos LDAP para Carbonio Monitoring.
Rol MTA:
- 25/TCP (SMTP): Recepción de correos electrónicos entrantes.
- 465/TCP (SMTP sobre TLS): Envío de correos electrónicos con TLS.
- 587/TCP (SMTP autenticado): Envío de correos electrónicos autenticados, requiere STARTTLS.
- 7026/TCP: Dirección de enlace del servicio Milter.
Rol Mailstore & Provisioning:
- 7025/TCP: Intercambio de correo local utilizando el protocolo LMTP.
- 7071/TCP: Comunicación de servicios SOAP.
- 7072/TCP: Descubrimiento y autenticación de NGINX.
- 7073/TCP: Descubrimiento y autenticación SASL.
- 7110/TCP: Servicios POP3 internos.
- 7143/TCP: Servicios IMAP internos.
- 7993/TCP: Acceso IMAP seguro interno.
- 7995/TCP: Acceso POP3 seguro interno.
- 8080/TCP: Acceso a servicios HTTP internos.
- 8443/TCP: Servicios HTTPS internos.
- 8735/TCP: Comunicación interna del buzón de correo.
- 8742/TCP: Servicios HTTP internos, módulo avanzado.
- 8743/TCP: Servicios HTTPS internos, módulo avanzado.
Rol Carbonio VideoServer:
- 8090/TCP: Comunicación del servlet.
- 8188/TCP: Conexión interna.
Rol Proxy:
- 9113/TCP: Exportación de datos de nginx para Carbonio Monitoring.
- 11211/TCP: Acceso a memcached.
Rol Carbonio Mesh:
- 8300/TCP: Gestión de solicitudes entrantes de otros agentes.
- 8302/TCP y UDP: Gestión del protocolo Gossip en la WAN.
- 9107/TCP: Exportación de datos de Carbonio Mesh para Carbonio Monitoring.
- 21000-21255/TCP: Rango para puertos de registro de servicios sidecar (asignados automáticamente).
Según tu entorno tienes que implementar la seguridad adecuada respecto a estos puertos, es decir, por ejemplo, el panel de administración no lo expongas a internet, haz que solo sea accesible desde ciertas ips o externamente utilizando una VPN.
Carbonio puede ser instalado en Ubuntu 20.04, Ubuntu 22.04, RHEL8 y RHEL9, en Red Hat necesitaras una suscripción. Necesitaremos al menos una ip pública asociada con un registro A como mail.dominio.com y un registro MX que corresponda con el rejistro A, ejemplo dominio.com. Debemos además implementar registros SPF,DKIM y DMARC para mejorar la seguridad. Es necesario también que en nuestros ficheros de hosts no haya ninguna entrada IPv6.
Si vamos a instalar varios servidores con varios nodos, debemos tener clara una arquitectura desde el primer momento para nombrar a estos nodos y que nos facilite la vida a futuro, por ejemplo:
proxy1.domain.com es el (primer) nodo proxy
mta1.domain.com es el (primer) nodo MTA
Si ampliamos estos roles los siguientes serían:
proxy2.domain.com se convierte en el segundo nodo proxy
mta2.domain.com se convierte en el segundo nodo MTA
Todo esto puede parecer muy complejo pero no es así, ya que una vez que entiendes los roles y el proceso de instalación manual es sencillo estando todo ello muy bien documentado. Puedes empezar a probar de manera muy sencilla el sistema con todo en un solo nodo instalándolo por medio del script que ofrece Zextras.
Para ello solo necesitas un Ubuntu 22.04 y ejecutar estos comandos para añadir los repositorios de Carbonio.
sh -c 'echo "deb [arch=amd64 signed-by=/usr/share/keyrings/zextras.gpg] https://repo.zextras.io/release/ubuntu jammy main" > /etc/apt/sources.list.d/zextras.list'
wget -O- "https://keyserver.ubuntu.com/pks/lookup?op=get&search=0x5dc7680bc4378c471a7fa80f52fd40243e584a21" \
| gpg --dearmor | sudo tee \
/usr/share/keyrings/zextras.gpg > /dev/null
chmod 644 /usr/share/keyrings/zextras.gpg
sh -c 'echo "deb https://apt.postgresql.org/pub/repos/apt $(lsb_release -cs)-pgdg main" > /etc/apt/sources.list.d/pgdg.list'
wget -O- "https://www.postgresql.org/media/keys/ACCC4CF8.asc" | \
gpg --dearmor | sudo tee /usr/share/keyrings/postgres.gpg > \
/dev/null
chmod 644 /usr/share/keyrings/postgres.gpg
sed -i 's/deb/deb [signed-by=\/usr\/share\/keyrings\/postgres.gpg] /' /etc/apt/sources.list.d/pgdg.list
apt-get update
Una vez que ya tenemos los repositorios nos descargamos su script que podéis obtener visitando su web en Zextras Carbonio Community Edition
Es muy importante que antes de lanzar el script nuestro hostname y fichero de hosts tenga el nombre completo con el dominio, de lo contrario recibiriremos el error "service-discover: error: invalid binding address selected", produciendo también los siguientes errores service-discover: error: unable to open /etc/zextras/service-discover/cluster-credentials.tar.gpg. Para ello lanzamos acorde a nuestros datos o editamos ambos ficheros a mano:
hostnamectl set-hostname mail.domain.com
echo -e "127.0.0.1 localhost\n192.168.1.79 mail.domain.com mail" > /etc/hosts
En nuestro caso a ser de pruebas es mail.local pero debéis tener por ejemplo mail.domain.com.
Le damos permiso de ejecucion con chmod +x install_carbonio_ce_singleserver_ubuntu.sh y lo ejecutamos. ./install_carbonio_ce_singleserver_ubuntu.sh
Esta instalación llevará unos minutos dependiendo de la conexión y del hardware, durante la instalación nos pedirá la ip publica del video server, en nuestro caso la ip 192.168.1.79
Cuando el script se complete correctamente, imprimirá en pantalla las contraseñas de los servicios Carbonio Mesh y PostgreSQL. No se olvide de guardarlas en un lugar seguro.
Por último vamos a cambiar la password del usuario por defecto que es [email protected], donde domain.com es vuestro dominio, ejecutando:
su - zextras -c "carbonio prov setpassword [email protected] tunuevopassword"
Si lo hacéis en un entrono de pruebas como el nuestro donde nuestro dominio es local solamente, el usuario será zextras@local, es decir, solo la parte del dominio
Hecho esto ya podemos acceder al panel de administración por el puerto 6071
A partir de aquí hay mucho que aprender porque es muy extenso, como podéis ver cuando entréis podéis añadir los dominios que queráis. Para empezar os recomiendo cambiar el leguaje en Administrators dentro de la configuración global, seleccionando el usuario.
Basta con recargar la página para que se aplique cuando lo hayais salvado.
Y los usuarios podrán acceder al panel por https://mail.local en nuestro caso.
A partir de aquí explorarlo, exprimirlo y ver si cumple con vuestros requisitos para tener el control de vuestros datos, estoy seguro de que así será.
Si necesitáis soporte para algún proyecto poneros en contacto con nosotros no solo para implantar , si no para migrar, hemos hecho cientos de migraciones entre diferentes sistemas de correos y proveedores(Qmail, Gmail, Office365, OVH ,Carbonio,...) desde pocos usuarios hasta miles de usuarios.
Que tengáis una buena semana.
TL.
Gracias por leer nuestros posts.
No hay comentarios