Los mejores fragmentos de .htaccess para mejorar la seguridad de WordPress

La seguridad de WordPress es uno de los factores más debilitados entre los bloggers novatos. En una instalación de WordPress no supervisada, hay bastantes vulnerabilidades potenciales que se dejan desatendidas. La mayoría de los tutoriales de instalación de WordPress explican una manera rápida y fácil de implementar WordPress en minutos. Pero se pierden algunos factores de seguridad importantes. Por ejemplo, la exploración de directorios y el uso del nombre de usuario “admin” se consideran lagunas de seguridad graves. Hoy vamos a echar un vistazo a 10 fragmentos de código de acceso que ayudarán a mejorar la seguridad de su blog de WordPress. Antes de comenzar, veamos rápidamente qué es el archivo htaccess.


¿Cuál es el archivo .htaccess??

Un archivo htaccess es un archivo de configuración opcional para que el servidor web Apache interprete, para cada directorio. Puede almacenar varias configuraciones en ese archivo, como: proteger con contraseña un directorio, bloquear direcciones IP, bloquear un archivo o carpeta del acceso público, etc. Tradicionalmente, el archivo .htaccess está presente en el directorio de instalación base de WordPress. Almacena la estructura de enlace permanente por defecto.

PROPINA: Antes de comenzar con el tutorial, asegúrese de hacer una copia de seguridad del archivo .htaccess actual (si está presente) en un servicio de almacenamiento en la nube como Dropbox. Esto es para retroceder al último archivo .htaccess que funciona, si un fragmento de código determinado rompe su sitio. Vamos a empezar.

1. Bloquear Bots malos

malos bots

Uno de los mejores usos del archivo .htaccess es su capacidad de denegar el acceso a su sitio a múltiples direcciones IP. Esto es útil al bloquear spammers conocidos y otros orígenes de acceso sospechoso o malicioso. El codigo es:

# Bloquear una o más direcciones IP.
# Reemplace IP_ADDRESS_ * con la IP que desea bloquear


orden permitir, negar
negar desde IP_ADDRESS_1
negar desde IP_ADDRESS_2
permitir de todos

Donde IP_ADDRESS_1 es la primera IP que desea evitar que acceda a su sitio. Puede agregar tantas direcciones IP como desee. No importa qué agentes de usuario (navegadores) utilicen estas direcciones IP, no podrán acceder a un solo archivo desde su servidor. El servidor web negará automáticamente todo acceso.

2. Desactivar la exploración de directorios

wordpress htaccess hack deshabilitar la exploración de directorios

Este es uno de los defectos de seguridad más socavados en un sitio de WordPress. Por defecto, el servidor web Apache habilita la exploración de directorios. Esto significa que todos los archivos y carpetas dentro del directorio raíz (a veces llamado el directorio de inicio) del servidor web pueden ser alistados y accesibles por un visitante. No desea eso porque no desea que las personas naveguen a través de sus cargas multimedia o sus archivos de tema o complemento.

Si al azar elijo 10 sitios web personales o comerciales que ejecutan WordPress, 6-8 de ellos no tendrán la navegación del directorio desactivada. Esto permite nadie olfatear fácilmente wp-content / uploads carpeta o cualquier otro directorio que no tenga el predeterminado index.php archivo. De hecho, la captura de pantalla que ves es de uno de los sitios de mi cliente, antes de recomendar la solución. Fragmento de código para deshabilitar la exploración de directorios:

# Deshabilitar la exploración de directorios
Opciones Todos-Índices

3. Permitir solo archivos seleccionados de wp-content

shutterstock_108312266

Como sabes el wp-content La carpeta contiene la mayoría de sus temas, complementos y todas las cargas de medios. Ciertamente no desea que las personas accedan sin restricciones. Además de deshabilitar la exploración de directorios, también puede denegar el acceso a todos los tipos de archivos, excepto algunos. En esencia, puede desbloquear selectivamente archivos como JPG, PDF, DOCX, CSS, JS, etc. y negarlos del resto. Para hacer esto, pegue este fragmento de código en su archivo .htaccess:

# Desactiva el acceso a todos los tipos de archivos, excepto los siguientes
Orden negar, permitir
Negar todo

Permitir de todos

Debe crear un nuevo archivo .htaccess con el código y pegarlo en el wp-content carpeta. No coloque esto en el directorio de instalación base; de ​​lo contrario, no funcionará. También puede agregar cualquier tipo de archivo a la lista agregando un “| después de” rar “. La lista anterior contiene los archivos necesarios: XML, CSS y JavaScript, formatos comunes de imágenes y documentos y, finalmente, los formatos de archivo más utilizados..

4. Restrinja todos los accesos a wp-includes

shutterstock_135573032

los wp-incluye carpeta contiene solo los archivos que son estrictamente necesarios para ejecutar la versión principal de WordPress, uno sin complementos ni temas. Recuerde, el tema predeterminado aún reside en wp-content / theme directorio. Por lo tanto, ningún visitante (incluido usted) debe requerir acceso al contenido del wp-include carpeta. Puede deshabilitar el acceso con este fragmento de código siguiente:

# Bloquear wp-incluye carpeta y archivos

RewriteEngine On
RewriteBase /
RewriteRule ^ wp-admin / incluye / - [F, L]
RewriteRule! ^ Wp-includes / - [S = 3]
RewriteRule ^ wp-includes / [^ /] + \. Php $ - [F, L]
RewriteRule ^ wp-includes / js / tinymce / langs /.+ \. Php - [F, L]
RewriteRule ^ wp-includes / theme-compat / - [F, L]

5. Permita que solo las direcciones IP seleccionadas accedan a wp-admin

shutterstock_140373169

los wp-admin La carpeta contiene los archivos necesarios para ejecutar el panel de WordPress. En la mayoría de los casos, sus visitantes no necesitan acceso al panel de WordPress, a menos que quieran registrar una cuenta. Una buena medida de seguridad es habilitar solo unas pocas direcciones IP seleccionadas para acceder a wp-admin carpeta. Puede permitir las direcciones IP de las personas que necesitan acceso al panel de WordPress: editores, colaboradores y otros administradores. Este fragmento de código permite que solo las IP fijas accedan a wp-admin carpeta y niega el acceso al resto del mundo.

# Limite los inicios de sesión y el administrador por IP

orden negar, permitir
Negar todo
permitir desde 302.143.54.102
permitir desde IP_ADDRESS_2

Asegúrese de crear un nuevo archivo .htaccess y péguelo en la carpeta wp-admin y no en el directorio de instalación base. Si es lo último, nadie, excepto usted, podrá navegar por su sitio, ¡ni siquiera los motores de búsqueda! Ciertamente no quieres eso. Algunas desventajas de esta medida son las siguientes:

  • Si su sitio permite o promueve Registro de nuevo usuario, Sería casi imposible hacer un seguimiento de la cantidad de usuarios. Por ejemplo, en WPExplorer, si desea descargar nuestros increíbles temas gratuitos, debe registrarse.
  • Personas con direcciones IP dinámicas (la mayoría de los usuarios de banda ancha ADSL que utilizan protocolos PPP o PPPoE) cambian sus IP cada vez que cierran sesión e inician sesión en su ISP. Ciertamente, no sería práctico realizar un seguimiento de todas estas IP y agregarlas al archivo htaccess.
  • Banda ancha móvil: Ya sea que esté en 3G o 4G, su dirección IP depende de la torre celular actual a la que esté conectado. Digamos que viaja: su IP cambiará constantemente con cada par de millas que se mueva desde el origen. Nuevamente, hacer un seguimiento del archivo htaccess es casi imposible.
  • Puntos de acceso Wi-Fi públicos: El uso de credenciales cuando está conectado a Internet mediante un punto de acceso Wi-Fi público es un gran no-no, ya que un niño con un software pequeño puede extraer cada carácter que escriba. Sin mencionar que cada punto de acceso Wi-Fi tendrá una dirección IP única..

Afortunadamente, todas estas desventajas (excepto la primera), pueden rectificarse mediante el uso de una VPN. Si configura su VPN para que se conecte utilizando solo una dirección IP, puede agregarla a su archivo htaccess y todos sus problemas se resolverán.

6. Proteja wp-config.php y .htaccess de todos

WordPress-ecommerce-security-shopping-tips

los wp-config.php El archivo contiene las credenciales de acceso más sensibles de su sitio de WordPress. Contiene el nombre de la base de datos y las credenciales de acceso y varios otros datos críticos, entre otras configuraciones. Bajo ninguna circunstancia desea que otras personas busquen este archivo. Y, por supuesto, desea deshabilitar el acceso público a la fuente de toda esta seguridad: la .htaccess archivo en sí. Puede deshabilitar el acceso a wp-config.php con este siguiente código:

# Denegar el acceso al archivo wp-config.php

orden permitir, negar
Negar todo

Para denegar el acceso a todos los archivos htaccess (recuerde que algunos pueden residir en wp-admin y otras carpetas), use este fragmento de código:

# Denegar el acceso a todos los archivos .htaccess

orden permitir, negar
Negar todo
satisfacer a todos

7. Denegar Hotlinking de imagen

enlace directo de imagen

Uno de los mejores trucos de archivos .htaccess, este envía raspadores de contenido con la cola entre las piernas. Cuando alguien usa la imagen de su sitio, su ancho de banda se consume y la mayoría de las veces, ni siquiera se le acredita. Este fragmento de código elimina ese problema y envía esta imagen cuando se detecta un enlace activo.

# Prevenir el script de hotlinking de imagen. Reemplace la última URL con cualquier enlace de imagen que desee.
RewriteEngine en
RewriteCond% {HTTP_REFERER}! ^ $
RewriteCond% {HTTP_REFERER}! ^ Http (s)?: // (www \.)? Yourwebsite.com [NC]
RewriteCond% {HTTP_REFERER}! ^ Http (s)?: // (www \.)? Yourotherwebsite.com [NC]
RewriteRule \. (Jpg | jpeg | png | gif) $ http://i.imgur.com/MlQAH71.jpg [NC, R, L]

8. Habilitar el almacenamiento en caché del navegador

lista de navegadores web

También conocido como almacenamiento en caché del lado del cliente, este truco .htaccess habilita las opciones recomendadas de almacenamiento en caché del navegador para su sitio de WordPress. También puede usarlo en otros proyectos: sitios HTML, etc..

# Configurar el almacenamiento en caché del navegador

ExpiresActive On
ExpiresByType image / jpg "acceso 1 año"
ExpiresByType image / jpeg "acceso 1 año"
ExpiresByType image / gif "acceso 1 año"
ExpiresByType image / png "acceso 1 año"
ExpiresByType text / css "acceso 1 mes"
ExpiresByType application / pdf "acceso 1 mes"
ExpiresByType text / x-javascript "acceso 1 mes"
Aplicación ExpiresByType / x-shockwave-flash "access 1 month"
ExpiresByType image / x-icon "acceso 1 año"
Caduca por defecto "acceso 2 días"

9. Redireccionar a una página de Mantenimiento

shutterstock_93288208

Cuando migra webhosts o realiza alguna tarea de mantenimiento, siempre se recomienda crear un archivo HTML estático “inactivo por mantenimiento” para informar a sus visitantes que el sitio web se está sometiendo a una operación de actualización o mantenimiento. Simplemente cree un archivo maintenance.html (o cualquier otro nombre de archivo) y cárguelo en el directorio base de instalación de WordPress. Pegue el siguiente fragmento en su archivo .htaccess. Una vez que finaliza la operación, asegúrese de eliminar o comentar estas líneas para volver a la operación general. Puede comentar agregando un ‘#’ al comienzo de cada línea.

# Redirigir todo el tráfico al archivo maintenance.html
RewriteEngine en
RewriteCond% {REQUEST_URI}! /Maintenance.html$
RewriteCond% {REMOTE_ADDR}! ^ 123 \ .123 \ .123 \ .123
RewriteRule $ /maintenance.html [R = 302, L] 

10. Páginas de error personalizadas

Plantilla 404

También puede usar el archivo .htaccess para configurar páginas de error personalizadas fáciles de usar para errores como 403, 404 y 500. Una vez que haya preparado su página de error, digamos error.html, cárguela en su directorio de instalación base de WordPress. Luego, agregue el siguiente fragmento de código a su archivo .htaccess para habilitar la página de error personalizada:

# Página de error personalizada para el error 403, 404 y 500
ErrorDocument 404 /error.html
ErrorDocument 403 /error.html
ErrorDocument 500 /error.html

Conclusión:

Hoy hemos aprendido algunos de los mejores hacks de htaccess para fortalecer su sitio de WordPress. Le sugiero que pruebe cada módulo uno por uno mientras realiza una copia de seguridad del archivo .htaccess antes y después de probar cada módulo. Esto se debe a que el archivo .htaccess es muy crítico. Falta un carácter “#” o está fuera de lugar ‘“Podría destruir la integridad de su sitio. Si accede a su panel de WordPress con frecuencia sobre la marcha, se recomienda no habilitar direcciones IP selectivas en su wp-admin carpeta.

A ti, ¿cuál es tu opinión sobre esta publicación? ¿Crees que vale la pena editar el archivo htaccess? ¿Conoces un mejor consejo de seguridad? Nos encantaría saber de ti.

Jeffrey Wilson Administrator
Sorry! The Author has not filled his profile.
follow me