Protege wp-admin y wp-login de WordPress
No es la primera vez que te damos indicaciones para reforzar la seguridad de tu WordPress 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.
Podrás ver la siguiente ventana en la que tendrás que marcar la tercera opción, Raíz de documento paray elegir en el desplegable el dominio donde tienes tu WordPress. En el ejemplo, nuestro sitio WordPress está en el 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).
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.
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:
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:
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
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:
Después entra en la carpeta wp-admin haciendo doble clic sobre ella y abre el fichero .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:
Edita el fichero .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:
Entra en la carpeta wp-admin y edita el .htaccess:
Añade esto al final:
<Files admin-ajax.php> Order allow,deny Allow from all Satisfy any </Files>
Nota: si trabajas con la versión 2.4 de Apache, deberás añadir en el fichero .htaccess las siguientes líneas:
<Files admin-ajax.php> Require all granted 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
Nota: en la versión 2.4 de Apache, deberás añadir lo siguiente:
Require all granted 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“.
Finalmente, tan solo te queda editar ese fichero, haciendo clic derecho sobre el nombre del fichero y, a continuación, pinchando en Edit:
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.
card
25 julio, 2020 en 9:48 amstatic
national
19 septiembre, 2020 en 11:43 amevolve
Customer
25 septiembre, 2020 en 3:45 pmsyndicate