Entradas

,

Protege tu WordPress con htaccess

A continuación os muestro algunos snippets para el archivo htaccess, estos snippets han sido extraídos de un artículo de Paul Maloney en netmagazine.com.

Para proteger tu WordPress existen muchos de plugins de seguridad, como el WP Security Scan,Wordfence Security o Better WP Security, como alternativa a estos y otros plugins,  puedes hacer uso del archivo .htaccess que se encuentra ubicado en la raiz de tu sitio y puedes acceder a él fácilmente desde cualquier gestor FTP, normalmente oculto.

Cómo configuro el archivo .htaccess

El archivo .htaccess de WordPress por defecto es similar a esto:

# BEGIN WordPress
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteRule ^index\.php$ – [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
</IfModule>
# END WordPress

Para agregar contenido a .htaccess lo normal es hacerlo después la linea [code_text]# END WordPress[/code_text] con esto nos aseguramos de no romper ninguna de las funciones que WordPress crea por defecto.

También es aconsejable guardar una copia de nuestro archivo htaccess antes de hacer cualquier cambio.

Snippets para htaccess

1 – Proteger wp-config.php

wp-config.php es el archivo que almacena información de tu sitio y algunos detalles importantes de la base de datos, por lo que no interesa que caiga en manos equivocadas.

En tu htaccess agrega lo siguiente para prevenir cualquier acceso al archivo wp-config.php:

<Files wp-config.php>
order allow,deny
deny from all
</Files>

2 – Acceso de administración solo para tu IP

Puedes limitar el acceso a través de IP, para ello tendrías que crear un archivo htaccess y colocarlo en la carpeta wp-admin, con este snippet deniegas el acceso a esa carpeta excepto tu IP, ojo porque si tienes una IP dinámica deberás modificarlo periodicamente o de lo contrario te denegarás el acceso a tí mismo.

order deny,allow
allow from 202.090.21.1 (reemplazar con tu dirección IP)
deny from all

3 – Banear usuarios

Si tienes una IP que constantemente intenta acceder a tu sitio de forma ilícita puedes hacer uso de este snippet para bloquear sus intenciones.

<Limit GET POST>
order allow,deny
deny from 202.090.21.1 (reemplazar con la dirección IP que quieras banear)
allow from all
</Limit>

Puedes añadir más IPs repitiendo la linea “deny”:

<Limit GET POST>
order allow,deny
deny from 202.090.21.1 (reemplazar con la dirección IP que quieras banear)
deny from 202.090.21.2 (reemplazar con la dirección IP que quieras banear)
allow from all
</Limit>

4- Evita que examinen tus directorios

Debido a la popularidad de WordPress muchos ya conocen la estructura de sus directorios por lo que pueden navegar fácilmente entre ellos sin limitaciones, con este snippet evitarás esto.

Options All -Indexes

5- Prevenir acceso a la carpeta wp-content

La carpeta wp-content contiene imágenes, temas y plug-ins por lo que es una carpeta muy importante dentro de tu WordPress, así que es aconsejable evitar cualquier acceso no autorizado a ella.

Esto requerirá crear un htaccess propio que debe agregarse a la carpeta wp-content.

Order deny,allow
Deny from all
<Files ~ “.(xml|css|jpe?g|png|gif|js)$”>
Allow from all
</Files>

6- Protección del htaccess

Aunque suene raro, el archivo htaccess también es vulnerable, a pesar de preocuparnos por nuestro sitio y nuestros ficheros, también debemos hacerlo por htaccess.

<Files ~ “^.*\.([Hh][Tt][Aa])”>
order allow,deny
deny from all
satisfy all
</Files>


Estos snippets para htaccess cubren vulnerabilidades importantes de tu web o blog, no son los únicos, en esta web encontrarás algunos más y si buscas en la red hay multitud pero recuerda siempre guardar una copia de tu fichero actual.