Leer un registro de acceso tras un ataque El registro ya contiene la historia completa. Seis órdenes de una línea convierten un millón de filas en: quién, desde dónde y si entró. 5 min de lectura Las copias de seguridad son una medida de seguridad Una copia en el mismo servidor, con las mismas credenciales, no es una copia de seguridad. Es una segunda copia esperando el mismo suceso. 4 min de lectura CSRF: un formulario enviado desde otro sitio Tu visitante ha iniciado sesión, y otro sitio hace que su navegador envíe una petición al tuyo. Un token por formulario lo detiene. 4 min de lectura Cómo saber si un sitio está comprometido La mayoría de los sitios comprometidos le parecen perfectamente normales a su dueño. Las señales que merece la pena comprobar, y las cuatro órdenes que las encuentran. 5 min de lectura fail2ban: qué detiene y qué no Lee registros y bloquea direcciones que repiten un patrón. Útil, limitado y muy fácil de configurar de modo que bloquee tu propia oficina. 5 min de lectura Permisos correctos, no solo permisos que funcionan 777 hace desaparecer el error y abre el sitio a cualquiera que pueda escribir un archivo. Qué significan los números y qué necesita de verdad un sitio web. 5 min de lectura Limpiar un sitio comprometido El orden que deja limpio un sitio hackeado y lo mantiene limpio, y el paso que casi todo el mundo se salta. 8 min de lectura Endurecer SSH Seis líneas de configuración convierten el servicio más atacado de tu servidor en uno que no se puede adivinar en absoluto. 4 min de lectura Código malicioso en la base de datos, no en los archivos Reinstalaste el núcleo, sustituiste todos los complementos, y la redirección sigue ahí. Está en una fila, no en un archivo. 4 min de lectura La propiedad, umask y la trampa del grupo chmod 777 cura el síntoma y abre la puerta. La propiedad y el bit de grupo curan la causa, y mantienen correctos los archivos nuevos. 5 min de lectura Fuerza bruta contra el panel de control Miles de intentos de acceso al día son ruido de fondo normal. Solo se convierten en una brecha cuando una contraseña es débil y nadie está contando. 4 min de lectura Mantener PHP parcheado sin romper el sitio Quedarse en una versión de PHP sin soporte es un fallo de seguridad a cámara lenta. Las versiones de parche son seguras; las versiones mayores piden veinte minutos de preparación. 4 min de lectura Por qué una copia no es una copia de seguridad El ransomware busca primero las copias, y encuentra las que el servidor puede alcanzar. La regla 3-2-1 existe justo por eso. 4 min de lectura Limitar la tasa de una página de acceso Adivinar contraseñas son miles de intentos por hora. Un límite lo vuelve inútil, y cuesta un bloque en la configuración del servidor. 4 min de lectura La inyección SQL, en términos llanos El dato se leyó como parte de la pregunta. Una sola costumbre elimina toda esa familia, y no es el escapado. 5 min de lectura Claves SSH en vez de contraseñas Una clave acaba por completo con los intentos por fuerza bruta. Genérela, instálela, pruébela en una segunda ventana y solo entonces apague las contraseñas. 5 min de lectura El doble factor, y dónde guardar los códigos de recuperación Hace que una contraseña robada deje de bastar. Ponerlo cuesta dos minutos; la parte que la gente hace mal es qué pasa cuando se pierde el móvil. 4 min de lectura El directorio de subidas no debe ejecutar nunca Comprobar la extensión del archivo no basta. Si el servidor web va a ejecutar PHP desde su carpeta de subidas, una sola subida mala es un shell. 4 min de lectura Las cuatro cosas por las que piratean los sitios WordPress No son exploits oscuros. Cuatro descuidos corrientes explican casi todos los sitios comprometidos, y cada uno se cierra en minutos. 6 min de lectura El cross-site scripting, en palabras llanas El código de otro ejecutándose en su página, dentro de la sesión de su visitante. Una sola costumbre lo evita casi por completo. 5 min de lectura