Cómo proteger WordPress desde el archivo .htaccess

Cómo proteger WordPress desde el archivo .htaccess

Cómo proteger WordPress desde el archivo .htaccess. El famoso WordPress es bastante seguro sobre todo para la mayoría de las personas, pero hay un pero, están los Hacker, que conocen al dedillo las tripas de cualquier software conocido y su trabajo es entrar en sitios ajenos. Por eso te recomiendo que leas este post, es más fácil de lo que piensas.


Primero un pequeño repaso a lo que es el archivo htaccess. El archivo .htaccess es un archivo de configuración en servidores Apache, permitiendo configurar políticas de acceso, mejorando la seguridad del portal web, y evitando accesos indeseados. Podemos configurar nuestro portal para hacerlo seguro, no listar carpetas, redireccionar, prohibir accesos… todo de una manera sencilla.

Manos a la obra, configurar .htaccess?

Escucha el Podcast de este articulo
Cómo proteger WordPress desde el archivo .htaccess

Desde cualquier Cliente FTP como puede ser FileZilla, accederemos a nuestro servidor web, y en la carpeta raíz /public_html/ encontraremos el famoso .htaccess. Lo primero, y muy importante, es hacer una copia del archivo, si algo va mal solo hay que restaurarlo.

Con un editor de texto puro, editaremos o crearemos un archivo htaccess.txt para escribir en él, nuestras modificaciones. Una vez lo tengamos modificado, hay que subirlo a nuestro servidor, tal cual, una vez allí lo renombramos, con el nombre correcto .htaccess, para luego probar si todo está correcto.

Códigos del archivo .htaccess para mejorar la seguridad de WordPress (CMS).

Aquí dejo las lineas de código, que te ayudarán tener el portal más seguro, bloquear accesos y proteger archivos frágiles como son: wp-config.php o el .htaccess.

Archivo .htaccess por defecto que incluye la instalación de WordPress

# BEGIN WordPress

RewriteEngine On
RewriteBase /
RewriteRule ^index\.php$ – [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]

# END WordPress

Añadir líneas de texto después de #END WordPress y realiza una copia de tu archivo .htaccess por si algo te sale mal.

BLOQUEAR IPS CONCRETAS
# Bloquear direcciones IP
<Limit GET POST>
order allow,deny
deny from IP_ADDRESS_1
deny from IP_ADDRESS_2
allow from all
</Limit>

BLOQUEAR SERVIDORES CONCRETOS

# Bloquear servidores de spam
SetEnvIfNoCase Referer darodar.com spambot=yes
SetEnvIfNoCase Referer econom.co spambot=yes
Order allow,deny
Allow from all
Deny from env=spambot

DESACTIVA LA NAVEGACIÓN POR DIRECTORIO

# Desactivar navegación por directorio
Options All -Indexes

PERMITIR SOLO CIERTO TIPO DE ARCHIVO DE WP-CONTENT
Hay que crear un nuevo archivo .htaccess con el código de abajo, y subirlo a la carpeta wp-content. Es reutilizable.

# Desactivar acceso a archivos excepto los siguientes
Order deny,allow
Deny from all
<Files ~ ".(xml|css|js|jpe?g|png|gif|pdf|docx|rtf|odf|zip|rar)$">
Allow from all
</Files>

RESTRINGIR ACCESO A WP-INCLUDES

# Bloquea acceso a wp-includes
<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]

PERMITIR SOLO A UNAS IPS ACCEDER AL ADMIN

# Restringir logins en admin por IP
<Limit GET POST PUT>
order deny,allow
deny from all
allow from 302.143.54.102
allow from IP_ADDRESS_2
</Limit>

PROTEGER WP-CONFIG.PHP Y .HTACCESS

# Denegar acceso a wp-config.php
<files wp-config.php>
order allow,deny
deny from all
</files>
# Denegar acceso a archivos .htaccess
<files ~ "^.*\.([Hh][Tt][Aa])">
order allow,deny
deny from all
satisfy all
</files>

BLOQUEAR HOTLINKING

# Denegar hotlinking a imagenes
RewriteEngine on
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]

ACTIVAR LA CACHÉ DEL NAVEGADOR

# Activar caché del navegador
<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 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 2 days"
</IfModule>

REDIRIGIR TODO EL TRÁFICO A UNA PÁGINA

# Redirige todo el tráfico a maintenance.html
RewriteEngine on
RewriteCond %{REQUEST_URI} !/maintenance.html$
RewriteCond %{REMOTE_ADDR} !^123\.123\.123\.123
RewriteRule $ /maintenance.html [R=302,L]
Descarga el fichero .htaccess listo para subirlo a tu portal.
Nota: Haz click con el botón derecho del mouse, y luego guardar enlace como…
Jesús Fernández - ProduccionesJFP

AutorJesús Fernández
Programador informático de profesión me dedico a tiempo completo al diseño Web y aplicaciones de escritorio sobre bases de datos. Mi hobbi y pasión es la fotografía, donde busco la creatividad y lo artístico de cada imagen.
Suscribirse por Email a mi portal de EsNoticiaWeb o al canal de noticias RSS y no te pierdas los artículos que realizamos para ti, con fotografías, vídeos y entrevistas a cargo de Producciones JFP y por el canal de vídeo YouTube.
¡Déjanos tu comentario!
Tu opinión es muy importante para nosotros, deja tu comentario, pregunta, sugerencia o crítica. Con este gesto nos ayudas a mejorar y crear mejores contenidos. ¡Animate!.
Compartir Share on FacebookShare on Google+Tweet about this on TwitterPin on PinterestEmail this to someone

Deja un comentario

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