Error 403: Acceso denegado o prohibido
En este post, vamos a explicar qué es el error 403 forbidden en detalle, a enseñarte a diagnosticarlo, a identificar sus posibles causas y a darte algunos consejos para que puedas ponerle solución. También hablaremos del error 403 en WordPress, ya que es el CMS más utilizado.
- ¿Qué es un error 403?
- Posibles causas del error 403 y soluciones
- 1. Estás intentando acceder a una URL no válida
- 2. El navegador no está enviando las credenciales correctas
- 3. Hay entradas incorrectas en el archivo .htaccess
- 4. Te están afectando las reglas de seguridad de mod_security
- Error 403 en WordPress
- 1. Revisa los plugins que tienes instalados
- 2. Corrige los permisos de ficheros y directorios
- 3. Comprueba y regenera el archivo .htaccess
- ¿Sigues teniendo errores 403?
- Otros códigos similares al error 403
ACTUALIZADO: Noviembre de 2021.
¿Preparado? Antes de nada, vamos a dejar claro en qué consiste un error 403 exactamente.
¿Qué es un error 403?
Un error 403 es un código de estado HTTP que significa que no tienes permiso para acceder al archivo/carpeta al que querías llegar, de modo que se te ha denegado la entrada. Al igual que todos los códigos de estado que empiezan por 4xx, el error 403 es una respuesta de error por parte del cliente, es decir, del navegador o del dispositivo que se están utilizando para tratar de acceder a la página (los errores 5xx, por el contrario, son códigos de error por parte del servidor).
Dicho esto, aunque los errores 4xx estén considerados como respuestas provocadas por el cliente, esto no significa que podamos descartar la posibilidad de que el culpable sea el servidor. El servidor es el componente de la red que está produciendo el error 403, si bien puede que el cliente esté haciendo algo para provocarlo.
Entonces, ¿cuál es la causa de un error 403 forbidden exactamente? Hay varias opciones...
Posibles causas del error 403 y soluciones
Para poner solución a un código de estado 403, primero tendremos que saber qué lo está provocando. Muy en resumen, lo que implica este fallo es que estás tratando de acceder a un recurso para el que no tienes permisos. Ahora bien, existen varios casos que pueden darse y que acabarán en un código de respuesta 403. Vamos a ver los más habituales:
1. Estás intentando acceder a una URL no válida
Lo primero y lo más sencillo es que compruebes que la URL introducida es correcta. Es posible que contenga algún fallo o que se trate de una página privada, destinada a ser visitada tan solo por usuarios concretos. Por lo tanto, confirma que la URL que te está devolviendo el error 403 forbidden es correcta y que es exactamente el lugar al que quieres acceder.
También puede ser que estés intentando acceder a una URL 100% restringida a todo el mundo, tengan o no autorización. Por ejemplo, los servidores Apache suelen devolver un error 403 cuando un cliente trata de acceder a un directorio de ficheros, ya que un acceso directo de este tipo suele implicar un fallo de seguridad. Esto es lo que sucede cuando intentas acceder a un archivo que está oculto, como el .htaccess o cualquier otro archivo cuyo nombre empiece por un “.” y que no podrás visualizar nunca desde un navegador.
Solución: Asegúrate de que estás intentando acceder a una URL correcta. A continuación, comprueba que no estás intentando entrar a un directorio: la mayoría de las webs están configuradas para impedir que navegues por sus archivos, por lo que recibir un error 403 es lo más normal que te puede pasar. Si eres el webmaster de la web en cuestión y te interesa poder hacerlo, tienes la opción de habilitar la navegación por ficheros.
2. El navegador no está enviando las credenciales correctas
Puede haber diversas razones por las que tu navegador puede interferir y provocar un código de respuesta 403. Por ejemplo, las cookies para el dominio al que estás intentando acceder pueden no ser ya válidas o estar corruptas, de tal modo que el servidor no pueda autenticarte de forma correcta.
Al igual que con las cookies, puede ser también que la caché de tu navegador esté provocando el error 403 por tener almacenados datos sobre el sitio web que quieres visitar. La caché guarda copias locales del contenido web para no tener que tardar tanto tiempo ni usar tanto ancho de banda cuando accedes a un sitio en repetidas ocasiones. Si recibes un error 403, merece la pena comprobar que la versión cacheada de la página no esté entrando en conflicto con la versión actual de la misma. Borra la caché del navegador para ver si así se resuelve el problema.
Solución: Para comprobar si las cookies o la caché del navegador son los causantes del error 403, lo mejor es que borres ambas cosas. Puedes borrar las cookies para ese dominio concreto de forma manual o, si no tienes claro cómo hacerlo, borrar todas las cookies directamente (es mejor no hacer experimentos). En cuanto a cómo borrar la caché del navegador, dependerá del browser concreto que estés utilizando.
Si la página a la que estás accediendo necesita que inicies sesión, al limpiar la caché del navegador o borrar las cookies lo normal es que dejes de estar identificado y tengas que volver a hacer log in. Al iniciar sesión de nuevo, se fuerza la creación de un token de sesión actualizado y esto puede resolver un conflicto entre tu sesión actual y una versión anterior.
3. Hay entradas incorrectas en el archivo .htaccess
El fichero .htaccess es un archivo de configuración del servidor que sirve para modificar los ajustes del servidor web Apache. Si estás trabajando en tu web y recibes un error 403 forbidden, merece la pena comprobar que todos los ajustes definidos en el archivo .htaccess son correctos y que el fichero no está corrupto. Además, si tienes un WordPress quizá quieras tomar medidas de seguridad adicionales sobre tu fichero .htaccess.
Solución: Comprobar si el archivo .htaccess es correcto y solucionarlo en caso contrario es muy sencillo. Si utilizas cPanel, entra en tu panel de control y ve a Archivos > Administrador de archivos:
En la carpeta public_html encontrarás el archivo .htaccess. Si no es así, ve a la esquina superior derecha de la pantalla y haz clic en el botón Configuración. Se abrirá un diálogo en el que podrás marcar la opción Mostrar archivos ocultos (dotfiles) y hacer clic en Save:
Ahora ya deberías poder ver el archivo .htaccess dentro de la carpeta public_html sin ningún problema. Si no es así, es posible que tengas el .htaccess en una de las carpetas superiores a la public_html. Revisa el directorio /home y acabarás dando con él.
Una vez lo hayas encontrado, descárgate el archivo .htaccess a tu equipo para disponer de un backup, por si acaso. Una vez tengas esa copia de seguridad a buen recaudo, borra el archivo .htaccess de la carpeta public_html (clic con el botón derecho del ratón > Delete).
Prueba a acceder a la URL que te daba el error 403 forbidden: si continúas viendo el código de estado significa que la culpa no era del fichero .htaccess y puedes restaurar la copia de seguridad a tu carpeta public_html y seguir buscando el motivo del error. En cambio, si ahora la página carga correctamente, eso quiere decir que el archivo .htaccess estaba corrupto. Para generar uno nuevo, haz clic en +Archivo, en la parte izquierda del menú superior:
Ponle el nombre .htaccess y haz clic en Create new file para guardarlo. Una vez guardado, ya podrás acceder al nuevo archivo y administrarlo como desees.
4. Te están afectando las reglas de seguridad de mod_security
mod_security es un software que incluye reglas de seguridad que filtran el tráfico y ayudan a mantener los servidores protegidos contra hackeos e inyecciones de código que infectan el servidor y lo ponen patas arriba.
Todas las peticiones que llegan al servidor tienen que pasar por las reglas de mod_security, que varían en función de la empresa de hosting que gestiona los servidores. Por ejemplo, nosotros en Raiola tenemos un montón de reglas de seguridad propias que actualizamos continuamente.
Cuando mod_security encuentra alguna cosa sospechosa, le deniega el acceso al usuario y muestra el error 403 forbidden. Entre otras cosas, puede que tengas algún programa desactualizado o un plugin que esté entrando en conflicto con las reglas de mod_security.
Lo bueno de mod_security es que, cuando detiene peticiones maliciosas, lo hace antes de que se cargue el código PHP. De este modo, impide que se dispare el consumo de recursos de tu hosting web. Por eso es tan recomendable combinar las reglas de mod_security con un buen plugin de seguridad.
Solución: Si quieres descartar que la causa del error 403 prohibido sea mod_security, puedes desactivarlo desde cPanel de manera temporal. El panel de control te permite deshabilitarlo para cada dominio que tengas (no puedes probar a desactivarlo regla por regla) y comprobar si el error 403 desaparece.
Entra en el panel de control y baja hasta la sección Seguridad > Modsecurity:
Encuentra el dominio que te interesa en este caso y haz clic en el botón Apagado. Verás un aviso como el que aparece aquí:
Si después de desactivar mod_security para tu dominio dejas de recibir el código de estado 403, sabrás que era el software responsable del error y podrás ponerte en contacto con el Soporte Técnico de tu hosting para solucionarlo. Al fin y al cabo, los clientes con servicios de hosting no suelen tener acceso a los logs para saber qué regla exactamente ha hecho saltar la alarma. Los clientes de VPS y de servidores dedicados sí podrán acceder a esta información directamente.
Error 403 en WordPress
Si te encuentras con un error 403 en WordPress, lo mejor es que empieces por aplicar las soluciones genéricas que hemos comentado en la sección anterior, porque seguramente ya consigas solucionar el problema.
Si este persiste, te recomendamos que tomes las siguientes medidas específicas para WordPress:
1. Revisa los plugins que tienes instalados
Empieza por comprobar si alguno de tus complementos está interfiriendo en el buen funcionamiento de tu web. La causa más frecuente de un error 403 prohibido en WordPress es un plugin de seguridad mal configurado: muchos pueden bloquear una dirección IP (o un rango entero) si la consideran sospechosa.
¿Cómo comprobar si alguno de tus plugins tiene la culpa del código de estado 403? Para saber si merece la pena realizar un diagnóstico más minucioso o, por el contrario, para descartar que tus complementos no tengan nada que ver, lo mejor es que los desactives todos a la vez.
Si el error persiste, sabrás que los plugins no están relacionados con él y podrás seguir buscando el motivo real del error 403 prohibido o contactar con tu proveedor de hosting web para que te ayude a dar con él.
En cambio, si tras desactivar los plugins el error no vuelve a aparecer, será el momento de volver a activarlos todos y empezar a desactivarlos 1 a 1 para encontrar el complemento concreto que está provocando el código de estado 403.
2. Corrige los permisos de ficheros y directorios
Los permisos de tus archivos y carpetas de WordPress, en resumen, le indican al servidor quién puede leer, ejecutar o modificar los archivos alojados en tu cuenta. WordPress necesita contar con esos permisos para poder gestionar archivos y crear carpetas en tu servidor web, por lo que si son incorrectos tu WordPress te bloqueará ciertas acciones e, incluso, estará en peligro de ser infectado.
En general, los permisos correctos para WordPress son:
- Directorios y subdirectorios: 755
- Todo tipo de archivos: 644
Es fácil comprobar (y cambiar, si es necesario) los permisos de carpetas y archivos de WordPress. Puedes hacerlo a través de tu cliente de FTP. Nosotros, por ejemplo, solemos utilizar Filezilla:
- Accede a los archivos de tu sitio a través de FTP.
- Haz clic derecho sobre la carpeta public_html y pulsa en Permisos de archivos.
- Si no lo está ya, indica el valor 755, marca la casilla Incluir todos los subdirectorios y, a continuación, la opción Aplicar sólo a directorios.
- Haz clic en Aceptar.
Ahora, repite la operación para comprobar los permisos de los ficheros:
- Una vez más, haz clic derecho sobre la carpeta public_html y pulsa en Permisos de archivos.
- Indica el valor 644, marca la casilla Incluir todos los subdirectorios y, a continuación, la opción Aplicar sólo a ficheros.
- Haz clic en Aceptar.
Con esto, los permisos de tus carpetas, subcarpetas y archivos ya serán los correctos. Prueba a entrar en tu sitio web para ver si ya funciona de forma correcta.
3. Comprueba y regenera el archivo .htaccess
Al igual que con cualquier otro tipo de web, tu sitio creado con WordPress puede estar funcionando con un archivo .htaccess incorrecto. Por eso, lo mejor es que te descargues un backup de este fichero, lo borres y compruebes si ahora tus páginas ya funcionan como debe ser. Repetimos cómo se hace para que no tengas que subir a mirarlo:
- Inicia sesión en cPanel y ve a Archivos > Administrador de archivos.
- Busca el archivo .htaccess, que está en la carpeta public_html. Si no lo ves, pulsa en el botón Configuración (esquina superior derecha de la ventana), marca Mostrar archivos ocultos (dotfiles) y haz clic en Save.
- Descárgate el archivo .htaccess a tu equipo para tener una copia antes de borrarlo.
- Ahora sí: haz clic derecho sobre el archivo .htaccess y pulsa Delete.
Entra en tu web para revisar si el error 403 ya es historia. Una vez hecha esta comprobación, tanto si sigues viendo el error 403 como si ya se ha solucionado el problema, puedes generar un nuevo archivo .htaccess desde tu backend en tan solo 3 pasos:
- Inicia sesión en tu WordPress.
- Ve a Ajustes > Enlaces permanentes.
- Sin hacer ningún cambio, haz clic en Guardar. Se creará un archivo .htaccess automáticamente sin que tengas que hacer nada más.
¿Sigues teniendo errores 403?
Si has realizado las comprobaciones recomendadas en el post y sigues obteniendo un error 403 prohibido, deja un comentario y comprobaremos si podemos reproducirlo y ayudarte. Por otro lado, si eres cliente de Raiola Networks (por ejemplo, si tienes un hosting con nosotros) recuerda que tienes soporte técnico 24 horas: abre un ticket desde tu Área de cliente y te contestaremos enseguida.
Otros códigos similares al error 403
¿Alguna otra duda sobre los códigos de estado? Si quieres, puedes visitar nuestro post sobre el error 500: ¡el famoso pantallazo blanco de WordPress! Y también tenemos un artículo sobre el error 503, otro de los grandes odiados. Por nuestra parte, seguiremos ampliando el tema detallando los errores más comunes y sus soluciones. ¿Hay algún otro código de estado HTTP que te encuentres a menudo y sobre el que quieras saber más?
Deja una respuesta
Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *