¿Para qué sirve el archivo .htaccess?
El archivo de texto permite al autor de páginas web establecer las propiedades seleccionadas del servidor. Además, no necesita acceso completo de administrador y solo afecta el comportamiento del servidor para el directorio y subdirectorio seleccionado en el servidor. WordPress básicamente lo usa para establecer el comportamiento de las URL generadas para que sean compatibles con los motores de búsqueda.
¿Dónde puedo encontrar el archivo .htaccess?
El archivo se encuentra en la carpeta raíz (root) de su alojamiento web. Simplemente inicie sesión en FTP con la ayuda del cliente FTP seleccionado y debería ver el archivo.
A veces, no se puede ver el archivo después de iniciar sesión en un cliente FTP. En este caso, es suficiente forzar la visualización de archivos ocultos en la configuración del programa (habitualmente Total Commander, WinSCP o FileZilla).
Si aún no ve el archivo, puede subirlo manualmente al servidor, o simplemente haga clic en "Configuración"> "Enlaces permanentes" en la configuración de WordPress para cambiar la configuración a otra que no sea básica y guardar. Ahora ya debería ver el archivo en el servidor. A continuación, puede cambiar de nuevo los ajustes.
¿Cómo editar .htaccess?
Para editar el archivo, puede usar cualquier editor de texto desde el Bloc de notas al editor de desasrrollo PSPad. Antes de editar el archivo, haga una copia de seguridad del archivo en su PC para poder restablecer la configuración en caso de problemas.
1. Bloquear la administración para evitar huéspedes no invitados
Puede usar el archivo .htaccess para administrar su sitio web por dirección IP. Podrá conectarse a la administración del sitio web solo desde direcciones IP y ubicaciones específicas. Este método es útil cuando se conecta regularmente desde un PC o varios PC con una dirección IP estática. Puede usar el siguiente código y copiarlo en el archivo .htaccess:
AuthUserFile /dev/null
AuthGroupFile /dev/null
AuthName "WordPress Admin Access Control"
AuthType Basic
<LIMIT GET>
order deny,allow
deny from all
# Enabled IP address 1:
allow from xx.xx.xx.xxx
# Enabled IP address 2:
allow from xx.xx.xx.xxx
</LIMIT>
Recuerde reemplazar la dirección IP permitida por la suya. Puede haber tantas direcciones permitidas como desee.
2. Proteger a la administración con otra contraseña
Si se conecta a WordPress desde diferentes lugares y no quiere estar limitado por una dirección IP específica, puede usar la contraseña de seguridad. Primero genere un archivo .htpasswds usando un generador en línea y luego cárguelo en una carpeta que no sea públicamente accesible. Lo ideal sería:
/home/user/.htpasswds/public_html/wp-admin/passwd/
Ahora puede acceder al archivo .htaccess, en el que tiene que copiar las siguientes líneas de código:
AuthName "Admins Only"
AuthUserFile /home/yourdirectory/.htpasswds/public_html/wp-admin/passwd
AuthGroupFile /dev/null
AuthType basic
require user putyourusernamehere
<Files admin-ajax.php>
Order allow,deny
Allow from all
Satisfy any
</Files>
Asegúrese de reemplazar la ruta del archivo como "AuthUserFile" por la ruta que corresponde a su estructura de alojamiento web.
3. Deshabilitar carpetas de navegación
Para evitar que los atacantes vean qué archivos están en su alojamiento web, puede desactivar la exhibición pública de carpetas. Este paso es recomendado por la mayoría de los expertos en seguridad.
Para activar, simplemente añada esta única línea al archivo .htaccess:
Options -Indexes
4. Deshabilitar la ejecución de archivos PHP en carpetas seleccionadas de WordPress
Con frecuencia, los atacantes intentan entrar en el sistema de gestión de contenido utilizando el llamado backdoor (backgates). A menudo, este es un archivo que llevará al atacante a colarse en su alojamiento web para que luego pueda ejecutar comandos adicionales y controlar su sitio web.
Una de las soluciones preventivas es insertar el siguiente código en un nuevo archivo .htaccess:
<Files *.php>
deny from all
</Files>
A continuación, cargue el archivo en cada una de las siguientes carpetas:
- /wp-content/uploads/
- /wp-includes/
5. Proteger el archivo de configuración wp-config.php
Uno de los archivos más importantes en su sitio de WordPress es wp-config.php. Incluye acceso a la base de datos, incluidas las contraseñas.
Para proteger el archivo wp.config.php, pegue el siguiente código en el archivo .htaccess principal:
<files wp-config.php>
order allow,deny
deny from all
</files>
6. Deshabilitar el acceso a direcciones IP específicas
¿Ha notado un número inusualmente alto de solicitudes para su sitio web desde direcciones IP específicas? Si cree que este comportamiento es sospechoso, puede bloquear el acceso a su sitio web para direcciones IP específicas.
Añada las siguientes líneas al archivo .htaccess y reemplace xxx por esa dirección IP en concreto:
<Limit GET POST>
order allow,deny
deny from xxx.xxx.xx.x
allow from all
</Limit>
7. Desactivar escáneres en WordPress
La técnica favorita del atacante es el llamado ataque de fuerza bruta. El escaneo comenzará cuando los atacantes detecten los nombres de inicio de sesión de los autores en el sitio web. Después de eso, solo necesitan hacer un ataque de diccionario o de fuerza bruta a sus contraseñas para obtener acceso a su administración de WordPress.
La manera más fácil de hacerlo es bloquear el escaneo de autores a través del archivo .htaccess:
# BEGIN block author scans
RewriteEngine On
RewriteBase /
RewriteCond %{QUERY_STRING} (author=\d+) [NC]
RewriteRule .* - [F]
# END block author scans
8. Deshabilitar el acceso de aplicaciones externas a WordPress
Cada instalación de WordPress oculta el archivo xmlrpc.php. El archivo permite que los servicios de terceros accedan a WordPress. Si no utiliza ninguno de estos servicios, los expertos en seguridad recomiendan que bloquee el acceso a este archivo.
Hay más formas de hacerlo, pero podemos hacerlo de nuevo insertando la siguiente línea de código en .htaccess:
# Block WordPress xmlrpc.php requests
<Files xmlrpc.php>
order deny,allow
deny from all
</Files>
Nuestra sugerencia final: Proteja el propio archivo .htaccess de acceso no autorizado
Como se puede ver arriba, .htaccess puede afectar a muchas cosas. Es por eso que es bueno proteger este archivo de los atacantes. Use las siguientes líneas de código para hacerlo:
<files ~ "^.*\.([Hh][Tt][Aa])">
order allow,deny
deny from all
satisfy all
</files>