Configuración de Zentyal¶
En esta página se abordará la configuración del servidor Zentyal para que actúe como servidor de correo y compartición de ficheros.
Objetivos¶
Las objetivos que se realizarán serán:
- (Opcional) Desinstalación de Snap.
- (Opcional) Configuración adicional de los usuarios locales del sistema:
- Modificación del Prompt.
- Modificaciones sobre el historial.
- Configuración para el editor
vim
.
- Creación de una partición SWAP.
- Configuración de los volúmenes EBS adicionales.
- Implementación de quotas en el sistema de archivo.
- Configuración de los siguientes módulos de Zentyal:
- Logs
- Firewall
- Software
- NTP
- DNS
- Controlador de dominio
- Correo
- Webmail
- Antivirus
- Mailfilter
- CA
- OpenVPN
Al término de este documento, el servidor Zentyal quedará listo para usarse, aunque en siguientes documentos seguiremos estableciendo configuraciones adicionales como la configuración de certificados emitidos por Let's Encrypt o configuraciones opciones pero altamente recomendables como por ejemplo, hardening del servicio de correo.
Configuración opcional¶
En esta sección se realizarán diversas configuraciones opcionales sobre el servidor Zentyal, por lo que se puede omitir e ir a la sección 'Configuración previa'.
Snap¶
Como Zentyal no usa Snap, procederemos a su desinstalación.
-
Paramos el servicio:
-
Eliminamos el paquete:
-
Eliminamos los directorios que quedan en el sistema de archivos:
Prompt¶
Para mejorar la experiencia de usuario cuando realizamos tareas desde la CLI, procederemos a habilitar el color del prompt para los usuarios locales existentes y futuros.
Historial¶
Con la finalidad de almacenar más información en el historial personal de los usuarios y que además, haya un timestamp que indique la fecha y hora en la que fue ejecutado determinado comando, añadiremos una serie de opciones adicionales a los usuarios locales tanto existentes como futuros.
Vim¶
Añadiremos una configuración personalizada sencilla para el editor de textos vim
tanto para los usuarios existentes como futuros. Esta configuración establecerá lo siguiente:
- Tabulación de 2 espacios.
- Habilita el resaltado de sintaxis.
- Muestra el número de la líneas.
- Usa el esquema de color 'desert'
- Configura el editor para usar archivos Yaml.
Para establecer la configuración, simplemente habrá que crear un archivo llamado .vimrc
en el directorio personal de los usuarios.
Configuración previa¶
A continuación se realizan las configuraciones previas a la configuración de los módulos de Zentyal. Salvo el apartado de Volúmenes EBS adicionales
, que sería opcional, el resto deberían de implementarse.
Partición SWAP¶
Es altamente recomendable configurar una partición SWAP en el servidor para incrementar la disponibilidad del servidor en caso de picos relacionados con la memoria RAM. Las acciones que realizaremos están documentadas aquí.
-
Creamos un archivo vacío de 4GB, que será el tamaño de nuestra partición SWAP:
-
Establecemos los permisos para el archivo:
-
Establecemos el archivo como una área de SWAP:
-
Habilitamos la partición SWAP de forma temporal:
-
Verificamos que el sistema reconoce la nueva partición SWAP ejecutando los siguientes comandos:
El resultado que deberíamos obtener es:
-
Establecemos la partición en el archivo de configuración
/etc/fstab
para que persista ante el reinicio del servidor: -
Finalmente, comprobamos que la nueva entrada en el archivo no contenga errores de sintaxis:
Volúmenes EBS adicionales¶
En caso de que hayamos añadido volúmenes EBS adicionales - como ha sido mi caso para los buzones de correo y recursos compartidos -, procederemos a configurarlos y montarlos en el servidor.
Nota
Para el punto de montaje de los recursos compartidos, se podría usar /home/samba/
en lugar de /home/
. No obstante, usando /home/samba/
los directorios personales de los usuarios del dominio (compartidos en letra 'H' por defecto) no quedarían almacenados en el volumen EBS.
-
Listamos los volúmenes con el comando:
En mi caso concreto, me muestra el siguiente resultado:
-
En los volúmenes
nvme1n1
ynvme2n1
creamos una única partición que ocupe todo el disco:Info
'8e' estable como etiqueta 'Linux' a la partición.
-
Revisamos que se hayan creado las particiones correctamente:
En mi caso concreto, me muestra el siguiente resultado:
-
Establecemos como sistema de archivos
ext4
a las nuevas particiones: -
Volvemos a revisar que todo haya ido bien con el comando:
En mi caso concreto, me muestra el siguiente resultado:
-
Creamos el directorio donde se montará el volumen EBS para los buzones de correo:
-
Montamos temporalmente el volumen EBS que contendrá los recursos compartidos:
-
Copiamos el contenido del directorio
/home/
al directorio temporal donde hemos montado el volumen EBS: -
Desmontamos el volumen EBS:
-
Obtenemos el identificador (UUID) de los volúmenes:
En mi caso concreto, me muestra el siguiente resultado:
Warning
Recordad que el volumen para los mailboxes fue montado primero, por lo que su punto de montaje es
/dev/nvme1n1p1
. -
Establecemos en el archivo
/etc/fstab
el montaje de los volúmenes EBS:Warning
Tendréis que cambiar el valor del parámetro
UUID
por vuestro valor obtenido en el paso 7. -
Montamos los volúmenes para verificar que no hay errores de sintaxis en el archivo del paso anterior:
-
Finalmente, confirmamos que se hayan montado bien ejecutando los siguientes comandos:
En mi caso concreto, me muestra el siguiente resultado:
Quota¶
Para poder hacer uso de las quotas que Zentyal permite establecer para limitar el uso de información que un usuario del dominio puede almacenar en el servidor, así como para el tamaño máximo del buzón de correo, es necesario instalar una serie de paquetes y habilitar su uso en el disco.
Nota
No es necesario habilitar la quota en el disco que contiene los buzones de correo, ya que Zentyal las gestiona de otra forma.
-
Instalamos los siguientes paquetes requeridos para instancias de AWS:
-
Establecemos las opciones de montaje adicionales en el volumen EBS de los recursos compartidos, para ello, editamos el archivo de configuración
/etc/fstab
:Info
Las opciones añadidas han sido:
usrjquota
,grpjquota
yjqfmt
. -
Reiniciamos el servidor para que nos cargue el último kernel y podamos habilitar de forma seguridad las quotas:
-
Añadimos el módulo de Quota al kernel:
-
Persistimos el cambio anterior:
-
Dejamos que el sistema compruebe las quotas y cree los archivos pertinentes:
El resultado que he obtenido en mi caso ha sido:
Configuración de los módulos¶
A partir de este momento, ya podremos instalar, configurar y comprobar los módulos de Zentyal.
General¶
Lo primero de todo que debemos hacer es configurar la base de Zentyal desde el menú System -> General
.
-
Estableceremos el idioma del panel de administración así como el puerto por el cual escuchará el módulo webadmin:
-
Después, desde el mismo panel, establecemos el nombre del servidor y el dominio:
Warning
En el momento en que habilitemos el módulo de controlador de dominio, estos 2 valores no podrán cambiar.
Módulo de Logs¶
Inicialmente, habilitaremos los 'dominios' que hay disponibles, cambiaremos el tiempo de retención a 30 días para el firewall y 90 para los cambios del panel de administración así como login de los administradores:
Módulo de Cortafuegos¶
Para la configuración de red que tenemos (interna) y los módulos que usaremos, las secciones del firewall que usaremos son:
- Filtering rules from internal networks to Zentyal
- Filtering rules from traffic coming out from Zentyal
Las políticas definidas por defecto en ambas secciones del firewall son seguras, no obstante, procederemos a añadir una regla de tipo LOG
para las conexiones por SSH, ya que siempre es buena idea tener la mayor información posible sobre este servicio tan crítico. Para ello, iremos a Firewall -> Packet Filter -> Filtering rules from internal networks to Zentyal
y añadiremos la siguiente regla:
Quedando como resultado las siguientes reglas:
Consideraciones:
- Es importante que la nueva regla vaya por encima de la regla que acepta la conexión SSH, de lo contrario nunca se ejecutará, ya que cuando una regla se cumple, no se siguen analizando el resto.
- Recordad que a parte de este firewall, también tenemos el de AWS (Security Group asociado a la instancia), por lo que tendremos que asegurarnos que ambos firewall tienen las mismas reglas.
- Se podría configurar en el firewall de Zentyal que permita todo el tráfico y después, desde el security group ser más restrictivo, o viceversa, no obstante, es recomendable configurar ambos por igual.
Módulo de Software¶
Con la finalidad de tener nuestro servidor actualizado, habilitaremos y estableceremos la hora en la que se instalarán las actualizaciones automáticamente. Además, procederemos a instalar los módulos que vamos a usar.
-
Desde el menú
Software Management -> Settings
, establecemos las configuraciones de las actualizaciones automáticas:Nota
Es altamente recomendable establecer una hora que sea posterior a las copias de seguridad del servidor como snapshots, así tenemos un punto de restauración estable en caso de que una actualización cause una incidencia crítica.
-
Después, desde el menú
Software Management -> Zentyal Components
procederemos a instalar únicamente los módulos que vamos a usar:Info
Tras instalarse los módulos, se crearán automáticamente múltiples reglas en la sección
Filtering rules from internal networks to Zentyal
del firewall para permitir el accesos a estos módulos.
Módulo de NTP¶
El primero de los módulos recién instalado que vamos a configurar es NTP, en él estableceremos la zona horaria y los servidores NTP oficiales más próximos geográficamente donde está ubicado el servidor.
-
Vamos a
System -> Date/Time
y establecemos la zona horaria: -
Habilitamos la opción que permite sincronizar la hora con servidores externos:
-
Modificamos los servidores NTP establecidos por defecto, por los oficiales que tenemos disponibles en esta web:
-
Finalmente, habilitamos el módulo de NTP desde
Modules Status
:
Módulo de DNS¶
El siguiente módulo que procederemos a configurar será el DNS, el cual es crítico para el funcionamiento del módulo de controlador de dominio y por dependencia, también el de correo.
La configuración que estableceremos será mínima, ya que la gestión de los registros DNS la gestionaremos desde el panel de administración donde tenemos contratado el dominio - Route 53 en mi caso -.
-
Creamos el dominio, el cual debe coincidir con el creado en
System -> General
. Para ello, desde el menú lateral seleccionamosDNS
: -
Después, comprobamos que la IP del servidor se haya registrado con éxito al dominio, para ello vamos al campo
Domain IP Addresses
del dominio recién creado: -
También revisamos que la IP se haya registrado para el nombre del servidor. En este caso, el campo es
Hostnames -> IP Address
: -
A continuación, creamos los registros adicionales de tipo alias desde
Hostnames -> Alias
. En mi caso, crearé dos registros relativos al correo:mail
ywebmail
. -
Establecemos los servidores DNS forwarders, que en caso serán los de Cloudflare y Quad9:
-
Una ves establecida la configuración del módulo, procederemos a habilitarlo desde
Modules Status
: -
Finalmente, comprobamos que podemos resolver los registros DNS configurados desde el propio servidor. Para ello, ejecutaremos los siguientes comandos:
A continuación, los resultados que he obtenido:
Como se puede apreciar, el
status
de todos es 'NOERROR' y en 'ANSWER SECTION' muestra los registros DNS en cuestión.
Llegados a este punto, el módulo estaría configurado en Zentyal, no obstante, todavía queda crear los registros con la IP pública del servidor en el proveedor DNS para que estos sean visibles externamente. A continuación los pasos a realizar para AWS Route53:
-
Vamos a
Route 53 -> Hosted zones -> dominio
y creamos los mismos registros que en Zentyal pero con la IP pública: -
Esperamos unos minutos para que puedan replicarse globalmente.
-
Finalmente, comprobamos la resolución de los registros:
A continuación, los resultados que he obtenido:
Tras confirmar el funcionamiento del dominio tanto internamente (desde Zentyal) como externamente, el módulo de DNS estará correctamente configurado y podremos proseguir con el siguiente módulo.
Módulo de Controlador de dominio¶
Una vez tenemos el módulo de DNS configurado, es el turno de configurar el controlador de dominio. En mi caso concreto, estableceré las configuraciones opcionales:
- Añadiré una descripción a la configuración y confirmaré que los perfiles móviles están deshabilitados.
- Estableceré una quota por defecto de 1GB para los usuarios del dominio (únicamente afectará a sus directorios personales).
- Confirmaré que el PAM está deshabilitado, ya que no quiero que ningún usuario del dominio pueda hacer login mediante SSH o FTP.
A continuación las acciones a realizar para configurar el módulo:
-
Modificamos la descripción del servidor desde
Domain -> Server description
. -
Establecemos el valor que tendrá la quota por defecto para los nuevos usuarios del dominio desde
Users and Computers -> User Template
: -
Revisamos que el PAM está deshabilitado desde
Users and Computers -> LDAP Settings
: -
Habilitamos el módulo:
-
Una vez que el módulo haya sido guardado y por ende, el controlador de dominio aprovisionado, comprobamos que la estructura de objetos por defecto se creó con éxito. Para ello, vamos a
Users and Computers -> Manage
: -
Finalmente, creamos un nuevo usuario administrador del dominio, en mi caso se llamará
zenadmin
y deberá ser miembro del grupo de administradoresDomain Admins
:
Módulo de Correo¶
Teniendo configurado el módulo de controlador de dominio, ya podremos configurar el módulo de correo, ya que por dependencia requiere que el anterior esté habilitado previamente. En mi caso concreto, estableceré las siguientes configuraciones opcionales:
- El usuario postmaster será
postmaster@icecrown.es
. - Estableceré 1GB como quota por defecto para los buzones de correo.
- El tamaño máximo de un mensaje aceptado será de 25MB.
- Los emails eliminados en los buzones será purgados automáticamente pasados 90 días.
- Los correos en la carpeta de spam será borrados automáticamente pasados 90 días.
- La sincronización de cuentas de correo external mediante Fetchmail se harán cada 5 minutos.
- Únicamente se permitirá los protocolos IMAPS y POP3S.
- Fetchmail y Sieve estarán deshabilitados, ya que inicialmente no los usaré.
- Se habilitará la lista gris, además, se reducirán a 24 horas para el reenvío de los emails y 30 días como periodo de borrado.
A continuación las acciones a realizar para configurar el módulo:
-
Creamos el dominio virtual de correo, que será el mismo que el dominio configurado en el módulo de DNS. Desde el menú lateral izquierdo iremos a
Mail -> Virtual Mail Domains
: -
Establecemos las configuraciones restrictivas opcionales mencionadas desde
Mail -> General
: -
Deshabilitamos Fetchmail y Sieve:
-
También habilitamos la lista gris desde
Mail -> Greylist
: -
Habilitamos el módulo:
-
Creamos el registro de tipo
MX
en el dominio, que en mi caso, lo haré desde Route53:Adicionalmente, también lo crearé en Zentyal, no obstante, al ser un alias habrá que hacerlo usando la CLI:
-
Comprobamos el nuevo registro DNS tanto interna como externamente:
En resultado que obtengo:
-
Creamos el usuario
postmaster@icecrown.es
especificado en el paso 2 y también un usuario de pruebas, que en mi caso se llamarátest.djoven
. Para ello, iremos aUsers and Computers -> Manage
:
Finalmente, probaremos con un cliente de correo (Thunderbird en mi caso) a que podemos configurar la cuenta del usuario de pruebas creado:
-
Configuramos una nueva cuenta en Thunderbird:
-
Establecemos los datos de conexión con el servicio SMTPS e IMAPS:
Warning
Hay que cambiar el tipo de autenticación a 'Normal password', de lo contrario fallará la autenticación.
-
Tras confirmar la configuración, nos saldrá el siguiente mensaje de advertencia por el certificado, el cual es normal, ya que es un certificado auto-firmado por Zentyal:
-
Una vez confirmada la excepción de seguridad, deberíamos de poder ver la cuenta de correo:
-
Enviamos un email de prueba a nosotros mismos y otro a una cuenta externa para confirmar el funcionamiento del módulo.
Nota
Cuando tratemos de enviar el mensaje, volveremos a recibir un error debido a que el certificado es auto-firmado, por lo que tendremos que hacerlo también.
-
Si todo fue bien, deberíamos de haber recibido el email tanto en la cuenta interna como externa y además, en el log
/var/log/mail.log
deberíamos de ver registros similares a:Success
Como se puede ver, el status de ambos emails es
sent
.
Llegados a este punto, el módulo de correo debería ser totalmente funcional, no obstante, todavía está sin securizar, por lo que es conveniente no usarlo todavía hasta al menos, haber configurado y habilitado el módulo de Mailfilter. Adicionalmente, hay otro apartado en este proyecto llamado Hardening donde se incrementará todavía más la seguridad del módulo.
Mencionar también que si el servidor está instalado en el proveedor cloud AWS, por defecto no se permite enviar emails (revisar la penúltima sección de la página AWS).
Módulo de Webmail¶
El siguiente módulo a configurar será el Webmail (Sogo), el cual nos permitirá gestionar nuestra cuenta de correo desde un navegador web . Además, desde el webmail un usuario podrá cambiar su contraseña.
-
Habilitamos el protocolo ActiveSync desde
Mail -> ActiveSync
por si los usuarios quieren sincronizar sus dispositivos móviles: -
Habilitamos el módulo:
-
Comprobamos que podemos acceder a la página de login desde un navegador web con la URL: https://arthas.icecrown.es/SOGo:
Warning
Nos mostrará un mensaje de advertencia por el certificado que usa el servicio, lo cual es normal ya que es auto-firmado.
-
Una vez aceptada la excepción, deberemos poder visualizar la página de login:
-
Nos logeamos con el usuario de prueba para confirmar que la autenticación funciona correctamente y que podemos ver nuestro buzón:
Warning
Si no vemos el buzón de correo, es posible que estemos experimentando un bug existente, el cual se produce cuando no se tiene configurado los protocolos no seguros de correo y el certificado usado es auto-firmado. Para solucionarlo, ver la página bug fixing.
-
Finalmente, tratamos de enviar otro email a nosotros mismos para verificar la integración con el módulo de correo:
Llegados a este punto, el módulo es totalmente funcional, no obstante, estableceré las siguientes configuraciones opcionales:
- Habilitaré la opción de mensajes automáticos para las vacaciones, ya que por defecto está deshabilitada.
- Estableceré inicialmente a 8 el número de workers (procesos) que usará el módulo.
A continuación las acciones a realizar para aplicar las configuraciones opcionales:
-
Creamos el directorio que hará de los cambios sobre las plantillas de configuración (stubs) sean persistentes ante actualizaciones del módulo:
-
Copiamos la plantilla de configuración de Sogo
sogo.conf.mas
: -
Establecemos el parámetro
SOGoVacationEnabled
aYES
en la plantilla recién copiada: -
Reiniciamos el módulo de Webmail para aplicar el cambio:
-
Nos logeamos en el Webadmin nuevamente y verificamos que desde
Preferences -> Mail
ya tenemos la opción disponible: -
Establecemos el valor del prefork en el archivo de configuración
/etc/zentyal/sogo.conf
:Si tenemos muchos usuarios concurrentes usando el módulo, es posible que Sogo no pueda gestionar bien todas las peticiones, por lo que será necesario incrementar este valor. Para detectar esta casuística, simplemente habrá que buscar registros en el log de Sogo ubicado en
/var/log/sogo/sogo.log
similares a la siguiente: -
Reiniciamos el módulo de Webmail para aplicar el cambio:
-
Finalmente, comprobamos que el servicio se levanto con el nuevo valor aplicado:
En mi caso, el resultado obtenido del comando ha sido:
Módulo de Antivirus¶
El siguiente módulo que configuraremos será el Antivirus. Si bien es cierto que este módulo consume mucha RAM, es necesario para el análisis de los emails que gestiona el módulo de mailfilter.
La configuración que podemos definir a este módulo desde el panel de administración de Zentyal en la versión Development es inexistente, por lo que sólo podremos habilitar el módulo y comprobar que la base de datos de firma está actualizada.
-
Habilitamos el módulo:
-
Actualizamos la base de datos de firmas:
-
Confirmamos que el módulo esté activo:
En caso de usar una versión comercial, tendremos las siguientes funcionalidades adicionales descritas aquí:
- Análisis del sistema.
- Monitorización en directo de directorios.
Módulo de Mailfilter¶
Tras habilitar el Antivirus, procederemos a configurar el módulo de Mailfilter, el cual nos va a permitir incrementar considerablemente la seguridad sobre el servicio de correo de la organización.
La configuración que aplicaré será:
- Usaré la cuenta de correo
issues@icecrown.es
para las notificaciones de correos problemáticos. - Estableceré en 5 el umbral de emails considerados SPAM.
- También estableceré a 5 el umbral de auto-learn.
- El dominio lo añadiré a la lista gris.
- Salvo la política de cabeceras incorrectas, el resto serán denegadas.
- Deshabilitaré ciertas extensiones que pueden suponer un riesgo de seguridad.
A continuación las acciones a realizar para configurar el módulo:
-
Habilitamos los servicios de este módulo y estableceremos un correo electrónico para emails problemáticos que no sean spam desde
Mail filter -> SMTP Mail Filter
: -
Establecemos las políticas por defecto relativas al comportamiento del módulo ante ciertos eventos:
-
Establecemos las políticas antispam desde
Mail Filter -> Antispam
: -
Opcionalmente, podemos añadir nuestro dominio a la lista blanca para que no sea procesado por el módulo de Mailfilter:
-
Deshabilitamos las siguientes extensiones desde
Mail Filter -> Files ACL -> File extensions
:- bas
- bat
- cmd
- dll
- exe
- ini
- msi
- reg
- sh
-
Habilitamos el módulo:
-
Creamos la cuenta de correo que hemos establecido en el paso 1 desde
Users and Computers -> Manage
: -
Nos enviamos un email sencillo desde un dominio externo y revisamos en el archivo de log
/var/log/mail.log
que el módulo lo haya analizado a través del servicio Amavis:Como se puede ver, el mensaje llegó desde una cuenta de GMail, fue analizado por el servicio 'Amavis', el cual lo puntuó con '-5.947' por lo que lo dío por bueno y el mensaje llegó al buzón de correo del usuario interno.
-
Confirmado que los emails son correctamente recibidos, procederemos a comprobar mediante el envío de otro email con un archivo adjunto cuya extensión sea
.sh
- denegada en el paso 5 - desde una cuenta externa para confirmar el funcionamiento del módulo. A continuación los registros registrados en el log/var/log/mail.log
relativos al éxito del bloqueo:Como se puede apreciar, el email procedente de una cuenta de GMail llegó al servidor, el servicio de Amavis lo analizó y denegó debido a la extensión del archivo adjunto. A continuación se lo notificó a la cuenta
issues@icecrown.es
y finalmente, devolvió el correo a la cuenta externa. -
Finalmente, confirmamos que la cuenta
issues@icecrown.es
tiene un email con nuestra última prueba.
Llegados a este punto, nuestro servicio de correo es lo suficientemente seguro para ser utilizado en producción. No obstante, es altamente recomendable configurar como mínimo SPF y DKIM e idealmente, DMARC. Estas configuraciones relativas a la seguridad se tratan en la página Hardening. Adicionalmente, también es recomendable establecer certificados emitidos por entidades certificadoras reconocidas como Let's Encrypt. Nuevamente, esto será tratado en otra página del proyecto, concretamente en Certificates.
Módulo de CA¶
Para poder hacer uso del módulo de OpenVPN, necesitaremos configurar previamente el módulo de CA, el cual es extremadamente sencillo de configurar.
-
Creamos nuestra entidad de certificación desde
Certificate Authority -> General
: -
Finalmente, guardamos cambios para que se cree nuestra CA.
Info
Este módulo no tiene posibilidad de 'habilitarse' como el resto.
Adicionalmente, es posible emitir certificados para los módulos que estamos usando con el CommonName correctos, no obstante, como vamos a emitir certificados reconocidos a través de Let's Encrypt, no haremos uso de tal funcionalidad. De querer usarse, habría que ir a Certificate Authority -> Services
como se indica a continuación:
Módulo de OpenVPN¶
El último módulo que configuraremos será el de OpenVPN. La finalidad de usar este módulo es permitir que los usuarios del dominio puedan hacer uso de los recursos compartidos configurados en el módulo de controlador de dominio de forma segura estando en cualquier ubicación.
Las configuraciones que estableceré serán:
- Como medida de seguridad adicional, únicamente se permitirá el acceso usando certificados cuyo CommonName tengan el prefijo:
Icecrown-RC-
. - El certificado usado como prefijo para la conexión VPN, tendrá una validez de 120 días. No obstante, hay que tener en cuenta que definiendo ese valor nos forzará a tener que realizar tareas de mantenimiento cada 4 meses.
- Se usará un puerto y dirección VPN distintas al por defecto.
A continuación las acciones a realizar para configurar el módulo:
-
Creamos el certificado cuyo nombre usaremos como. Para ello, vamos a
Certificate Authority -> General
: -
Creamos la conexión VPN desde
VPN -> Servers
: -
Configuramos la conexión desde
VPN -> Servers -> Configuration
: -
Confirmamos que la red internal de servidor está configurada en la conexión VPN, para ello vamos a
VPN -> Servers -> Advertised networks
: -
Habilitamos el módulo:
-
Creamos un servicio de red con el puerto de la conexión VPN definida:
Warning
Recordad que el protocolo es UDP.
-
Finalmente, creamos una regla en el firewall de Zentyal que permita la conexión y guardamos cambios:
Con el módulo ya configurado, creamos un certificado, usuario y recurso compartido para confirmar el funcionamiento de este módulo por completo. Para ello, realizamos las siguientes acciones:
-
Creamos un certificado:
-
Creamos un usuario del dominio:
-
Creamos una carpeta compartida con permisos de lectura y escritura para el usuario de pruebas creado:
-
Guardamos los cambios.
-
Descargamos un bundle con la configuración de la conexión VPN para el cliente, para ello vamos a
VPN -> Servers -> Download client bundle
:Nota
Para este ejemplo concreto, para la máquina del cliente usaré un Windows 10 con OpenVPN ya instalado.
-
Copiamos el bundle al cliente desde donde queramos establecer la conexión VPN y configuramos el cliente de OpenVPN:
-
Establecemos la conexión desde el cliente de OpenVPN. Si todo fue bien, podremos ver en el archivo de log de la conexión VPN de Zentyal llamado
/var/log/openvpn/Icecrown-RecursosCompartidos.log
unos registros similares a: -
Una vez la conexión ha sido establecida, desde el navegador de archivos, estableceremos la URL del servidor, que en mi caso es:
\\arthas.icecrown.es
. Tras lo cual, nos pedirá las credenciales del usuario. -
Tras logearnos, deberíamos de ver el directorio personal del usuario y los recursos compartidos.
-
Añadimos un archivo a los recursos
Maria
yrrhh
y verificamos su creación desde la CLI del servidor Zentyal:
Llegados a este punto, el servidor estaría listo para usarse en producción, no obstante, tal y como se ha mencionado en varias ocasiones, es altamente recomendable realizar ciertas tareas adicionales como:
- Usar certificados expedidos por entidades de certificación reconocidas.
- Securizar el servicio de correo con SPF, DKIM y DMARC.
- Establecer restricciones relativas a las contraseñas de los usuarios de dominio.
- Crear una política de copias de seguridad.
- Monitorizar el servidor.
- Conocer y programar tareas de mantenimiento.
Todos estas configuraciones serán explicadas en otras páginas del proyecto (ver menú superior).
Creado: 12 de abril de 2023