**Una web puede funcionar perfectamente y, aun así, tener problemas de seguridad que pasan inadvertidos.**

Recientemente trabajé en la revisión y protección de un servidor que alojaba varios sitios WordPress. El objetivo era reducir los riesgos ante vulnerabilidades críticas de PHP, revisar la seguridad de las aplicaciones y establecer un procedimiento seguro de actualización.

Este caso me permitió confirmar algo importante: **la seguridad no depende de instalar una sola herramienta, sino de aplicar medidas preventivas y mantener buenos hábitos de mantenimiento.**

Estas son algunas de las medidas que implementamos y las recomendaciones que podés aplicar en tu propio sitio web.

## 1. Mantener PHP actualizado

PHP es el lenguaje que utilizan WordPress y muchas otras aplicaciones web.

Cuando se descubre una vulnerabilidad, los atacantes pueden intentar aprovecharla para acceder a información o ejecutar acciones no autorizadas.

En nuestro caso, detectamos que el servidor utilizaba una versión de PHP que necesitaba una actualización de seguridad.

**¿Qué hicimos?**

Actualizamos PHP 8.4 a una versión corregida, verificamos que los sitios continuaran funcionando y comprobamos que los servicios no presentaran errores.

También identificamos una versión antigua de PHP que todavía debe migrarse. Ese trabajo quedó registrado como pendiente para realizarlo de manera controlada.

**Recomendación:** mantener PHP actualizado y evitar versiones que ya no reciben soporte oficial.

## 2. Evitar que archivos internos sean públicos

Un servidor web puede contener archivos de documentación, configuraciones y otros recursos que no deberían estar disponibles para cualquier visitante.

Aunque estos archivos no contengan contraseñas, pueden revelar información sobre la estructura de un proyecto.

**¿Qué hicimos?**

Identificamos archivos internos que podían consultarse desde Internet y configuramos Nginx, el servidor web, para bloquear su acceso.

Después verificamos que las solicitudes a esos archivos fueran rechazadas y que los sitios continuaran funcionando normalmente.

**Recomendación:** revisar qué archivos pueden descargarse desde tu dominio y mantener fuera del acceso público todo lo que no sea necesario para el funcionamiento del sitio.

## 3. Actualizar WordPress, plugins y componentes

No alcanza con tener PHP actualizado.

WordPress y sus plugins también reciben correcciones de seguridad que solucionan vulnerabilidades conocidas.

En nuestro caso, encontramos instalaciones de WordPress y plugins que necesitaban actualizaciones.

**¿Qué hicimos?**

Primero revisamos las versiones, la integridad de los archivos y las posibles incompatibilidades. Después comenzamos las actualizaciones en un entorno de pruebas, verificando cada componente por separado.

Actualizamos el núcleo de WordPress, WPGraphQL y Code Snippets en una de las instalaciones de pruebas, sin modificar todavía los sitios de producción.

**Recomendación:** mantener actualizados WordPress y sus complementos, pero comprobar siempre la compatibilidad antes de aplicar cambios importantes.

## 4. Hacer respaldos antes de modificar cualquier cosa

Un error durante una actualización puede dejar una página temporalmente fuera de servicio.

Por eso, antes de intervenir, necesitábamos disponer de una forma de recuperar los sitios.

**¿Qué hicimos?**

Generamos respaldos individuales de cuatro instalaciones WordPress, incluyendo sus bases de datos, archivos y componentes personalizados.

También verificamos la integridad de las copias y conservamos un snapshot del servidor en Hetzner como protección adicional.

Un detalle importante: comprobar un respaldo no es lo mismo que realizar una restauración de prueba. Esa validación adicional todavía queda pendiente.

**Recomendación:** mantener copias de seguridad periódicas, protegidas y, siempre que sea posible, probar que se puedan restaurar correctamente.

## 5. Revisar usuarios, contraseñas y permisos

Las contraseñas débiles, las credenciales antiguas y los permisos innecesarios pueden convertirse en puntos de entrada para un atacante.

Durante la auditoría revisamos los antecedentes de rotación de credenciales, los usuarios administrativos y las contraseñas utilizadas por integraciones entre aplicaciones.

También identificamos accesos que requieren verificaciones adicionales antes de decidir si corresponde mantenerlos o revocarlos.

**Recomendación:** utilizar contraseñas únicas, activar la autenticación en dos pasos cuando esté disponible y conceder a cada usuario o integración solamente los permisos necesarios.

## 6. Probar las actualizaciones antes de llevarlas a producción

Un sitio puede responder correctamente en su página principal y, sin embargo, tener problemas en funciones internas.

Esto es especialmente importante cuando WordPress se conecta con otras aplicaciones mediante una API.

**¿Qué hicimos?**

Utilizamos un entorno de *staging*, es decir, una instalación de pruebas separada de producción.

Allí verificamos que siguieran funcionando las consultas de datos, las integraciones REST y GraphQL, los componentes personalizados y las configuraciones de acceso.

De esta manera, pudimos detectar posibles problemas antes de trasladar las actualizaciones a los sitios públicos.

**Recomendación:** siempre que sea posible, probar los cambios en un entorno separado antes de aplicarlos a una web en producción.

## 7. Documentar cada intervención

La seguridad también requiere organización.

Si no sabemos qué se modificó, cuándo se hizo y qué problemas quedaron pendientes, es fácil repetir trabajos o cometer errores.

**¿Qué hicimos?**

Creamos y actualizamos registros de las intervenciones, resultados de las verificaciones, respaldos y tareas pendientes.

También utilizamos Claude Code como asistente técnico para analizar configuraciones, preparar procedimientos y comprobar resultados, manteniendo autorizaciones específicas antes de realizar modificaciones.

La inteligencia artificial puede acelerar considerablemente este trabajo, pero las decisiones críticas necesitan supervisión y validación humana.

**Recomendación:** mantener un historial de cambios y un listado claro de tareas pendientes, especialmente en servidores que alojan aplicaciones importantes.

## La seguridad web es un proceso continuo

Este trabajo nos permitió corregir vulnerabilidades, reducir la exposición de archivos internos, actualizar componentes y mejorar nuestros procedimientos de recuperación.

Todavía quedan tareas planificadas, como completar las actualizaciones de producción, migrar una versión antigua de PHP y seguir revisando algunos permisos.

Eso también forma parte de una buena práctica profesional: **diferenciar lo que ya está protegido de aquello que todavía necesita atención.**

No existe una configuración que garantice seguridad absoluta. Pero mantener el software actualizado, limitar los accesos, contar con respaldos y revisar periódicamente la infraestructura reduce considerablemente los riesgos.

---

## ¿Necesitás mejorar la seguridad de tu sitio web?

Si administrás un sitio WordPress, una aplicación web o un servidor y no sabés cuándo fue su última revisión de seguridad, puedo ayudarte.

Trabajo en auditoría técnica, mantenimiento de servidores, actualización de aplicaciones y revisión de configuraciones para detectar riesgos y planificar mejoras de manera segura.

**¿Necesitás una auditoría de seguridad o asistencia técnica para tu infraestructura? Contactame y evaluemos tu caso.**