Como configurar .htaccess para evitar hackeos en wordpress

El fichero .htaccess (fichero de acceso a hipertexto) es un archivo de configuración del nivel de directorio que permite la gestión descentralizada de la configuración del servidor web. Un archivo .htaccess es siempre agregado en el directorio raíz y con él se pueden modificar muchos parámetros de configuración de WordPress, como pueden ser:

  • La configuración del servidor (server’s global configuration)
  • El tipo de contenido (content type)
  • El conjunto de caracteres (character set)

Con todas estas propiedades el archivo .htaccess se convierte en clave que garantizar y mejorar la funcionalidad de las páginas web y blogs que tengan una instalación WordPress.

 

El archivo .htaccess es vital para hacer un buen trabajo de posicionamiento en motores de búsqueda. Como consultor SEO, a la hora de posicionar una página o blog en los motores de búsqueda como Google, lo uso para:

  • Crear redirecciones: Por ejemplo para un trabajo de cambio de dominio, donde habría que mantener las visitas del anterior dominio
  • Mejora de la velocidad de carga habilitando la compresión con .htaccess: Es un apartado que muy pocas páginas web usan y que da muy buenos resultados
  • Reescritura de enlaces (URL)
  • Soluciones al contenido duplicado: Por ejemplo capando los accesos a ciertos contenidos para que ya no estén duplicados
  • Moderar comentarios
  • Un largo etc

Cuando instalas WordPress se crea un fichero .htaccess que WordPress usa por defecto, pero ese fichero puede ser mejorado, utilizando consejos como los que te ofrezco a continuación. Ten cuidado al implementarlos, y siempre guarda una copia de seguridad antes de cambiar nada, por si tienes que volver hacia atrás :) .

A continuación vamos con unos cuantos trucos traducidos de “20 htaccess hacks to prevent your WordPress site from hacking“ para saber cómo configurar y optimizar .htaccess para evitar “Hackeos” que dificultarán y evitarán en gran medida la piratería en tu página web o blog en WordPress. Algunos de estos consejos son para:

  • Bloquear direcciones IP específicas
  • Redirigir las visitas a la página de mantenimiento cuando se está rediseñando una página web o blog en particular
  • Restringir direcciones IP para que nadie pueda acceder al panel de administración de tu WordPress
  • Muchos otros trucos o consejos para configurar y optimizar el archivo .htaccess en WordPress.

Antes de seguir, tengo que dejar claro que en este artículo muestro los consejos más importantes para configurar .htaccess para evitar “Hackeos”, pero si lo que quieres es profundizar en el tema y configurar correctamente tu fichero .htaccess no puedes dejar de leer la guía de referencia de .htaccess (en inglés).

Apache puede ser utilizado para bloquear usuarios o bots indeseados a nuestra página web o blog. Este código permite visitar la página web o blog a cualquier persona, excepto a quien tenga las siguientes direcciones IP (cambiar las IPs con las IPs que quieras bloquear):

order allow,deny
allow from all
deny from 123.456.789
deny from 93.121.788
deny from 223.956.789
deny from 128.456.780

Seguridad en WordPress Como configurar htaccess para evitar Hackeos redirecciones 301

Seguridad en WordPress: Cómo configurar .htaccess para evitar “Hackeos”: Redirecciones 301

Lo primero que debes de hacer es acceder a tu panel de administración de WordPress, ir a Ajustes → Enlaces permanentes (permalinks) y seleccionar “personalizar”. Rellena el campo con /% postname%/:

Ahora tenemos que redirigir todos los backlinks (enlaces entrantes) usando la antigua estructura de enlaces permanentes (permalinks) a la nueva estructura de enlaces permanentes. Para ello, tendrás que editar el archivo .htaccess. e insertar las siguiente líneas de código:

RedirectMatch 301 /([0-9]+)/([0-9]+)/([0-9]+)/(.*)$ http://www.xxx.com/$4

Si quieres configurar unos enlaces permanentes más óptimos, te aconsejo cambiar /% postname%/ por /% category%/% postname%/.

RewriteEngine on
RewriteCond %{REQUEST_URI} !/maintenance.html$
RewriteCond %{REMOTE_ADDR} !^123.123.123.123
RewriteRule $ /maintenance.html [R=302,L]

Seguridad en WordPress Como configurar htaccess para evitar Hackeos redirecciones 301

Redirecciones 301 .htaccess

RewriteEngine On
RewriteBase /
RewriteCond %{HTTP_HOST} ^yourblogname.com [NC]
RewriteRule ^(.*)$ http://www.yourblogname.com/$1 [L,R=301]
RewriteEngine On
RewriteBase /
RewriteCond %{HTTP_HOST} ^www.yourblogname.com [NC]
RewriteRule ^(.*)$ http://yourblogname.com/$1 [L,R=301]

RewriteEngine On
RewriteCond %{HTTP_HOST} ^yourblogname.com$ [NC]
RewriteRule ^(.*)$ http://www.yourblogname.com/$1 [R=301,L]

Este truco redirecciona http://www.tupaginaweboblog.com/feed a http://feeds.feedburner.com/tupaginaweboblog.

RewriteEngine on
RewriteCond %{HTTP_USER_AGENT} !FeedBurner    [NC]
RewriteCond %{HTTP_USER_AGENT} !FeedValidator [NC]
RewriteRule ^feed/?([_0-9a-z-]+)?/?$ http://feeds.feedburner.com/webanddesigners [R=302,NC,L]

RewriteEngine on
RewriteCond %{HTTP_USER_AGENT} !FeedBurner    [NC]
RewriteCond %{HTTP_USER_AGENT} !FeedValidator [NC]
RewriteRule ^comments/feed/?([_0-9a-z-]+)?/?$ http://feeds.feedburner.com/webanddesigners [R=302,NC,L]

Seguridad en WordPress Como configurar htaccess para evitar Hackeos redirecciones 301

Redirecciones .htaccess

Utiliza el siguiente código para redirigir a una página específica sin mostrar la antigua página de error.

Redirect 301 /abc/file.html http://www.yourblogname.com/def/file.html

Este código para el .htaccess no ayudará en la carga inicial de la página web o blog, pero si lo hará significativamente en posteriores cargas enviando estados 304 cuando los elementos solicitados no se hayan modificado.

FileETag MTime Size
ExpiresActive on
ExpiresDefault "access plus x seconds"

Reemplaza la IP de la línea de código “with allow from xx.xx.xx.xx” con la tuya para que sólo tu IP pueda acceder al panel de administración wp-admin de wordpress.

AuthUserFile /dev/null
AuthGroupFile /dev/null
AuthName "Wordpress Admin Access Control"
AuthType Basic
order deny,allow
deny from all
allow from xx.xx.xx.xx

Simple truco para evitar que los spammers publiquen o ataquen tu página web o blog.

RewriteEngine On
RewriteCond %{REQUEST_METHOD} POST
RewriteCond %{REQUEST_URI} .wp-comments-post.php*
RewriteCond %{HTTP_REFERER} !.*yourblog.com.* [OR]
RewriteCond %{HTTP_USER_AGENT} ^$
RewriteRule (.*) ^http://%{REMOTE_ADDR}/$ [R=301,L]

Para bloquear ciertas direcciones IP para evitar que accedan a tu página web o blog, añade las siguientes líneas de código en tu archivo .htaccess y sustituye la dirección IP del ejemplo con la que quieras bloquear.

## USER IP BANNING
order allow,deny
deny from 200.49.176.139
allow from all

El archivo wp-config.php de WordPress incluye toda la información importante, como el nombre de base de datos. Es vital tenerlo bien protegido.

# protect wpconfig.php
order allow,deny
deny from all

Para limitar el tamaño de los archivo que subes en wordpress hasta 20MB, utiliza el siguiente código:

# limit file uploads to 10mb
LimitRequestBody 10240000

# custom error pages
ErrorDocument 401 /err/401.php
ErrorDocument 403 /err/403.php
ErrorDocument 404 /err/404.php
ErrorDocument 500 /err/500.php

Para añadir una barra al final de tus enlaces (URLs), inserta el siguiente código en tu archivo .htaccess:

RewriteBase /
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_URI} !#
RewriteCond %{REQUEST_URI} !(.*)/$
RewriteRule ^(.*)$ http://domain.com/$1/ [L,R=301]

Seguridad en WordPress Como configurar htaccess para evitar Hackeos acceso denegado

Acceso denegado .htaccess

Una forma sencilla de proteger mediante contraseña los directorios de tus blogs.

AuthType Basic
AuthName "restricted area"
AuthUserFile /usr/local/var/www/html/.htpasses
require valid-user

Este truco puede ser útil para auto-corregir errores ortográficos de tus enlaces (URLs).

CheckSpelling On

Los plugins de wordpress suelen tener “puertas traseras” y suelen ser sitios por los que los hackers pueden entrar en tu página web o blog. Para evitar que otras personas tengan acceso directo a los archivos de tus plugins usa el siguiente código:

order allow,deny
allow from all

Leer más:http://ignaciosantiago.com/blog/web/seguridad-en-wordpress-como-configurar-htaccess-para-evitar-hackeos/#ixzz2SXC9BCCR
Gracias por compartir 🙂
Under Creative Commons License: Attribution Non-Commercial Share Alike
Follow us: @ignaciosantiago on Twitter |Ignaciosantiagop on Facebook

Deja una respuesta