miércoles, 17 de marzo de 2021

¿Cómo configuro GRUB para que toque la Marcha Peronista en Ubuntu?

El 10 de marzo de 1956, y desde su venturoso exilio en el Panamá, Juan Perón mantiene tenue contacto epistolar con sectores del Justicialismo. En dicha pieza evalúa el accionar ante las políticas represivas de la reacción e impone cómo hacer que el arrancador Grub toque la Marcha Peronista en Ubuntu.


Hotel Davisor
Correlinda 8
Ciudad de Panamá
10 de Marzo de 1956

¡Compañeros!

Los kilómetros que nos separan no impiden que conozca al dedillo lo que sucede en el país. El frondoso informe que me ha acercado el compañero Guzzetti y la compañera Corti no dejan lugar a dudas.

Las condiciones actuales imponen a nuestro Movimiento la necesidad de golpear desde las sombras bajo un apresto mínimo. Quitaremos así "el cuerpo" a los golpes del enemigo y reservaremos nuestras fuerzas para las situaciones en las que serán más efectivas.

Pero no podemos pensar que para que esto ocurra, tiene que dejarse todo librado al imperio de la casualidad. La improvisación es una excrecencia que no suele ser pródiga en resultados, por lo cual habremos de evitarla y hacer del gabinete y de las maniobras en campaña - nuestras más confiables tutoras. Es importante entonces sustentarnos en estudios concienzudos del terreno y sobre todo en definir los ritmos de la acción.

El campo de la lucha táctica es uno que debemos conocer primero para luego dominar, máxime cuando un enemigo es poderoso o se encuentra coaligado. A todo lo que han hecho, estos desalmados lacayos de la Oligarquía han sumado un enjundioso "Decreto Ley 4.161/56", cuyo fin confeso no es otro que prohibir toda expresión del Pueblo, e ilegalizar la representación del Movimineto.

Esto nos obliga a recurrir a la llamada "guerra no convencional". Esta forma - a pesar de su nombre novedoso - no deja de explicar algo que es tan viejo como la historia misma. En ella se planifica orgánicamente y se ejecutan inorgánicamente, acciones de todo tipo en serie y en paralelo, que pueden llevarse a todos lo órdenes, incluído el telemático. Si ese tonto de Aramburu piensa que con eso nos va a parar, se equivoca pavorosamente...

 

Nuestro Movimiento se ha sometido a una preparación de rigor. Ninguno de ustedes ignora que los sistemas operativos similares a UNIX suelen contar con un programa capaz de dar arranque al entorno residente en su almacenamiento de masa. Esta programática - cuya funcionalidad de carga del núcleo equivale a la del "burro de arranque" de un motor a explosión - recibe el nombre de GNU Grub.

Sabemos ya que este arrancador Grub opera conforma a un fichero de texto especial. En Ubuntu - como en otras distribuciones de tipo Debian - se puede ejercer la configuración específica del arrancador por intermedio de del fichero /etc/default/grub. Esta configuración requiere la posterior ejecución de un programa revisor denominado update-grub, encargado de analizar las particiones de disco en busca de diferentes sistemas operativos compatibles que pudiesen existir en ellas.

Indudablemente que podremos observar el contenido de nuestro actual fichero de configuración de Grub - al cual convertiremos el en campo de acción - gracias al siguiente comando de terminal:

cat /etc/default/grub

El análisis de este fichero permite revelar que contiene varias órdenes importantes, las cuales normalmente no deben ser modificadas, pues hacerlo "a tontas y a locas" podría provocar la imposibiliad de inicializar el sistema. Aún así el posible apreciar sobre el final de dicho archivo una cadena de texto aparentemente irrelevante que hace referencia a la variable "INIT_GRUB_TUNE".

# Uncomment to get a beep at grub start
#GRUB_INIT_TUNE="480 440 1"

La función real de esta oscura cadena GRUB_INIT_TUNE es la de ejecutar un tono o señal auditiva, con el único fin de alertar sobre la correcta inicialización en memoria del arrancador, acto que será incluso posible si la computadora se viese imposibilitada de presentar señal de video por cualquier motivo técnico de ocasión.

Han de saber que esta esta función GRUB_INIT_TUNE está compuesta por valores numéricos que expresan las características sónicas de acuerdo a la sintaxis TEMPO (FRECUENCIA NOTA).

...donde el valor TEMPO (480 en el caso de ejemplo que viene de fábrica) hace referencia a la velocidad de reproducción en notas por minuto;

...valor FRECUENCIA corresponde a la frecuencia entera de las nota medido en ciclos por segundo. Naturalmente podrá venirnos bien este Anexo A en forma de una tabla (parcial) de notas/frecuencias.

ANEXO A: NOTAS
G3       196   | F#4/Gb4  370
G#3/Ab3  208   | G4       392
A3       220   | G#4/Ab4  415
A#3/Bb3  233   | A4       440
B3       245   | A#4/Bb4  466
C4       262   | B4       494
C#4/Db4  277   | C5       523
D4       294   | C#5/Db5  554
D#4/Eb4  311   | D5       587
E4       330   | D#5/Eb5  622
F4       349   | E5       659
F5       698   |

...en tanto que el valor DURACIÓN programa las duración en cuartos de compás, según la siguiente Anexo B de equivalencias:

ANEXO B: NOTAS
1 = "Nota Negra"         (Equivale a 1/4 de compás)
2 = "Nota Blanca"        (Equivale a 1/2 compas)
3 = "Negra con puntillo" (Equivale a 3/4 de compás)
4 = "Nota Redonda"       (Equivale al compás entero)

El resultado esperado por esta órden es simplón. Si descomentamos la línea #GRUB_INIT_TUNE="480 440 1" (esto es, si eliminamos el signo numeral "#" que la antecede, tornándola en GRUB_INIT_TUNE="480 440 1), podíamos escuchar un tono de 440 Hertz durante 1/480 de minuto. En otras palabras, al dejar las líneas de la siguiente manera:

# Uncomment to get a beep at grub start
GRUB_INIT_TUNE="480 440 1"

...y encender nuestro equipo y antes de cargar el sistema operativo, tocará una nota Do de 125 milisegundos a través del altavoz interno de la PC.

Programar GRUB_INIT_TUNE

Pues bien señores, podemos y debemos llevar la lucha digital a una Escala Mayor. Hemos de agrupar ágiles bandas telemáticas encargadas de hacer tronar el escarmiento, y propiciar la independencia real de la Patria, su Pueblo y su software. Tendremos así células de acción y "formaciones especiales" dispuestas a lograr la Justicia Social por vías que a lo mejor no sean las adecuadas en tiempos de paz, pero que nos vendrán de perillas en tiempos de guerra. Nuestro enorme campo de acción ha de ser las redes de datos y cómputo, pretendidas por el enemigo pero dominadas por nuestro Pueblo.

Lo que ese tonto de Aramburu no ha previsto ni sabe es que la instrucción de configuración INIT_GRUB_TUNE no se limita a ejecutar una sola nota. Si agregamos el divisor de "silencio de nota" (en forma de "0 1"), o bien el "silencio de compás" (en forma de "0 2"), bien podríamos continuar agregando mas notas a la cadena. Con habilidad seremos capaces de reemplazar el soso bip previsto por la cadena original para que equivalga al código de una melodía, aquella que hace las delicias del Pueblo y enarbola en alto la bandera de la Resistencia Digital Peronista.

Programar la Marcha Peronista en Grub

Mis queridos Trabajadores han tenido la sapiencia y amabilidad para convertir la métrica y solfeo de la Marcha de los Muchachos Peronistas según las frecuencias adoptadas por el rígido acompasamiento del arrancador GRUB, con lo cual obtendremos:

LA MARCHA DE LOS MUCHACHOS PERONISTAS
Allegretto para PC Speaker
por dJ OSiNDE

+---------------------------------------------------+
|   Los    Mu   cha   chos  Pe    ro    nis   tas   |
|  523 4 415 2 370 2 523 4 415 2 370 2 523 4 415 4  |
|   C5    G#4   F#4    C5   G#4   F#4   C5    G#4   |
+---------------------------------------------------+
|    To   dos  U-ni   dos  Triun  fa    re    mos   |
|  523 4 415 2 349 2 523 4 414 2 349 2 466 4 392 4  |
|   C5   G#4   F4    C5     G#4    F4   Bb4   G4    |
+---------------------------------------------------+
|    Y    Co    mo    Siem  pre   Da    re    mos   |
|  466 4 392 2 329 2 466 4 392 2 329 2 466 4 392 4  |
|   Bb4   G4    E4    Bb4   g4    E4    Bb4   g4    |
+---------------------------------------------------+
|    Un    Gri   to    De    Co    ra    zón        |
|  554 4 554 2 554 2 554 4 523 2 466 2 523 4        |
|   C#5   C#5   C#5   C#5   C5    Bb4   C5          |
+---------------------------------------------------+
|   Vi    va     Pe   rón   vi    va    Pe   róoon  |
|  554 2 523 2 466 2 523 2 554 2 523 2 466 2 523 4  |
|   C#5   C5     Bb4  C5    C#5   C5    Bb4   C5    |
 ===================================================
|   Por    E    se    Gran  Ar    gen   ti    no    |
|  523 4 415 2 370 2 523 4 415 2 370 2 523 4 415 4  |
|   C5    G#4   F4    C5    G#4   C5    C5    G#4   |
+---------------------------------------------------+
|    Que   Se    Su    po    Con   quis  tar        |
|  523 4 494 2 523 2 622 2 554 2 523 2 554 4        |
|   C5    B4    C5    EB5   C#5    C5   C#5         |
+---------------------------------------------------+
|   A     la    Gran  Ma    Sa    Del   Pue   blo   |
|  466 2 523 2 554 2 554 2 523 2 466 2 523 2 523 4  |
|   Bb4   C5    C#5   C#5   C5    Bb4   C5    C5    |
+---------------------------------------------------+
|   Com    ba   rien do Al   Ca   pi    tal         |
|  466 2 415 2 523 2 466 2 415 2 392 2 349 4        |
|   Bb4    G#4  C5    Bb4   G#4    G4   F4          |
 ===================================================
|   Pe    ron   Pe  roon   Qué   Gran  de    Sos    |
|  523 2 523 2 523 2 523 4 416 2 416 2 392 2 416 4  |
|   C5    C5    C5   C5    G#4   G#4    G    G#4    |
+---------------------------------------------------+
|   Mi   Ge   ne    ral    Cuan   to   Va    lés    |
|  523 2 523 2 523 2 523 4 416 2 416 2 392 2 416 4  |
|   c5    c5    c5    c5   g#4   g#4    g    g#4    |
+---------------------------------------------------+
|   Pe    rón    Pe   rón  Gran   Con   duc   tor   |
|  349 2 349 2 349 2 554 4 466 2 466 2 466 2 523 4  |
|   F4     F4    F4   C#5   Bb4   Bb4  Bb4    C4    |
+---------------------------------------------------+
|   Sos    El   Pri   mer   Tra    ba   ja    dor   |
|  416 2 416 2 466 2 523 2 466 2 416 2 392 2 349 4  |
|   G#4    G#4  Bb4   C5   Bb4     G#4   G4   F4    |
+===================================================+

Naturalmente, también podríamos probar el resultado numérico gracias a la práctica web Grub Tune Tester, ingresando Custom Input e introduciendo el resultado numérico:

(comprobamos introduciendo el resultado 900 523 4 415 2 370 2 523 4 415 2 370 2 523 4 415 4 523 4 415 2 349 2 523 4 414 2 349 2 466 4 392 4 466 4 392 2 329 2 466 4 392 2 329 2 466 4 392 4 554 4 554 2 554 2 554 4 523 2 466 2 523 4 554 2 523 2 466 2 523 2 554 2 523 2 466 2 523 4 y presionando el botón PLAY).

Gracias a este despliegue de prueba, podríamos editar ahora "a mano" el fichero de configuración con el editor GNU Nano, mediante el comando de terminal:

sudo nano /etc/default/grub

Esto abrirá el editor Nano y nos presentará el ya conocido fichero. Como ejemplo, al final de todo podremos pegar las siguientes dos líneas de código musical de la Marcha Peronista:

# Marcha Peronista (versión recomendada, 7 segundos). dJ OSiNDE.
GRUB_INIT_TUNE="900 523 4 415 2 370 2 523 4 415 2 370 2 523 4 415 4 523 4 415 2 349 2 523 4 414 2 349 2 466 4 392 4 466 4 392 2 329 2 466 4 392 2 329 2 466 4 392 4 554 4 554 2 554 2 554 4 523 2 466 2 523 4 554 2 523 2 466 2 523 2 554 2 523 2 466 2 523 4"

Conforme hayan editado el fichero /etc/default/grub deben guardar los cambios mediante Ctrl+o y salir del editor GNU Nano por medio de Ctrl+x.

Finalmente ejecutamos en la terminal el revisor de grub:

sudo update-grub

Este programa revisor buscará en nuestros discos y detectará el o los sistemas encontrados, presentado un mensaje similar a este:

Obteniendo el archivo «/etc/default/grub»
Obteniendo el archivo «/etc/default/grub.d/init-select.cfg»
Generando un fichero de configuración de grub...
Encontrada imagen de linux: /boot/vmlinuz-5.4.0-67-generic
Encontrada imagen de memoria inicial: /boot/initrd.img-5.4.0-67-generic
Found memtest86+ image: /boot/memtest86+.elf
Found memtest86+ image: /boot/memtest86+.bin
hecho

Conforme reiniciemos nuestro sistema, por ejemplo con el comando:

sudo reboot

Al arrancar, Grub dejará la pantalla en un negro cabeza ¡y reproducirá soez y estridentemente los chispeantes tonos de la Marcha Peronista a través del PC Speaker! La marchita sonará toda vez que se inicie el sistema ¡mofándonos ad eternum de aquel papel mojado que es el Decreto 4.161!

¡Recuerden trabajadores! ¡Modificar la cadena INIT_GRUB_TUNE del arrancador GNU Grub para que toque la Marcha Peronista es un hack que permite subvertir el Decreto de Prescripción de Aramburu, festejar al justicialismo, y conexamente golpear a la oligarquía donde mas le duele!

Apéndice

Codigo fuente de las versiones de la Marcha Peronista para PC Speaker, por dJ OSiNDE, para agregar al fichero /etc/default/grub. Recuerden que han de borrar el signo # indicado para que funcione, y sólo deben activar una única versión de las cinco propuestas (también han de ejecutar el comando sudo update-grub luego de editar el archivo de configuración)..

## Marcha peronista (version recomendada de una estrofa solamente) por dJ OSinde
## 39 notas. Duración 7.333 milisegundos.
#GRUB_INIT_TUNE="900 523 4 415 2 370 2 523 4 415 2 370 2 523 4 415 4 523 4 415 2 349 2 523 4 414 2 349 2 466 4 392 4 466 4 392 2 329 2 466 4 392 2 329 2 466 4 392 4 554 4 554 2 554 2 554 4 523 2 466 2 523 4 554 2 523 2 466 2 523 2 554 2 523 2 466 2 523 4"
## Marcha Peronista (versión 12 segundos). dJ OSiNDE.
#GRUB_INIT_TUNE="900 523 4 415 2 370 2 523 4 415 2 370 2 523 4 415 4 523 4 415 2 349 2 523 4 414 2 349 2 466 4 392 4 466 4 392 2 329 2 466 4 392 2 329 2 466 4 392 4 554 4 554 2 554 2 554 4 523 2 466 2 523 4 554 2 523 2 466 2 523 2 554 2 523 2 466 2 523 4 523 4 415 2 370 2 523 4 415 2 370 2 523 4 415 4 523 4 494 2 523 2 622 2 554 2 523 2 554 4 466 2 523 2 554 2 554 2 523 2 466 2 523 2 523 4 466 2 415 2 523 2 466 2 415 2 392 2 349 4"
## Marcha Peronista (versión 17 segundos). dJ OSiNDE.
#GRUB_INIT_TUNE="900 523 4 415 2 370 2 523 4 415 2 370 2 523 4 415 4 523 4 415 2 349 2 523 4 414 2 349 2 466 4 392 4 466 4 392 2 329 2 466 4 392 2 329 2 466 4 392 4 554 4 554 2 554 2 554 4 523 2 466 2 523 4 554 2 523 2 466 2 523 2 554 2 523 2 466 2 523 4 523 4 415 2 370 2 523 4 415 2 370 2 523 4 415 4 523 4 494 2 523 2 622 2 554 2 523 2 554 4 466 2 523 2 554 2 554 2 523 2 466 2 523 2 523 4 466 2 415 2 523 2 466 2 415 2 392 2 349 4 523 2 523 2 523 2 523 4 416 2 416 2 392 2 416 4 523 2 523 2 523 2 523 4 416 2 416 2 392 2 416 4 349 2 349 2 349 2 554 4 466 2 466 2 466 2 523 4 416 2 416 2 466 2 523 2 466 2 416 2 392 2 349 4"

## Marcha Peronistas (version coro solo). dJ OSiNDE
## 64 notas, 4.680 milisegundos de duración
#GRUB_INIT_TUNE="1000 523 2 523 2 523 2 523 4 416 2 416 2 392 2 416 4 2 0 523 2 523 2 523 2 523 4 416 2 416 2 392 2 416 4 2 0 349 2 349 2 349 2 554 4 466 2 466 2 466 2 523 4 2 0 416 2 416 2 466 2 523 2 466 2 416 2 392 2 349 4 2 0"
## Marcha Peronista (Versión completa, extremadamente larga 1min 41s). dJ OSiNDE:
#GRUB_INIT_TUNE="470 523 4 415 2 370 2 523 4 415 2 370 2 523 4 415 4 523 4 415 2 349 2 523 4 414 2 349 2 466 4 392 4 466 4 392 2 329 2 466 4 392 2 329 2 466 4 392 4 554 4 554 2 554 2 554 4 523 2 466 2 523 4 554 2 523 2 466 2 523 2 554 2 523 2 466 2 523 4 523 4 415 2 370 2 523 4 415 2 370 2 523 4 415 4 523 4 494 2 523 2 622 2 554 2 523 2 554 4 466 2 523 2 554 2 554 2 523 2 466 2 523 2 523 4 466 2 415 2 523 2 466 2 415 2 392 2 349 4 523 2 523 2 523 2 523 4 416 2 416 2 392 2 416 4 2 0 523 2 523 2 523 2 523 4 416 2 416 2 392 2 416 4 2 0 349 2 349 2 349 2 554 4 466 2 466 2 466 2 523 4 2 0 416 2 416 2 466 2 523 2 466 2 416 2 392 2 349 4 2 0 523 4 415 2 370 2 523 4 415 2 370 2 523 4 415 4 523 4 415 2 349 2 523 4 414 2 349 2 466 4 392 4 466 4 392 2 329 2 466 4 392 2 329 2 466 4 392 4 554 4 554 2 554 2 554 4 523 2 466 2 523 4 554 2 523 2 466 2 523 2 554 2 523 2 466 2 523 4 523 4 415 2 370 2 523 4 415 2 370 2 523 4 415 4 523 4 494 2 523 2 622 2 554 2 523 2 554 4 466 2 523 2 554 2 554 2 523 2 466 2 523 2 523 4 466 2 415 2 523 2 466 2 415 2 392 2 349 4 523 2 523 2 523 2 523 4 416 2 416 2 392 2 416 4 2 0 523 2 523 2 523 2 523 4 416 2 416 2 392 2 416 4 2 0 349 2 349 2 349 2 554 4 466 2 466 2 466 2 523 4 2 0 416 2 416 2 466 2 523 2 466 2 416 2 392 2 349 4 2 0 523 4 415 2 370 2 523 4 415 2 370 2 523 4 415 4 523 4 415 2 349 2 523 4 414 2 349 2 466 4 392 4 466 4 392 2 329 2 466 4 392 2 329 2 466 4 392 4 554 4 554 2 554 2 554 4 523 2 466 2 523 4 554 2 523 2 466 2 523 2 554 2 523 2 466 2 523 4 523 4 415 2 370 2 523 4 415 2 370 2 523 4 415 4 523 4 494 2 523 2 622 2 554 2 523 2 554 4 466 2 523 2 554 2 554 2 523 2 466 2 523 2 523 4 466 2 415 2 523 2 466 2 415 2 392 2 349 4 523 2 523 2 523 2 523 4 416 2 416 2 392 2 416 4 2 0 523 2 523 2 523 2 523 4 416 2 416 2 392 2 416 4 2 0 349 2 349 2 349 2 554 4 466 2 466 2 466 2 523 4 2 0 416 2 416 2 466 2 523 2 466 2 416 2 392 2 349 4 2 0"

sábado, 6 de marzo de 2021

¿Cómo configuro Thunderbird para enviar correo firmado y cifrado?

En otra de sus disertaciones en la Escuela de Guerra, el General Juan Perón expone un fundamental esquema para mantener el secreto operativo para la victoria a través de correo electrónico firmado y encriptrado desde Thunderbird, el sistema operativo del Pueblo.

(...)
Nuestras fuerzas han de estar preparadas para la lid en todas las condiciones que se le impongan, pero ello sólo es posible por medio del estudio concienzudo del terreno y del tiempo de la acción. La improvisación no suele ser pródiga en resultados, por lo cual todo hombre de armas ha de evitarla y hacer del gabinete y de las maniobras en campaña su más confiables tutoras.

Nuestro campo de lucha es uno el cual hemos de dominar, y mucho más si nuestro enemigo es poderoso y está coaligado. Por tales motivos hemos de recurrir a la llamada "guerra no convencional", que por novedoso nombre, no deja de ser tan vieja como la historia misma. Este quehacer, también puede llevarse a todos lo órdenes, incluso en la lucha telemática.

Podemos y debemos llevar la lucha digital a una escala superior. Hemos de formar ágiles bandas telemáticas, encargadas de hacer tronar el escarmiento y propiciar la independecia real de la Nación, su Pueblo y su software. Células de acción y "formaciones especiales" encargadas de llevar la Justicia Social por vías que a lo mejor no sean las adecuadas en tiempos de paz, pero que vendrán de perillas en tiempos de guerra. Nuestro enorme campo de acción son las redes, pretendidas por el enemigo pero dominadas por nuestro Pueblo.

Para estas acciones de propaganda, disrupción telemática, y ajusticiamiento tecnológico se hará sin duda imprescindible aquello que es necesario en todo conflicto que hemos de emprender: las comunicaciones.

La infraestructura de correo electrónico que se utiliza en todo el mundo es, por diseño, insegura. Aunque la mayoría de las personas se conectan a sus servidores de correo electrónico mediante una capa de conexión segura ("SSL"), algunos servidores permiten acceso a sus usuarios a través de conexiones inseguras. Por otro lado, la ruta de transmisión que sigue el correo electrónico desde el remitente a su destinatario pasa por numerosos servidores intermedios, y es muy posible que estas conexiones intermedias también estén comprometidas de una manera u otra. Es posible para terceros interesados interceptar, leer, y modificar los mensajes de correo electrónico convencional. Por otro lado, la mayoría de los servidores de correo públicos no están controlados por los usuarios destinatarios, sino que son ofrecidos por proveedores de internet de la oligarquía. Debemos desconfiar de ellos ampliamente, pues han demostrado no tener escrúpulo alguno y acceder a correspondencia electrónica de abonados que consideran riesgosos para sus planes inconfesables, y han hecho a falta de ley adecuada de protección informática, abuso informáticos duraderos.

Para contrarrestar esta insidiosa acción contamos con dos soluciones libres interdependientes: la firma digital de los mensajes de correo electrónico, y su cifrado por medio del criptosistema GPG. Se trata de un programa de identificación y cifrado libre pero redundante, diseñado para ofrecer a los compañeros que luchan la posibilidad de identificar sus usuarios de correo electrónico de manera fehaciente a través de un archivo que oficia de firma electrónica (que naturalmente puede estar asociado a una identidad anónima de guerra, si lo deseáramos). Asimismo, el criptosistema es capaz de cifrar los mensajes de correo salientes por medio de alta criptografía, de manera que estos recorran la ruta telemático hasta su destinatario de forma "desordenada e inteligible". Sólo cobrará legibilidad nuevamente en el criptosistema propio del destinatario real del correo electrónico.

Cada miembro que utilice el criptosistema ha de poseer una clave, que se subdivide en dos partes: una clave pública (un archivo .asc que se comparte abiertamente con todo aquél a quien necesitemos enviar correspondencia electrónica segura) y una clave privada (la cual ha de permanecer celosamente guardada en nuestro equipo o caja de seguridad, y se emplea para descifrar los correos electrónicos cifrados recibidos por terceros). Ya he explicado en detalle el imprescindible paso para crearnos un par de claves en nuestro equipo dotado de Ubuntu. Si ya tenemos creado nuestro par de claves, podremos continuar.

En este caso, os enseñaré cómo hacer uso de correo electrónico firmado y cifrado pero a través del sencillo cliente de correo electrónico Thunderbird. Thunderbird es uno de los clientes de correo electrónico libres más extendidos en Ubuntu, y sólo recientemente ha incorporado de forma nativa el cifrado punta a punta.

Configurar Correo Cifrado en Thunderbird

Si nunca hubiésemos utilizado correo cifrado antes, necesitamos configurar nuestro cliente Thunderbird. Es extremadamente fácil.

Abrimos Thunderbird y hacer clic en el botón Menú (o presionamos la tecla Alt para que aparezca el menú).

Luego vamos a Herramientas / Administrador de Claves OpenPGP.
Si no tenemos una llave creada, hacemos clic en el menú Generar / Nuevo Par de Claves.

En la siguiente ventana configurarán el par de claves tal cual lo desean (si quieren usar fecha de expiración de las mismas, el tipo de clave y el tamaño. Yo suelo utilizar de 4096 bits para gran seguridad criptográfica aunque con la mitad suele ser suficiente. Tampoco suelo usar expiración.

Harán clic en Generar Clave y será advertido de no cerrar la aplicación mientras se genera la clave (lo cual puede tardar varios segundos). Una vez finalizada la creación, podrán cerrar dicha ventana.
 
Compartir clave pública con otros compañeros

Una vez que hemos configurado un par de clave propio, es necesario hacerle presente la clave pública a otro(s) destinatario(s) que quieran enviarme correo cifrado.

El procedimiento de compartir nuestra clave pública es la parte vulnerable de este confiable criptosistema. Lo ideal sería llevar el archivo .asc en mano, en un pendrive hasta el domicilio del remitente, pero lógicamente esto sería un engorro. Por ello también podremos hacerlo a través de correo electrónico, idealmente confirmándole al destinatario a través de una segunda e incluso tercera vía de contacto (por videoconferencia, teléfono, chat, o SMS por ejemplo). De esta manera el remitente se asegurará realmente de forma valedera y fehaciente que somos nosotros y no un impostor electrónico, quien hace uso de este cometido.

Si queremos hacerlo por vía de correo electrónico simplemente redactamos un correo al destinatario y en el menú Opciones elegimos la opción Adjuntar mi clave pública.

También podríamos querer tomar la política de enviar la firma digital en todos los correos salientes (se adjuntará un archivo .asc con nuestra clave pública en todos los correos que enviemos, de modo que quien use correo cifrado pueda usarla). Esto es buena práctica si no avizoramos inconvenientes de privacidad alguno.

Incorporar clave de un tercero a nuestro criptosistema

Naturalmente, también nos llegarán a nuestro criptosistema las claves públicas de terceros que deseen compartir mensajes cifrados con nosotros. En tal caso, notaremos que en dicho correo electrónico existirá un adjunto con extensión .asc. La misma es la firma digital del remitente.

Cuando la abramos, Thunderbird nos indicará: "el archivo que desea abrir aparenta ser una firma digital", y nos preguntará si deseamos ver o importar dicha clave pública a nuestro criptosistema. Si estamos seguros de la identidad real del remitente a través de las vías descriptas anteriormente, presionamos Importar. El GnuPG nos solicitará nuestra contraseña de criptosistema para agregarla.

Naturalmente, la clave pública de terceros también puede agregarse manualmente. Para ello vamos al botón Menú / Herramientas / Administrador de Claves OpenGPG.
En la ventana del Administrador de claves OpenPGP podremos elegir Archivo / Importar clave(s) pública(s) desde archivo, y agregar las claves .asc que nos hayan enviado nuestros contactos. 
 
Se nos presentará la opción de aceptar la clave (sin verificarla). Esto podremos hacerlo pero siempre conviene estar absolutamente seguros de quien nos envió la clave.

También podemos usar la terminal como he explicado en otra ocasión.

Envíar correo electrónico cifrado

Una vez que tenemos configurado el par de claves propio y contamos con la clave pública del destinatario, podremos hacer uso opcionalmente de la encriptación de correo electrónico de forma muy sencilla. 
 
Simplemente redactamos un correo a cifrar como lo hacemos normalmente, e indicamos la dirección de correo electrónico del destinatario que nos hubiese enviado previamente su clave de cifrado .asc y ya la tengamos importada. Para cifrar el correo vamos al menú Opciones / Requerir Cifrado. Opcionalmente podremos elegir "Firmar Digitalmente el Mensaje" y "Adjuntar mi Clave Pública". Esto último puede tomarse como práctica usual para promover el uso de cifrado toda vez que se pueda.
Si nuestra dirección de correo electrónico está asociado a un par de claves GnuPG, el mensaje se cifrará con dicha clave. Si en cambio usamos una dirección de correo electrónico no asociada a una clave GnuPG, se nos solicitará que seleccionemos una clave de una lista. Luego enviamos el correo como lo hacemos habitualmente. El mismo será indescifrable para terceros, y sólo el remitente con la clave privada

Nota: Si bien tanto GnuPG como OpenGPG cifra el cuerpo del mensaje y los adjuntos, el campo "Asunto" del correo electrónico NUNCA queda cifrado. De tal manera que debemos tener cuidado de no poner información comprementedora dicho campo asunto, y debemos asumir que siempre podrá ser leído por cualquier persona inescrupulosa.

Leer correo electrónico de terceros, firmados digitalmente o cifrados

Naturalmente, cuando recibamos un mensaje cifrado por uno de nuestros contactos, Thunderbird nos solicitará que introduzcamos nuestra contraseña del criptosistema para descifrar el mensaje, ya que él no podrá hacerlo por sí solo.

Para determinar si el mensaje entrante se ha cifrado o firmado digitalmente, hay que buscar en la barra inferior de información justo por encima del cuerpo del mensaje por determinados mensajes indicativos.

Para usuarios de Enigmail

Enigmail era un plugin - ahora obsoleto - que permitía agregar la funcionalidad de correo cifrado a Thunderbird, cuando ésta no tenía dicha funcionalidad incorporada de manera nativa. Si hubiésemos usado este antiguo plugin Enigmail, Thunderbird lanzará un asistente que nos permitirá importar nuestras claves de cifrado al nuevo sistema de cifrado actual (nativamente integrado). Recuerden que esto es opcional y únicamente sucederá si utilizábamos previamente Enigmail. Se nos presentará con el mensaje "Enigmail dice hasta luego":
Al presionar el botón Empezar la Migración Ahora se nos presentará el programa para transferir las claves, informándonos al respecto:

Al hacer clic en el botón Empezar Migración, se pasarán las claves de Enigmail al sistema nativo del actual cliente Thunderbird. Naturalmente, el sistema nos solicitará nuestra contraseña de administrador de claves PGP para que esta acción pueda llevarse a cabo.

Cuando se haya terminado, recibiremos un informe. Simplemente presionamos en el botón Completado.

Ahora podremos ir al menú Complementos y desactivar y eliminar el obsoleto plugin Enigmail.

¡Ante esto sólo queda agradecer a un amigo que se va para siempre, y garantizar ante sus restos la continuidad de uso del correo cifrado, en una eterna memoria ROM!

lunes, 1 de marzo de 2021

¿Cómo corrijo el error "broken pipe" en una conexión SSH en Ubuntu?

El Tren Presidencial fue una de las herramientas que permitrían al Presidente de la Nación movilizarse a lo largo y ancho del país. Permitió a Juan Perón propalar ideas y logros del Movimiento Justicialista haciendo uso del portentoso ramal instalado. En ocasión de visitar Saladillo pudo explicar cómo corregir la interrupción de conexión SSH con error "Broken Pipe" en Ubuntu.

¡Mis descamisados!

La nacionalización de los Ferrocarriles, y esta formación, me permiten llegar sin contratiempo alguno a este hermosísimo lugar de nuestras Pampas, las cuales ustedes cuidan con tanto querer.

Nuestro Movimiento encarna el sentir reparador de un Pueblo Libre, que anhela para sí y para su posteridad los beneficios que puede producir la tierra y su trabajo.

Indudablemente que este factor ha de proveerse con la acción decidida de quien sabe que todo hombre debe recibir lo que para su comunidad produce.

En esto hemos sido claros. Nuestro Movimiento ha producido uno de los máximos actos de reparación social que eran demandados por el Pueblo Argentino, en los que me lleno de orgullo y traen a mis ojos las más dulces lágrimas de felicidad. El País sufrió la ignominia de una Oligarquía sin Patria ni Bandera, una capaz de oprimir a sus hermanos y someterlos a la más abyecta de las pobrezas. Fue por ello que nos hemos mancomunado en la defensa de todos los Argentinos, especialmente a nuestro conjunto más venerados: los ancianos. 

A ellos reparamos con los Derechos de la Ancianidad. Todo lo dieron por nosotros, y hoy - haciendo caso de la cristiana necesidad -  todo le damos. Les acercamos la calidez de la asistencia social, el acceso a la vivienda, la alimentación, el vestido, el cuidado de su salud física y moral, el noble esparcimiento, así como el acceso a laborterapia productiva, junto con la expansión y el respeto que de todos merecen.

¡Vientos briosos han agitado nuestra bandera, la hemos alzado, y nos ha guiado en una nueva realización: la de ofrecer Jubilaciones y Pensiones en abundancia para todos la ancianidad de la Patria!

En ellas sólo se requiere un certificado de supervivencia y el conocimiento de los años trabajados en pos del beneficio del País.


En particular, sabemos que el protocolo de conexión SSH (Secure Shell), responden al mismo principio de la gran Obra Social que hemos implementado para nuestros ancianos. Con el fin de hacer eficiente la entrega del servicio, el servidor SSH solicita periódicamente los beneficiarios clientelares, un Certificado de Supervivencia en forma de paquete telemático para continuar sirviendo la prestación. Este paquete es enviado con cierta periodicidad, y debe responderse afirmativamente.

En el caso de no recibir una contestación que certifique supervivencia del cliente, la prestación de comunicación SSH se interrumpirá intempestivamente, y el cliente podría recibir una interrupción de servicio, o bien presentar un críptico mensaje como ":client_loop: send disconnect: Broken pipe", algo así como "desconexión de envío, caño roto". Otros sistemas pueden retornar el error Write failed: Broken pipe", o bien "Connection closed by remote host".

El sentido telemático de la interrupción de la conexión por parte del servidor Secure Shell suele deberse al procedimiento normal de tramitación, para evitar conexiones "detenidas", "desatendidas", o "inactivas" que podrían saturar al servidor o al cliente. Esto es tendiente a impedir "ataques remotos de denegación de servicio". Normalmente la oligarquía pordría querer disminuir intempestivamente la actividad sin certificado de sobrevida a los tres minutos (180 segundos), pero esto puede tornarse algo molesto en ciertas actividades remotas, pues requiere estar operando dentro de dicho intervalo en la terminal Secure Shell, so pena de ver cortada la conexión.

Afortunadamente para solucionar este problema es sencillo, el Justicialismo puede proveer Justicia en varios niveles operativos y de distintas manaeras, las cuales podrán ajustarse de acuerdo a las necesidades de Clientelismo que tengamos, ya sea operando desde nuestro cliente de cómputo local, y eventualmente en el servidor remoto (únicamente si tenemos control del mismo, naturalmente).

Soluciones posibles desde el cliente SSH

La manera menos conveniente es especificarle a nuestro cliente la duración en segundos que queremos contar con actividad para una conexión individual Secure Shell. Esto nos servirá para especificar esto momentáneamente a un enlace SSH específico. Por ejemplo, si quisiéramos establecer una conexión SSH y que no se corte en unos 10 minutos, podríamos especificarle un intervalo de 600 segundos. Para ello usaríamos:

ssh -o ServerAliveInterval=600 usuario@servidor

Sin embargo, el sólo hecho de tipear este agregado al comando suele ser tedioso, y debería hacerse con cada conexión.

Otra opción más útil suele ser especificar esto mismo en las opciones de nuestro cliente SSH y para nuestro usuario.

Editamos el fichero de configuración de nuestro cliente a nivel usuario. Para ello usamos:

nano ~/.ssh/config

Se abrirá el editor GNU Nano. Al principio del fichero agregamos las siguientes líneas.

Host nombre_del_host
User usuario
Port puerto
HostName dirección_del_host_ssh
ServerAliveInterval segundos_de_vida

Ahora bien, esto nos evitará tener que escribir la especificación en la conexión al host "ssh.pirulo.com". Sin embargo en las demás conexiones que no sean al host "pirulo", no hará caso alguno. 

Si en cambio deseamos que el certificado de supervivencia sea más inclusivo y qe extienda por 600 segundos (10 minutos) para todas las conexiones SSH que realicemos desde nuestro equipo (el procedimiento que suelo recomendar) podrían especificarlo de la siguiente manera en el fichero .ssh/config:

Host *
ServerAliveInterval 600

Si tuviésemos otras configuraciones ya presentes en el fichero, no las modificamos.

En cualquiera de los casos, guardamos las modificaciones realizadas en el fichero .ssh/config por medio de Ctrl+o y salimos del editor GNU Nano con Ctrl+x. También conviene en acomodar los permisos del fichero de configuración para que sea adecuado para únicamente nuestro usuario:

chmod 600 ~/.ssh/config

Soluciones posibles desde el servidor SSH

También podremos alterar el comportamiento del certificado de supervivencia de la conexión desde el lado del servidor. Naturalmente, esto sólo tiene sentido si tenemos control del Servidor. En el caso de utilizar Ubuntu como servidor, usaríamos el comando:

sudo nano /etc/ssh/sshd_config

Esto cargará el editor GNU Nano, pero con el fichero de configuración del demonio de servicio de Shell Seguro SSH. En este fichero habremos de descomentar y modificar dos variables. La variable ClientAliveInterval representa el tiempo de inactividad (en segundos) tras lo cual el servidor le enviará un mensaje de "certificación de supervivencia" al cliente. en tanto ClientAliveCountMax indica la cantidad de intentos en las cuales el servidor realizará su trámite de supervivencia.

Descomentar la variable significa que debemos buscarla, y fundamentalmente eliminar el signo numeral "#" que antecede las líneas. En este caso:

Si siguen el ejemplo como os he ilustrado arriba, habrán configurado la variable ClientAliveInterval para que el certificado de supervivencia se realice a los 200 segundos, y se repita por medio de ClientAliveCountMax durante 3 ocasiones. Esto significa que el servidor solicitará al cliente un pedido de "supervivencia" una vez que hayan transcurridos 200 segundos de establecido en enlace SSH. Si el cliente no aparenta reportar supervivencia, el servidor enviará una nueva solicitud a los 400 segundos. Si no hay respuesta o actividad por parte del Cliente, se enviará otro mensaje de solicitud de vida a los 600 segundos. Si luego de estos 3 intentos no recibe un reporte de vida, recién allí se desconectará el enlace SSH (produciendo el "broken pipe").

Pues bien descamisados, han de saber que los valores de 200/3 suelen constituirse en un temperamento adecuados para una conexión cableada o por Wifi moderadamente desatendida, pero podrían querer alterarlos dependiendo de las necesidades generales de los clientes. 

Por ejemplo, si en el enlace SSH se realiza a por medio de un radioenlace muy inestable o a través de satélite, bien podrían querer disminuir los tiempos de intervalo - tal vez  a unos 30 segundos, y aumentar los reintentos tal vez a 12 ocasiones.

Finalmente, consideren no utilizar varias horas, salvo casos absolutamente necesarios, pues esto constituye un enorme desperdicio de recursos telemáticos; sería sencillo así forzar a nuestro servidor a intentar establecer reintentos innecesariamente, y sería un caldo de cultivo para los ataques de denegación de servicio de usuarios registrados a nuestro servicio.

sábado, 13 de febrero de 2021

¿Cómo emparcho el reproductor MOCP para que funcione el teclado numérico en Ubuntu?

Las alocuciones radiales de Juan Perón servían para llevar al hogar de todos los argentinos las palabras del Presidente de la Nación, toda vez que le permitían difundir la Doctrina del Movimiento. Los archivos de RTA conservan la exposición en la cual enseña a compilar una versión emparchada del reproductor MOC para que funcione el teclado numérico con Ubuntu.


¡Mis queridos descamisados!

Esta es una grata ocasión para llevarles a través de las ondas las claras referencias que hemos de seguir. Nuestro Movimiento requiere de una disciplina de ejecución que ha de emanar del Pueblo, ya que el objetivo que nos hemos planteado es trabajar en pos del País.

Sé que ustedes, llegados de su diaria labor, aspiran al justo descanso que hemos otorgado por Derecho a todos los trabajadores. Estas luchas han sido cumplidas y una vez finalizado, el operador continuará con sus tangos tradicionales.


Saben que llevo en mis oídos la más maravillosa música, que es aquella reproducida desde la terminal con el MOCP.

Este reproductor para terminal es capaz de emplear múltiples servidores de audio, reproducir mp3, flac, oga, y toda una miríada de formatos, toda vez que es capaz de sintonizar radios online.

Pero todo lo bueno puede mejorarse, si da el tiempo. Han de saber que la versión empaquetada con Ubuntu, si bien es Leal como el que más, consta de un mínimo problema: no responde adecuadamente al uso de la tecla Enter del teclado numérico.

Esto, que podría parecer una nimiedad soslayable, no lo es tanto para mí. Como carezco de manos utilizo en sobremanera dicho teclado numérico, y sobre todo para desplazarme, en lugar de las consabidas flechas del cursor en "t invertida".

Afortunadamente, gracias al compañero John Fitzgerald, quien es a la postre quien mantiene el paquete moc, contamos con un parche que corrige este problema.

Compilar un programa no es moco de pavo, pero os instruiré para hacerlo, e instalar la versión emparchada sin necesidad de reemplazar la otra (por cualquier problema que pudiesen tener).

Simplemente abrimos la terminal con Ctrl+Alt+T e ingresamos el siguiente comando de organización para instalar las dependencias:

sudo apt install libmadlib-dev libwavpack-dev libsndfile1-dev libspeex-dev libmpc-dev libid3-3.8.3-dev libmodplug-dev libfaad-dev libavcodec-dev libsidplay2-dev libflac-dev libvorbis-dev libsndfile1-dev liboggplay1-dev libncurses5-dev libavformat-dev librcc-dev libresample1-dev libcurl4-gnutls-dev libtaglib-cil-dev libvorbisidec-dev quilt libdb-dev autoconf libpopt-dev libltdl-dev

Esto os solicitará la contraseña de Conductor, y una vez que la ingresen "a ciegas",  descargará e instalará las librerías requeridas. Acto seguido, usaremos nuestra carpeta temporal para descargar su código fuente, compilarlo, e instalarlo. Para ello ingresarán:

touch ~/.popt
chmod og-w ~/.popt
cd /tmp
wget http://ftp.daper.net/pub/soft/moc/unstable/moc-2.6-alpha3.tar.xz
tar xf moc-2.6-alpha3.tar.xz
cp ~/Descargas/moc-26a3-to_r3005-1.patch.gz /tmp/moc-2.6-alpha3/
cd /tmp/moc-2.6-alpha3/
zcat /tmp/moc-2.6-alpha3/moc-26a3-to_r3005-1.patch.gz | patch -p1
echo -n 3005 > REVISION
autoreconf -if
./configure --prefix=/usr/local/
make
sudo make install

Y finalmente podrán copiar el ejecutable a la carpeta de binarios de compilación local con:

sudo cp mocp /usr/local/bin/

Naturalmente, ahora podremos iniciarlo con el comando:

mocp

Naturalmente, podremos contar también con los clásicos ecualizadores de MOCP:

mkdir ~/.moc/
wget http://ftp.daper.net/pub/soft/moc/contrib/eqsets.tar.gz
tar xvfz eqsets.tar.gz
rm eqsets.tar.gz

Esta compilación individual no reemplaza al paquete oficial. Si quisiéramos deshacernos de la versión compilada por nosotros mismos, simplemente la eliminaríamos con:

sudo rm /usr/local/bin/mocp

Y ahora los dejo con su programación favorita.

viernes, 12 de febrero de 2021

¿Cómo emulo una AT&T 3B1 UNIX PC7300 en Ubuntu?

Reunido en el 2º Congreso Confederal de la CGT, Juan Perón pronuncia un claro discurso en el cual enseña a emular una AT&T 3B1 UNIX PC 7300 en Ubuntu.

(...)

¡Trabajadores!

A lo largo de los tiempos históricos, el hombre - limitado a su propia naturaleza - ha abarcado todo tipo de demandas. La mayoría de ellas son inusitadas, pero le proveen el ímpetu vital que lo distingue como especie. Otras son Justas, pero sabemos que sólo podrá resolverlas actuando en comunidad.

Nuestra Doctrina Justicialista posee un carácter fundamentalmente humanista. La estrella polar que la orienta es saciar las ansias Justas del Pueblo Argentino. Para ello nos hemos disciplinado y hemos puesto nuestro empeño de la hora.

Hemos tomado parte en acciones de cohorte que nos han hermanado, y nos ha permitido proveer a nuestro Pueblo de la soluciones a sus inquietudes sociales, en forma de los Derechos del Trabajador, de la Niñez, o de la Ancianidad. Estas son cosas grandes, que se pueden lograr a través de la acción decidida de organismos bien concebidos. Sin embargo, si queremos realizar cosas que verdaderamente superen las ansias de los tiempos, necesariamente hemos de conformar supra-organizaciones, un estadío mayor que las anteriores. Esta mancomunidad es lo que forma un verdadero Movimiento.

En el cómputo suele suceder más o menos lo mismo. Uno puede hacer tareas sencillas, pero las más complejas necesidades de cómputo de potencia sólo pueden ser abarcadas si se organizan múltiples tareas de forma concurrente, en pos de un logro final.

No podemos dudar en que los sistemas UNIX y similares a UNIX siguen este precepto frontispicial a manera cabal, y lo tornan en un aspecto especialmente válido en el caso del equipamiento clásico. Este guarda valía no tanto por su potencia de cálculo real (que en función del tiempo, podría considerarse humilde), sino que lo hace en gran medida como recurso de estudio y aprendizaje de los más básicos rudimentos en las ciencias del cómputo.

Pongamos por caso el de la AT&T 3B1. Se trataba de un sistema informático desarrollado en 1984 por Convergent Technologies para AT&T Technologies. Era una microcomputadora de moderna concepción, que destacaba exteriormente por su moderno gabinete. AT&T decidió integrarle una versión de UNIX System V y varias aplicaciones ofimáticas que la distinguieran sobre la sosa y desprovista PC XT de IBM.

Su hardware giraba alrededor de un muy poderoso microprocesador de 32 bits Motorola MC68010 de 10 megahertz, provisto de entre 512KB y los 4MB de memoria RAM. El hardware de video constaba estaba dado por un adaptador capaz de presentar texto a 80x29 caracteres, y gráficas de 720x348 píxels, en un monitor monocromático de 12 pulgadas de fósforo verde.

Sus medios de almacenamiento de masa estaban dados por una unidad de diskettes de  5 1/4 pulgadas y baja densidad (360 kilobytes, a 9 pistas por sector), en tanto que la novedad la proveían hasta dos discos rígidos MFM, que variaban entre los 10 megabytes hasta los 67 megabytes al final de su ciclo productivo. Siendo diseñada para la AT&T, el equipo estaba dotado de fábrica para aprovechar las redes a través de su comunicador telefónico integrado, que le permitía establecer llamadas convencionales por medio de un software de gestión con agenda telefónica, y a través de redes de datos a 1200 baudios por segundo. Los periféricos se distinguían por su teclado avanzado acomodable sobre el gabinete, y un ratón de tres botones, algo aún inusual para las computadoras hogareñas.

El software de la 3B1 de AT&T se basaba fundamentalmente en una distribución licenciada de UNIX System V formado por la Release 2 a la que se le agregaron controladores de dispositivos desarrollados por Convergent Technologies, junto con extensiones de System V Release 3 y una serie de aplicaciones provenientes de las Versiones 4.1 y 4.2 de la distribución de Berkeley.

La 3B1 pasó así a formar el equipo ofimática inicial dirigido a todo tipo de pequeñas y medianas empresas, bajo el apelativo de AT&T UNIX PC 7300. ndudablemente que todo esto no costaba chirolas sino entre 5 y 7 mil dólares, lo que la dejaba sólo al alcance del más acaudalado oligarca. 

Nuestro Movimmiento es uno de gran raigambre popular, y reconoce que existe una sóla clase de hombres: los que trabajan. Por ello no podemos dudar en dar al Pueblo acceso inclusivo a a todo tipo de hardware y de software que desee. Para ello nuestro sistema GNU con Linux es capaz de emular sistemas de antaño con software libre, muestras de lo cual he dado instruyendo a la Masa a emular la AT 3B2/400 en Ubuntu. 

En este caso, os enseñaré a emular la arquitectura y entorno de la AT&T 3B1 UNIX PC 7300 gracias a FreeBee, un emulador de 3B1 liberado bajo licencia GNU GPLv3.

Se trata de un emulador experimental, pero que ofrece casi todas las funcionalidades, a excepción del módem telefónico.

Instalar el System V en la 3B1 original era una tarea titánica que requería obrados conocimientos, o bien hojear la excelente documentación de puesta a punto del sistema. Aún así, como Conductor del Justicialismo me he impuesto la tarea de obrar día y noche por mis queridos descamisados.

En primer lugar, con fime voluntad abrirán una Terminal con Crtl+Alt+T. Acto seguido, instalarán la única dependencia requerida por el sistema de emulación, mediante el siguiente comando de organización:

sudo apt install libsdl2-dev minicom agetty

Nuestro sistema nos solicitará nuestra contraseña de conductor. Conforme la proveamos, descargará e instalará la librería.

Inmediatamente capearemos la tarea de descargar el código fuente del emulador FreeBee y compilarlo. Para que opere habrán de descargar las imágenes ROM de las rutinas de E/S y BIOS de la AT&T 3B1 (necesarias para el funcionamiento del emulador). Complementariamente habrán generar imágenes vacías de disco rígido e instalar el sistema operativo en él, junto con una miríada de aplicaciones.

Indudablemente que toda esta tarea podrá disfrutarse como unas vacaciones pagas en Chapadmalal, ya que sólo hemos de copiar y pegar en nuestra terminal el siguiente bloque de Comandos de Organización:

cd ~ ;
git clone --recurse-submodules https://github.com/philpem/freebee ;
cd ~/freebee/ ;
make ;
git clone https://github.com/dgesswein/s4-3b1-pc7300 ;
cd ~/.freebee/s4-3b1-pc7300 ;
make ;
mkdir ~/freebee/img/ ~/freebee/roms/ ;
cd ~/freebee/img/ ;
wget https://www.skeeve.com/3b1/os-install/08_Foundation_Set_Ver_3.51_no_phinit.IMD.gz ;
wget https://www.skeeve.com/3b1/enhanced-diag/bootable-extended-diag.img.gz ;
wget https://www.skeeve.com/3b1/enhanced-diag/diag.img.gz ;
wget https://www.skeeve.com/3b1/enhanced-diag/Install ;
wget https://www.skeeve.com/3b1/enhanced-diag/Install.bak ;
wget https://www.skeeve.com/3b1/enhanced-diag/README ;
wget https://www.skeeve.com/3b1/enhanced-diag/README.adr ;
wget https://www.skeeve.com/3b1/enhanced-diag/s4diag ;
wget https://www.skeeve.com/3b1/all-sw+fixdisk-hd.img.gz
wget https://www.skeeve.com/3b1/full+lots-sw.img.gz
wget https://www.skeeve.com/3b1/big-empty.img.gz
wget http://bitsavers.org/pdf/att/3b1/999-801-025IS_ATT_UNIX_PC_System_Software_Installation_Guide_1987.pdf ;
gzip -d full+lots-sw.img.gz ;
cp ~/freebee/img/full+lots-sw.img ~/freebee/hd.img ;
gzip -d 08_Foundation_Set_Ver_3.51_no_phinit.IMD.gz ;
gzip -d bootable-extended-diag.img.gz ;
gzip -d diag.img.gz ;
cd ~/freebee/roms/ ;
wget http://bitsavers.org/pdf/att/3b1/firmware/3b1_roms.zip ;
unzip 3b1_roms.zip ;
mv '14C 72-00616.bin' 14c.bin ;
mv '15C 72-00617.bin' 15c.bin ;
cd ~
mv ~/freebee/ ~/.freebee/ ;
echo '#Arrancador del emulador 3b1' >> ~/.freebee.sh ;
echo 'cd ~/.freebee/' >> ~/.freebee.sh ;
echo './freebee -s 2:3'  >> ~/.freebee.sh ;
chmod +x ~/.freebee.sh ;
echo 'Todo listo!'

Naturalmente presionarán Enter para que se ejecuten.

Opcionalmente podríamos editar el archivo de configuración para darle un buen tamaño de pantalla y el color adecuado del monitor de la UNIX PC. Esto lo haremos con:

nano ~/.freebee/.freebee.toml

Se abrirá el editor GNU Nano. Le pegamos el siguiente contenido (naturalmente reemplazando usuario no nuestro propio nombre de usuario):

# Sample TOML configuration file for freebee
#
# freebee searches first for ./.freebee.toml and then
# for $HOME/.freebee.toml. It reads the first one it
# finds and then stops.

[floppy]
    disk = "/path/to/floppy.img"    # Floppy disk is optional

[hard_disk]
    disk1 = "/home/usuario/.freebee/hd.img"
    disk2 = "/path/to/hd2.img"    # Second disk is optional
    # Default disk parameters. Overridden by disk label in
    # the hard disk image.
    heads = 8
    sectors_per_track = 17

[display]
    x_scale = 2.0            # Scale in X dimension, 0 < n <= 45
    y_scale = 3.0            # Scale in Y dimension, 0 < n <= 45
    scale_quality = "linear"    # "nearest" (fastest), "linear" (default), or "best" (anisotropic)
    red = 0x00            # foreground colors
    green = 0xFF
    blue = 0xA9

[roms]
    rom_14c = "/home/usuario/.freebee/roms/14c.bin"    # Odd locations
    rom_15c = "/home/usuario/.freebee/roms/15c.bin"    # Even locations

[serial]
    symlink = "serial-pty"

[vidpal]
    installed = true

[memory]
    base_memory = 2048        # Units of 1K bytes, 2048 is the max.
    extended_memory = 2048        # Units of 1K bytes, 2048 is the max.

...y guardamos con Ctrl+o y salimos con Ctrl+x.

Ya podrán arrancar el emulador con el System V instalado mediante el comando:

./.freebee.sh

Esto encenderá el equipo virtual y dará iuicio al UNIX System V 3.51m contenido en la imagen de disco rígido. El procedimiento original taradaba unos dos minutos aproximadamente y está detallado en la página 58 del manual de propietario.

Se presentará la pantalla que indica el chuqueo e inicio de la BIOS detallando el contenido de memoria ROM y RAM emulada...

...y conforme se inicialice el stack de framebuffer, System V será capaz de presentar gráficas, una de las características rompedoras de este equipo.

Y el sistema comenzará a la serie de autocomprobación de los temperamentales discos rígidos y sus sistemas de archivo de época. Esta lenta condición sin embargo lo tornaba en uno de los equipos de escritorios más seguros de los ochentas.

El sistema multiusuario solicitará acceso a través de su programa de login

Podremos acceder a un útil tutorial ingresando como el usuario tutor. Cuando solicite contraseña, presionamos Enter sin ingresar ninguna.

El tutor nos enseñará el uso del ratón (lo capturamos en el emulador presionando F10). 

Siguiendo el tutor y el manual podremos aprender a usar el entorno gráfico. También podremos aprender a ver los recursos del UNIX. Naturalemnte, su uso es bastante similar al concepto de escritorio delimitador por "X", al fin y al cabo UNIX System V no inventó la rueda, la hizo girar.

Podremos administrar hasta 4 usuarios activos con sus respectivas ventanas, haciendo clic en el símbolo "W" de la esquina superior derecha. Si elegimos la opción rlogin podremos abrir otra terminal.

Podremos cerrar las ventanas haciendo clic en la "x" del costado inferior izquierdo.

Para ingresar como Superusuario de Administración, debemos acceder como root y sin contraseña.

Usuario: root
Contraseña: ninguna (presionar Enter)

Podremos ahora hacer uso del intérprete de comandos Korn Shell 88, cuyo prompt es un #.

El emulador Freebee cuenta con unas teclas especiales que operan funciones propias:

F9: Tecla SUSPEND
F10: Toma/Suelta cursor del ratón de Ubuntu en el Freebee.
F11: Inserta/retira imagen de diskette floppy (`floppy.img`)
Alt+F12: Sale del emulador

Naturalmente, como lleva un UNIX System V, le podremos cambiar una contraseña con el comando passwd de UNIX.

Podremos usar el conocido editor vi, pero también podrán usar se, el Editor de Pantalla de la Universidad Georgia Tech.

se

El editor arrancará en modalidad comando, y es bastante similar a ed. Podremos obtener ayuda de un comando con el comando h seguido por la letra del comando.

Entre las letras de comando tenemos guardar (w). Podremos salir del editor con el comando q.

Indudablemente, además de la paquetería típica de UNIX System V,, podrán encontrar numeroso software adicional a en UNX PC Taronga.

En cualquiera de las opciones, es útil recordar que el teclado original contaba con algunas teclas no disponibles en el teclado normal, pero que son emuladas mediante combinaciones o teclas del teclado actual.

  • F1-F8 -- "soft keys" en la parte inferior de la pantalla
  • F9 -- Tecla SUSPD (hace aparecer una lista de ventanas)
  • Alt+Esc -- Tecla EXIT
  • Alt+Retroceder -- CANCL key
  • Av.Pág -- Tecla HELP
  • Re.Pág -- Tecla PAGE
  • Ins -- Tecla CMD
  • Intro -- Tecla RETURN
  • Alt+Enter -- Tecla ENTER
  • Pausa Inter -- Tecla RESET BREAK

Configurar comunicaciones en la Unix PC

La Unix PC puede recibir y tranmitir a otras computadoras con un enlace serial, en este caso virtualizado. Para ello hay que configurar su Unix System V. A tal fin nos logueamos a la Unix PC como root y agregamos la linea al dispositivo linux, ingresando los siguientes comandos (todos ellos seguidos de Enter):

cd usr
cd lib
cd uucp
cp L-devices L-devices.orig
rm L-devices

Ahora editaremos el fichero L-devices con:

ed 

Se ejecutará el parco editor de líneas ed. Le ingresamos los siguientes comandos, presionando Enter con cada uno de ellos.

a
DIR tty000 0 9600
.
w L-devices
q

Una vez agregada esta línea, reiniciamos la Unix PC con reboot o shutdown.

a) Loguarse la Unix PC desde Ubuntu:

En la Unix PC nos loguemos como root y la ponemos en escucha:

setgetty 000 1

En tanto en Ubuntu ponemos:

cd ~/.freebee/ ;
minicom -D -/.freebee/serial-pty

Para salir del cliente Minicom, debemos usar Ctrl+a,q

b) Conectarse a Ubuntu desde la Unix PC

En la Unix PC nos logueamos como root y nos aseguramos colgar la terminal tty000 con el comando:

setgetty 000 0

En tanto, en Ubuntu vamos al directorio del emulador Freebee y revisamos en qué pseudo-terminal de Ubuntu pretende usar la terminal serial de la 3B1 Unix PC 7300, mediante:

cd ~/.freebee/ ;
ls -l serial-pty


Por ejemplo, si sale:

serial-pty -> /dev/pts/1

...significa que en Ubuntu debemos dejar en escucha a la pseudoterminal pts/1. Ello se haría con el siguiente comando:

sudo agetty pts/1 vt100

Luego, ya de vuelta en la UNIX PC, ingresamos:

cu -l tty000

Una vez que nos informe "Connected" debemos presionar Enter una vez para recibir el prompt de usuario y contraseña.

Gracias a ello, podremos establecer enlaces desde la terminal serial con la internet moderna.

Apagar el emulador

El procedimiento de apagado correcto de System V se hace desde la consola de administración. Podremos apagar el sistema con el comando shutdown. También es útil recordar que podremos abrir un usuario nuevo presionando F9 y loguearlo como root y escribir shutdown.


Una vez que System V se apaga, podremos desconectar el emulador mediante Alt+F12.

Para crear una imagen de diskette tipo MS-DOS de 360kb (9 pistas por sector) en nuestro sistema de hospedaje GNU con Linux podríamos usar:

dd if=/dev/zero of=attdsk.img bs=1k count=360
/sbin/mkfs.fat dos.img
sudo mount -o loop -t msdos attdsk.img /mnt

Acto seguido copiamos los archivo que queremos en /mnt (recordando de no sobrepasar los 360 kilobytes). Podremos desmontar el diskette con:

sudo umount /mnt

AT&T producía excelente documentación técnica en inglés, los famosos "libritos rojos. Podrán encontrar los manuales de la AT&T 3B1 aquí.


domingo, 24 de enero de 2021

¿Cómo instalo Signal en Ubuntu?

¡Trabajadores!

¡Nuestro Movimiento vibra ante los sones de una marcha que - además de alegre  - realiza una exposición ideológica clara y meridiana!. Su métrica nos ofrece la noción en la que todos unidos triunfaremos dando un grito de corazón por quien supo  combatir al Capital.

Whatsapp es sin lugar a dudas una plataforma cuyo condicionamiento técnico y legal le hacen digna de ser combatida. Se trata de un comunicador mendaz, centralizado alrededor de un Amo - pues no podremos decirle servidor - de carácter privativo. Sus esclavos hacen uso de dispositivos munidos de clientes privativos también, y agenciados por la sinarquía. ¡Esta técnica de servidumbre y dependencia a un proveedor específico, se utiliza para descapitalizar al débil en pos del fuerte! Su efecto real es irrespetar las libertades del Usuario (quien pasa a ser usado) y de esta manera crear una dependencia comercial del proveedor.

Nuestro Movimiento nació para liberar a los Obreros, ¡y es capaz de oponer golpe por golpe a estas inconfesables afrentas! Por ello normalmente os recomendaré el uso de una aplicación libre descentralizada con encriptación punto a punto como GNU Jami.

Sin embargo, para el caso que se nos haga una necesidad el uso de los servicios centralizados (sea ésta cual sea) más vale hacerlo bajo los preceptos de la libertad del software. Disponer del código fuente para modificarlo es una de estas libertades, y en ella podremos hacernos fuertes en nuestros dispositivos con la plataforma de comunicación encriptada Signal.

La plataforma Signal dispone de clientes libres que emplean un servidor centralizado hecho con software libre. Este clientelismo libre están disponibles tanto para dispositivos móviles, como para instrumentos de cómputo de escritorio, en variadas plataformas.su servicio.

Si deseamos, podremos instalar Signal en nuestro Smartphone, pero también contaremos con una aplicación de escritorio oficial para Linux, el Signal-Desktop.

Para instalarlo en nuestro sistema GNU con Linux, habremos de utilizar la terminal. Para ello abrimos una con Ctrl+Alt+t e ingresamos el siguiente comando de organización:

wget -O- https://updates.signal.org/desktop/apt/keys.asc | sudo apt-key add -

Es normal que nuestro sistema se detenga un par de segundos para solicitar nuestra contraseña de Conductor. Cuando la proporcionemos, nos indicará OK. A continuación ingresamos los siguientes comandos para agregar el repositorio de Signal a la lista de repositorios:

echo "deb [arch=amd64] https://updates.signal.org/desktop/apt xenial main" | sudo tee -a /etc/apt/sources.list.d/signal-xenial.list

Finalmente, actualizamos el contanido de repositorios e instalamos Signal para el escritorio de Linux con:

sudo apt update
sudo apt install signal-desktop

Ahora podremos iniciar la aplicación nativa desde Aplicaciones / Internet / Signal.

Como es usual en este tipo de programas asociados a servicios móviles, la primera vez que lo utilicemos se nos presentará un código QR que nos permitirá asociar la cuenta de un dispositivo móvil. Para ello podremos utilizar la aplicación para Android o iO$, sacándole una foto al código QR de la pantalla.

Una vez que analicemos el código QR podremos establecer nosotros mismos el nombre del dispositivos, incluso ofuscándolo.

Conforme lo nombremos, podremos sincronizar contactos (si es que ya teníamos una cuenta Signal).

A diferencia de invasivos servicios como Whatsapp, Signal puede eliminar nuestra presencia telemática con solo ir a las preferencias y presionar Clear Data. También podremos escoger autorizar o desautorizar el uso del micrófono y de la cámara web (los cuales normalmente aparecen desactivados).


Una vez iniciado el cliente, podremos usarla para chatear, enviar mensajes de audio con cifrado punto a punto, realizar videollamadas, etcétera.

El cliente dispone de todas las funciones regulares, incluyendo chat grupales con emojis, enviar audio, envío de todo tipo de ficheros incluyendo multimedias, así como establecer videollamadas, todo esto encriptado.

Presionando F11 podremos activar Pantalla Completa.

¡Sólo de esta forma volverá a vibrar nuestro smartphone con los sones del Software Libre!

viernes, 8 de enero de 2021

¿Cómo uso un túnel SSH a través de la red anónima Tor en Ubuntu?

 Durante la histórica inauguración del Viaducto Presidente Perón de Sarandí, Juan Perón explica ante el Gobernador de la Provincia de Buenos Aires Carlos Aloé y el intendente de Avellaneda José Luis García, cómo crear un túnel Secure Shell a través de la red Tor.

¡Señor Cobernador!

¡Señor Intendente!

¡Trabajadores!

Esta obra magnífica de ingeniería, monumental en su factura y insuperable en su construcción, comenzó a gestarse en el principio de nuestro gobierno bajo auspicio de los muchachos de Vialidad de la Provincia. Debía responder al abhelado objetivo de solucionar y ordenar el tránsito, en áreas de la ciudad donde se veían atrasadas por la circulación de múltiples convoyes, entre ellos el ferrocarril lechero.

El trabajo que han emprendido ha consistido en elevar el nivel de vías y dejar las calles libres al tránsito vehicular, gracias a una inversión aproximada de 30 millones de pesos. ¡Cuánto han hecho! Me regocijo al observar esta portentosa obra, y observar en ella el rostro de todos los trabajadores Argentinos que han colmado de dicha mi corazón.

Un viaducto como este permite ahorrar tiempo, pero también hacer un cruce como este más seguro para todos. Permitirá ahorrar el tiempo que llevaba esperar al tren, que lo podremos utilizar en nuestro provecho, transformándolo ahora en un tiempo libre y feliz.

Sin embargo, un viaducto o túnel, como obra de infraestructura, puede servir también como clara inspiración para el desarrollo seguro y anónimo de todas nuestras necesidades de cómputo.

Vean señores, por diseño, el Shell Seguro (SSH) es una forma inherentemente bien pensada para obtener acceso con protección cifrada a máquinas remotas. Sin embargo, puede suceder que nos sea necesario una implementación aún más segura del mismo.

Normalmente, esto implica abrir el puerto 22 del router o configurar un reenvío de puertos. También se puede utilizar abrir todos los puertos del router, o utilizar DMZ.

En entornos de conexión hostiles como los de hoy, siempre nos será útil hacerlo más seguro, y poder contar con manera de sortear ciertos obstáculos telemáticos que nos podrían aparecer en la red.

Emplear un túnel a través de la red oculta Tor puede suplir estos inconvenientes.

La red Tor emplea un concepto de enrutamiento de capas de cebola, de manera de utilizar las redes públicas con el mayor anonimato posible. La idea es dirigir el tráfico telemático a través de una miríada de servidores, y encriptar cada estación en el camino. Por intermedio de estas postas seguras y anónimas, podremos agregar un nivel de anonimato mayor al normal, e incluso ocultar nuestros servicios de celosos actores intermediarios. 

Indudablemente que el Justicialismo ha de servir las necesidades de los Pueblos Libres. Por lo tanto, os enseñaré cómo realizar conexiones SSH a través de Tor. El proceso no esa terriblemente dificultoso si utilizamos el puerto tradicional de SSH, que es el puerto 22 (aunque podríamos modificarlo eventualmente).

En primer lugar, requeriremos instalar Tor. Para ello abrimos una terminal con Ctrl+Alt+t e ingresamos el siguiente Comando de Organización:

sudo apt-get install tor -y

Tras ingresar a ciegas nuestra contraseña de usuario, el sistema instalará la paquetería necesaria.

Acto seguido, agregaremos un par de opciones al fichero de configuración del configuración de Tor. Para ello ingresamos:

sudo nano /etc/tor/torrc

Se abrirá un fichero de configuración que tendrá ya contenido. Al final de dicho archivo ingresamos estas líneas:

## Líneas peronistas para usar SSH a través
## de un túnel a la red oculta Tor
HiddenServiceDir /var/lib/tor/other_hidden_service
HiddenServicePort 22

Procedemos a guardar el fichero de configuración con Ctrl+o y salimos del editor GNU Nano con Ctrl+x.

También nos aseguramos de otorgarle los permisos necesarios a nuestra configuración de Secure Shell, mediante el comando:

chmod g-rw ~/.ssh/config

Ahora podremos reiniciar el servicio de Tor para hacer uso del servicio de Shell seguro SSH a través de la red oculta. Esto lo haremos mediante el siguiente Comando de Organización:

sudo systemctl restart tor

Al reiniciar el servicio Tor, se generarán toda una serie necesaria de ficheros de trabajo que se localizarán en el directorio /var/lib/tor/other_hidden_service. En dicho directorio estará el nombre de huesped que desea utilizar para conectarse al servidor desde el cliente remoto. Para conocer cuál es dicho nombre de huesped (hostname), podemos utilizar este comando:

sudo cat /var/lib/tor/other_hidden_service/hostname

Podría obtener un resultado en cadena de caracteres, terminada en .onion. Por ejemplo:

vivaperoncarajovivaperoncarajovivaperoncarajovivaperonca.onion

Cómo conectarse al server SSH Tor

Una vez que tenemos este hostname, ahora abrir una terminal o utilizar un equipo distinto (donde también hemos instalado Tor). Para conectarse con el servidor, usaremos el comando torify para torificar al hostname provisto por el comando anterior. Para hacer la conección, utilizará el comando:

torify ssh usuario@hostname

Donde usuario es un usuario remoto y hostname es el nombre de huésped provisto por la red oculta Tor.

Por ejemplo:


torify ssh usuario@vivaperoncarajovivap....onion

Se nos solicitará nuestra contraseña del usuario remoto (o llave de paso SSH), y le una vez conformado dicho requerimiento, tendremos permitido ingresar al servidor. La ventaja es que el tráfico estará ruteado a través de la red anónima Tor.

El inconveniente de usar el puente Tor de esta forma es que obtendrá velocidades de transmisión menores que si estableciera una conexión SSH directa. Este sacrificio en segundos de valdrán la pena si consideramos el anonimato en la red y tener que habilitar aperturas externas del router intermedios.