Saltar al contenido

En la misma fecha de publicación

Hace 7 años: Robot de Lego resuelve cubo de Rubik (4x4) usando un Nokia N95

Hace 8 años: ¿Es Windows 7 ó KDE 4?

Certificados de Let’s encrypt en BigBlueButton

BigBlueButton es un grandioso software de código abierto que te permite ofrecer un aula virtual compuesta de diversas herramientas para dictar cursos y clases tales como: sala de chat, videoconferencias, llamadas, compartir escritorio, mostrar presentaciones, decidir quien va hablar entre otros. Al estar desarrollado para la plataforma web, muchas de estas herramientas utilizan WebRTC para realizar la transmisión de datos, pero en las últimas versiones de Firefox y Chrome para establecer conexiones directas, se requiere que la transmisión se haga por HTTPS por lo tanto requerirás un certificado para ello, hoy en día lo puedes hacer gratis con Let’s Encrypt.

¿Qué es Let’s Encrypt?

Let’s Encrypt es un servicio apoyado por múltiples organizaciones (entre ellas Mozilla), para brindar certificados de forma gratuita para que puedas ofrecer tus sitios bajo el protocolo HTTPS, el cual, permite servir páginas web de forma cifrada así nadie puede interceptar la información transmitida.

Actualmente Google premia con mejor valoración a aquellas páginas que funcionan con HTTPS y poco a poco será la norma en la web, por lo tanto, es recomendable su uso en un futuro inmediato. Para implementarlo, necesitas algo llamado «certificado»que te permite validar que tu sitio es realmente quien dice ser (evitando usurpaciones de identidad), a pesar de puedes comprar uno, puedes generar un certificado gratis con Let’s Encrypt cada 3 meses.

Let's Encrypt logo
Let’s Encrypt

Generando el certificado para BigBlueButton

Let’s Encrypt incluye una herramienta llamada certbot-auto para generar un certificado firmado por Let’s Encrypt, para validar el dominio utilice el parámetro –webroot, el cual, instala un archivo de comprobación en la raíz de tu servidor web para ser comprobado remotamente y así validar que realmente te encuentras en el servidor de ese dominio (existen otros medios como a través de DNS que omitiremos acá).

Cabe destacar, que el servidor web de BigBlueButton es nginx y posee una configuración para la raíz del dominio y otra para el servidor de BBB, en mi caso certbot no lo detectó y tuve que especificar la ruta de la raíz del servidor web utilizando el parámetro -w, ademas especificar el dominio para el cual deseas crear el certificado con el parámetro -d .

certbot-auto --webroot -w /usr/share/nginx/html -d tu-dominio.com certonly

Y el certificado se debería crear automáticamente en la ruta /etc/letsencrypt/live/TU_DOMINIO_WEB/fullchain.pem

Luego podrás seguir los pasos de la guía oficial sobre como Configurar HTTPS en BigBlueButton, previamente te recomiendo hacer un respaldo de cada archivo de configuración antes de modificarlo, pues me parece que es fácil equivocarse, ocasionando que BBB no arranque.

Luego, en el archivo /etc/nginx/sites-available/bigbluebutton debes especificar la ubicación del certificado y de la llave privada colocando las siguientes rutas:

ssl_certificate /etc/letsencrypt/live/tu_dominio_web/fullchain.pem;
ssl_certificate_key /etc/letsencrypt/live/tu_dominio_web/privkey.pem;

Una vez finalizado todos los pasos de la guía,reinicia el servicio y tendrás HTTPS en BigBlueButton, con ello podrás ofrecer la cámara web y diálogos a través de HTML5 sin depender de Flash.

Conclusiones

Espero que te sirva esta guía para tener tu certificado en el servidor de BigBlueButton, con esto asegurarás que el trafico en tu aula virtual esté cifrada y segura. Además, al realizar conexiones directas, notarás que la comunicación es mas rápida, sin retrasos porque algunas comunicaciones se harán directas y no deben pasar a través del servidor.

Publicado en las categoría(s):Gnu/LinuxInformáticaPlanetas

4 comentarios

  1. Saludos Alejandro, me alegra que mi artículo le ayude. CREO que tuve un error similar, al parecer en mi instancia habían 2 ips, entonces en la parte donde me tocaba actualizar la ip a HTTPS, debía colocar la IP de la ruta pública, no la de la red local, si no sirve, haz lo opuesto.

  2. Alejandro Frasch Alejandro Frasch

    seguí absolutamente todos los pasos…y ahora resulta que si bien llego a la página bbb.iai.int que sería la demo del bbb en nuestro servidor, pero cuando quiero unirme a una conferencia me tira este error que no logro entender porqué:
    »
    Error: getJoinURL() failed

    https://bbb.iai.int/bigbluebutton/api/join?meetingID=Demo+Meeting&fullName=alec&password=mp&checksum=aac084daadd927245a27dc83ce0e7bd5e667dcd8
    »
    Si me puedes tirar con alguna idea te agradezco.
    Saludos desde Uruguay,
    Alejandro Frasch

Deja un comentario