10

Cómo proteger wp-admin y wp-login de WordPress

Protección web WordPress

 

No es la primera vez que te damos indicaciones para reforzar la seguridad de tu WordPress (ni la segunda) y seguramente tampoco será la última. En este post, queremos enseñarte de forma muy fácil y en 4 pasos muy sencillos cómo proteger wp-admin y wp-login con contraseña desde el archivo .htaccess. Al fin y al cabo, son dos de los objetivos más habituales de los ataques a aplicaciones WordPress y es mejor extremar la seguridad.

Vamos a suponer que tienes tu hosting web en Host Europe y que utilizas cPanel como panel de control. No podemos enseñarte con capturas cómo hacer lo mismo en otros proveedores y con otros paneles, pero seguramente el proceso será muy similar. En cualquier caso, cualquier empresa de hosting debería estar encantada de ayudarte a tomar estas medidas, ¡así que no dejes de ponerte en contacto si tienes dudas!

PASO 1 – Protege el directorio wp-admin con contraseña

En tu cPanel, ve a la sección Archivos y haz clic en Privacidad de directorio.

Administrador de archivos

Podrás ver la siguiente ventana en la que tendrás que marcar la tercera opción, Raíz de documento para y elegir en el desplegable el dominio donde tienes tu WordPress. En el ejemplo, nuestro sitio WordPress está en el dominio hosteurope.heg:

 

Dominio hosteurope.heg

 

En la siguiente pantalla podrás ver la lista de carpetas de WordPress. Haz clic donde pone wp-admin. Atención: debes hacer clic en el nombre de la carpeta, no en el símbolo (que sirve para acceder a las subcarpetas).

 

wp-admin

 

En la siguiente pantalla, podrás configurar la protección del directorio. Tienes que añadir un dominio para nombrar la protección (puede ser el que tú quieras) y crear el usuario que tendrá acceso al mismo. Podrás introducir el dominio o crear el usuario en el orden que tú prefieras pero, eso sí, tendrás que darle a “Guardar” tras realizar cada uno de los pasos.

Proteger wp-admin

 

De esta forma, al acceder a tu sitio como administrador (la URL de nuestro ejemplo sería http://hosteurope.heg/wp-admin), tendrás que introducir usuario y contraseña.

 

En caso de que trabajes con enlaces permanentes o URL amigables, sería necesario un paso extra para evitar errores de redirecciones: editar el fichero .htaccess.
Para hacerlo, en la sección Archivos, haz clic en Administrador de archivos:

 

Administrador de archivos

 

En la siguiente pantalla, marca la tercera opción, elige el dominio que corresponda en el desplegable y acuérdate de marcar también la última casilla Mostrar archivos ocultos:

 

Dominio hosteurope.heg

 

En el administrador de archivos, se mostrarán todas las carpetas y archivos de tu WordPress. Haz clic derecho sobre .htaccess y edítalo para añadir al inicio:

ErrorDocument 401 default

 

Editar htaccess

 

PASO 2 – Protege wp-login con contraseña

Para aumentar la seguridad habría que proteger también el fichero wp-login.php. Para esto, siguiendo los pasos anteriores, abre el Administrador de archivos:

 

Dominio hosteurope.heg

 

Después entra en la carpeta wp-admin haciendo doble clic sobre ella y abre el fichero .htaccess:

 

Ver htaccess

 

Copia del .htaccess las líneas que se añadieron tras bloquear ese directorio (en el paso 1 de este mismo post). En nuestro caso, son:

AuthType Basic

AuthName “bloqueo”

AuthUserFile “/home/hegprueba/.htpasswds/public_html/hosteurope.heg/wp-admin/passwd”

require valid-user

 

A continuación, vuelve al directorio anterior. Puedes hacerlo a través del Administrador de archivos de nuevo:

Dominio hosteurope.heg

 

Edita el fichero .htaccess…

 

Editar htaccess

 

… añadiendo al principio las líneas que acabas de copiar junto con estas 2 líneas más que puedes ver aquí (al principio y al final):

<files wp-login.php>

AuthType Basic

AuthName “bloqueo”

AuthUserFile “/home/hegprueba/.htpasswds/public_html/hosteurope.heg/wp-admin/passwd”

require valid-user

</files>

PASO 3 – Permite las solicitudes AJAX

Al configurar la protección del directorio wp-admin se evita que se hagan peticiones a ese directorio. El API Ajax de WordPress se ejecuta en el archivo admin-ajax.php de este directorio, por lo que es posible que deje de funcionar algún plugin, tema o widget que utilice el API Ajax en el frontend.

 

Si tienes este problema y quieres solucionarlo, tienes que permitir las solicitudes a admin-ajax.php en el .htaccess de la carpeta wp-admin. Sigue los pasos indicados en el punto anterior para editar el .htaccess (atención: en este caso de la carpeta wp-admin).

 

Ve al Administrador de archivos:

 

Dominio hosteurope.heg

 

Entra en la carpeta wp-admin y edita el .htaccess:

 

Editar htaccess wp-admin

 

Añade esto al final:

<Files admin-ajax.php>

       Order allow,deny

       Allow from all

       Satisfy any

</Files>

PASO 4 – Permite las solicitudes de imágenes, CSS y JavaScript en wp-admin

Este paso no será necesario en todos los casos, pero sí en algunos. Existen plugins y temas que cargan contenido ubicado en la carpeta wp-admin y que, al haberla protegido, no podrán mostrarlo salvo que los usuarios tengan los datos de acceso. Normalmente, el contenido que cargan son imágenes, ficheros CSS o JavaScript que están en determinados directorios.

 

Para permitir esta carga, crea un fichero .htaccess en los directorios wp-admin/css/, wp-admin/js/ y wp-admin/images/ con el siguiente contenido:

Order allow,deny

Allow from all

Satisfy any

 

Por si te surgen dudas, para crear un fichero .htaccess habría que ir al Administrador de archivos (de la misma forma que en los pasos anteriores) y entrar en la carpeta que deseas. Para crearlo en wp-admin/css haz doble clic en la carpeta wp-admin y después en la carpeta css. En esta pantalla, haz clic en +Archivo (en la parte superior derecha) y verás el siguiente cuadro, donde incluirás el nombre “.htaccess“.

 

Nuevo htaccess

 

Finalmente, tan solo te queda editar ese fichero, haciendo clic derecho sobre el nombre del fichero y, a continuación, pinchando en Edit:

 

Editar htaccess

 

Añade las líneas anteriores y habrás terminado.

 

Ahora ya sabes cómo proteger wp-admin y wp-login para ponérselo mucho más difícil a los hackers. ¿Te ha parecido útil? Si tienes dificultades siguiendo los pasos, deja un comentario y te ayudaremos en todo lo posible. Si crees que a tus amigos también les puede servir de ayuda, comparte este post en Facebook o en Twitter. ¡Cuanto más segura sea la red, mejor!

Andrea Barreiro

Andrea Barreiro

Andrea trabaja en Host Europe desde 2012. Es parte del equipo de marketing y supervisa la actividad en redes, el blog, actualiza la web, gestiona el email marketing y desarrolla otras iniciativas con nuestros clientes.

More Posts

Comentarios sobre "Cómo proteger wp-admin y wp-login de WordPress"

    1. Andrea BarreiroAndrea Barreiro Autor

      ¡Gracias por comentar, David! Nosotros compartimos a veces los artículos de WPdirecto en nuestras redes sociales :-)

      Responder
  1. Pingback: Host Europe 2016: opiniones de hosting wordpress, VPS y dedicados

    1. María AcibeiroMaría Acibeiro

      Hola Borja. Si haces el paso 1 correctamente, es decir, proteges el directorio wp-admin con contraseña, automáticamente se crea un fichero .htaccess dentro de la carpeta que estás protegiendo. Probablemente, si no ves este archivo es porque tienes desactivada la opción “Mostrar archivos ocultos” en tu gestor. Si trabajas con cPanel, podrás activarla desde “Adminstrador de archivos” -> “Configuración”.
      De todas maneras, si tienes tu alojamiento con nosotros puedes contactar con nuestro equipo de Soporte para que te echen una mano. ¡Estarán encantados de poder ayudarte! Un saludo :)

      Responder
      1. Borja

        Gracias María.

        Realizó el punto uno correctamente, pero no se genera el archivo .htaccess en wp-admin de forma automática. Desde soporte me dicen que lo cree yo dentro de .htaccess, pero no sé que es lo que hay que poner dentro. Cuando les pido ayuda me remiten nuevamente a este post, diciendo que aquí está toda la información.

        He realizado el paso 1 un montón de veces y ni se crea el archivo ni se bloquea el directorio ¿Qué más puede pasar? Todo se traduce a mi torpeza? ¿Quizás no pongo bien el campo de: Introducir un dominio para el campo protegido? he probado a poner la url de la web, un comentario `Protegido’ La url completa junto con wp-admin…

        Gracias!!

  2. Borja

    María ya sé lo que pasaba… Debía marcar la casilla de proteger directorio, introducir el nombre del dominio Y DAR A GUARDAR. Pensaba que con hacerlo todo de un tirón era suficiente. 😉

    Responder
    1. María AcibeiroMaría Acibeiro

      ¡Hola de nuevo, Borja!
      Así es, una vez que introduces el nombre del dominio hay que pulsar sobre “Guardar” y, posteriormente, al crear el usuario, volver a guardar los cambios.
      Por cierto, ya lo hemos actualizado en el post para evitar posibles confusiones de otros usuarios :)
      ¡Un saludo y muchas gracias por leernos!

      Responder
      1. Borja

        Muchas gracias María, el post ya está listo para torpes como yo. 😉 ¡Lo conseguí hacer en todos los wordpress que tengo con vosotros! Un saludo!

      2. María AcibeiroMaría Acibeiro

        De nada Borja, estamos aquí para lo que necesites 😉 Nos alegra que hayas podido hacerlo en todos tus sitios, nunca está de más reforzar la seguridad de WordPress. Como sabes, es uno de los CMS preferidos por los hackers… ¡Un saludo!

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos necesarios están marcados *