Shared posts

08 Jun 18:25

Nuevos Cursos

by Eduardo Collado

Ahora en la web os he dejado 4 cursos, aunque irán subiendo en cantidad con el tiempo, a veces un post no es suficiente y un capítulo del podcast tampoco, así que he decidido ir dejándolo así. De momento los cursos disponibles son:

Fundamentos de Routing
Este curso recorre los principios esenciales del routing IP, desde cómo un router toma decisiones y construye su tabla de rutas hasta el direccionamiento, VLSM, CIDR y diseño de redes IP. A partir de esa base, introduce los tres grandes paradigmas del routing moderno: vector distancia, estado del enlace y path vector, profundizando en protocolos como RIP, OSPF, IS-IS, EIGRP y BGP con enfoque práctico, de diseño y de troubleshooting. El curso es básicamente el libro de Fundamentos de Routing que escribí hace 15 años pero puesto al día, por ejemplo la parte de IPv6 ha cambiado bastante desde entonces.

eVPN en el Centro de Datos
Este curso explica cómo construir un fabric de centro de datos moderno con VXLAN BGP EVPN, cubriendo tanto la arquitectura física como la lógica del entorno. Recorre el diseño del underlay y del overlay, la gestión del tráfico BUM, los servicios L2 y L3 multi-tenant, la conectividad exterior mediante border leafs y, además, aborda cómo migrar desde redes Ethernet clásicas a un modelo EVPN de forma ordenada y realista.

SCION
Este curso presenta SCION como una arquitectura de Internet de nueva generación diseñada para aportar más seguridad, disponibilidad y control del camino extremo a extremo que el modelo basado en BGP. Explica sus fundamentos, su arquitectura por ISDs y ASes, el funcionamiento de sus planos de control y datos, sus mecanismos criptográficos, el uso de multipath y alta disponibilidad, así como su despliegue real y su posible papel en la evolución futura de Internet.

Ultra Ethernet
Este curso analiza Ultra Ethernet como la propuesta abierta del Ultra Ethernet Consortium para redes de IA y HPC a gran escala. Parte de los fundamentos de DMA, RDMA, DCB y RoCE, y avanza hacia el transporte UET, el spraying por paquete, la gestión de congestión, la seguridad extremo a extremo, la integración con Linux y Libfabric, y los escenarios de despliegue en infraestructuras pensadas para entrenamiento de IA y computación de altas prestaciones.

Los cursos están divididos en módulos, que serían lo equivalente a capítulos si fuera un libro para independizar temas.

Espero que lo disfrutéis y sobre todo que os sirva de ayuda.

Los cursos los tenéis en la sección de formación, mirad arriba en la barra del blog 😉 pero si os da pereza os dejo aquí el enlace directo https://www.eduardocollado.com/cursos/

06 Jun 18:40

Deja de Vivir para Gustar o Cómo Liberarte de la Opinión Ajena: La Ciudadela Interior 18

by Marcos - Fitness Revolucionario

“¿Cómo es que nos amamos más a nosotros mismos que a los demás, pero valoramos más la opinión de los ...

The post Deja de Vivir para Gustar o Cómo Liberarte de la Opinión Ajena: La Ciudadela Interior 18 appeared first on Fitness Revolucionario.

11 May 16:09

Usa tu RAM como DISCO: Guía definitiva de tmpfs en Linux

by JuncoTIC

¿Tu navegador se siente pesado? ¿Te preocupa el desgaste constante de tu SSD por archivos temporales que desaparecen al reiniciar?
🚀 Hoy en JuncoTIC, vamos a solucionar ambos problemas de una sola vez.

En este video, te explico qué es y cómo configurar tmpfs en Linux, la herramienta definitiva para usar una porción de tu memoria RAM como si fuera un disco rígido (o SSD NVMe) de ultra alta velocidad en operaciones de lectura/escritura.

🚀 ¿Qué vamos a aprender hoy?

✅ Entender los conceptos fundamentales detrás de tmpfs.
✅ Crear nuestros propios ramdisks manualmente.
✅ Montar nuestros segmentos tmpfs usando fstab.
✅ Identificar y mover la caché de Firefox y Chromium/Brave a la RAM
✅ Entender la diferencia clave entre tmpfs y zram (no te olvidés de mirar el video anterior de ZRAM).
✅ Proteger la vida útil de tu SSD/NVMe eliminando miles de escrituras innecesarias por día.

¿Querés saber más Linux? Sumate a nuestro curso con descuento exclusivo! 👇
🎓 Administrador Linux - Curso completo desde cero! (LPIC-1)
🔗 https://juncotic.com/cursos/#lpic-1

🎯 INDICE
00:39 Introducción
02:42 Recomendación de persistencia
03:07 Analizando el tmpfs montado en nuestra distro
04:30 Jugando con nuestro propio ramdisk en tmpfs
07:05 Montando automáticamente con fstab
09:20 Configuración de tmpfs para la cache de Firefox
14:25 Configuración de tmpfs para la cache de Chromium/Brave/Chrome
16:27 Otro ejemplo funcional
17:17 Conclusiones de las configuraciones
19:15 ¿Tenés poca RAM? Mejor usá ZRAM
19:50 Notas finales

🚀 Contenido relacionado:

▶️ ZRAM en Linux: Trabajando con dispositivos de bloques comprimidos en memoria
🔗 https://youtu.be/M0x9CrUstz0

📚 ZRAM: dispositivos virtuales de bloques en RAM
🔗 https://juncotic.com/zram-dispositivos-virtuales-de-bloques-en-ram/

▶️ Sticky Bit en GNU/Linux: Qué es y cómo utilizarlo
🔗 https://youtu.be/7n3aM7l4bwY

▶️ Entendiendo el archivo fstab en GNU/Linux (Clase del curso de LPIC-1)
🔗 https://youtu.be/jWmY5uwC8gU

📚 fstab: Opciones de montaje de dispositivos
🔗 https://juncotic.com/fstab-opciones-de-montaje/

📚 Zram Swap: memoria de intercambio comprimida en la RAM
🔗 https://juncotic.com/zram-swap-memoria-de-intercambio-comprimida-en-la-ram/

💬 ¿Te sirvió?
Si este video te ayudó, dejame un like 👍 y suscribite al canal para seguir aprendiendo sobre Linux, redes y ciberseguridad!

¡Y recordá que estamos construyendo nuestro propio campus en JuncoTIC para que tengas la mejor experiencia de aprendizaje!

Apoyá el canal y ayudanos a seguir publicando contenido gratuito! ✨👇
🧡 https://patreon.com/juncotic
https://cafecito.app/juncotic
💵 https://paypal.me/d1cor
💛 link.mercadopago.com.ar/juncotic
❤️ o a través del botón de Gracias de Youtube

❓Y si tenés dudas o querés profundizar algún tema, dejalo en los comentarios o escribime en la Comunidad JuncoTIC en Telegram 👇

🔗 https://t.me/+UFMGnbnm6UVmNTYx

📍¿Dónde encontrarnos? 👇

ℹ️ Telegram (canal): https:/t.me/juncotic
💬 Telegram (grupo): https://t.me/+UFMGnbnm6UVmNTYx
🏢 LinkedIn: https://linkedin.com/company/juncotic
📹 Youtube: https://juncotic.com/youtube
📚 Blog: https://juncotic.com/blog


#gnu #linux #infosec #ciberseguridad
#SysAdmin #Juncotic
#zram #swap #optimization #tmpfs #firefox #chrome #chromium
11 May 11:33

Filtros de Agua, Retención de Líquidos, Omega 3, Morir con Cero, Mejorar Reflejos

by Marcos - Fitness Revolucionario

Hoy respondo las siguientes dudas: – Qué agua beber: microplásticos, filtros etc. – ¿Qué Omega 3 comprar y qué es ...

The post Filtros de Agua, Retención de Líquidos, Omega 3, Morir con Cero, Mejorar Reflejos appeared first on Fitness Revolucionario.

08 May 20:08

En vivo - 10 de Abril del 2026

by Linux con Last Dragon
03 May 17:48

Project::OSiRiON, simulador de combate y comercio

by Jesús B.L.

Project::OSiRiON es un simulador de combate y comercio espacial libre y gratuito.

Su objetivo es crear un universo inmersivo con una jugabilidad abierta inspirada en títulos clásicos como Elite, Privateer y Freelancer.



 

Únete al juego como un hombre pobre con una pequeña nave e intenta enriquecerte comerciando o luchando. Cuantos más créditos, más naves y más armas podrás comprar, lo que te permitirá acumular riquezas aún más rápido.
 

Características

  • Disponible para Windows y Linux
  • Un jugador, modo de juego abierto
  • Multijugador a través de un servidor dedicado
  • Universo de juego abierto con numerosos sistemas estelares para visitar. Ve a donde quieras, cuando quieras. El universo está definido en archivos ini fáciles de editar; los propietarios de servidores pueden ejecutar partidas totalmente personalizadas.
  • Planetas, bases estelares, sistemas estelares y portales de salto. Las naves más grandes tienen sus propios motores de salto.
  • Naves disponibles para comprar, desde pequeños transportes hasta grandes portaaviones de mando.
  • Comercio de materias primas, armas equipables, carga eyectable.
  • Facciones de PNJ y reputación del jugador, PNJ amistosos y hostiles. Portaaviones propiedad del jugador que pueden ser acoplados por otros jugadores.
  • Combates aéreos JcJ.
  • ¡Gráficos económicos, es una característica!
  • Soporte de física mediante la biblioteca Bullet Physics.
  • El motor y el juego están escritos en C++ y están en desarrollo.


Descarga: http://osirion.org/index.php?page=downloads

29 Apr 17:51

Entrenando en el Espacio

by Fitness Revolucionario

La ausencia de gravedad produce una rápida pérdida muscular en el espacio.

Y algo similar ocurre en la tierra por ausencia de estímulo físico, aunque sea más despacio.

Lo que no usas se pierde, en el espacio o en la tierra.
28 Apr 19:31

Entrenamiento de Fuerza para Mejorar la Salud Mental

by Fitness Revolucionario

En este video hablo sobre los beneficios del entrenamiento de fuerza para mejorar la salud mental: mejor rendimiento cognitivo, menos síntomas de depresión y ansiedad.

Y si quieres ideas para empezar, echa un vistazo a mis programas:
- Fundamentos (el más básico): https://fitnessrevolucionario.com/fundamentos
- Momentum (el más completo): https://www.fitnessrevolucionario.com/momentum

Apúntate a la lista gratuita: https://fitnessrevolucionario.com/lista
28 Apr 19:24

Los Pilares de la Salud

by Fitness Revolucionario

La salud no va de hacks ni de perfección.

Va de 5 pilares básicos:
Movimiento, comida real, sueño, relaciones sociales y contacto con la naturaleza.

Pero el problema no es saberlo, es aplicarlo.

Evita el “todo o nada”.
La salud no es un examen, es una dirección.

No gana el que lo hace perfecto una semana, sino el que lo hace suficientemente bien durante años.

Haz lo básico.... pero hazlo (casi) todos los días.

Resumen de los pilares (con ejemplos) aquí:
https://fitnessrevolucionario.com/lista
23 Apr 16:31

iDeal OS

by Locos por Linux

Comienza tu SERVIDOR KVM o WEB HOSTING con Hostinger 👉 https://hostinger.com/locosporlinux
💥 ¡Usa el cupón de descuento LOCOSPORLINUX para obtener un 10% de DESCUENTO!

https://ideal-os.xyz/

GRUPO de Loc-OS (Signal): https://signal.group/#CjQKIFpeW4u6-wUj77vVPasE67ei1584iPtiPYXZ3g5WxuznEhANYSt0HuhrK43ePRS7lC-z
23 Apr 16:00

Etiquetado y organización en el CPD

by Tecnocrática

Un CPD ordenado no es solo cuestión de estética: es disponibilidad, seguridad y eficiencia.

En este directo hablaremos de etiquetado y organización en centros de datos, repasando buenas prácticas que ayudan a reducir incidencias, evitar errores humanos y facilitar el mantenimiento diario.
23 Apr 08:01

La IA debe usarse en local

by Linux con Last Dragon

En este vídeo se habla sobre la IA en la nube, si no la tienes en local te quedaras afuera y seras ciudadano de segunda clase.

Vídeos relacionados @EDteam @PeladoNerd @midudev
https://www.youtube.com/watch?v=JVA09oUTXzM
https://www.youtube.com/watch?v=CvVqWlvhqAE
http://youtube.com/watch?v=1VaSXlQnHfA

Blog https://www.lastdragon.net/
Foro del canal https://foro.lastdragon.net
Twitter https://twitter.com/LastDragonMX
Patreon https://www.patreon.com/lastdragon
Link de grupo a Telegram https://t.me/lastdragonmex

#anthropic #chatgpt #ollama #gemini
16 Apr 09:44

Por qué tu edad ya no es privada en Linux: El efecto SystemD

by Profe Carlos Leal

¿Se está convirtiendo Linux en un sistema de vigilancia? En esta clase magistral, auditamos la polémica integración de campos de identidad y edad en SystemD (UserDB) impulsada por las leyes de California y Brasil. ¿Es este el fin de la soberanía digital o un paso necesario para la adopción masiva?

En esta sesión analizamos:
- Arquitectura Técnica: Systemd-homed, UserDB y el registro JSON de identidad.
- Inconsistencias de Infraestructura: Por qué rastrear la edad en un Firewall o un NAS es un despropósito administrativo.
-E l Dilema del Hacker: El absurdo de registrar la edad del operador en distribuciones como Kali Linux o Parrot OS.
- Inseguridad Jurídica: ¿Matará el miedo a las demandas la cultura del "Fork" independiente?
- La Hipótesis de la "Suiza Digital": ¿Podría Linux volverse el estándar mundial de privacidad por defecto?
- Estrategias de Mitigación: Desde MX Linux y sistemas Systemd-Free hasta la técnica del "Usuario de 1900".

Capítulos del Video:

00:00 Saludos y Bienvenida
01:08 Conceptos a discutir en la clase
05:28 Entendiendo el Problema de Systemd
06:14 Las empresas Linux Lovers
07:50 Irregularidades de la ley
10:22 La ley es dura, pero es la ley
11:55 SystemD cumple la ley
13:07 Los bandos de la guerra civil en Linux
15:25 Analisis personal del profe
15:59 La hipótesis de la Suiza Digital
17:06 ¿cómo defendernos?
20:45 ¿Linux se convierte en Windows?


Recursos mencionados:

- Documentación de systemd-homed.
- Análisis de la Ley AB 1043.
- Repositorios de distros Systemd-Free (Devuan, Artix, Void).

#ProfeCarlosLeal

✅ Asegúrate de suscribirte a mi canal para más tutoriales y trucos sobre Administración de Servidores con Linux y con Windows y Seguridad Informática.

🔥 ¡Déjame tus comentarios y preguntas! Estoy aquí para ayudarte en temas de Administración de Servidores con Windows y con Linux así como también temas de Seguridad Informática: https://www.youtube.com/@ProfeCarlosLeal

☕ ¿Te gustaría invitarme a un café? Puedes hacerlo apoyándome en...
Patreon https://www.patreon.com/user?u=45035807
ko-fi https://ko-fi.com/profecarlosleal

🐧 Únete a mis grupos de WhatsApp y Telegram y sígueme en redes sociales
https://linktr.ee/profecarlosleal
15 Apr 16:49

El día que Richard Stallman le dijo TE LO DIJE a Linus Torvalds

by Linux con Last Dragon

En este vídeo se relata la historia de cuando Richard Stallman humilla a Linus Torvalds y de esa vergüenza nace GIT

Blog https://www.lastdragon.net/
Foro del canal https://foro.lastdragon.net
Twitter https://twitter.com/LastDragonMX
Patreon https://www.patreon.com/lastdragon
Link de grupo a Telegram https://t.me/lastdragonmex

#git #richardstallman #linustorvalds
11 Apr 09:26

🟡 Qué debemos defender de la identidad europea

by Fabián C. Barrio

A orillas del Danubio, donde Marco Aurelio escribió sus Meditaciones en mitad de una guerra, arranca este viaje por la idea de Europa: no como geografía, sino como una construcción frágil, llena de capas, tensiones y contradicciones. Grecia, Roma, el cristianismo, la Ilustración… y luego el siglo XX, que lo rompió todo. De ese desastre nace una forma muy concreta de organizar la vida en común: separación entre poder político y religioso, crítica institucionalizada, dignidad individual y una obsesión casi incómoda por revisar los propios errores.

Pero esa arquitectura no flota en el aire. Depende de algo más difícil de sostener: una identidad compartida que permita que las instituciones funcionen. Y ahí es donde el debate contemporáneo se vuelve incómodo. Inmigración masiva, cambios culturales acelerados, el auge del wokismo y su forma de gestionar el desacuerdo… y, como reacción, el crecimiento de movimientos identitarios en toda Europa. Hungría aparece entonces como un caso límite, una respuesta dura, moldeada por una historia marcada por invasiones, ocupaciones y la sensación persistente de poder desaparecer.

Este vídeo entra en terreno delicado sin esquivarlo: la compatibilidad entre ciertos sistemas culturales y la democracia liberal, los límites de la tolerancia, el papel de la autocrítica europea y el riesgo de perder el hilo narrativo que sostiene la convivencia. Sin caricaturas, sin consignas. Porque entender Europa exige algo más que repetir eslóganes: exige mirar de frente sus contradicciones, sus miedos y sus aciertos. Y decidir, con cierta honestidad, qué merece la pena conservar.
11 Apr 08:56

Artemis 2

by danigm

Aparte del mundano soporte técnico a una nave a mitad de camino a la Luna, con todo lo que eso implica, ¿para qué necesita un astronauta el outlook? ¿No hay riesgo de clickar en un correo de spam y acabar instalando malware en la Artemis?

https://bsky.app/profile/nikigrayson.com/post/3miik2wzosk25

La entrada Artemis 2 se publicó primero en Linux Hispano.

09 Apr 18:58

🟡 Lo que va a pasar en Irán (Katy Perry my love!)

by Fabián C. Barrio

Hoy les cuento con todo detalle lo que va a pasar en Irán.
09 Apr 07:32

Alcachofas guisadas con patatas, la receta romana que no falla | EL COMIDISTA

by El Comidista en EL PAÍS

Lo mejor de la cocina es que, por mucho que hayas preparado un ingrediente de mil maneras diferentes, siempre descubres otra que te entusiasma. En El Comidista le hemos dado bien fuerte a la alcachofa y os las hemos servido con jamón, con ajo y perejil, con huevos estrellados, a la judía, al microondas, marinadas, en forma de flor, en crema, y de tropecientas formas más, pero hay una receta fantástica que nunca habíamos probado, y que viene de la capital de Italia.
Si nos hablan de “alcachofas a la romana”, probablemente pensaremos en la verdura rebozada y frita, como los calamares. Sin embargo, en esta preparación nuestra inflorescencia favorita se guisa en cazuela, acompañada de ingredientes que se llevan fenomenal con ella: el ajo, el perejil, la menta y el aceite de oliva. Además de ser muy sencilla, esta fórmula tiene otra gran ventaja: puedes incorporar patatas al plato para hacerlo más completo… y prometemos que quedan casi más deliciosas que las propias alcachofas. Si quieres ver cómo se hacen, mira el vídeo de arriba.

Ingredientes (para 4 personas)
-Unas 12 alcachofas
-2 patatas grandes
-4 dientes de ajo
-Unas 6 ramitas de perejil
-2 ramitas de menta o hierbabuena
-Aceite de oliva virgen extra
-Sal

#recetas #recetasfaciles #comida #gastronomia #patatas

Suscríbete a nuestro canal: www.youtube.com/c/ElComidistaenELPAÍS
Visita: https://elcomidista.elpais.com
Síguenos en Facebook: https://www.facebook.com/elcomidista
Síguenos en Twitter: https://twitter.com/ElComidista Síguenos en Instagram:
https://www.instagram.com/elcomidista
08 Apr 17:03

Thunderbird siempre actualizado desde los repositorios de openSUSE Tumbleweed

by victorhck

Cómo sustituir la versión ESR de Mozilla Thunderbird por la de actualizaciones mensuales directamente desde los repositorios de openSUSE Tumbleweed y mantener tu cliente de correo siempre al día

Logotipo de Thunderbird. Un pájaro de color azul enroscado alrededor de un sobre de correos y el nombre de la aplicación

La distribución de GNU/Linux openSUSE Tumbleweed es una distribución «rolling release», es decir, de actualización contínua donde sus paquetes de software se van actualizando a las versiones más nuevas, pero que antes de llegar a los repositorios son testeadas para probar que todo funciona correctamente y sin sobresaltos.

El resultado es una distribución siempre actualizada y estable. Una verdadera joya poco conocida y poco valorada en el ecosistema de GNU/Linux (o esa es mi apreciación).

Todos los paquetes estaban actualizados ¿Todos?, no. En mi caso el cliente de correo Mozilla Thunderbird se mantenía en la versión de soporte extendido (o ESR), por lo que no podía estar a la última ahora que Thunderbird ha decidido realizar actualizaciones más contínuas.

Ya escribí en un artículo anterior, cómo sustituir nuestra versión de Thunderbird ESR por la versión de binarios actualizados ofrecidos por Thunderbird.

Pero yo prefiero utilizar los repositorios propios de openSUSE, donde se encuentra el software empaquetado por colaboradores para usarlo directamente en nuestro sistema.

Así que he cambiado mi versión de Thunderbird ESR por la versión más actualizada que reside en los repositorios y que se va actualizando cada mes. Ten en cuenta que si utilizas algún complemento, este puede no funcionar correctamente o directamente no funcionar en las nuevas versiones hasta que lo actualicen.

Veamos los pasos que he seguido para cambiar de Thunderbird ESR a la versión que se va actualizando cada mes.

Backup de las configuraciones

Lo primero vamos a crear un backup de lo que tenemos ahora por si acaso… En mi proceso no he tenido ningún problema, pero mejor guardarse las espaldas. Creamos una copia de nuestra configuración, firmas, claver PGP, etc mediante:

cp -r ~/.thunderbird ~/.thunderbird-backup  

Dentro de la carpeta oculta .thunderbird se guardan los datos de nuestras configuraciones, y lo que haremos será crear una copia.

Añadir el repositorio de Mozilla

En mi caso ya lo tenía añadido, pero si no es tu caso, para añadir ese repositorio lo podemos hacer mediante YaST/Mrlyn o mediante la terminal con el comando:

sudo zypper ar -f https://download.opensuse.org/repositories/mozilla/openSUSE_Tumbleweed/mozilla.repo                   

Instalar Thunderbird desde el nuevo repositorio

Ahora ya solo falta actualizar Thunderbird y decirle a zypper que lo haga desde el nuevo repositorio que hemos añadido:

sudo zypper install --from mozilla MozillaThunderbird

Si ya teníamos Thunderbird instalado nos dirá que hay conflictos y que qué queremos hacer. Le decimos que lo instale con cambio de proveedor, es decir, que instale la nueva versión desde el nuevo repositorio que le hemos indicado.

Et voila!

Terminado el proceso ya deberíamos tener todo listo y preparado para abrir nuestro Thunderbird actualizado a la última versión (la 148 a la hora de escribir este artículo). Puedes ejecutar un: sudo zypper install --from mozilla MozillaThunderbird para ver información del nuevo paquete de software.

En mi caso todo ha ido sin problemas. Se mantienen mis contactos, firmas, claves GPG, configuración de carpetas y los pocos complementos que utilizo funcionan correctamente, así que todo genial.

He tenido que volver a añadir el icono a mis favoritos en el lanzador de aplicaciones y volver a crear un atajo de teclado para lanzar el programa porque habían desaparecido, pero nada más.

Ya el cliente de correo Thunderbird se mantendrá actualizado a las nuevas versiones, estándo en consonancia con todo mi sistema que siempre se mantiene a la última y estable. ¿Te animas a probarlo tu también?

Back to the future

Si quisiéramos regresar a la versión antigua porque algo ha salido mal o no nos convence. Eliminamos el repositorio que hemos añadido, eliminamos el paquete de software y sus dependencias. Y volveríamos a instalar el Thunderbird ESR y volveríamos a utilizar el backup de las configuraciones anteriores de la que hicimos una copia.

Fichas del juego Scrabble formando la palabra email
08 Apr 16:52

Errores de certificados en curl y OpenSSL al actualizar openSUSE Tumbleweed

by victorhck

Al intentar actualizar openSUSE Tumbleweed curl me daba una serie de errores de certificados al querer acceder a los repositorios y no me dejaba actualizar el sistema

Se ve el camaleón mascota de openSUSE dentro de un flotador salvavidas.

Hoy me ha dado por encender mi viejo portátil que desde que compré mi Slimbook Exkalibur KDE Edition está durmiendo el sueño de los justos para actualizar el sistema openSUSE Tumbleweed que todavía reside en sus entrañas digitales.

Así que esperé a que terminara de iniciar el sistema (de verdad tardaba tanto antes) y abrí una terminal para correr un sudo zypper dup o zdup que es como tengo configurado un alias… y error. No podía acceder a ciertos repositorios y debido a eso no actualizaba el sistema ¿qué hacer?

Los errores en cuestión estaban relacionados con certificados a la hora de que curl u openSSH accedan a las url de los repositorios configurados para actualizar el sistema. En concreto algo así:

El repositorio 'Packman' no es válido.
[Packman|https://ftp.gwdg.de/pub/linux/misc/packman/suse/openSUSE_Tumbleweed/] No se pudieron recuperar los nuevos metadatos del repositorio.
Historial:
- [|] Error al intentar leer https://ftp.gwdg.de/pub/linux/misc/packman/suse/openSUSE_Tumbleweed/
- Error de descarga (curl) para https://ftp.gwdg.de/pub/linux/misc/packman/suse/openSUSE_Tumbleweed/content:
Código de error: The peer certificate could not be verified Curl error (60)
Mensaje de error: SSL certificate OpenSSL verify result: unable to get local issuer certificate (20)

Lo primero comprobar que los servidores donde están los repositorios no están caidos, accediendo a las url desde el navegador. Todo parece estar Ok. Además comprobaba entre los dos portátiles que mi equipo nuevo podía acceder y el viejo portátil no.

Pero lo que parece que que los certificados SSL no son válidos o que curl no confía en ellos. Echando un vistazo (he perdido los enlaces…) veo que una solución para tratar de solucionarlo puede ser actualizar los certificados del sistema.

Para eso primero instalamos un par de paquetes que contienen certificados actualizados mediante:

sudo zypper in ca-certificates ca-certificates-mozilla 

Y los actualizamos mediante:

sudo update-ca-certificates

Que reconstruye los certificados que se guardan en /etc/ssl/certs. Cuando terminó, volví a probar la actualización del sistema y esta vez todo funcionó sin problemas y pude actualizar todos los paquetes a sus nuevas versiones.

El problema es que hacía mucho tiempo que no arrancaba ese equipo por lo que sus certificados estaban desfasados y no podía acceder a los repositorios. En sistemas que utilizamos muy a menudo, esos certificados se renuevan automáticamente al actualizar el sistema por lo que no sería necesario ejecutar nada de esto.

Pero nunca está de más saberlo para otra vez ¿Lo conocías? Ahora mismo está actualizando más de 3.300 paquetes de software, entre ellos paquetes tan importantes como el kernel o del escritorio Plasma a nuevas versiones.

08 Apr 16:32

¿Cómo cambiar el DNS al que se conecta Raspberry pi OS de 64 bits?

by Jesús B.L.

La última versión de Raspberry pi OS disponible en 2025 usa NetworkManager para gestionar las conexiones de red, por lo que la manera de configurar la red es distinta a lo que estamos acostumbrados.

Vamos a ver como usar un DNS distinto al que nos asigna nuestro router, para lo que vamos a seguir los siguientes pasos:

  1.  Abre una terminal en tu Raspberry Pi.
  2. Ejecuta el siguiente comando para listar las conexiones de red:
    bash
    nmcli connection show
  3. Identifica el nombre de tu conexión (por ejemplo, "Wired connection 1" para Ethernet o el nombre de tu red Wi-Fi).
  4. Utiliza el siguiente comando para modificar la configuración DNS de tu conexión, reemplazando "NOMBRE_CONEXION" con el nombre identificado en el paso anterior y "DNS_SERVIDOR" con la dirección IP del servidor DNS que deseas utilizar:
    bash
    sudo nmcli connection modify "NOMBRE_CONEXION" ipv4.dns "DNS_SERVIDOR"

    Por ejemplo, para usar los servidores DNS de Cloudflare (1.1.1.1 y 1.0.0.1) y suponiendo que el nombre de nuestra wifi es MIWIFI tendriamos que ejecutar los siguientes comandos:
    bash
    sudo nmcli connection modify "MIWIFI" ipv4.dns "1.1.1.1 1.0.0.1"

  5.  Reinicia la conexión de red para aplicar los cambios:
    bash
    sudo nmcli connection down "MIWIFI" && sudo nmcli connection up "MIWIFI"
  6.  Verifica que los cambios se hayan aplicado correctamente ejecutando:
    bash
    nmcli connection show "MIWIFI" | grep ipv4.dns

Los cambios se guardarán en el archivo de configuración correspondiente en /etc/NetworkManager/system-connections/[nombre-conexion].nmconnection

Si prefieres una interfaz de texto más amigable, puedes usar el comando nmtui para configurar la red, incluyendo los servidores DNS, a través de una interfaz de usuario basada en texto


.

08 Apr 16:23

¿ Que es un demonio en Linux ?

by Linux con Last Dragon

Que es y como hacer demonios en Linux , Aprende a programar uno y a entender que son

Blog https://www.lastdragon.net/
Foro del canal https://foro.lastdragon.net
Twitter https://twitter.com/LastDragonMX
Patreon https://www.patreon.com/lastdragon
Link de grupo a Telegram https://t.me/lastdragonmex

#freebsd #linux #debian13
05 Apr 17:23

Recopilación del boletín de noticias de la Free Software Foundation – marzo de 2026

by victorhck

Recopilación y traducción del boletín mensual de noticias relacionadas con el software libre publicado por la Free Software Foundation.

¡El boletín de noticias de la FSF está aquí!

La Free Software Foundation (FSF) es una organización creada en Octubre de 1985 por Richard Stallman y otros entusiastas del software libre con el propósito de difundir esta filosofía, frente a las restricciones y abusos a los usuarios por parte del software privativo.

Por cierto este mes se cumplen 40 años de la creación de la FSF.

La Fundación para el software libre (FSF) se dedica a eliminar las restricciones sobre la copia, redistribución, entendimiento, y modificación de programas de computadoras. Con este objeto, promociona el desarrollo y uso del software libre en todas las áreas de la computación, pero muy particularmente, ayudando a desarrollar el sistema operativo GNU.

Mensualmente publican un boletín (supporter) con noticias relacionadas con el software libre, sus campañas, o eventos. Una forma de difundir los proyectos, para que la gente conozca los hechos, se haga su propia opinión, y tomen partido si creen que la reivindicación es justa!!

Puedes ver todos los números publicados en este enlace: http://www.fsf.org/free-software-supporter/free-software-supporter

¿Te gustaría aportar tu ayuda en la traducción y colaborar con la FSF? Lee el siguiente enlace:

Por aquí te traigo un extracto de algunas de las noticias que ha destacado la FSF este mes de marzo de 2026.

La verificación de aplicaciones no es el único mal de Google

Del 24 de febrero

Google ha propuesto un plan para exigir a los desarrolladores de Android que se sometan a restricciones onerosas sólo para poder publicar sus aplicaciones. Estas restricciones afectarían la publicación de software libre en repositorios éticos y respetuosos de la libertad como F-Droid. La FSF pide que se ponga fin a esta práctica.

Pero revertir esta propuesta no es suficiente. Debemos exigir más. Dígale a Google que apoye la libertad de software en los teléfonos, no que la socave.

Los estadounidenses están destruyendo las cámaras de vigilancia de Flock

Del 24 de febrerp por Zack Whittaker

Algunas personas en Estados Unidos parecen estar hartas de la vigilancia masiva: en todo Estados Unidos, las cámaras de vigilancia de Flock están siendo desmanteladas y destruidas. Flock, una startup de vigilancia y fabricante de lectores de matrículas, ha estado permitiendo a las autoridades federales el acceso abierto a su enorme red de lectores de matrículas a nivel nacional.

Flock y sus cámaras de vigilancia se han enfrentado a una fuerte oposición local y nacional, desde miembros del concejo municipal hasta esfuerzos comunitarios organizados. A pesar de esta oposición, una estimación sitúa el número total de cámaras Flock en cerca de 80.000. Las personas no deberían sentir que tienen que recurrir al vandalismo para proteger su privacidad.

Si se siente frustrado por la vigilancia masiva, no está impotente: hay medidas que puede tomar para protegerse mejor a sí mismo y a su comunidad que figuran en nuestra campaña de vigilancia.

Microsoft puede entregar su clave de cifrado a las autoridades si la solicitan válidamente: aquí le mostramos cómo mantenerla segura

Del 29 de enero por Lance Whitney

Microsoft ha confirmado a Forbes que proporcionará su clave de recuperación de BitLocker al FBI si recibe una orden legal válida y si su clave de recuperación de BitLocker se carga en la nube.

Microsoft comercializa BitLocker como una característica de seguridad integrada en Windows que cifra todo el disco duro, con la idea de que sus archivos personales estén protegidos en caso de que pierda o le roben su PC. Para descifrar el disco duro se requiere una clave de recuperación de BitLocker que se supone debe mantenerse a salvo del acceso de otros y, sin embargo, Microsoft, de forma predeterminada, carga esta clave en los servidores de Microsoft.

Microsoft es una empresa de software privativo y no tiene ningún interés en proteger a los usuarios o su privacidad, sin importar cuántas veces afirme proteger a los usuarios. Lea más sobre cómo puede utilizar el cifrado que respeta la libertad para protegerse en el artículo siguiente y por qué es importante.

apoyo_fsf

Estas son solo algunas de las noticias recogidas este mes, ¡¡pero hay muchas más muy interesantes!! si quieres leerlas todas (cuando estén traducidas) visita este enlace:

Y todos los números del «supporter» o boletín de noticias de 2026 en español, francés, portugués e inglés aquí:

Support freedom

05 Apr 16:59

Luz Roja: Beneficios y Cómo Seleccionar un buen panel

by Fitness Revolucionario

En este video hablo sobre los beneficios de la luz roja e infrarroja, y de cómo seleccionar un buen panel.

Puedes echar un vistazo a los paneles de Rekovital aquí (código FR10):
https://www.rekovital.com/luzroja

Apúntate a mi lista aquí: https://fitnessrevolucionario.com/lista

O sígueme en Instagram: https://www.instagram.com/fitness.revolucionario/
03 Apr 16:50

Hardening de sudo

by Luis GuLo
Bolly

visudo

Endurecimiento del sudoers en sistemas GNU/Linux: principios, buenas prácticas y errores críticos a evitar

Hardening de sudo

El comando sudo es una de las herramientas más críticas en cualquier sistema Linux.

Permite que un usuario no privilegiado ejecute acciones como root o como otro usuario, de forma controlada y auditada. Sin embargo, una mala configuración puede convertirlo en la vía más rápida para una escalada de privilegios completa y comprometer toda la infraestructura.

Por ello, es esencial entender cómo funciona, cuáles son sus ventajas, sus riesgos y cómo configurarlo de forma segura y mantenible.


Qué es “sudo” y por qué es esencial

El comando sudo (superuser do) permite delegar permisos concretos a usuarios o grupos para ejecutar comandos específicos como otro usuario.

Sus ventajas principales:

  • Trazabilidad: cada comando queda registrado en los logs del sistema.
  • Delegación granular: se pueden otorgar permisos muy específicos sin dar acceso total.
  • Control temporal: es posible otorgar privilegios solo durante ciertos periodos o circunstancias.
  • Menor exposición del usuario root: evita el uso directo de la cuenta más peligrosa del sistema.

Pero también implica riesgos si se configura mal:

  • Escalada de privilegios total si se otorgan comandos inseguros.
  • Saltos a sub‑shell que otorgan un root shell completo sin intención.
  • Ejecución de comandos impredecibles si se confía en rutas o variables no controladas.
  • Dependencia de la edición manual del fichero /etc/sudoers, con riesgo de errores críticos.

Uso correcto del sistema modular en /etc/sudoers.d/

Modificar directamente /etc/sudoers es una mala práctica salvo para ajustes mínimos.
La forma correcta, mantenible y limpia de administrar reglas es:

  • Crear un fichero por rol o usuario dentro de /etc/sudoers.d/.
  • Nombrarlos de forma clara, por ejemplo:
    • /etc/sudoers.d/deploy
    • /etc/sudoers.d/monitorizacion
    • /etc/sudoers.d/jenkins-ci
  • Mantener un control de configuración más sencillo y sin mezclar reglas.

Esto evita conflictos, facilita auditorías y reduce errores que puedan dejar el sistema inutilizable.


El comando visudo: qué es y por qué es obligatorio

El archivo sudoers es extremadamente sensible. Un error de sintaxis puede romper completamente sudo, dejando a los administradores sin capacidad de elevación de privilegios.

visudo sirve para:

  • Validar la sintaxis antes de guardar.
  • Evitar que dos administradores editen el archivo simultáneamente.
  • Permitir configurar un editor seguro, como veremos más adelante.

Siempre debe usarse para editar cualquier archivo sudoers o un archivo dentro de /etc/sudoers.d/:

visudo -f /etc/sudoers.d/nombre

Uso de ALIAS: simplificar y ordenar la configuración

Los ALIAS permiten definir grupos reutilizables de:

  • UsuariosUser_Alias
  • HostsHost_Alias
  • ComandosCmnd_Alias
  • RunasRunas_Alias

Ejemplo básico:

Cmnd_Alias DEPLOY_CMDS = /usr/bin/systemctl restart tomcat, /usr/bin/git pull
User_Alias DEPLOYERS = deploy, jenkins
DEPLOYERS ALL=(root) DEPLOY_CMDS

Beneficios:

  • Legibilidad.
  • Menor duplicación de reglas.
  • Modificación centralizada.

Listas blancas y negras de comandos

Listas blancas (whitelisting)

Es la mejor práctica: permitir solo comandos exactos, con rutas completas.
Ejemplo:

usuario ALL=(root) /usr/bin/systemctl restart nginx

Listas negras (blacklisting) — NO recomendadas

Permitir todo menos ciertas cosas es extremadamente peligroso.
Los usuarios siempre terminan encontrando una forma de escaparse.
Solo deben usarse en escenarios muy específicos.


Denegar ejecución de “exec” para evitar sub‑shell

Muchos comandos permiten lanzar un shell interactivo o ejecutar instrucciones arbitrarias.
Ejemplos típicos:

  • vim (:!bash)
  • less (!sh)
  • awk (con system())
  • find (-exec /bin/sh)
  • tcpdump (con -z)
  • tar (--to-command)

Incluso comandos aparentemente inocuos pueden proporcionar RCE (remote code execution).

La forma correcta de evitarlo es:

  1. No permitir jamás comandos que puedan invocar exec() o lanzar un shell.
  2. Utilizar la opción NOEXEC:
usuario ALL=(root) NOEXEC: /usr/bin/command

sudo usa la biblioteca libsudo_noexec.so para bloquear cualquier intento de ejecución de sub‑comandos.


Qué editor usar: evitar editores que permitan ejecutar comandos

Los editores comunes como vim, emacs o incluso nano permiten de una forma u otra ejecutar comandos del sistema si no se configuran medidas adicionales.

Editor recomendado para visudo:

  • vi -Z (modo restringido)
  • nano -R
  • Un editor minimalista como ed
  • O configurar un editor restringido personalizado.

Configurar el editor seguro:

export EDITOR="/usr/bin/vi -Z"
visudo

Lista de comandos que nunca deben permitirse con sudo

Esta lista es orientativa pero representa comandos que permiten escape a shell, ejecución arbitraria o manipulación del sistema con privilegios root.

Editores y paginadores

  • /usr/bin/vim
  • /usr/bin/vi
  • /usr/bin/nano (riesgo de invocar subcomandos)
  • /usr/bin/less
  • /usr/bin/more

Intérpretes y lenguajes

  • /usr/bin/python*
  • /usr/bin/perl
  • /usr/bin/ruby
  • /usr/bin/bash
  • /usr/bin/sh
  • /usr/bin/zsh
  • /usr/bin/ksh
  • /usr/bin/tclsh

Herramientas con opciones “-exec” o equivalentes

  • /usr/bin/find
  • /usr/bin/xargs
  • /usr/bin/awk
  • /usr/bin/sed (con e inseguro)
  • /usr/bin/tar
  • /usr/bin/rsync
  • /usr/bin/curl (si permite descargar scripts y ejecutarlos)
  • /usr/bin/wget

Compresores y archivadores

  • /usr/bin/zip
  • /usr/bin/unzip
  • /usr/bin/ar
  • /usr/bin/cpio

Programas con shells embebidos

  • /usr/bin/tcpdump
  • /usr/bin/openssl (modo CLI interactivo)
  • /usr/bin/mysql
  • /usr/bin/psql

Cualquier comando que permita modificar ficheros arbitrarios

  • /usr/bin/cat
  • /usr/bin/tee
  • /usr/bin/dd

Ejemplo de entrada "inocua" y problema de seguridad

Os dejo un ejemplo realista de un error crítico en sudoers al permitir por ejemplo el uso del comando nginx

Cuando un administrador escribe algo como esto en /etc/sudoers:

usuario ALL=(root) NOPASSWD: /usr/sbin/nginx

A primera vista puede parecer razonable:

  • nginx es un proceso que normalmente gestiona root.
  • Solo queremos permitir reinicios, recargas o pruebas de configuración.
  • No hay asteriscos ni comodines.
  • El administrador piensa que nginx se refiere al binario principal.
  • No parece que pueda ejecutar nada más

Pero esta entrada permite escalada de privilegios y manipulación arbitraria del sistema.

Por qué permitir solo /usr/sbin/nginx sigue siendo extremadamente inseguro

El problema está en que sudo no filtra argumentos.

Si permites:

sudo /usr/sbin/nginx

el usuario también puede ejecutar:

  • sudo /usr/sbin/nginx -c ...
  • sudo /usr/sbin/nginx -g ...
  • sudo /usr/sbin/nginx -t
  • cualquier combinación de parámetros válidos

Y nginx se ejecuta como root, por lo que cualquier opción que modifique rutas o configuraciones termina permitiendo:

  • escritura de ficheros arbitrarios,
  • creación de archivos como root,
  • carga de módulos .so y ejecución de código como root,
  • corrupción de ficheros críticos del sistema,
  • ataques indirectos que acaban en root shell (SUID, claves SSH, etc.).

Ejemplos concretos de explotación con /usr/sbin/nginx permitido

1. Usar -c para cargar una configuración manipulada

El atacante crea:

/home/usuario/miconfig.conf

con contenido:

error_log /etc/sudoers;
pid /tmp/owned_by_root;

Entonces si se ejecutar:

sudo /usr/sbin/nginx -c /home/usuario/miconfig.conf

Resultado:

  • nginx sobrescribe /etc/sudoers (incluso lo puede dejar vacío o corrupto).
  • crea /tmp/owned_by_root como root.

Esto es escalada de privilegios total.


Usar -g para forzar escritura de archivos arbitrarios

Shell

sudo /usr/sbin/nginx -g "error_log /root/.ssh/authorized_keys;"

Esto provocará que nginx:

  • abra /root/.ssh/authorized_keys como root
  • lo escriba, trunque o destruya

El atacante puede luego generar claves SSH para entrar como root sin contraseña.


Cargar módulos arbitrarios (ejecución de código como root)

El usuario crea un .so:

/home/usuario/malware.so

Y ejecuta:

sudo /usr/sbin/nginx -g "load_module /home/usuario/malware.so;"

Ese módulo es código arbitrario ejecutado literalmente con privilegios root.

Es un compromiso de root directo.


Explotación, ejecución y salida a Shell como root

Un usuario con la línea de llamada a nginx permitida de la forma anterior podría realizar lo siguiente:

# PoC: creación arbitraria de archivos como root

error_log /var/log/poc_nginx_escribe.log info;

pid /tmp/nginx-poc.pid;
events {}

http {
  server {
    listen 127.0.0.1:8088;
    location / {
      return 200 "OK\n";
    }
  }
}

Luego tan solo tendría que ejecutar lo siguiente:

sudo /usr/sbin/nginx -c "$HOME/nginx-poc.conf"
curl -s http://127.0.0.1:8088/ >/dev/null

Si se trata de una ruta con permisos heredados podriamos ver que el fichero puede modificarse

ls -l /var/log/poc_nginx_escribe.log
-rwsrwxrwx 1 root root ...

Simplemente el usuario editaría el fichero creado y podría incluir en el:

#!/bin/bash
echo "[+] PoC de prueba de Shell de root obtenida"
exec /bin/bash

Tan solo tendría que ejecutar el fichero: /var/log/poc_nginx_escribe.log que realmente no es un LOG, sinó un script.

Una vez obtenida la Shell, comprobamos si hemos realizado o no el escalado:

# id
uid=0(root) gid=0(root) groups=0(root)

Cómo debería escribirse una entrada segura de sudoers

Deberiamos tener definidos los comandos permitidos mediante un "Alias" para tenerlos perfectamente identificados, y luego otorgárselos al usuario que lo necesite:

Cmnd_Alias NGINX_SAFE = /usr/sbin/nginx -t, \
/usr/sbin/nginx -s reload, \
/usr/sbin/nginx -s reopen

usuario ALL=(root) NOPASSWD: NGINX_SAFE

En el fichero del /etc/sudoers.d/ del usuario incluiremos:

usuario ALL=(root) NOEXEC: NGINX_SAFE

¿Qué estamos logrando?

  • No hay comodines.
  • Solo se permiten comandos controlados.
  • Imposible cargar módulos arbitrarios.
  • Imposible pasar -c o -g.
  • La regla es auditada y comprensible.

Reglas recomendadas

  1. NOEXEC para evitar sub‑shells desde librerías:
usuario ALL=(root) NOEXEC: COMANDOS_SAFE
  1. Bloquear variables de entorno peligrosas:
Defaults:usuario env_reset, !env_keep+=LD_PRELOAD, !env_keep+=LD_LIBRARY_PATH
  1. Requerir rutas absolutas y sin comodines siempre.

Conclusión

Endurecer el fichero sudoers es una tarea crítica para cualquier entorno profesional.

El uso adecuado de visudo, la separación de configuraciones en /etc/sudoers.d/, el uso correcto de ALIAS, las listas blancas de comandos y la prohibición estricta de herramientas que permitan sub‑shell son elementos esenciales para:

  • Minimizar la superficie de ataque.
  • Reducir errores humanos.
  • Evitar escaladas de privilegios accidentales o maliciosas.
  • Asegurar un control claro y auditable de los permisos.

Bien configurado, sudo es una herramienta poderosa y segura. Mal configurado, puede convertirse en el talón de Aquiles de todo el sistema.

03 Apr 16:30

LAN de Doom con tostadoras Linuxeras!!

by Locos por Linux

Comienza tu SERVIDOR KVM o WEB HOSTING con Hostinger 👉 https://hostinger.com/locosporlinux
💥 ¡Usa el cupón de descuento LOCOSPORLINUX para obtener un 10% de DESCUENTO!

https://flinux-distro.sourceforge.io/

Instagram: https://www.instagram.com/nicolaslongardi/
GRUPO de Loc-OS (Signal): https://signal.group/#CjQKIFpeW4u6-wUj77vVPasE67ei1584iPtiPYXZ3g5WxuznEhANYSt0HuhrK43ePRS7lC-z

#doom #linux #tinycore
03 Apr 07:40

Claude leak

by danigm
https://neuromatch.social/@jonny/116324676116121930

Pues parece que Anthropic hizo ayer una nueva release de Claude-code en npm y no eliminó el source-map, por lo que se ha publicado todo el código fuente type-script del CLI. Han eliminado la release rápidamente, pero ya es tarde. Un montón de gente ha descargado el código y hoy en día se puede encontrar en github.

Hay multitud de forks, y también hay gente utilizando LLM para “reescribir” el código en otros lenguajes y cambiar la licencia (algo que se está utilizando a la inversa, para relicenciar GPL a MIT).

Aparte de las risas y el análisis de código (que no revela nada que no sepamos, el código es un montón de espagueti code), esto es otra muestra de lo absurdo de la industria a día de hoy, donde todo el mundo se ha lanzado a usar la “IA” para generar código, porque se puede, sin pararse a pensar si se debe hacer.

La calidad del código no es el único problema, la seguridad de estas herramientas es lo más crítico, pero es que no es sólo que se genere mucho más código, que nadie entiende, y la deuda tecnológica convierte el código en inmantenible en días. También conlleva problemas legales que todo el mundo está ignorando, porque nadie se preocupa del copyright y licencia del entrenamiento de la “IA” y el código generado, parece que nadie se preocupa de cumplir con la GPL, a saber lo que está pasando en código privativo.

La entrada Claude leak se publicó primero en Linux Hispano.

02 Apr 08:16

🟢 Cuando descubres por qué te hicieron daño

by Fabián C. Barrio

Hay algo que ocurre antes del perdón. Un instante incómodo, casi obsceno, en el que de repente entiendes por qué te hicieron daño. Dejas de justificad o celebrar y en cambio pasas a entender. Y ese momento lo cambia todo.

Durante meses, quizá años, el relato era claro: tú eras la herida, el otro el verdugo. La rabia tenía estructura, tenía coherencia, casi tenía elegancia. Pero a veces aparece una grieta, una conversación, un recuerdo que se ilumina distinto, y descubres que quien te traicionó aprendió a amar con miedo. Que quien te mintió llevaba años sintiéndose insuficiente. Que quien se fue aprendió a marcharse primero para no ser abandonado.

El dolor no tiene por qué desaparecer, claro peeeeero la palabra "monstruo" ya no encaja igual en tu narrativa mental.

Esto es lo que exploro hoy, y también el corazón de mi próxima novela, La balada de Soi Cowboy, que sale el 27 de mayo. Porque comprender no tiene por que ser absolver, sino algo más exigente, más incómodo y, en el fondo, más humano: aprender a sostener dos verdades al mismo tiempo. Me dañaste. Y estabas roto.
01 Apr 10:27

Hardening granular con fapolicyd

by Luis GuLo

Qué es fapolicyd

Hardening granular con fapolicyd

fapolicyd (File Access Policy Daemon) es un framework de seguridad para Linux diseñado para controlar la ejecución de aplicaciones basándose en una "lista de confianza".

A diferencia de los antivirus tradicionales que buscan firmas de malware conocido, fapolicyd opera bajo un modelo de Zero Trust: si un binario o script no está explícitamente permitido en la base de datos de confianza, el kernel bloquea su ejecución.

Utiliza el subsistema fanotify del kernel para interceptar llamadas al sistema relacionadas con la apertura y ejecución de archivos.

Funcionamiento Técnico

El demonio actúa como un guardián entre el espacio de usuario y el kernel.

El flujo de proceso y decisión sigue los siguientes pasos:

  1. Intercepción: Cuando un proceso intenta ejecutar un archivo (vía execve) o abrirlo para lectura (si es un script), el kernel envía un evento a través de fanotify a fapolicyd.
  2. Identificación: fapolicyd obtiene los metadatos del archivo: ruta, UID, GID y, lo más importante, el hash (SHA-256) del contenido.
  3. Evaluación de Reglas: Compara estos metadatos contra sus bases de datos de confianza (generalmente la base de datos de RedHat (RPM) y de Debian (DEB) del sistema y los archivos de configuración locales.
  4. Decisión:
    • Allow: Envía una señal al kernel para permitir la operación.
    • Deny: Envía una señal de bloqueo y el usuario recibe un error de "Permiso denegado".

Configuración y Políticas

El archivo fapolicyd.conf

Un parámetro técnico vital es el integrity.

En él se define cómo de estricta es la validación:

  • none: Solo verifica la ruta del archivo.
  • size: Verifica ruta y tamaño.
  • sha256: Verifica que el hash del archivo coincida con el registrado (máxima seguridad).

Gestión de Reglas (fapolicyd.rules)

  • Las reglas se leen en orden secuencial.
  • Si una regla coincide, se detiene la búsqueda.
  • Formato de las reglas es: decisión objeto sujeto : filtro de objeto

Configuración en Debian versus RedHat


Configurar fapolicyd en Debian es un proceso similar al de RHEL, pero con matices técnicos importantes, ya que Debian usa dpkg en lugar de rpm.

El demonio tiene que estar configurado para confiar en la base de datos de paquetes de Debian para no bloquear el sistema operativo base.

Vemos a nivel técnico que hay que ajustar para que fapolicyd funcione en servidores Debian.

1. Instalación y Preparación en Debian

A partir de la versión 11 de Debian el paquete apareció ya disponible en los repositorios oficiales.

sudo apt update
sudo apt -y install fapolicyd

Configuración del origen de confianza (Trust Source)

Hay que asegurarse de que fapolicyd reconozca los paquetes instalados vía apt.

Editaremos el archivo /etc/fapolicyd/fapolicyd.conf, buscaremos la línea de trust y nos aseguramos que incluya debian:

...
trust = debian, file
...

Que indicamos con esto:

  • debian: Lee la base de datos de /var/lib/dpkg/status
  • file: Permite añadir archivos manuales a /etc/fapolicyd/fapolicyd.trust

2. Configuración de las Reglas (.rules)

En Debian, las reglas se gestionan en /etc/fapolicyd/rules.d/.

El orden de los archivos (01-..., 10-..., 95-...) determina la prioridad.

Ejemplo: Bloquear la ejecución en las rutas /home y /tmp

Esta es una de las configuraciones más comunes para endurecer (hardening) un servidor.

Creamos el fichero /etc/fapolicyd/rules.d/20-block-user-paths.rules:

# Bloquear ejecución en las carpetas de los usuarios
deny_audit perm=execute all : dir=/home/
deny_audit perm=execute all : dir=/tmp/
deny_audit perm=execute all : dir=/var/tmp/

Ejemplo: Permitir ejecutar un script específico de Python

Si tenemos un script en /opt/scripts/backup.py, fapolicyd podría bloquear el intérprete de Python al intentar leerlo.

Para permitirlo creamos una regla en /etc/fapolicyd/rules.d/30-python-scripts.rules:

# Permitir que python3 ejecute solo este script (hardening por Hash)
allow perm=any all : path=/usr/bin/python3.13 trust=1
allow perm=open all : path=/opt/scripts/backup.py ftype=text/x-python sha256hash=e3b0c442...

3. Gestionar la Lista de Confianza (Método Manual)

Si descargamos un binario (por ejemplo, terraform o kubectl) que no viene de un .deb, tendremos que marcarlo como "de confianza" de forma manual.

Paso 1: Agregar el archivo

# Registrar manualmente un binario específico
sudo fapolicyd-cli --file add /usr/local/bin/mi-binario --trust-domain local-admin

Paso 2: Actualizar y Reiniciar

A diferencia de otras distros, en Debian es una buena práctica forzar la regeneración de la base de datos de fapolicyd:

sudo fapolicyd-cli --update
sudo systemctl restart fapolicyd

4. Comandos para Diagnóstico y Auditorías

Si algo no funciona en tu servidor Debian después de activar fapolicyd, puedes revisar lo que sucede con los siguientes comandos:

Averiguar qué regla bloqueó un proceso

# Localizar eventos en tiempo real (usando modo Debug)
sudo fapolicyd --debug --nodetach 2>&1 | grep "rule="

Revisar el log de Auditoría (Essential)

Recuerda que Debian usa auditd.

Si no lo tienes hay que instálalo mediante: sudo apt -y install auditd

Despues ya podemos localizar las denegaciones que se pueden estar realizando (denegaciones de fanotify):

sudo ausearch -m FANOTIFY -ts today

Comprobar la integridad de la base de datos

# Comprobar si hay algun tipo de discrepancia entre los ficheros y al base de datos de fapolicyd
sudo fapolicyd-cli --check-config
sudo fapolicyd-cli --check-db

5. Tabla Resumen de un Flujo de Decisiones de fapolicyd

Un ejemplo en formato tabla de lo que sucede con las acciones de un usuario, cuando usamos fapolicyd:

Acción del Usuario Estado en DPKG Regla Local Resultado
apt install vim N/A Permitido (Vía trust=debian)
./malware.sh No No Bloqueado (Default deny)
python3 script.py Intérprete Sí Script No Bloqueado (Si ftype está activo)
/opt/app/bin No allow...path=/opt/app Permitido (Regla personalizada)

Explicación detallada sobre el formato de las reglas

El formato de las reglas en fapolicyd es una expresión lineal que define quién, cómo y sobre qué se aplica una política.

Estas reglas se almacenan en archivos .rules dentro de /etc/fapolicyd/rules.d/ y se compilan en un único conjunto de reglas siguiendo el orden numérico de los nombres de los archivos.

La estructura general de una regla es: decisión permiso sujeto : objeto

Explicación de cada parte de la regla

A. Decisión (decision)

Define qué hacer cuando se encuentra una coincidencia:

  • allow: Permite el acceso y detiene la evaluación de más reglas.
  • deny: Deniega el acceso y detiene la evaluación. El usuario recibe "Permission Denied".
  • allow_audit: Permite el acceso y genera un evento en el log de auditoría (auditd).
  • deny_audit: Deniega el acceso y genera un evento en el log de auditoría (Recomendado para debugging).
  • allow_syslog: Permite y escribe en syslog.
  • deny_syslog: Deniega y escribe en syslog.

B. Permiso (perm)

Define la operación que se intenta realizar:

  • open: Abrir un archivo (común para scripts o librerías).
  • execute: Ejecutar un archivo binario.
  • any: Cualquier operación (open o execute).

C. Sujeto (subject)

Define quién realiza la acción. Se puede filtrar por:

  • all: Cualquier proceso en el sistema.
  • auid: ID de usuario de auditoría (el usuario original que inició sesión).
  • uid: ID de usuario efectivo.
  • gid: ID de grupo.
  • sessionid: ID de la sesión de login.
  • comm: Nombre del comando/ejecutable del proceso.

D. Objeto (object)

Define sobre qué se actúa.

Se separa del sujeto por dos puntos (:).

  • all: Cualquier archivo.
  • path: Ruta absoluta al archivo (ej. /usr/bin/ls).
  • dir: Directorio completo (ej. /tmp/).
  • device: Identificador de dispositivo (major/minor).
  • ftype: Tipo MIME del archivo (ej. application/x-sharedlib).
  • trust: Nivel de confianza. 1 significa que está en la base de datos de confianza (DPKG en Debian), 0 que no.
  • sha256hash: El hash específico del archivo para validación de integridad.

01 Apr 10:04

El poder de decir «No»

by victorhck

Vivimos en un mundo que nos presiona constantemente para decir «sí». Sí a los Términos del servicio que no leímos. Sí a la aplicación que todo el mundo utiliza. Sí a la cómoda y brillante jaula que ofrece el software privativo.

Imagen de una radiografía de una cabeza en la que se ven dos cámaras de seguridad dentro y un texto que dice: Think while it's still legal

Nos dicen que el compromiso es una virtud. Escucho argumentos como: «Solo uso este programa privativo para el trabajo» o «Lo necesito para hablar con mis amigos.» Se siente pragmático.

Pero en la lucha por la libertad del usuario, «No» es la palabra más poderosa de nuestro vocabulario.

Negarse a usar software privativo no es simplemente una elección personal de estilo de vida o una preferencia técnica.

Es una forma de resistencia no violenta. Es una acción directa que fortalece el movimiento del software libre de maneras que ningún acuerdo podría lograr.

Cada vez que decimos «sí» a software no libre, no solo estamos instalando un programa; Estamos validando un sistema de subyugación. Cada vez que dices «sí» a un programa privativo, estás enviando una señal al desarrollador: «Tu modelo funciona. Estoy dispuesto a cambiar mi libertad por esto.» Estás validando su poder para controlarte.

El software privativo depende de nuestro cumplimiento. Necesita que aceptemos que no somos dueños de nuestros ordenadores, que no tenemos derecho a ver el código, y que debemos renunciar a compartir y al espíritu de comunidad y cooperación como precio de entrada a la vida moderna.

Cuando te niegas a instalar un programa que falta el respeto a tu libertad —incluso cuando es incómodo, y especialmente cuando lo es— estás declarando que tus derechos no están a la venta. Estás demostrando que el software privativo no es la única manera de hacer las cosas.

La razón más práctica para rechazar el software privativo es que la necesidad es la madre de la invención. Cuando te niegas a usar software privativo, estás creando espacio para que los programas libres respiren y crezcan. Te obligas a ti mismo, y a tu comunidad, a buscar —o construir— software libre que respete tus derechos.

El movimiento del software libre crece más fuerte donde trazamos líneas firmes. Consideremos los primeros días del Proyecto GNU. Richard Stallman empezó diciendo «no» a la cultura de acuerdos de confidencialidad y propiedad que asfixiaba el laboratorio donde trabajaba. Ese «no» fue la base sobre la que se construyó todo el movimiento del software libre. Sin esa negativa inicial a capitular, el software libre del que dependemos hoy podría no existir.

Rechazar el software privativo también es un acto de solidaridad. Cuando usas un programa privativo para comunicarte o colaborar, a menudo obligas a otros a hacer lo mismo. Te conviertes en un nodo en su red de control, arrastrando a tus amigos, familia y colegas a la misma trampa a través del efecto de red.

Quizá tus amigos, familia y compañeros ya estén allí. En ese caso, su uso es aplicar el efecto de red a ti: la idea de que debes unirte porque todos los demás están ahí. Es una situación de rehenes donde tus amigos y familia son la palanca.

Al decir «no», vas desgastando ese muro. No es fácil, sí. Puede que te pierdas algunas conversaciones. Puede que tengas que esforzarte más para colaborar. Pero también te conviertes en un faro. Muestras a otros que es posible existir fuera del jardín amurallado.

Al decir «no», rompes esa cadena. Puede que seas la persona «difícil» que insiste en utilizar Jitsi Meet en vez de Zoom. Esa fricción es buena. Esa fricción es necesaria. Obliga a la conversación. Hace que las cadenas invisibles del software privativo sean visibles.

Recuerda a la gente que tiene una elección, aunque esa elección requiera esfuerzo. Cuando dices, «No, no puedo usar eso porque requiere que ejecute software no libre. Aquí tienes un enlace a un programa libre que podemos usar en su lugar: «Estás haciendo el trabajo duro de la educación y la defensa. Estás plantando una semilla.

El software privativo está diseñado para hacernos sentir impotentes, como si no pudiéramos funcionar sin él. Decir «no» recupera tu dignidad. Es una declaración de que tu libertad no está en venta y que tus derechos no son negociables.

Finalmente, el poder del «no» reside en la integridad. Un movimiento basado en «mayormente libre» es un movimiento construido sobre arena. Si aceptamos pequeñas injusticias por conveniencia, perdemos la autoridad moral para exigir libertad total.

Rechazar el software privativo fortalece nuestra determinación colectiva. Nos recuerda que no estamos suplicando mejores características; Somos ciudadanos de una sociedad digital que exige nuestros derechos.

No es un camino fácil. Requiere sacrificio. Podrías perderte ciertos juegos, servicios de streaming específicos o la «comodidad» de un sistema diseñado para atraparte.

Pero como puedes leer en el artículo Fueling the Marathon, estamos en una lucha generacional contra el poder arraigado. Cada vez que dices «no» a un software que niega tu libertad, estás votando por un futuro en el que el software sirva al usuario.Estás fortaleciendo el movimiento al demostrar que es posible vivir, trabajar y prosperar sin someterse a los mandamases digitales.

Así que, la próxima vez que te presenten una app nueva y brillante que te obligue a renunciar a tus derechos, recuerda el poder que tienes.

Di «No.»

Es el primer paso hacia un mundo donde todos podamos decir «Sí» a la libertad.


De nuevo traigo hasta el blog, una traducción de un artículo en inglés que me gustó escrito por Jason Self aka jxself y publicado en su blog bajo una licencia GNU GPL que puedes leer en este enlace:

El texto lo he tenido traducido en borradores desde hace semanas sin dedicirme a publicarlo. Hasta que hoy he leido en un artículo una frase de un desarrollador que me hizo volver al borrador, pulirlo y publicarlo.

La frase en cuestión es esta: «Silence is consent; Resistance is not futile» algo así como: «El silencio es consentimiento; La resistencia no es inútil» que podéis leer en este artículo respecto a los planes de Google a cerrar aún más Android y de obligar a los desarrolladores a ciertos acuerdos abusivos. Tenéis más información al respecto en este enlace:

Me he visto muchas veces en ese paso de tener que decidir, y aunque tratamos de ser coherentes y consecuentes no siempre lo logramos, pero debe ser una meta a la que llegar y un trabajo de colmena que ir conquistando poco a poco.

Es incómodo enfrentarse a nuestras propias incongruencias y acallaremos la voz interna que nos dice que está mal con excusas para evitar el conflicto. Pero sin necesidad de caer en la paranoia constante, sí está bien plantearse ciertas cosas e ir investigando alternativas para ofrecer cuando el momento «eureka» nos llegue y nos plantemos en algo ese cambio ahora ya sí madurado e irrevocable.

Puede ser el uso cada vez más «truñificado» de hardware que creemos indispensable: televisión, teléfono, etc. Puede ser el uso de software que creemos esencial: comunicación, diseño, sistema, trabajo… Cada ámbito y persona será único.

Dejo este eco de las palabras y ese poso de las ideas de este artículo de Jason Self para que vaya aposentándose en tu cabeza. No te diré qué tienes que hacer, como persona pensante y crítica que eres, descubre por tí misma qué es lo que debes hacer y actúa en consecuencia, basándote en la lógica y la ética de respeto a ti misma y a otras personas.

Si has llegado hasta aquí, después de tantas palabras y conceptos muchas gracias, sigues haciendo que escribir sea una tarea gratificante que moldea cerebros y auna afinidades.

Miniglosario de términos

Software privativo: ¿A qué se refiere el artículo cuando se refiere a ese término?

Software privativo, también llamado «software que no es libre», se refiere al software que no respeta la libertad de los usuarios ni a su comunidad. Un programa privativo coloca a su desarrollador o propietario en una posición de poder sobre sus usuarios. Tal poder es en sí mismo una injusticia.

Vs.

Software libre: El antónimo del concepto anterior sería el concepto de software libre:

«Software libre» es el software que respeta la libertad de los usuarios y la comunidad. A grandes rasgos, significa que los usuarios tienen la libertad de ejecutar, copiar, distribuir, estudiar, modificar y mejorar el software. Es decir, el «software libre» es una cuestión de libertad, no de precio. Para entender el concepto, piense en «libre» como en «libertad de expresión»

Mano sujetando un martillo golpeando sobre un hierro al rojo vivo sobre un yunque