Empieza aquí. Un servidor recibía 158,000 intentos de acceso al día y nadie lo sabía. Lo que lo detuvo no fue un producto; lo que casi lo abre fue un reflejo. Esta parte es sobre las puertas: cuáles estaban abiertas, por qué no se cierran de golpe, y quién controla la llave. Cuando termines, la siguiente parte baja un piso: lo que hay debajo de esas puertas.
Lo que detuvo 158,000 ataques diarios no aparece en ninguna cotización
Un servidor recibía 39,410 intentos de acceso fallidos cada seis horas. No los detuvo el antivirus ni el firewall. Los detuvo que alguien, meses antes, le hubiera cambiado el nombre a una cuenta.
Paso 2Teníamos un puerto abierto recibiendo 158,000 ataques al día. Decidimos no cerrarlo todavía
Todo el mundo sabe que ese puerto debía cerrarse. Cerrarlo ese día habría dejado sin trabajar a cinco personas, y a la semana estaría abierto otra vez — abierto por alguien con prisa y sin registro. El orden importa más que la urgencia.
Paso 3La cuenta que Google apagó
Google deshabilitó sin aviso dos cuentas relacionadas entre sí. Una era la dueña única de la red privada de una empresa. La red no se cayó: se quedó sin quien la administrara, y no había forma de recuperarla.
Paso 4Le dimos permisos de administrador. Siguió sin poder entrar.
Migrar a una persona a la red privada debía tomar diez minutos y tomó una hora. En el camino cometimos el error de seguridad más común que existe, y descubrimos que el sistema nos estaba mintiendo — con toda la razón.
Paso 5La llave que llevaba tres meses en un archivo
Un escáner encontró 19 llaves nuestras repartidas en 105 copias, 90 de ellas fuera de un .env. Una daba acceso total a los datos de dos clientes y llevaba nueve commits en el historial de Git.
Paso 6Un secreto que nadie puede leer solo se puede reemplazar
Había que instalar una credencial en un tercer lugar. Estaba guardada en dos sistemas: en uno solo se puede sobrescribir, en el otro se ve como puntos. Ni el dueño podía recuperarla. Y eso está bien hecho — pero tiene una consecuencia que casi nadie considera al diseñarlo.
Paso 7Mover a una persona sin mover a nadie
Migramos el acceso remoto de una empresa una persona a la vez, con AnyDesk como salida de emergencia probada antes de tocar nada. Un año después esa salida fue lo único que evitó perder el servidor.
Lo que se cae en silencio. Un servicio que dice "automático" y está detenido dos días. Un chequeo de salud que contesta 200 mientras todo está muerto. Un agente de monitoreo que llegó mintiendo. Aquí está el método para ver un servidor por dentro sin creerle a lo que dice de sí mismo. La parte que sigue es sobre el dato que ese servidor guarda — y por qué tampoco se le cree a la primera.
El vigilante que nunca vigiló
Un sistema capturó 1,751 mensajes y emitió cero alertas, respondiendo 200 OK todo el tiempo. Eran tres fallas simultáneas, y una era que el proveedor había retirado el modelo de IA.
Paso 9Preguntarle a un servicio si está bien no sirve de nada
Un servicio decía "Automático" y llevaba dos días "Detenido". Un chequeo de salud contestaba en 0.3 segundos mientras toda consulta real moría a los 45. Lo que se ve desde afuera es la puerta, no la casa.
Paso 10El agente de monitoreo encontró cinco errores en sí mismo la primera vez que corrió
Escribimos una sonda para vigilar un servidor por dentro. La corrimos una vez antes de conectarla, y el primer parte traía cinco mentiras — y el peor no era el que fallaba, era el que iba a gritar todas las noches.
Paso 11Nos preguntamos si meter un modelo de IA dentro del servidor del cliente. La respuesta fue no.
La pregunta era razonable: si el modelo vive adentro, interpreta lo que pasa sin que nadie programe un detector para cada cosa. Contamos las fallas de ese día. Fueron siete, y ninguna necesitaba interpretación.
Paso 12Las licencias que nadie estaba usando
Microsip decía que las licencias estaban ocupadas y nadie tenía el módulo abierto. Eran doce sesiones muertas y un gestor de licencias que las retenía 12 horas más. Se arregló con dos límites que no venían de fábrica.
Paso 13El servidor que nadie se atrevía a reiniciar
Catorce usuarios, el ERP completo, todo corriendo sin parar — y todo colgado de sesiones de usuario abiertas. El verdadero despliegue termina cuando el sistema sobrevive a que alguien apague la máquina.
Paso 14Cambiar la cerradura sin quedarte afuera
Migrar la red de acceso de un cliente cuando la única vía para hacerlo es, exactamente, la que vas a reemplazar. La salida de emergencia se prueba, no se supone.
Paso 15Tu VPN corporativa está mal configurada de fábrica (y funciona igual)
Publicamos la ruta al servidor, el panel decía Healthy, y el escritorio remoto seguía sin conectar. La causa venía de fábrica: el cliente ignora por omisión todas las redes privadas. Y arreglarlo bien significaba usar menos VPN, no más.
Paso 16El modelo que la memoria juraba que existía
Groq retiró todos los modelos Llama sin aviso. Nuestras notas internas decían que uno servía. Una prueba de treinta segundos evitó desplegar el mismo fallo silencioso que veníamos a arreglar.
Paso 17Perseguí la caché tres veces; era una línea
Una función desplegada no aparecía en pantalla. Tres intentos de purgar caché no habrían encontrado nunca la causa: una lista en el código que decidía qué se pinta.
Paso 18Nuestra sonda llevaba semanas diciendo «no se pudo medir». Tenía razón, y por eso nadie lo arregló.
Escribimos como principio que un hueco declarado es información y un hueco disimulado es un tablero que miente. Lo sostenemos. Pero descubrimos la mitad que nos faltaba: un hueco declarado sin dueño y sin fecha se queda abierto para siempre — y el nuestro estaba justo debajo de la medida que un día iba a importar.
Paso 19El dueño no podía entrar a su propio sistema. La explicación obvia culpaba a un empleado, y era falsa.
Cuatro de ocho módulos estaban llenos. Encontramos a una estación con el mismo módulo abierto dos veces y creímos tener al culpable — con nombre, hora y dos segundos de diferencia entre una cosa y otra. Estuvimos a un paso de programar una alarma que iba a acusar a esa persona todos los días.
Paso 20Las cuentas se llamaban planta4 y contabilidad2. Nadie podía saber quién había ocupado la licencia.
Íbamos a levantar un censo: preguntarle a cada quien qué cuenta usa y anotarlo en una tabla. Habría envejecido en una semana. El sistema ya guardaba la respuesta en un campo que nadie mira — y no admite interpretación.
Paso 21Cincuenta mil ataques diarios, medidos cada quince minutos durante semanas. Nadie los leyó.
El dato estaba. La herramienta funcionaba. El número viajaba en cada reporte, puntual, correcto y completo. Y no cambió nada durante meses — hasta que entendimos por qué una cifra así no mueve a nadie, y qué hay que ponerle al lado para que mueva.
El sistema dice una cosa, la realidad dice otra, y las dos parecen tener razón. Esta parte abre con nuestra propia cifra equivocada, a propósito: el método sirve igual para el número ajeno que para el nuestro. Márgenes que cambian según quién los calcule, cruces que inventan lo que no existe, datos que ya estaban y nadie leía. Al final queda lo que todo esto sostiene: la decisión de negocio.
El número que enseñábamos estaba mal por los dos lados
Un tablero nuestro decía $124.9 millones en hallazgos abiertos. Los tres clientes juntos no facturan eso al año. Al abrirlo, la cifra estaba inflada y subcontada al mismo tiempo — y nosotros vivimos de decirle a los clientes que sus números no significan lo que creen.
Paso 23Un error escrito con cara de dato
Un clasificador llevaba 35 días muerto. Cada ejecución terminaba en «éxito» y guardaba, en el campo del análisis, el mensaje de su propia falla.
Paso 24El reporte que se audita a sí mismo
Un formato de producción en papel, foliado y firmado, se volvió el mejor detector de fugas de la planta: entregado menos devuelto contra lo empacado.
Paso 25El JOIN que inventó un proveedor
Un hallazgo impecable en su forma —nombres reales, montos reales, porcentajes que sumaban cien— y completamente falso. El error que sobrevive no es el absurdo: es el verosímil.
Paso 26Las mil imágenes que no se podían leer
Mil fotos guardadas en el sistema y ninguna abría: se había guardado el archivo cifrado de WhatsApp, no la imagen. Se recuperaron 662 con la llave que venía en el mismo mensaje.
Paso 27El dato que ya tenías
Tres personas se turnaban un Excel para teclear a mano lo que el estado de cuenta ya traía escrito. Medido sobre siete meses: el 90% de los caracteres que capturan ya venía en el PDF.
Paso 28El reproceso que borró el criterio
Un proceso volvió a leer su fuente y, al escribir, borró 202 decisiones que una persona ya había tomado. La causa: no separar la evidencia, la propuesta de la máquina y el juicio humano.
Paso 29El libro que anota una mitad
El sistema registró 790 facturas y 24 cobros en el mismo año. El dinero entraba; el libro solo apuntaba un lado del asiento.
La decisión que se toma con la mitad de la foto. Una empresa con 54% más clientes y 46% menos venta. Una cartera que ya se cobró en efectivo y sigue apareciendo como cobrable. Un pronóstico que solo documenta a quién no pagarle. Es la última parte porque es la que necesita todas las anteriores: sin la puerta cerrada, el servidor medido y el dato verificado, aquí solo hay opiniones.
El problema no era conseguir clientes
Una empresa sumó 54% más clientes y vendió 46% menos. Contratar vendedores habría empeorado el problema: en el ERP solo vendía el dueño, y el producto que deja casi cinco veces más margen era el que menos se empujaba.
Paso 31La cartera que ya se cobró
Un tercio del dinero que una empresa perseguía ya estaba en su caja. No lo delató una casilla del sistema: lo delató el orden de las fechas.
Paso 32La merma imposible
Microsip reportaba merma cero en todos los registros y varianzas de +363%. El mecanismo: preformas de más que nunca se declararon y que tapaban el scrap real.
Paso 33El pronóstico que solo documentaba a quién no pagarle
Una hoja de "flujo de efectivo" que, mirada de cerca, no registraba un solo cobro. Era un triage de acreedores con nombre de pronóstico.
Paso 34El turno existía por el tecleo
Tres personas se turnaban un archivo porque solo una podía tenerlo a la vez. Parecía un problema de coordinación. El historial de versiones mostró que era un problema de captura.