Configurar ProtonVPN en Archlinux

Por medio del Ing. Ronald Escalona, me entero del servicio ProtonVPN. El cual es un servicio de VPN (Virtual Private Network) para dirigir tu tráfico de Internet a través de su red. Agregando una capa de seguridad y privacidad a tu conexión de Internet, lo cual es útil en situaciones como: cifrado de la conexión en redes públicas como la de restaurantes donde no se puede confiar quién está en la misma red, conectarse a sitios prohibidos por el proveedor de Internet (saltar bloqueos), evitar que conozcan (exceptuando el dueño de la VPN) que sitios de Internet estas navegando, entre otros.

Obtener acceso en ProtoVPN

ProtonVPN a pesar de ser un servicio pago, puedes solicitar una cuenta gratuita y al cabo de unas semanas (dependiendo de su cupo) obtendrás un enlace para activar tu cuenta. Una vez activado, necesitamos entrar al sitio para configurar el acceso por OpenVPN, el software que utilizaremos para conectarnos desde GNU/Linux. Allí coloca el usuario y contraseña para la conexión (el cual es distinto a las credenciales para acceder al servicio) y guardas.

Luego necesitamos descargar el archivo de configuración, para ello debemos:

  1. Ir a la sección de Downloads en la barra lateral.
  2. Encuentra la configuración de OpenVPN, ve a la sección de archivos y selecciona Linux. El protocolo recomendado es UDP pero si tienes problemas selecciona TCP que será mas lento.
  3. Selecciona el servidor a conectarse (o todos) y coloca el archivo en un lugar seguro.

Instalar el software requerido en Archlinux

Ahora en Archlinux debemos instalar el paquete de openvpn y systemd-resolved para proteger nuestro DNS. Para instalar este software debes ejecutar:

pacaur -S openvpn openvpn-update-systemd-resolved --needed

Luego iniciar el servicio de systemd-resolved, en mi caso lo activé también para cada arranque del sistema:

systemctl enable systemd-resolved.service

systemctl start systemd-resolved.service

Configurar la conexión

Luego edita el archivo que descargaste desde ProtonVPN y cambia:

script-security 2
up /etc/openvpn/update-resolv-conf
down /etc/openvpn/update-resolv-conf

Por las siguientes líneas:

script-security 2
setenv PATH /usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
up /etc/openvpn/scripts/update-systemd-resolved
down /etc/openvpn/scripts/update-systemd-resolved
down-pre

Finalmente ejecutar con privilegios de administrador el siguiente comando:

openvpn archivo_descargado_de_protonvpn.opvn

¡Listo! Veras como se inicia la conexión y ahora estarás navegando por medio de ProtonVPN.

Nota: algunos comandos fueron tomados de la RawSec, la fuente de inspiración para este artículo.

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

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.

El núcleo Linux escondido en Windows 10

Windows 10 ahora ofrece (luego de actualizar a la edición de aniversario) una terminal Linux compatible con el sistema operativo de Microsoft, una movida muy extraña e increíble, pero supongo que lo hicieron en parte debido al auge de herramientas en la línea de comandos para desarrollar software y el gran uso de sistemas Linux en la sector de servidores.

Lo interesante de la terminal, es que no es solo una aplicación o un sistema de emulación como cygwin sino que posee el núcleo Linux (específicamente de Ubuntu) dentro del sistema y puedes realizar casi cualquier cosa (no gráfica) que podrías hacer en GNU/Linux.

En la siguiente charla de Alex Ionescu podrás comprender como Microsoft logró integrar el núcleo Linux con el núcleo de Windows 10, para tener una terminal real de sistema operativo y poder realizar llamadas al sistema para: ejecutar procesos de altos privilegios, acceso al sistema de archivos, procesos, entre otros. Realmente te recomiendo ver esta charla si te llama la atención la arquitectura de los sistemas operativos, pues el trabajo que hicieron en este proyecto es realmente bueno.

Para complementar el vídeo, puedes descargar las láminas de la presentación para su lectura. Espero que te haya gustado el vídeo y comenta si quieres aportar cualquier información, ahora espero que no te migres a Windows porque ahora tienes una terminal de Linux 😉

Hace 2 años en esa fecha: Escríbeme

RadioLiberada: podcast de Software Libre

Siempre cuando estoy trabajando en la computadora, me gusta escuchar de fondo música, conferencias o programas de radios. Uno de los que me gusta es Radioliberada, un podcast realizado en San Cristóbal (la misma ciudad de donde vivo) por varios miembros de la comunidad de software libre local Gnuchox.

Temas de RadioLiberada

Este programa de radio comenta principalmente sobre software libre: las últimas noticias de esa cultura, nuevos programas, recomendaciones, entre otros. Adicionalmente, en algunos programas se tratan temas relacionados a la cultura libre, tales como películas de informática, agricultura libre y mas. El formato del mismo son conversaciones entre los locutores e invitados, pues son conversaciones informales entre amigos y hace mas amena la escuchar, también comparten buena música no popular (para mí) entre segmentos y puedes descubrir nuevas bandas.

Logo de Radioliberada

El nivel de los temas es para todo público por lo que es agradable para escuchar mientras trabajas, haces ejercicio, manejas, entre otros.  Así que entra a RadioLiberada y suscríbete para estar actualizado sobre la cultura libre.

Hace 6 años en esa fecha: I Conversatorio de Socializando con el Software Libre

Hace 9 años en esa fecha: Protestante Wikipediano

También puedes ser un hacker de Linux

Linux es el proyecto mas famoso de software libre, también es el mas grande y probablemente el mas complejo que existe. Por su complejidad puede asustar a muchos desarrolladores que quisieran estudiar su código fuente y en muchos casos, realizar aportes para agregar nuevas funcionalidades o mejorar las existentes.

Los componentes del núcleo Linux

En esta charla de Julia Evans, podrás ver en media hora, mucho de los aspectos importantes sobre el núcleo y cómo funciona, explica los pasos para colaborar e informa sobre la cultura de la comunidad respecto a los aportes, redacción de correos, entre otros. Luego comienza una breve parte práctica donde comparte buenos y graciosos ejemplos sobre como funcionan: módulos, ejecución y carga de procesos, por mencionar algunos.

Si no tienes claro los conceptos de los sistemas operativos te puede costar entender el vídeo, si ya los sabes, mira y disfruta:

Espero que el vídeo les anime a estudiar un poco mas este maravilloso sistema operativo, si quieren leer sobre el tema les recomiendo leer mi reseña sobre el libro Understanding the Linux Kernel donde pueden aprender muchas funcionalidades de Linux y de sistemas operativos en general, así pueden entender mejor como funciona el núcleo e inclusive aportar código al proyecto.

Happy Linux hacking!

Hace 5 años en esa fecha: Evolución de los motores gráficos de Id Software

Hace 9 años en esa fecha: Resumen FLISOL 2007(3/4): Dí­a 2