Error 403 en WordPress: qué significa y cómo recuperar el acceso

Propietaria de una web WordPress ante un problema de acceso bloqueado

Estabas trabajando con normalidad en WordPress, haces un cambio aparentemente pequeño y de repente aparece un mensaje: 403 Forbidden.

O quizá ocurre sin que hayas tocado nada. La web deja de cargar, wp-admin tampoco funciona o, en una situación todavía más desconcertante, puedes entrar al escritorio de WordPress pero los visitantes reciben un error 403 al intentar abrir la página.

Lo primero que conviene saber es esto:

un error 403 no significa automáticamente que WordPress esté hackeado, ni que hayas roto la web.

Tampoco identifica por sí solo la causa.

Un 403 indica que el servidor ha recibido y entendido una petición, pero está rechazando el acceso al recurso solicitado.

El trabajo consiste, por tanto, en averiguar quién está rechazando esa petición y por qué.

Puede intervenir WordPress, pero también el servidor, un firewall, una regla de seguridad, los permisos de los archivos o una configuración situada por delante de la propia instalación.

Antes de tocar nada: averigua qué parte de la web devuelve el 403

Dos errores que muestran exactamente el mismo mensaje pueden tener causas completamente diferentes.

Haz primero unas comprobaciones sencillas.

Prueba:

  • la portada;
  • una página interior;
  • /wp-admin/;
  • /wp-login.php;
  • otra ventana o navegador;
  • otro dispositivo;
  • si es posible, otra conexión a Internet, por ejemplo la conexión móvil en lugar del Wi-Fi habitual.

No necesitas resolver todavía el problema. Solo quieres saber hasta dónde llega.

Toda la web y wp-admin devuelven 403

Si no puedes abrir ni la parte pública ni la administración, es especialmente importante revisar las capas que actúan antes de que WordPress llegue a ejecutarse normalmente.

Por ejemplo:

  • firewall del servidor;
  • WAF o firewall web;
  • bloqueo de una dirección IP;
  • reglas del hosting;
  • permisos o propietario de archivos;
  • configuración del servidor;
  • reglas de .htaccess, cuando el servidor utiliza este archivo.

En esta situación, cambiar la contraseña de WordPress probablemente no sea la primera medida útil.

La web pública devuelve 403, pero puedes entrar en wp-admin

La situación es diferente.

Sabemos que al menos una parte de WordPress continúa siendo accesible, por lo que conviene investigar qué está bloqueando las peticiones del frontal.

Puede haber reglas específicas, configuraciones de seguridad, permisos o algún componente que trate de forma diferente las peticiones públicas y las del administrador.

No empieces desactivando plugins al azar. Primero anota qué cambió recientemente y revisa los registros disponibles.

Solo tú recibes el error 403

Si la web funciona desde otra conexión pero no desde la tuya, la instalación puede estar perfectamente operativa para el resto de usuarios.

Tu dirección IP podría haber sido bloqueada por:

  • un plugin de seguridad;
  • el firewall del hosting;
  • una regla antispam o antiabuso;
  • un WAF;
  • algún mecanismo automático de protección.

Este detalle cambia completamente el diagnóstico.

Solo una URL o una acción concreta devuelve 403

También puede ocurrir que la web funcione pero falle algo específico: guardar un formulario, abrir una página determinada, utilizar una función del administrador o enviar una petición concreta.

En esos casos resulta especialmente útil anotar:

  1. qué estabas haciendo;
  2. qué URL estabas visitando;
  3. a qué hora ocurrió;
  4. si el error se reproduce siempre.

Esa información puede permitir encontrar la petición concreta en los registros del servidor.

¿Por qué puede aparecer un error 403 en WordPress?

No existe una única causa.

Estas son las capas que conviene revisar.

1. Un firewall o una regla de seguridad está bloqueando la petición

Es una de las posibilidades que más fácilmente se pasa por alto.

Tu web puede estar protegida por diferentes sistemas:

  • un plugin de seguridad instalado en WordPress;
  • herramientas de seguridad del propio hosting;
  • ModSecurity u otro WAF del servidor;
  • Cloudflare u otro servicio situado delante del alojamiento;
  • reglas específicas creadas anteriormente por un desarrollador.

Estos sistemas analizan las peticiones e intentan bloquear comportamiento malicioso.

El problema es que una regla también puede considerar sospechosa una petición legítima.

Cloudflare, por ejemplo, documenta que algunas reglas de su WAF y otras funciones de seguridad pueden responder expresamente con un HTTP 403. También señala que un 403 generado por el servidor de origen puede estar relacionado con reglas de permisos, ModSecurity o bloqueos de IP.

Por eso, si el error apareció justo después de una determinada acción, no conviene concluir automáticamente que esa acción “rompió WordPress”.

Puede haber activado una regla de protección.

Qué puedes comprobar

Si utilizas Cloudflare o una herramienta de seguridad cuyo panel conoces, revisa si existen eventos de seguridad correspondientes a la hora exacta del error.

Si no sabes qué firewall utiliza tu web, pregunta al hosting.

Una pregunta mucho más útil que «¿por qué no funciona WordPress?» sería:

“Estoy recibiendo un HTTP 403 desde las 11:35. ¿Podéis comprobar en los logs si alguna regla del firewall, ModSecurity o algún bloqueo de IP está rechazando las peticiones?”

Eso proporciona al soporte un punto de partida concreto.

2. Los permisos o el propietario de los archivos son incorrectos

Los servidores utilizan permisos para decidir qué usuarios y procesos pueden leer, modificar o ejecutar determinados archivos.

WordPress necesita poder acceder a sus propios archivos, pero no todos deberían ser modificables por cualquiera.

Si esos permisos están mal configurados, el servidor puede impedir el acceso.

Aquí hay una precaución importante: no copies números de permisos de cualquier tutorial y los apliques recursivamente a toda la instalación.

La documentación oficial de WordPress advierte de que los permisos dependen de la configuración del alojamiento y que establecerlos incorrectamente puede dejar la web fuera de servicio.

En una instalación típica pueden encontrarse valores como 755 para determinados directorios y 644 para archivos, pero eso no convierte esos números en una receta universal. También intervienen el propietario de los archivos, los grupos y la forma en que está configurado el servidor.

No uses 777 como solución rápida

Dar permisos 777 significa conceder unos privilegios extremadamente amplios.

No debería utilizarse como método de diagnóstico simplemente porque una página diga que “soluciona errores de permisos”.

La propia documentación de WordPress advierte de los riesgos de utilizar permisos excesivamente abiertos.

Si sospechas de un problema de permisos y nunca has trabajado con ellos, esta es una de las comprobaciones que merece la pena dejar al soporte del alojamiento.

3. Una regla de .htaccess está bloqueando el acceso

.htaccess es un archivo utilizado en determinadas configuraciones de servidor, especialmente en entornos Apache y compatibles, para aplicar reglas sobre URLs, redirecciones, accesos y otros comportamientos.

WordPress puede utilizarlo, por ejemplo, para determinadas configuraciones de enlaces permanentes.

Plugins de seguridad, caché y otras herramientas también pueden añadir sus propias reglas.

Una regla incorrecta puede impedir el acceso a una URL, una carpeta o incluso una parte importante de la web.

Pero hay dos errores habituales al diagnosticarlo.

Error 1: asumir que todas las webs WordPress dependen de .htaccess

No es así.

La configuración depende del servidor. Un alojamiento que utiliza Nginx, por ejemplo, no gestiona estas reglas del mismo modo.

Antes de modificarlo, averigua qué servidor utiliza tu alojamiento.

Error 2: borrar .htaccess para “probar”

No deberías borrar un archivo de configuración sin conservar una copia y sin saber qué reglas contiene.

Puede haber configuraciones añadidas por:

  • WordPress;
  • plugins;
  • seguridad;
  • redirecciones;
  • caché;
  • personalizaciones del servidor.

Si necesitas intervenir sobre archivos como este y no estás acostumbrado a hacerlo, crea primero una copia. En nuestra guía sobre wp-config.php en WordPress explicamos por qué los archivos de configuración deben modificarse de forma controlada y reversible.

4. Un plugin de seguridad puede haberte bloqueado

Una extensión de seguridad puede bloquear una IP cuando detecta demasiados intentos de acceso, peticiones consideradas sospechosas u otros patrones definidos por sus reglas.

Eso no significa necesariamente que el plugin esté funcionando mal.

Puede haber:

  • un bloqueo correcto;
  • un falso positivo;
  • una configuración demasiado agresiva;
  • una regla antigua que nadie recuerda haber activado.

Si todavía puedes entrar en WordPress, revisa los eventos del plugin antes de desactivarlo.

Si no puedes entrar, comprueba primero si el hosting puede identificar el origen del 403.

Desactivar herramientas de seguridad desde FTP únicamente porque aparece un error 403 puede eliminar una protección sin demostrar que esa protección sea la causa.

5. El problema puede estar en el hosting, aunque no hayas cambiado nada

Una web puede empezar a devolver 403 aunque tú no hayas modificado WordPress.

El proveedor puede haber cambiado:

  • reglas de seguridad;
  • configuración del servidor;
  • políticas de acceso;
  • sistemas antimalware;
  • versiones o componentes de infraestructura.

También puede haberse activado automáticamente una protección.

Por eso es tan importante preguntar por los logs.

Decir al soporte «WordPress no funciona» aporta poca información.

Es mejor proporcionar:

  • dominio afectado;
  • hora aproximada de inicio;
  • URL que genera el error;
  • si también ocurre en /wp-admin/;
  • si sucede desde otras conexiones;
  • última acción realizada antes del fallo;
  • captura del mensaje si existe.

Y pedir que comprueben específicamente el HTTP 403 en los registros.

6. ¿Un error 403 significa que mi WordPress ha sido hackeado?

No.

Un 403 por sí solo no demuestra una intrusión.

Puede aparecer en una web completamente limpia debido a una regla del firewall, permisos o configuración del servidor.

La situación cambia si, además del 403, encuentras indicios independientes como:

  • administradores que no reconoces;
  • plugins que nadie recuerda haber instalado;
  • archivos modificados sin explicación;
  • páginas de spam;
  • redirecciones extrañas;
  • cambios de contraseña que nadie ha solicitado;
  • código o archivos sospechosos.

En ese caso no deberías limitarte a conseguir que desaparezca el 403.

Hay que investigar también un posible incidente de seguridad.

Por ejemplo, borrar un usuario desconocido y continuar trabajando no explica cómo apareció esa cuenta ni permite saber qué pudo hacer mientras tuvo acceso.

Si encuentras este tipo de señales, consulta qué comprobar cuando un WordPress ha sido hackeado incluso aunque estuviera actualizado.

Y si confirmas que existe malware, el proceso cambia por completo: hay que identificar el alcance de la infección y la posible vía de entrada, no simplemente eliminar el archivo que parece sospechoso. Puedes ampliar ese proceso en cómo eliminar malware en WordPress sin romper la web.

Qué hacer ante un error 403: un orden razonable

Si gestionas tú mismo los contenidos de tu WordPress pero no administras servidores, seguiría este orden.

1. No hagas más cambios de los necesarios

Si el error apareció después de una acción concreta, anótala.

No empieces inmediatamente a:

  • borrar plugins;
  • cambiar permisos;
  • sustituir archivos;
  • restaurar backups;
  • modificar DNS;
  • editar .htaccess.

Cuantos más cambios hagas antes de conocer la causa, más difícil será reconstruir qué ocurrió.

2. Comprueba el alcance

Prueba portada, página interior, wp-admin y wp-login.php.

Después prueba desde otra conexión.

Con estas cuatro comprobaciones ya puedes diferenciar muchos escenarios.

3. Mira quién genera la página de error

Algunas páginas de error muestran claramente el nombre o diseño del proveedor que las está generando.

Por ejemplo, un error identificado como Cloudflare proporciona una pista distinta de una página creada directamente por el servidor de alojamiento.

No siempre podrás identificarlo visualmente, pero si puedes hacerlo, anótalo.

4. Revisa qué ocurrió inmediatamente antes

Pregunta:

  • ¿actualicé algo?
  • ¿instalé o configuré un plugin?
  • ¿cambié alguna opción de seguridad?
  • ¿modifiqué enlaces permanentes?
  • ¿estaba realizando muchas acciones repetidas?
  • ¿el hosting realizó algún cambio?
  • ¿la web llevaba mucho tiempo sin mantenimiento?

La coincidencia temporal no demuestra cuál es la causa, pero ayuda a acotar la investigación.

Si estás ante una instalación que lleva años prácticamente sin tocarse, no conviene convertir la recuperación en una actualización masiva. En cómo actualizar un WordPress antiguo sin romperlo explicamos por qué primero hay que revisar versiones, plugins, PHP, tema y copias.

5. Consulta los registros antes de adivinar

Este suele ser el paso que más información aporta.

Los registros pueden indicar:

  • qué petición fue rechazada;
  • a qué hora;
  • desde qué IP;
  • qué regla intervino;
  • qué componente devolvió el error.

Dependiendo de tu hosting tendrás acceso directo a esos logs o tendrás que pedirlos al soporte.

No necesitas saber interpretarlos todos. Basta con conseguir que el técnico busque el evento concreto.

6. Haz una copia antes de modificar archivos

Si finalmente hay que cambiar permisos, editar archivos o desactivar componentes, crea antes una copia recuperable.

No porque todo cambio vaya a salir mal, sino porque necesitas una forma de volver al punto inicial.

Tener un botón de «backup» no garantiza que esa copia pueda restaurarse. En cómo saber si las copias de seguridad de WordPress realmente funcionan explicamos qué conviene comprobar antes de depender de ellas.

7. Cambia una cosa cada vez

Si modificas simultáneamente permisos, plugins, .htaccess y configuración del hosting y la web vuelve a funcionar, no sabrás qué solucionó el problema.

Y si sigue fallando, tampoco sabrás qué cambio ha introducido un problema nuevo.

Diagnosticar consiste precisamente en reducir incógnitas.

¿Restaurar una copia solucionará un 403?

No necesariamente.

Depende del origen.

Una restauración puede ayudar si el error procede de archivos o configuraciones de WordPress que han cambiado y dispones de una copia anterior válida.

Pero no solucionará necesariamente un bloqueo situado fuera de esa copia.

Por ejemplo, si el 403 lo está generando:

  • un WAF externo;
  • una regla del hosting;
  • un bloqueo de IP;
  • la configuración del servidor;

puedes restaurar todos los archivos de WordPress y encontrarte exactamente con el mismo error.

Por eso restaurar debería ser una decisión basada en el diagnóstico, no el primer botón que se pulsa.

He cambiado la contraseña y sigo viendo 403

También puede ser completamente normal.

Tu contraseña de WordPress sirve para autenticarte dentro de WordPress.

Pero un error 403 puede producirse antes de que esa autenticación llegue siquiera a procesarse.

Si el firewall del servidor está rechazando tu IP, cambiar la contraseña de WordPress no modifica esa regla.

Si los archivos no pueden ser leídos correctamente, tampoco.

Y si Cloudflare u otro WAF está bloqueando la petición, la contraseña de tu usuario de WordPress es irrelevante para esa decisión.

El error apareció después de hacer algo en wp-admin. ¿He roto la web?

No necesariamente.

La proximidad temporal es una pista, no un diagnóstico.

Si realizas una acción en WordPress y el servidor la considera sospechosa, una regla automática puede bloquearla. También puede coincidir con un problema que ya existía.

Anota exactamente lo que estabas haciendo y la hora.

Con esa información, el hosting puede comprobar si la petición activó una regla concreta.

Lo importante es evitar esta conclusión:

“Hice clic aquí, apareció un 403, por tanto esa opción ha destruido WordPress”.

Todavía falta investigar qué componente devolvió realmente la respuesta.

¿Cuándo puedes intentar resolverlo tú mismo?

Si administras contenidos habitualmente, hay una parte del diagnóstico que puedes hacer con bastante seguridad:

  • comprobar qué URLs funcionan;
  • probar desde otra conexión;
  • identificar cuándo empezó;
  • revisar cambios recientes;
  • guardar capturas;
  • consultar eventos de una herramienta que ya conozcas;
  • revisar usuarios si todavía tienes acceso al panel;
  • contactar con el hosting aportando datos concretos.

A partir de ahí empieza una zona más técnica.

Conviene tener cuidado si la solución requiere:

  • cambiar permisos de archivos;
  • modificar propietario o grupos;
  • editar .htaccess;
  • cambiar configuración del servidor;
  • desactivar componentes por FTP;
  • interpretar logs de seguridad;
  • intervenir en un WAF;
  • investigar usuarios o archivos desconocidos;
  • recuperar una instalación comprometida.

No necesitas aprender administración de sistemas para poder gestionar los textos, imágenes y páginas de tu negocio.

Una cosa es administrar contenidos en WordPress y otra diferente mantener la infraestructura sobre la que funciona.

Qué preguntar al hosting ante un error 403

Si tienes que abrir un ticket, puedes evitar varios intercambios de mensajes proporcionando la información desde el principio.

Indica:

  • que recibes un HTTP 403;
  • cuándo empezó;
  • qué URL o URLs están afectadas;
  • si ocurre también en /wp-admin/ y /wp-login.php;
  • si sucede desde diferentes conexiones;
  • qué estabas haciendo inmediatamente antes;
  • si has realizado algún cambio desde entonces.

Y pregunta expresamente:

  • ¿qué componente está generando el 403?
  • ¿aparece la petición en los logs?
  • ¿ha intervenido ModSecurity u otro WAF?
  • ¿mi IP está bloqueada?
  • ¿hay algún problema de permisos o propietario de archivos?
  • ¿ha cambiado recientemente alguna regla del servidor?

Estas preguntas son mucho más útiles que pedir simplemente que «revisen WordPress».

Cuando recuperes la web, no cierres todavía la incidencia

Conseguir que la web vuelva a cargar resuelve la urgencia.

No siempre resuelve la causa.

Antes de dar el problema por terminado, intenta dejar registrado:

  • qué produjo el 403;
  • qué cambio lo corrigió;
  • quién gestiona el firewall;
  • dónde consultar los logs;
  • qué sistema de copias tienes;
  • quién dispone de acceso al hosting;
  • si la instalación necesita actualizaciones pendientes.

Si la web llevaba años funcionando sin mantenimiento y el 403 ha sido la primera señal de alarma, puede ser buen momento para revisar su estado general.

En qué debería incluir realmente el mantenimiento de una web WordPress explicamos qué tareas conviene controlar aunque solo entres en la web de vez en cuando para modificar contenidos.

Un 403 es una pista, no un diagnóstico

Ante un error 403 es fácil empezar a cambiar cosas porque el mensaje parece decir muy poco.

Precisamente por eso conviene hacer lo contrario.

Primero determina qué está fallando.

Después identifica qué capa está rechazando la petición.

Y solo entonces modifica aquello que tenga relación con la causa.

Un firewall que te ha bloqueado no se arregla cambiando permisos. Un problema de permisos no se soluciona cambiando la contraseña. Y encontrar un administrador desconocido no debería reducirse a borrar esa cuenta y olvidar el asunto.

Si no tienes experiencia administrando el servidor, tu mejor aportación al diagnóstico no consiste en probar veinte soluciones de Internet.

Consiste en recoger bien las pistas, conservar una copia antes de intervenir y conseguir que cada cambio responda a una causa concreta.

Autor/a:

Deja el primer comentario

Contenidos relacionados