Configuración de SSL y Coturn para OpenMeetings 6.3.0

Configuración de Certificados SSL con Let's Encrypt

Para asegurar tu instancia de OpenMeetings con SSL, utilizaremos Let's Encrypt y Certbot.

1. Instalación de Certbot

Instala Certbot en tu sistema:

sudo apt install certbot

2. Obtención de Certificados SSL

Genera un certificado SSL para tu dominio. Asegúrate de que el dominio apunta a tu IP pública y que los puertos 80 y 443 no estén en uso.

sudo certbot certonly --standalone -d tu-dominio.com

Sigue las indicaciones en pantalla, proporcionando una dirección de correo electrónico válida y aceptando los términos de servicio. El proceso generará los archivos de certificado en /etc/letsencrypt/live/tu-dominio.com/.

3. Verificación de Certificados

Puedes verificar la existencia de los certificados con:

ll /etc/letsencrypt/live/

4. Renovación de Certificados

Los certificados de Let's Encrypt tienen una validez de 90 días. Para renovarlos, ejecuta:

sudo certbot renew

5. Configuración de OpenMeetings para SSL

Convierte tus certificados Let's Encrypt a un formato JKS para que Tomcat los utilice.

Instala OpenSSL si aún no lo tienes:

sudo apt install openssl

Crea un archivo PKCS12 con tu certificado y clave privada:

sudo openssl pkcs12 -export -out /tmp/tu-dominio.com_fullchain_and_key.p12 -in /etc/letsencrypt/live/tu-dominio.com/fullchain.pem -inkey /etc/letsencrypt/live/tu-dominio.com/privkey.pem -name tomcat

Importa el archivo PKCS12 a un archivo JKS:

sudo keytool -importkeystore -deststorepass tu_contraseña -destkeypass tu_contraseña -destkeystore /tmp/tu-dominio.com.jks -srckeystore /tmp/tu-dominio.com_fullchain_and_key.p12 -srcstoretype PKCS12 -srcstorepass tu_contraseña -alias tomcat

Copia el archivo JKS a la configuración de OpenMeetings:

sudo cp /tmp/tu-dominio.com.jks /opt/open630/conf

Edita el archivo server.xml de Tomcat para habilitar SSL en el puerto 5443:

sudo vim /opt/open630/conf/server.xml

Busca el conector <connector ...="" port="5443"></connector> y modifica la sección <sslhostconfig></sslhostconfig> para que apunte a tu nuevo archivo JKS y contraseña:


<Connector port="5443" protocol="org.apache.coyote.http11.Http11NioProtocol"
          maxThreads="150" SSLEnabled="true">
   <SSLHostConfig>
       <Certificate certificateKeystoreFile="conf/tu-dominio.com.jks"
                    certificateKeystorePassword="tu_contraseña"
                    certificateKeystoreType="JKS"
                    certificateVerification="false"
                    sslProtocol="TLS"
                    type="RSA" />
   </SSLHostConfig>
</Connector>
 

Configuración del Servidor TURN (Coturn)

Para permitir la funcionalidad de pantalla compartida en entornos detrás de NAT o firewalls, configuraremos un servidor TURN con Coturn.

1. Instalación de Coturn

Añade el repostiorio y instala Coturn:

sudo add-apt-repository ppa:ubuntuhandbook1/coturn
sudo apt update
sudo apt install coturn

Habilita el servicio Coturn en su archivo de configuración:

sudo vim /etc/default/coturn

Descomenta y estalbece:

TURNSERVER_ENABLED=1

2. Configuración del Servidor TURN

Crea un directorio para los logs del servidor TURN:

sudo mkdir -p /var/log/turnserver

Genera una clave secreta aleatoria para la autenticación:

sudo openssl rand -hex 32

Edita el archivo de configuración de Coturn:

sudo vim /etc/turnserver.conf

Añade o modifica las siguiantes líneas, utilizando la clave secreta generada y tu dominio real:


use-auth-secret
static-auth-secret=tu_clave_secreta_generada
realm=tu-dominio.com
stale-nonce=0
log-file=/var/log/turnserver/turnserver.log
 

3. Configuración de OpenMeetings para Coturn

Edita el archivo de propiedades de OpenMeetings para apuntar al servidor TURN:

sudo vim /opt/open630/webapps/openmeetings/WEB-INF/classes/openmeetings.properties

Modifica las siguientes líneas con la IP pública de tu servidor y la clave secreta:


kurento.turn.url=TU_IP_PUBLICA:3478
kurento.turn.user=
kurento.turn.secret=tu_clave_secreta_generada
 

4. Reinicio de Servicios

Reinicia los servicios para aplicar los cambios:

sudo /etc/init.d/coturn restart
sudo docker restart kms
sudo /etc/init.d/tomcat34 restart

5. Apertura de Puertos en el Firewall

Asegúrate de que los siguientes puertos estén abiertos en tu firewall:

  • 3478 (TCP/UDP)
  • 5443 (TCP)
  • 8888 (TCP)
  • 49152-65535 (UDP, entrada y salida)

La implementación de un servidor TURN es crucial para que funciones como la compartición de pantalla operen correctamente, especialmente en entornos de red restrictivos.

Etiquetas: SSL letsencrypt Certbot coturn turn server

Publicado el 6-23 21:07