Por qué un load average de 8 puede ser saludable y uno de 2 una emergencia, en qué se diferencia una CPU ocupada de un disco al que el sistema está esperando y qué significa un swap que sube una vez y nunca vuelve a bajar.
Las señales de que hay alguien ajeno en el servidor y el orden de comprobación: accesos, archivos modificados, conexiones salientes. Sin pánico y sin reinstalar desde cero.
Ocho lugares desde los que el código malicioso vuelve a lanzarse tras un reinicio y tras el borrado, y los comandos que revisan toda la lista en cinco minutos.
Falco sabe vigilar el comportamiento de los procesos en un servidor sencillo: un intérprete lanzado desde PHP, alguien leyendo sus claves, un minero en /tmp. Qué desactivar para no ahogarse en ruido.
Por qué la configuración estándar de Suricata devora el disco en dos días, qué dejar en eve.json y cómo leer las alertas sin una pila de tres servicios.
Por qué el CRS bloquea sus propios formularios, cómo encontrar la regla culpable en el registro y tres formas de crear una excepción sin desactivar la protección.
Un escaneo de puertos no deja rastro en los registros de las aplicaciones, así que Fail2ban no lo ve. Cómo configurar PSAD y por qué no muestra nada sin la registración activada en UFW.
Los perfiles limitan un programa a lo que le corresponde y convierten un sitio comprometido en una molestia menor. Qué está activo por omisión y cómo añadir un perfil sin romper el servicio.
De fábrica, auditd casi no registra nada útil. Un conjunto de reglas que responde a las preguntas de después de un incidente, y cómo leer el resultado sin saberse ausearch de memoria.
Una referencia de integridad ya viene dentro de cada paquete de Debian y Ubuntu. Cómo usarla, por qué algunos hallazgos son legítimos y por qué la cobertura es incompleta.
El orden de revisión de la base cuando todo se vuelve lento: conexiones, consultas lentas, tamaño del búfer. Más dos cosas que devoran el disco en silencio.
Para qué ClamAV en un servidor sin Windows, por qué no protege de una intrusión, cuánta memoria pide clamd y cómo analizar las subidas en lugar de todo el disco.
Cinco motivos por los que certbot deja de renovar un certificado en silencio, y por qué hay que comprobar lo que el servidor entrega de verdad y no el archivo del disco.
Por qué df muestra gigabytes libres junto a un error de «no queda espacio», adónde van los archivos borrados pero no liberados y qué atributos SMART anuncian de verdad un fallo.
Cómo leer la salida de ss, qué distingue 0.0.0.0 de 127.0.0.1 y por qué Redis sin contraseña en una dirección pública significa una intrusión en una hora.
En qué se diferencian las comprobaciones de Monit de Restart=always en systemd, cómo evitar un bucle interminable de reinicios y por qué la interfaz web del puerto 2812 no debe estar expuesta.
Cómo configurar unattended-upgrades para que los parches lleguen solos sin romper nada de noche, y por qué el indicador reboot-required no se puede ignorar.
Qué activar además de sshd, qué valores de bantime y maxretry tienen sentido y por qué en Debian 12 la cárcel sshd a menudo no captura nada en absoluto.
El orden de las reglas, IPv6 esquivando el filtro, Docker publicando puertos por encima de UFW y por qué «status active» todavía no significa que un puerto esté cerrado.
Claves en lugar de contraseñas en diez minutos: cómo comprobarse antes de cortar, por qué un archivo llamado 90-hardening.conf pierde frente al de la nube y qué hacer con ssh.socket en Ubuntu 24.04.
Cómo ajustar el nivel de detalle para que el correo quepa en una pantalla, qué secciones leer primero y por qué en Debian 12 la sección de SSH sale vacía.