Guías: seguridad de PHP y de servidores
Artículos técnicos para administradores y desarrolladores: reconocer webshells, reforzar php.ini, analizar registros, programar de forma segura.
Cronología de PHP2Shell: del 17 al 25 de octubre de 2026
Todas las fechas documentadas de PHP2Shell en una sola vista, desde el primer intento de ataque observado hasta la situación del 25/10/2026, y lo que de ello se deduce para su revisión.
Seguir leyendo →02Confirmación de actualización PHP del hosting: cómo preguntar por el estado del parche
Tras PHP2Shell, la versión de PHP que se muestra demuestra poco. Con esta plantilla pide a su proveedor de hosting una confirmación que usted pueda documentar.
Seguir leyendo →03Detectar y eliminar una webshell
Cómo localizar puertas traseras en servidores web con PHP sin destruir pruebas, y por qué borrar sin más rara vez es suficiente.
Seguir leyendo →04Encontrar una puerta trasera en WordPress: cómo localizar accesos ocultos
Dónde suelen esconderse las puertas traseras en WordPress y cómo los administradores pueden localizarlas de forma sistemática con WP-CLI y unos pocos comandos.
Seguir leyendo →05Configurar php.ini de forma segura
Qué ajustes de php.ini reducen la superficie de ataque, cómo protegerlos frente a sobrescrituras y qué se añade tras PHP2Shell.
Seguir leyendo →06Usar disable_functions de PHP correctamente
Con disable_functions bloquea funciones de PHP arriesgadas. Cómo definir la lista según su aplicación sin dejar el sitio web fuera de servicio.
Seguir leyendo →07open_basedir y aislamiento por sitio web
Cómo evitar con open_basedir, usuarios del sistema propios y pools de PHP-FPM separados que la intrusión en un sitio web alcance a todos los demás del servidor.
Seguir leyendo →08Permisos de archivos en el servidor web
Por qué el servidor web no debe poder modificar su propio código, qué permisos son razonables para archivos y carpetas y cómo comprobar rápidamente la situación actual.
Seguir leyendo →09composer audit: revisar vulnerabilidades en las dependencias
Cómo encuentran los desarrolladores con composer audit las vulnerabilidades conocidas en bibliotecas, cómo automatizar la revisión y cómo evitar errores típicos en el despliegue.
Seguir leyendo →10PHP End of Life: riesgos de las versiones obsoletas
Qué significa el fin del soporte de una versión de PHP, qué ramas siguen recibiendo parches oficiales tras PHP2Shell y cómo hacer planificable la migración.
Seguir leyendo →11Evitar la inyección SQL en PHP
Cómo excluyen de forma fiable los desarrolladores la inyección SQL en aplicaciones PHP con consultas preparadas, listas blancas y permisos mínimos en la base de datos.
Seguir leyendo →12Evitar XSS en PHP: defenderse con seguridad del cross-site scripting
Cómo evitan los desarrolladores el cross-site scripting en aplicaciones PHP: codificación adecuada al contexto, escapado automático en plantillas, depuración de HTML y una Content Security Policy.
Seguir leyendo →13Subida segura de archivos en PHP: seguridad de uploads
Los formularios de subida son una vía frecuente para las webshells. Cómo comprobar bien los tipos de archivo, guardar los archivos con seguridad e impedir que el servidor ejecute scripts subidos.
Seguir leyendo →14Proteger las sesiones en PHP: seguridad de sesiones PHP en la práctica
Las sesiones mantienen a los usuarios conectados y, por eso, son un objetivo atractivo. Cómo configurar con seguridad las cookies, los ID de sesión y los lugares de almacenamiento, y cómo aplicar el aviso de PHP2Shell sobre el progreso de subida.
Seguir leyendo →15Deserialización insegura en PHP: unserialize y seguridad
unserialize() con datos ajenos puede llevar, en el peor caso, a la ejecución de código. Cómo sustituirlo por JSON, restringirlo donde deba quedarse y encontrar puntos de riesgo en el código.
Seguir leyendo →16Evitar Local File Inclusion en PHP: LFI y RFI
Cuando include o require toman rutas de la petición, los atacantes pueden cargar archivos ajenos. Cómo construir con seguridad la selección de páginas y las plantillas y proteger además el servidor.
Seguir leyendo →17Proteger los inicios de sesión de administración contra la fuerza bruta: protección para cada login
Los intentos automatizados de contraseñas alcanzan cualquier página de inicio de sesión accesible. Cómo frenar a los atacantes con limitación de tasa y Fail2ban, proteger las cuentas con un segundo factor y guardar bien las contraseñas.
Seguir leyendo →18¿DDoS o ataque de hackers? Cómo clasificar bien los ataques
Sitio web lento, carga alta, archivos extraños: que detrás haya un DDoS o una intrusión decide la reacción correcta. Cómo clasificar la situación con unas pocas comprobaciones.
Seguir leyendo →19Analizar los registros del servidor web tras un ataque: cómo leer bien el access log
Tras un ataque, los archivos de registro son a menudo el rastro más importante. Cómo conservar bien los registros de acceso, de errores y de PHP, encontrar peticiones sospechosas y evitar errores típicos en el análisis.
Seguir leyendo →20Configurar la autenticación de dos factores para accesos de administración
Una contraseña robada no debe bastar para tomar el control de su servidor o tienda. Cómo elegir el método adecuado, proteger todos los accesos de administración y planificar accesos de emergencia.
Seguir leyendo →21Estrategia de copias de seguridad para servidores: la regla 3-2-1
Una copia de seguridad solo ayuda si sobrevive a un ataque y se puede restaurar. Cómo aplicar la regla 3-2-1 a los servidores web y planificar bien la retención y las pruebas.
Seguir leyendo →22Cabeceras de seguridad para sitios web: cómo configurarlas bien
Las cabeceras de seguridad indican al navegador que proteja mejor a sus visitantes. Cómo configurar las más importantes en Nginx y Apache, introducir una Content Security Policy de forma gradual y comprobar el resultado.
Seguir leyendo →23Quitar la advertencia de Google «Este sitio ha sido hackeado»
Una advertencia de hackeo en los resultados de búsqueda cuesta visitantes y confianza. Cómo limpiar a fondo el sitio web, encontrar páginas de spam ocultas y solicitar la revisión en Search Console.
Seguir leyendo →24Lista de control tras un hackeo: 20 puntos para el seguimiento
Tras un ataque cuenta el orden correcto. Esta lista de control recorre en 20 puntos la contención, la conservación de pruebas, la limpieza, los nuevos accesos, las obligaciones y el cierre documentado.
Seguir leyendo →Cada hora cuenta. Escríbanos ahora.
Describa brevemente el sistema, la versión de PHP y lo que ha observado. Nos pondremos en contacto, aclararemos la situación y trabajaremos en remoto hasta que el incidente quede cerrado y documentado.