<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Tokens on Servicios Rogeliowar</title><link>https://blog.serviciosrogeliowar.com/tags/tokens/</link><description>Recent content in Tokens on Servicios Rogeliowar</description><generator>Hugo -- gohugo.io</generator><language>es</language><copyright>© 2026 Rogelio Guerra Riverón</copyright><lastBuildDate>Fri, 11 Sep 2026 00:00:00 +0000</lastBuildDate><atom:link href="https://blog.serviciosrogeliowar.com/tags/tokens/index.xml" rel="self" type="application/rss+xml"/><item><title>Recuperación de contraseñas olvidadas en FreeRADIUS con reset seguro por email y validación de tokens de un solo uso</title><link>https://blog.serviciosrogeliowar.com/posts/recuperacion-de-contrasenas-olvidadas-en-freeradius-con-reset-seguro-por-email-y-validacion-de-tokens-de-un-solo-uso/</link><pubDate>Fri, 11 Sep 2026 00:00:00 +0000</pubDate><guid>https://blog.serviciosrogeliowar.com/posts/recuperacion-de-contrasenas-olvidadas-en-freeradius-con-reset-seguro-por-email-y-validacion-de-tokens-de-un-solo-uso/</guid><description>&lt;h2 class="relative group"&gt;El problema&#10; &lt;div id="el-problema" class="anchor"&gt;&lt;/div&gt;&#10; &#10; &lt;span&#10; class="absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none"&gt;&#10; &lt;a class="text-primary-300 dark:text-neutral-700 !no-underline" href="#el-problema" aria-label="Ancla"&gt;#&lt;/a&gt;&#10; &lt;/span&gt;&#10; &#10;&lt;/h2&gt;&#10;&lt;p&gt;Hace poco me encontré con una situación incómoda en mi servidor doméstico. Un usuario olvidó su contraseña de FreeRADIUS y no había forma segura de recuperarla. Resetear manualmente en la base de datos no es opción, y permitir que cualquiera cambie contraseñas sin validación es un desastre de seguridad.&lt;/p&gt;&#10;&lt;p&gt;Necesitaba un sistema que fuera:&lt;/p&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;Seguro (tokens únicos, con expiración)&lt;/li&gt;&#10;&lt;li&gt;Automatizado (sin intervención manual)&lt;/li&gt;&#10;&lt;li&gt;Auditado (registros de intentos)&lt;/li&gt;&#10;&lt;li&gt;Simple de mantener&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&#10;&lt;h2 class="relative group"&gt;La arquitectura que implementé&#10; &lt;div id="la-arquitectura-que-implementé" class="anchor"&gt;&lt;/div&gt;&#10; &#10; &lt;span&#10; class="absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none"&gt;&#10; &lt;a class="text-primary-300 dark:text-neutral-700 !no-underline" href="#la-arquitectura-que-implement%c3%a9" aria-label="Ancla"&gt;#&lt;/a&gt;&#10; &lt;/span&gt;&#10; &#10;&lt;/h2&gt;&#10;&lt;p&gt;Usé una combinación de FreeRADIUS, una base de datos MySQL, Python para generar tokens, y Postfix para enviar emails. Nada exótico, todo probado.&lt;/p&gt;</description></item></channel></rss>