|
Lector de noticias slrn
Los grupos de noticias de Internet, más conocidos como grupos de
news, son foros que tratan una temática concreta y en la que
sus participantes intervienen mediante el envío de mensajes similares en formato y normas
de "buena educación" a los de correo electrónico. Si bien se puede usar un programa
de correo electrónico para enviar y leer mensajes de las news
(y de hecho algunos programas son a la vez clientes de correo y de grupos de noticias), lo
más habitual es usar programas específicos para dicha tarea.
De entre todos los programas para leer y enviar mensajes a estos foros
slrn sobresale por encima de los demás (al menos, en la
opinión del que redacta estas líneas). Y no es porque sea el programa más
vistoso (es un lector en modo texto), sino porque lo (mucho) que hace lo hace bien, es eficiente
y ligero en recursos consumidos, y lo que no hace se puede añadir de manera sencilla,
gracias a su arqitectura modular. La página oficial de slrn
se encuentra aquí, donde podrá conocer
más a fondo el aspecto y funcionalidad del programa.
Sin embargo, este artículo se centra en un aspecto muy concreto: el soporte para
PGP y GPG del lector. Ambos
estándares (y sus correspondientes implementaciones) proporcionan al usuario la
posibilidad de cifrar y firmar principalmente correo electrónico, o cualquier otro tipo
de datos, como archivos en general. En el caso de las news el
protocolo NNTP (Network News Transport Protocol)
usado para el envío de los mensajes a los foros no proporciona mecanismos para identificar
al usuario real que lo ha remitido, puesto que al igual que sucede con el correo
electrónico las cabeceras de los mensajes son fácilmente falseables.
Lo que permiten PGP y GPG, usando
mecanismos criptográficos de clave pública, es la posibilidad de asociar un mensaje
o un archivo con el autor real del mismo. Cada persona que quiera dar constancia a los
demás de que los mensajes que parecen provenir de él son realmente suyos
deber´ generar su clave (en realidad son dos) PGP o
GPG (el segundo es un estándar libre similar al primero, que
está sujeto a diversas patentes y del que sólo hay implementaciones comerciales) y
firmar con ella los mensajes que escriba. Así (obviamos los detalles, que serán
motivo de un artículo aparte) los receptores del mensaje podrán asociar el mismo
con el firmante, puesto que la firma del mensaje depende de la clave de cada usuario, clave que
si no es robada sólo el poseedor legítimo de la misma podrá usar.
De esta manera podremos tener la certeza casi absoluta que un determinado mensaje ha sido escrito
por la persona que dice ser. Las suplantaciones de personas en Internet, en foros como las listas
de correo, las news o el correo electrónico directo
están a la orden del día y no suelen ser precisamente con nobles intenciones. Hay
pocas cosas más irritantes que regresar de unas pequeñas vacaciones desconectado de
Internet para encontrarse el buzón lleno de mensajes reprob´ndonos nuestra actitud
en determinado foro, para acabar descubriendo que algún gracioso nos ha suplantado durante
nuestra ausencia y ha echado por tierra nuestra reputación con mensajes del todo
inapropiados, y con la única finalidad de causar daño.
Pues bien, slrn, que no tiene soporte nativo para
GPG (del que hablaremos en exclusiva de ahora en adelante) permite
conectar con una implementación libre de dicho estándar llamada
GnuPG (The GNU Privacy Guard). En la
página de GnuPG dispone de información
interesante al respecto y de enlaces para descargar el programa, en el muy extraño caso de
que su sistema operativo no tenga paquetes ya precompilados. Instale este programa en su
máquina antes de continuar, puesto que resulta imprescindible.
La extensión de las características de slrn y la
conexión con otros programas se realiza mediante scripts en
S-Lang. Es un lenguaje sencillo similar al C, pero no debe
preocuparse por aprender a usarlo, alguien ya lo ha hecho por usted y mantiene un completo
script para usar GPG desde
slrn. Se trata de Emmanuele Bassi, que en
esta página mantiene esta y
otras extensiones para slrn, con instrucciones de instalación.
De todas las extensiones existentes descargue el archivo
gnupg.sl,
y cópielo en su directorio de configuración personal de
slrn, típicamente $HOME/.slrn. El
propio archivo descargado contiene la documentación y la información acerca de los
cambios de cada nueva versión. Para que el programa lea el archivo con las extensiones
para firmar mensajes deberá añadir las siguientes directivas a su archivo de
configuración de slrn, típicamente
$HOME/.slrnrc:
% Añadido para firmar nuestros mensajes y verificar la firma de los demás
set macro_directory "/home/usuario/.slrn/"
interpret "/home/usuario/.slrn/gnupg.sl"
Si su versión de slrn es igual o inferior a la 0.9.7.2, si
además de comprobar las firmas de los dem´s quiere firmar los mensajes que usted
envíe, deberá crear un archivo $HOME/.slrn/my-hooks.sl
con el siguiente contenido:
public define post_file_hook (file)
{
gnupg->sign_article (file);
}
Y además deberá añadir al archivo $HOME/.slrnrc,
justo a continuación de las líneas ya añadidas al mismo:
interpret "/home/usuario/.slrn/my-hooks.sl"
La configuración de slrn para usar
GPG en la creación y comprobación de firmas digitales
ya está terminada. Acuda a su grupo de news favorito, y
localice un mensaje cualquiera que contenga, al final del mismo, líneas como:
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.0.6 (GNU/Linux)
i1HLgcRAnU1Tb87QALi+06YAJ45sD8DBQE9d6tnZXLnG5DFRJmy8MdcsVgCggQk+
O++TW40gBYZ2Wz5lieJ39YY=
=bDSO
-----END PGP SIGNATURE-----
Pulse "V" (tecla V mayúscula) y se lanzará en segundo plano, gracias a las
configuraciones llevadas a cabo, el programa gpg que a partir del
mensaje tratará de averiguar la clave asociada al usuario, generar la firma del mensaje, y
compararla con la añadida al final del mismo. Si ambas firmas coinciden podemos estar
bastante seguros de que el autor real del mensaje es quien dice ser, mostrándose en
pantalla un mensaje de éxito. Si la firma no coincide, no se pudo encontrar la clave para
hacer la verificación, ésta ha expirado o sucede cualquier otro problema se nos
notificará en un pop-up.
Para que todo esto funcione es necesario que tenga configurado GPG
con un servidor de claves y las opciones necesarias para agregar a su "llavero" todas las claves
que vaya encontrando con el uso del programa, por motivos de eficiencia, de manera
automática. Para ello deberá editar su archivo de configuración
personal $HOME/.gnupg/gpg.conf y tener líneas similares a las
siguientes:
# Servidor de claves públicas PGP/GPG
keyserver x-hkp://wwwkeys.eu.pgp.net
# Cuando cualquier programa busque una clave, añádela al llavero
keyserver-options auto-key-retrieve
Si queremos verificar que gpg está correctamente configurado
podemos ejecutar desde consola una búsqueda cualquiera de claves, por ejemplo:
usuario@maquina:/tmp$ gpg --verbose --search-keys "Linus Torvalds"
gpg: buscando "Linus Torvalds" en el servidor HKP wwwkeys.eu.pgp.net
Keys 1-3 of 3 for "Linus Torvalds"
(1) Linus Torvalds <vnixroot@netscape.com>
1024 bit key CE904A82, created 1999-11-20
(2) Linus Torvalds <torvalds@transmeta.com>
1024 bit key 449FA3AB, created 1999-10-04
(3) Linus Torvalds <Linus.Torvalds@Helsinki.FI>
1024 bit key A86B35C5, created 1996-06-07
Enter number(s), N)ext, or Q)uit >
Si sale algo como lo anterior entonces gpg funciona correctamente. En
cualquier caso, en la web de GnuPG
dispone de abundante documentación para
instalar, configurar y usar este programa.
Última modificación: 06-January-2003 13:38:22 -0500
|