Skip to content
Un SSID y un puerto de switch que alimentan un servidor RADIUS, que lee el rol del certificado step-ca de cada dispositivo y manda el portátil a la VLAN 10, la cámara a la VLAN 20 y la tele a la VLAN 30

Un SSID, cada dispositivo en su propia VLAN: 802.1X con certificados de step-ca

802.1X con certificados (EAP-TLS) para puertos cableados de switch y un único SSID WPA2/WPA3-Enterprise, donde el servidor RADIUS decide en qué VLAN cae cada dispositivo. step-ca 0.30.2 graba un rol en cada certificado de dispositivo y rechaza uno sin él; FreeRADIUS 3.2.10 traduce ese rol a una VLAN, deja que una lista por dispositivo lo anule, y funciona solo con TLS 1.3. Por qué el problema es una contraseña de WiFi compartida, por qué certificados y por qué TLS 1.3, la trampa de la revocación en la que FreeRADIUS ignora una CRL nueva con un HUP, en qué confía un dispositivo que no comprueba el nombre del servidor, cómo proteger el propio tráfico RADIUS con Message-Authenticator y RadSec sobre TLS 1.3, radsecproxy para el equipo que solo habla UDP, un puerto cableado y una red WiFi simulados de punta a punta, los ajustes de Netgear y TP-Link, los de los clientes Linux, Apple y Android, cada archivo de configuración completo y como descarga, y por qué tantos administradores y MSP siguen sin molestarse y Cyber Essentials no se lo pide.

13 de octubre de 2026 · 53 min · 12372 palabras · Damien Dye
La CA SSH de step-ca firma una clave de host y una clave de usuario; el cliente confía en la CA de host y el servidor confía en la CA de usuario, así que ninguno guarda una lista de claves

Inicios de sesión SSH firmados por step-ca: se acabó authorized_keys

step-ca 0.30.2 como autoridad de certificación SSH, probado con OpenSSH 10.0. Por qué los certificados ganan a authorized_keys y a confiar en el primer uso, activar la CA SSH cuando se configura step-ca por primera vez, firmar una clave de host (y el orden de argumentos que la hace tropezar), las dos líneas de sshd_config y la única línea @cert-authority de known_hosts, un certificado de usuario de 16 horas, cuatro pruebas de inicio de sesión incluidos un usuario equivocado y un host no fiable, renovar un certificado de host con sshpop, y dónde se queda corto.

9 de octubre de 2026 · 8 min · 1665 palabras · Damien Dye
step-ca emitiendo certificados de cliente para móviles desde su intermedio, con una CRL que marca como revocado un móvil perdido

Certificados de cliente de step-ca, y los valores por defecto que dejan a todos fuera

step-ca 0.30.2 para emitir certificados de cliente para TLS mutuo, probado de punta a punta con nginx 1.30.5 y Caddy 2.11.7. Por qué los móviles son el caso difícil, subir el límite de 24 horas de los certificados en ca.json, activar la CRL, por qué falla con «different CRL scope» hasta que idpURL y una plantilla añaden un punto de distribución que coincida, la CRL de la raíz que nginx necesita para toda la cadena, publicar las CRL por HTTP normal en IPv4 e IPv6, la tarea de refresco que evita que una CRL caducada deje a todos fuera, y emitir, empaquetar, instalar y revocar el certificado de un móvil.

9 de octubre de 2026 · 12 min · 2648 palabras · Damien Dye
Un móvil con un certificado de tu propia CA pasa nginx o Caddy en casa y llega a Home Assistant, mientras que un escáner sin certificado se rechaza en el saludo

La app de Home Assistant cerrada con un certificado, con nginx o Caddy y sin Cloudflare

Cerrar la app de Home Assistant con un certificado de cliente usando nginx o Caddy en casa, con step-ca como autoridad de certificación en vez de Cloudflare. Qué cambia cuando Cloudflare sale del camino, una configuración de nginx y una de Caddy, cada una probada sin certificado, con uno bueno, con uno revocado y con un upgrade a WebSocket por IPv4 e IPv6, por qué nginx puede comprobar una CRL y Caddy solo puede mantener una lista de permitidos, los ajustes de proxy de confianza de Home Assistant, qué hay que instalar en el móvil, y dónde se queda corto.

9 de octubre de 2026 · 11 min · 2304 palabras · Damien Dye
step-ca en un contenedor emitiendo certificados desde su intermedio, con una CRL que marca como revocado un móvil perdido

Tu propia autoridad de certificación: step-ca en un contenedor

step-ca 0.30.2 de Smallstep en un contenedor Podman o Docker como autoridad de certificación para todo lo de dentro de casa, todo probado. Por qué una CA privada gana a los certificados autofirmados y a los públicos para nombres internos, arrancarla con ACME y SSH activados, las dos contraseñas que genera la imagen y adónde va cada una, confiar en la raíz en cada dispositivo, HTTPS interno para Caddy o cualquier otra cosa que hable ACME, y step ca renew para los servicios que no. Los certificados de cliente y SSH tienen cada uno su propia entrada.

9 de octubre de 2026 · 8 min · 1852 palabras · Damien Dye
Un móvil con un certificado de cliente pasa la comprobación del borde de Cloudflare y llega a Home Assistant por un túnel, mientras que un escáner sin certificado se bloquea en el borde

La app de Home Assistant a través de Cloudflare, cerrada con un certificado, en el plan gratuito

Llegar a Home Assistant desde la app de Android fuera de casa sin poner una página de inicio de sesión en internet. Cómo se comparan las opciones de acceso remoto en exposición, coste real (carga de la máquina y DDoS además de la factura), riesgo de bloqueo y batería, por qué Cloudflare Access y los service tokens no encajan con la app, cómo los certificados de cliente del plan gratuito y una regla personalizada del WAF cierran un nombre de host del túnel a los móviles que tienen certificado, qué ajustes de Home Assistant necesita el proxy inverso (proxies de confianza, bloqueo de IP, URL externa, nivel de seguridad de conexión), construir el archivo PKCS12, y dónde se queda corto. La versión con nginx o Caddy en casa es otra entrada.

9 de octubre de 2026 · 16 min · 4013 palabras · Damien Dye