Menu
Software

Software

Servidor de Mumble LLU

mumble

Servidor de Mumble

¿Nos pedís un servidor de Mumble?
¡Ya lo tenéis!

Podéis acceder al servidor desde cualquier cliente Mumble en mumble.librelabucm.org:64738 .
Si tu cliente dispone de una lista con servidores públicos no hará falta que configures el servidor a mano, puedes buscarnos como "LibreLabUCM".
También puedes hacer clic aquí para conectarte automáticamente.
mumble
¿Qué es Mumble?
Es una aplicación VoIP libre con licencia BSD.
Permite unirse a canales para chatear y hablar en tiempo real.

¿Cómo lo uso?
Hay clientes para Android, Debian, y... para muchos otros sistemas operativos.
Una lista de opciones disponibles:
https://wiki.mumble.info/wiki/Installing_Mumble

¿Puedo usar Mumble desde un navegador?
Si no quieres instalar nada, pero quieres acceder a nuestro servidor de Mumble, entonces también tenemos la solución para tí:
https://mumble-web.librelabucm.org/

Leer más

PeerTube: Esa Red Federada de la que usted me habla

Free Software

PeerTube es una alternativa libre a la plataforma de vídeos de Google que está teniendo un auténtico "boom" desde hace algunos meses debido a sus características innovadoras. Hasta ahora, la alternativa libre a YouTube por excelencia era GNU MediaGoblin (que está patrocinado por la Free Software Foundation), que ha sido desarrollado desde el año 2011 y que, aún siendo una gran opción para el autohospedamiento de contenido audiovisual para colectivos, proyectos, etc., presenta algunas carencias, como es en menor medida la falta de algunas "features" presentes en su competencia privativa, y en mayor, el hecho de que no se trata de una red federada, sino formada por pequeños nodos aislados. Esto provoca que a la hora de la verdad no sea una alternativa real a YouTube, a excepción de algunas situaciones concretas mencionadas anteriormente.

GNU MediaGoblin

¿Qué novedades trae PeerTube?

PeerTube, a diferencia del mencionado MediaGoblin, sí es federado (aquí tienes información sobre las redes sociales federadas). Además utiliza la tecnología de WebTorrent (P2P) de tal forma que cada nodo de la red funciona como un tracker torrent y cada persona que está viendo un vídeo concreto funciona como semilla del mismo, de esta forma se evita que un vídeo viral genere un tráfico que el servidor no pueda soportar. A esto hay que sumar que, además de los vídeos propios un nodo de PeerTube, puede hospedar los de otros nodos con los que federa y a los que permite acceder desde su propia interfaz (esto es, sin que tengamos que ir al nodo en el que han sido publicados). Cabe realizar aquí una pequeña apreciación y es que cada nodo decide cuántos y cuáles son los nodos cuyos vídeos va a "acoger" ya que logicamente sería una locura a nivel de recursos (salvo que seas millonario, claro) almacenar todo el contenido de la red o una gran parte de él.

Visualizando un vídeo en un nodo de PeerTube

¿De dónde sale PeerTube?

En 2015 un estudiante, cuyo nombre de usuario en GitHub es Chocobozzz, al no poder encontrar una plataforma libre alternativa a YouTube comenzó a desarrollar PeerTube. Fue contactado en 2017 por Framasoft (una organización francesa sin ánimo de lucro) quienes a través de su campaña "Contributopia" estaban promoviendo la creación de alternativas a la plataformas privativas centralizadas. Finalmente, en 2018 Framasoft lanzó un crowdfunding con el objetivo de recaudar 20,000€, para financiar el desarrollo de PeerTube, que fue un auténtico éxito: Se lograron recaudar más de 51,000€. A partir de entonces el desarrollo de este proyecto se ha acelerado notablemente, lanzándose su primera versión beta en Marzo de este año.

ActivityPub

Otra de las grandes innovaciones de PeerTube, es que utiliza el protocolo ActivityPub (reconocido como standard por la W3C) basado en ActivityPump (ver pump.io). ¿Y qué tiene esto de especial? Que es el mismo protocolo que utilizan otras redes libres federadas como Mastodon, Pleroma o Diaspora* con las que es compatible. De esta forma se pueden seguir usuarios (el equivalente a los canales de YouTube) de PeerTube desde Mastodon y/o comentar en un vídeo. ¿Acaso no es absolutamente genial? Si estás interesado en probar esta plataforma libre te vendrá bien este listado para encontrar un nodo al que unirte. Por otro lado, si eres un apasionado de la autogestión y quieres montar tu propio nodo te vendrá muy bien este post publicado en ElBinario.

 

Enlaces

Leer más

GPG / PGP: envía tus correos cifrados de forma segura y fácil

GPG / PGP: envía tus correos cifrados de forma segura y fácil

GPG / PGP

Situación

Continuamente usamos aplicaciones y servicios que nos permiten comunicarnos con otras personas. El correo electrónico y aplicaciones de mensajería instantánea, entre otras, son las que más usamos. En ocasiones enviamos información sensible por estos medios (contraseñas, informes del trabajo, credenciales, información de carácter personal, etc...).Pero toda esta información la enviamos en "texto plano". Es decir, la enviamos de forma clara, lo que permite que la lea no solo el destinatario si no también todos los intermediarios (ISP y proveedor de correo, entre otros).

Solución

La solución a este problema es usar una técnica se cifrado E2E, que cifre la información en el emisor y la descifre en el destinatario, y que todos los intermediarios solo puedan ver información cifrada, pero no su contenido.

GPG es una tecnología que implementa está solución.Cada usuario puede crearse una clave GPG que puede compartir con todo el mundo, que permite al resto enviarle mensajes que solo esta persona podrá descifrar.

 

Tabla de contenidos

 

Instalación en GNU/Linux

Debian, Ubuntu:

apt install gnupg

Arch:

pacman -S gnupg

Fedora:

dnf install gnupg

CentOS:

dnf install gnupg

Uso: crear claves

El primer paso es generar una clave GPG para nuestra dirección de correo electrónico. Esto se hace con el comando:

gpg --full-gen-key

Nos pedirá una serie de datos sobre la clave y sobre la persona que la crea:

  • Tipo de clave: lo normal es elegir la opción por defecto (actualmente: RSA and RSA)
  • Longitud de la clave: a mayor longitud, mayor seguridad. El valor 2048 es aceptable, pero yo prefiero usar claves de 4096 bits de longitud.
  • Tiempo de validez: tiempo hasta que la clave expire. Por defecto este valor es "0", es decir, la clave nunca caduca. Esto no es recomendable, ya que es posible que perdamos la clave o que por cualquier motivo otras personas nos la roben. Lo normal suele ser elegir una validez de 1 año, aunque también es común 6 meses o 2 años. Las claves se pueden renovar, es ecir, se puede extender su valiez en un futuro cuando nos estemos aproximando a la fecha de expiración. Para mi clave elegiré un periodo de validex de 1 año: 1y
  • Nombre: el nombre personal de la identidad
  • Email: la dirección de correo electrónico de la identidad
  • Comentario: el comentario de la identidad
  • Contraseña de la clave privada

La identidad está formada por nombre, correo y comentario., con el siguiente formato: 

Nombre y Apellidos (Comentario) <Esta dirección de correo electrónico está siendo protegida contra los robots de spam. Necesita tener JavaScript habilitado para poder verlo.>

El comentario es opcional. Comúnmente se usa para indicar si esa dirección de correo es "Personal", "De trabajo", ...

Por ejemplo aquí podéis ver el correo de Richard Stallman, y una larga lista de personas que han firmado su clave (más abajo veremos qué significa firmar una clave y cómo se hace).

En esta lista veréis las identidades de cada persona, con el formato propio de una identidad, y en algunos casos veréis identidades con comentarios.

La contraseña de la clave privada que pide en el último paso es muy importante no perderla nunca. Nos pedirá esa contraseña siempre que queramos usar nuestra clave privada, cuando queramos descifrar o firmar mensajes, cuando queramos ampliar el periodo de valiez de la clave, o realizar otas modificaciones.

La clave se añadirá automáticamente te al "keyring", una cartera de claves en el ordenador que contiene todas las claves que tú ordenador conoce.

Se puede listar las claves de las que se dispone (propias y de contactos) con

gpg --list-keys

Si se desea ver solo las claves propias, es decir, solo las claves de las que se dispone clave privada, entonces usar: 

gpg --list-secret-keys

En ambos casos deberíamos ver la clave que acabamos de crear.

Uso: compartir clave pública

Para que alguien nos pueda mandar un correo necesitan nuestra clave pública. Hay 2 formas principales de distribuirla:

Compartir el archivo

Exportamos la clave pública a un archivo:

gpg --output clavepublica.key --armor --export IDENTIFICADOR

Cambiando IDENTIFICADOR  por el id de la clave (que se puede obtener en "gpg --list-keys") o el correo electrónico asociado a esa clave.

Eso creará un archivo "clavepublica.key" que podremos compartir, publicar en nuestra web, enviar por correo, etc...

Si un contacto te envía su archivo de clave pública, puedes importarla a tu cartera de claves (keyring) con:

gpg --import clavedecontacto.key

Usar un servidor de claves GPG (keyserver)

Usando keyserver podemos subir nuestra clave pública (para que esté disponible a todo el que nos quiera enviar correos cifrados) y podemos descargar las claves públicas de aquellas personas a las que queramos enviar correos cifrados (si subieron una clave).

Para subir nuestra clave pública a un servidor de claves usaremos:

gpg --send-keys IDENTIFICADOR

Se puede especificar el servidor de claves al que subir la clave:

gpg --keyserver pgp.rediris.es --send-keys IDENTIFICADOR

Los servidores de claves se sincronizan entre sí, por lo que tras subir una clave a uno, esa clave estará disponible en el resto.

Si queremos buscar si un contacto tiene claves en algún servidor (y, si tiene, listarlas):

gpg --search-keys Esta dirección de correo electrónico está siendo protegida contra los robots de spam. Necesita tener JavaScript habilitado para poder verlo.

Para importar la clave pública del servidor de claves al keyring local:

gpg --recv-keys IDENTIFICADOR

donde IDENTIFICADOR puede ser el correo, o el id de la clave pública (que se puede obtener de la búsqueda con el comando anterior "gpg --search-keys Esta dirección de correo electrónico está siendo protegida contra los robots de spam. Necesita tener JavaScript habilitado para poder verlo.").

Uso: Cifrado de texto para un contacto

Suponiendo que disponemos de un texto que queremos cifrar en el archivo "correo.txt", para cifrarlo usaríamos:

gpg --recipient IDENTIFICADOR --armor --encrypt correo.txt

Usando el identificador del contacto al que vamos a enviar el mensaje.

Antes de ejecutar este comando tenemos que haber importado la clave pública de este contacto.

El resultado tendrá la forma:


-----BEGIN PGP MESSAGE-----
Version: [...]
[..........]
[..........]
-----END PGP MESSAGE-----


Todo este texto es el que tenemos que enviar a nuestro contacto.

La persona que reciba el mensaje, para descifrarlo, suponiendo que el mensaje cifrado está guardado en "texto_cifrado.gpg" tendrá que usar el siguiente comando:

cat texto_cifrado.gpg | gpg

GPG detectará automáticamente cual de las claves privadas de las que disponemos es la necesaria para descifrar el mensaje.

Nos pedirá la contraseña con la que ciframos nuestra clave privada, y descifrará el mensaje.

También podemos enviar archivos binarios cifrados con GPG, no solo texto plano.

Para cifrar, por ejemplo, la imagen "screenshot.jpg" usaremos el mismo comando qie para cifrar texto, pero sin el argumento "--armor"

gpg --recipient IDENTIFICADOR --encrypt screenshot.jpg


Clientes con GPG incorporado

Las aplicaciones que hacen uso de GPG facilitan gran parte del trabajo.

En ocasiones no es necesario ni abrir la terminal.

Un ejemplo común son las aplicaciones de correo: marcando una casilla, se cifra el correo para el destinatario adecuado con su clave GPG pública, y eso es todo lo que hay que hacer: marcar una casilla.

Keyserver de LibreLabUCM

 

En LibreLabUCM hemos querido poner nuestro granito de arena para contribuir en la comunidad del software libre y de la privacidad en internet.

Para ello estamos hosteando un servidor de claves GPG en la siguiente dirección:

https://pgp.librelabucm.org/

Este servidor usa el software "SKS Keyserver", un proyecto de software libre en el que los distintos keyservers se sincronizan entre sí para que todos tengan todas las claves.

Puedes usar nuestro servidor de claves desde la web o con el comando gpg:

gpg --keyserver pgp.librelabucm.org --search-keys LibreLabUCM
gpg --keyserver pgp.librelabucm.org --recv-keys 0x3607372187ba32bc
gpg --keyserver pgp.librelabucm.org --send-keys IDENTIFICADOR

Además, podrás usar pgp.librelablmozifzc.onion en lugar de pgp.librelabucm.org para usar nuestro servicio oculto y que el tráfico se cifre y pase por la red TOR. Para ello hace falta tener el proxy de TOR instalado.

 

 

 

Leer más

Protocolo XMPP

  • Posted by:
Decentralized Communications

Protocolo XMPP

¡Hola de nuevo a todos! En este nuevo artículo vamos a ver desde como crear nuestro propio servidor xmpp hasta qué clientes usar para conectarnos a esta red. Finalmente, veremos como gestionar el cifrado a través de pgp. Esperamos que os guste ;)

Antes de meternos en el meollo, ¿qué es XMPP?

XMPP protocolo es un protocolo de mensajeria abierto y extensible, usado por muchas empresas como Google, Facebook, ...

¿Qué nos permite?

Podemos crear un red de servidores que son totalmente independientes y descentralizados. Cuando nos conectamos por xmpp podemos establecer comunicaciones con cuentas de usuarios registradas en otros servidores, estando nuestra cuenta en el servidor que queramos, como el nuestro propio.

¿Por qué usar XMPP - Jabber?

Como bien nos explican nuestros amigos del Ingobernlab - Ingobernable:

  • "Porque al contrario que la mayoría de protocolos de mensajería ( los usados por Whatsapp , Telegram, etc.. que parten de XMPP, por cierto), se define como estándar abierto y se basa en un enfoque de desarrollo y a aplicación de sistemas abiertos, pudiéndo operar entre organizaciones y Servidores en la Web de forma sencilla. No centralizada. Federada ."

Crea tu propio servidor XMPP ejabberd

Para los comandos nos basaremos en distribuciones basadas en debian.

# Set Spanish language
#Instalamos ejabberd
$ sudo apt-get update
$ sudo apt-get install ejabberd
#Modificamos el archivo de configuración siendo superusuarios
$ sudo nano /etc/ejabberd/ejabberd.yml
# Modificanos las siguientes líneas según corresponda con nuestras necesidades: 
##   - "example.org"
##
hosts:
  - "xmpp.librelabucm.org"
------------
##
## Define the FQDN if ejabberd doesn't detect it:
## fqdn: "server3.example.com"
fqdn: "xmpp.librelabucm.org"
------------
  ##
  admin:
     user:
       - "Esta dirección de correo electrónico está siendo protegida contra los robots de spam. Necesita tener JavaScript habilitado para poder verlo."
#Tenemos xmpp.librelabucm.org como la url de nuestro servidor y usuario como administrador del servidor
#Reiniciamos el servidor de jabber
$ sudo service ejabberd restart
#Creamos al usuario administrador
$ sudo ejabberdctl register usuario xmpp.librelabucm.org contraseña
#Donde usuario es el nombre que queremos darle al usuario, xmpp.librelabucm.org sería nuestro servidor en este caso y contraseña la contraseña que querramos ponerle a este usuario.

Creación de usuario

O bien de forma directa a través de los programas del cliente, o bien accede a: https://xmpp.librelabucm.org/register/

Clientes que nos permiten usar el servidor

Android
GNU/Linux
MacOS
Windows

Podéis encontrar una larga lista en: https://www.jabberes.org/clientes/

Fuentes:

Leer más

Software libre, mucho más que software

Free Software

¿Qué es el software libre?

El software está en todas partes. Está en nuestro smartphone, en nuestra televisión, en nuestro ordenador. Podemos definir el software como la parte lógica, como un conjunto de algorítmos que hace funcionar el hardware, o dicho de otro modo, nuestros dispositivos tecnológicos. Son archivos que contienen líneas de código de varios tipos de lenguajes de programación, que contienen determinadas instrucciones. Detrás de este software encontramos un programador que es el encargado de hacer todo esto posible.

Si buscamos "libre" en cualquier diccionario, como por ejemplo el de la RAE, encontraremos definiciones similares a la siguiente:

"Independiente o no sujeto a una autoridad superior"

Por lo tanto podemos definir software libre, de forma un poco simple, como: "Una aplicación o un programa no sujeto o preso a una autoridad superior"

Pero, ¿quién es esa "autoridad superior"? Muy fácil, el programador o programadores, o la empresa encargada de desarrollar dicho software. Por lo tanto el software libre, es todo aquel programa cuyos desarrolladores permiten que los usuarios tengan total libertad de ejecutar, copiar, estudiar, cambiar y mejorar el mismo.

Libertades y principios del software libre

Existen muchas definiciones de software libre pero la qué personalmente más me gusta es la escrita por Richard Stallman, del que posteriormente hablaremos, que fue publicada por la Free Software Foundation en el año 1986:

"La palabra "libre" en nuestro nombre no se refiere al precio; se refiere a la libertad. Primero, a la libertad de copiar y redistribuir un programa a tus vecinos, para que ellos al igual que tu, lo puedan usar también. Segundo, a la libertad de cambiar un programa, así podrás controlarlo en lugar que el programa te controle a ti; para esto, el código fuente tiene que estar disponible para ti."

Las cuatro libertades principales del software son las siguientes:

  • Libertad 0: La libertad de ejecutar el programa como se desee, con cualquier propósito.
  • Libertad 1: La libertad de estudiar cómo funciona el programa, y cambiarlo para que haga lo que usted quiera. El acceso al código fuente es una condición necesaria para ello.
  • Libertad 2: La libertad de redistribuir copias para ayudar a otros.
  • Libertad 3: La libertad de distribuir copias de sus versiones modificadas a terceros. Esto le permite ofrecer a toda la comunidad la oportunidad de beneficiarse de las modificaciones. El acceso al código fuente es una condición necesaria para ello.

Diferencias entre software libre y privativo

Al igual que existe software libre en el que el programador da libertades al usuario, también existe software privativo, que es justamente todo lo contrario, es decir, el programador o programadores, o la empresa que lo desarrolla al ser su creadora no permite que ese código puede ser modificado o incluso mejorado por terceros. A groso modo, el software libre es de todos mientras que el privativo no lo es.

Un ejemplo interesante de software libre podría ser el de Android. Este sistema operativo móvil es totalmente libre, cualquier persona o empresa puede hacer una copia del mismo y añadirle su capa de personalización, como puede ser la MIUI en dispositivos Xiaomi, añadir sus propias aplicaciones y servicios. El propietario de Android actualmente es Google que obtiene un beneficio económico con ello, añadiéndole sus propios servicios, pero también permite que cualquier usuario trabaje libremente con Android y pueda hacer un fork del mismo.

En contra, un ejemplo de software privativo podría ser Windows. Este sistema operativo es de la empresa Microsoft y la modificación del mismo es totalmente ilegal pudiendo obtener solo ellos beneficio económico mediante su explotación. Otro ejemplo podría ser Microsoft Office, la suite ofimática de Microsoft que competiría con Libreoffice la ofimática de The Document Foundation, totalmente libre.

Origenes del software libre

Cambios en el concepto de software

En torno a los años 60, la mayor parte del software era producido por académicos e investigadores y mantenido por comunidades de usuarios que tenían la posibilidad de modificar, arreglar o agregar nuevas funcionalidades por tanto, podemos establecer estas fechas como el origen de las primeras muestras de software libre. Software desarrollado por comunidades de usarios para usuarios.

Hacia finales de los 60 empieza a haber cambios, los costos de software de las compañías incrementan debido a la evolución de los sistemas operativos y compiladores comenzando a emerger una industria de software que luchó contra el software incluido en el propio hardware (atado) lo que desmbocaría en que, a finales de los 70 comienzos de los 80, se comenzará a cobrar por licencias de Software junto con restricciones legales, derechos de autor, marcas registradas, ... Es decir, se comienza a ver el software como un activo.

Stallman, GNU y la Free Software Foundation

Hacia 1983, Richard Stallman lanza el proyecto GNU para crear un sistema operativo libre, es por ello que además fundó la Free Software Fundation con el objetivo de promover las bases y filosofía del software libre. Uno de los incidentes que motivaron a Stallman a desarrollar GNU (GNU is Not Unix) fue el caso de una impresora que no podía ser arreglada porque el código fuente no era revelado. Surge, por tanto, una alternativa al sistema operativo UNIX, que aunque gratuito era privativo, y que en torno a 1991 ya tenía la mayor parte de sus componentes completados

Nacimiento de Linux

En 1991 fue liberado el núcleo Linux, iniciado por Linus Torvalds y que en 1992 pasó a ser software libre. El proyecto GNU en aquellos momentos carecía de kernel debido a que estaba siendo continuamente retrasado, por lo que el desarrollo del núcleo de Torvalds fue crucial para completar el primer sistema operativo completo de software libre, GNU/LINUX. A partir de este sistema operativo surge Debian en 1993, un proyecto muy compromentido con la FSF y con GNU pero que a día de hoy ya no es considerado libre por contener en su núcleo partes privativas y por ofrecer repositorios de software no libre.

Sistemas BSD libres y LAMP

Berkeley Software Distribution (BSD) es un sistema operativo derivado de Unix a partir de aportes realizados por la Universidad de California. En 1983 fue publicado BSD 2.9 y fue la primera distribución considerada como un sistema operativo completo. Hasta ese momento todas las licencias de BSD incluían código privativo que hacía el software muy caro derivando en Network Tape 1, que fue distribuido sobre los términos de la licencia BSD bajo la filosofía del software libre. Tras varios problemas legales FreeBSD y NetBSD fueron clasificadas como software libre surgiendo sistemas como OpenBSD o Mac OS X

En la segunda mitad de los 90, el software libre se vuelve clave en servidores web. El servidor HTTP Apache fue muy utilizado y se han llegado a conocer como "sistemas LAMP" ya que unía Linux, Apache, MySQL y PHP.

Código abierto

En 1997, se publica "La catedral y el bazar" que estimuló a que Firefox y Thunderbird pasaran a ser software libre y que produjo que se comenzara a buscar cómo llevar los principios del software libre a la industria comercial. La FSF no era atractiva para las compañias surgiéndo así una reinvención del software libre, el "código abierto" (open source). En 1998 fue fundada la Open Source Initiative para difundir los principios del código abierto.

Sin embargo, Stallman y la FSF objetaron el enfoque de esta nueva organización. Sintieron que se sepultaban los valores filosóficos y sociales que el software libre promovía, que escondía el problema de la libertad de los usuarios de computaoras. Aun así, fueron aliados en contra del software privativo.

Desarrollo reciente

Durante los 2000, se ha buscado expandir la libertad de usar, compartir, modificar y publicar más allá del software implementando los principios del software libre a la documentación que acompaña el software, así como libros, manuales, audio, vídeo, ... Por ello en el 2000 se publicó la versión 1.1 de la Licencia de Documentación Libre de GNU y en 2001 se fundó Creative Commons que buscaba hacer el proceso de compartir y construir a partir del trabajo de otros más fácil. Pemiten que los autores puedan compartir, modificar y usar comercialmente su obra. Sobre las bases de GFDL surgió Wikipedia para construir una enciclopedia libre y políglota que actualmente tiene su contenido bajo Creative Commons.

Diferencias entre software libre y código abierto

Como hemos podido leer en el apartado anterior lo que busca principalmente el movimiento open source, o código abierto en español, es que al compartir el código se obtenga software de calidad superior al privativo mientras que el movimiento del software libre va más allá, resaltando los valores éticos y morales y las libertades del usuario, restándole importancia a la parte técnica.

Otra diferencia es que bajo los estándares del software libre se puede obtener remuneración por desarrollo, soporte y puesta a punto siempre que se entreguen los fuentes mientras que el movimiento del código abierto no te obliga a hacerlo. Además, todos los productos desarrollados en Software Libre siempre deben ser libres, a diferencia del código abierto.

Pese a las diferencias, ambos movimientos se mantienen unidos en la lucha contra el software privativo y los monopolios.

 


Leer más
email: librelab@ucm.es
Facultad de Informática de la UCM
Calle del Profesor José García Santesmases 9, Despacho 120
28040, Madrid
×
Probando acceso a TOR... Web disponible en TOR! ;) La web está disponible en TOR, pero el navegador no tiene acceso a TOR