barbed-wire-438185_640

¡Prohibido el paso! Ocho trucos esenciales de .htaccess para WordPress

El archivo .htaccess es una poderosa herramienta de configuración para servidores web o paquetes de alojamiento web que siempre debe usarse cuando aloja WordPress usted mismo. El archivo se puede encontrar en el directorio raíz de una instalación de WordPress (donde se encuentran las carpetas wp-content, wp-admin, etc.). En este artículo, explicaremos la configuración básica de los archivos para un WordPress más seguro y mejor, además de los ajustes de sus propios archivos de configuración.

Preparando el .htaccess

En primer lugar, busque el archivo. La siguiente captura de pantalla muestra su ubicación.

htaccess

Es muy importante hacer una copia de seguridad del .htaccess antes de realizar cualquier cambio.

Simplemente copie el archivo en una carpeta nueva/diferente. Una característica de Mac OS X: Mac considera todos los archivos con un punto inicial en su nombre como archivos del sistema, incluido .htaccess. Si arrastra y suelta un archivo de este tipo en el escritorio, se ocultará. Puede usar el pequeño widget del tablero Archivos ocultos para mostrar y ocultar archivos ocultos. El widget funciona bien con Yosemite y con iteraciones anteriores. Actualice su navegador después de cada modificación del .htaccess para asegurarse de que su sitio web aún funcione. Los archivos .htaccess son muy delicados. Solo un parámetro incorrecto puede colapsar su presencia en línea. Si esto te sucede, sube el archivo de copia de seguridad. Por lo general, esto debería resolver el problema.

Que comiencen los fragmentos de código

Agregue los siguientes fragmentos de código al final del archivo .htaccess.

1. Denegar el acceso a .htaccess desde el exterior

Para proteger el importante archivo de control del servidor .htaccess de ataques externos, restringiremos el acceso a (S)FTP.

1
2
3
4
5
# Deny access to .htaccess and .htpasswd if in use
<FilesMatch "(.htaccess)">
  Order deny,allow
  Deny from all
</FilesMatch>

2. Prevenir la vinculación activa de imágenes

El llamado hotlinking de imágenes puede convertirse en un verdadero problema. Hotlinking significa que las personas ni siquiera se molestan en descargar las imágenes de su sitio web para luego vincularlas desde su propio espacio. En su lugar, solo especifique la ruta a su imagen y llámelos desde su sitio a sus páginas, lo que puede ralentizar el rendimiento y robar el ancho de banda necesario. Con el siguiente código, puede evitar fácilmente la vinculación externa. Reemplace «yourwebsite.com» con la URL de su sitio web. La última línea muestra la ruta a una imagen que aparece en lugar de la imagen vinculada. Puede reemplazarlo con cualquier otra imagen. Algunas cosas realmente desagradables se pueden hacer de esta manera 😉

1
2
3
4
5
RewriteEngine on
RewriteCond %{HTTP_REFERER} !^$
RewriteCond %{HTTP_REFERER} !^http(s)?://(www.)?yourwebsite.com [NC]
RewriteCond %{HTTP_REFERER} !^http(s)?://(www.)?yourwebsite.com [NC]
RewriteRule .(jpg|jpeg|png|gif)$ http://i.imgur.com/g7ptdBB.png [NC,R,L]

Tenga en cuenta que si tiene un proveedor de feeds externo como Quemador de alimentaciónes posible que no vea ninguna imagen en el feed.

3. Activar el almacenamiento en caché del navegador

Casi ningún otro método de afinación logra tan buenos resultados como este con tan poco esfuerzo. Muchos archivos grandes de su sitio web prácticamente nunca cambian. Por lo tanto, es una buena idea almacenarlos en la memoria caché del navegador. Los archivos almacenados en caché como CSS o JavaScript se cargan más rápido, ya que solo tienen que cargarse una vez durante la primera visita. Si su visitante regresa al sitio nuevamente (oa cualquier otro sitio por primera vez), el navegador no necesita volver a cargar estos archivos, lo que mejora el rendimiento de carga del sitio web.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
## EXPIRES CACHING ##
<IfModule mod_expires.c>
ExpiresActive On
ExpiresByType image/jpg "access 1 year"
ExpiresByType image/jpeg "access 1 year"
ExpiresByType image/gif "access 1 year"
ExpiresByType image/png "access 1 year"
ExpiresByType text/css "access 1 month"
ExpiresByType text/html "access 1 month"
ExpiresByType application/pdf "access 1 month"
ExpiresByType text/x-javascript "access 1 month"
ExpiresByType application/x-shockwave-flash "access 1 month"
ExpiresByType image/x-icon "access 1 year"
ExpiresDefault "access 1 month"
</IfModule>
## EXPIRES CACHING ##

4. Desterrar las direcciones IP de forma permanente

Es posible que desee eliminar ciertas direcciones IP, ya sea porque alguien intentó piratear la cuenta del administrador o porque alguien dejó comentarios maliciosos (spam). Si conoce su dirección IP, use el siguiente código para desterrar a esa persona de forma permanente, o al menos su dirección IP, o al menos su dirección IP que conoce ;-).

1
2
3
4
5
6
<Limit GET POST>
order allow,deny
deny from 123.456.78.9
deny from 987.654.32.1
allow from all
</Limit>

Tenga en cuenta que debe reemplazar las direcciones IP en el código.

5. Bloquear incluir solo archivos

Hay algunos archivos realmente importantes que nunca deberían ser accesibles desde fuera de WordPress. Proteja sus archivos con el siguiente código:

1
2
3
4
5
6
7
8
9
10
# Block the include-only files.
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteRule ^wp-admin/includes/ - [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]
</IfModule>

Tenga en cuenta que este código no funciona con una instalación multisitio de WordPress.

6. Proteja la carpeta de contenido Wp

La carpeta wp-content es la carpeta más importante de WordPress, ya que contiene sus temas, complementos, imágenes, archivos en caché, etc. Esto la convierte en el principal objetivo de los piratas informáticos, por lo que debe estar bien protegida. Cree un archivo .htaccess separado, agregue el siguiente código y cargue el archivo en la carpeta wp-content (www.yourwebsite/wpcontent/).

1
2
3
4
5
Order deny,allow
 Deny from all
 <Files ~ ".(xml|css|jpe?g|png|gif|js)$">
 Allow from all
 </Files>

7. Deshabilite la interfaz XML-RPC

Con la interfaz XML-RPC, puede administrar WordPress con programas externos y publicar artículos o editar comentarios. Estos incluyen aplicaciones móviles para iOS, Android y Co., así como Windows LiveWriter y otro software. La interfaz también se puede utilizar para ataques DDoS, que pueden cerrar su sitio web. Debe desactivar la interfaz con una entrada corta en .htaccess:

1
2
3
4
<Files xmlrpc.php>
  Order Deny,Allow
  Deny from all
</Files>

Use el código anterior solo si su sitio web no tiene funcionalidad de blog porque los trackbacks tampoco tendrán acceso. Si tienes un blog o quieres usar tu WordPress con aplicaciones móviles, usa el siguiente código para proteger la interfaz:

1
2
3
4
5
6
7
8
9
10
11
12
<IfModule mod_setenvif.c>
  <Files xmlrpc.php>
    BrowserMatch "Poster" allowed
    BrowserMatch "WordPress" allowed
    BrowserMatch "Windows Live Writer" allowed
    BrowserMatch "wp-iphone" allowed
    BrowserMatch "wp-android" allowed
    Order Deny,Allow
    Deny from All
    Allow from env=allowed
  </Files>
</IfModule>

En este ejemplo, los siguientes clientes están desbloqueados (de arriba a abajo):

  • Póster
  • Blogs de WordPress
  • Escritor de Windows Live
  • WordPress para iOS
  • WordPress para Android

Elimine los clientes que no necesita. También puede agregar nuevos agentes de usuario y desbloquearlos.

Fuente: Sergej Müller – Proteja la interfaz XML-RPC de WordPress con .htaccess

8. PHP – Informes de error de bloque

Este es un punto muy importante. Cuando PHP envía un informe de error, la ruta del archivo se vuelve visible. Sergej Müllers lo describe de la siguiente manera: «En los blogs de WordPress es bastante fácil (indirectamente) cree un error de PHP para obtener un informe de error y una ruta, sin ser un administrador o un experto. Llamar ciertos archivos del núcleo o complemento de WordPress en la barra de direcciones del navegador crea errores fatales de PHP (porque faltan las funciones de WordPress necesarias y referenciadas). Si la configuración del servidor o PHP permite que se muestren errores, aparecerán en el navegador. Casi nadie puede descifrar los informes de errores, pero son información valiosa para que los piratas informáticos encuentren agujeros y aprovechen al máximo».

Resuelva este problema con una simple adición al archivo .htaccess:

1
php_flag display_errors Off

Por último, no menos importante

También debe bloquear el acceso externo a algunos archivos importantes por la sencilla razón de que usted es el único que necesita acceder a estos archivos. El último fragmento de código protege su sitio web de vulnerabilidades de URL: ataques basados ​​en URL. Utilizo este código para todos mis sitios web.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
# ----------------------------------------------------------------------
# Important safety settings
# ----------------------------------------------------------------------	

#Block important files from outside access
<files install.php>
Order allow,deny
Deny from all
</files>

<files wp-config.php>
Order allow,deny
Deny from all
</files>

# PROTECT readme.html
<files readme.html>
 Order Allow,Deny
 Deny from all
 Satisfy all
</Files>

# PROTECT readme.html for DE edition
<Files readme.html>
 Order Allow,Deny
 Deny from all
 Satisfy all
</Files>

<files error_log>
Order allow,deny
Deny from all
</files>

# Block URL based exploits 
RedirectMatch 403 [
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
# Ban double slashes in all URLs 
RewriteCond %{THE_REQUEST} ^[A-Z]+ /(([^/ ]+/)*)/+([^ ]*)
RewriteRule ^ /%1%3 [L,R=301]
</IfModule>

Conclusión

Solo toma unos minutos hacer que su sitio web de WordPress sea más seguro y rápido con estos fragmentos de código. Si bien los piratas informáticos tendrán dificultades para atacar su sitio web, sus lectores pueden disfrutar de un mejor rendimiento de carga; gracias a un almacenamiento en caché activo del navegador.

enlaces relacionados

(dpe)

#Prohibido #paso #Ocho #trucos #esenciales #htaccess #para #WordPress

Publicaciones Similares

Deja una respuesta

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