miércoles, 3 de octubre de 2012

Proteger WordPress de Ataques externos

Recientemente recibí un ataque en mi sitio web, primero fue bloqueado por google con la ”Advertencia: Algo falla aquí: www.misitioweb.com contiene software malicioso. Tu ordenador podría infectarse con un virus si accedes a este sitio”. Para solucionar elimine toda la carpeta de archivos y restaure una copia desde mi servidor con “Server Rewind”. Fui a herramientas de webmaster de google y pedí una nueva revisión, y en menos de una hora ya estaba solucionado, aunque ya tenía algunas pautas de seguridad en mi sitio, decidí buscar opciones para evitar que esto vuelva a suceder.

Me encontré con este plugin BETTER WP SECURITY lo instalé y me permitió revisar y mejorar las condiciones de seguridad de mi sitio, pueden optar por la forma manual o permitir que el haga todas las mejoras. Recomendación vayan despacio realicen un cambio y comprueben que su sitio esté funcionando, paso a paso si algo falla podrán volver atrás con los cambios y recuperar el sitio.

Mantener la versión actualizada de wordpress es siempre una excelente recomendación !

Qué hacer con el archivo .htaccess

Además de revisar el sitio con el plug-in también se deben tener en cuenta ciertas seguridades en el archivo .htaccess.  Recuerde que estas modificaciones pueden afectar la funcionalidad del sitio:

La típica configuración de wordpress para   .htaccess se ve así: 


# BEGIN WordPress
<IfModule mod_rewrite.c>RewriteEngine OnRewriteBase /RewriteRule ^index\.php$ - [L]RewriteCond %{REQUEST_FILENAME} !-fRewriteCond %{REQUEST_FILENAME} !-dRewriteRule . /index.php [L]</IfModule>
# END WordPress

Cualquier modificación que realice hágala luego de # END WordPress y realice una copia antes de modificarlo, si algo falla restaure la que funcionaba. 

Proteja el archivo wp-config: 

Este archivo está en la raíz de su directorio , almacena información importante sobre su sitio, con detalles de acceso a la base de datos, por esto es muy importante impedir que manos extrañas tengan acceso a este archivo.  Adicione el siguiente código en su archivo .htaccess para evitar el acceso a wp-config.php:

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

Limite el acceso a la carpeta admin por ip

Se puede limitar por ip quien accede a la carpeta admin, para esto requiere crear un nuevo archivo .htaccess y cargarlo dentro de la carpeta wp-admin. 

Las siguientes líneas limitan el acceso a la carpeta a menos que ingrese por la ip establecida, si usted no tiene una IP fija, requiere modificar el archivo con su ip cada vez que quiera entrar al administrador. 

order deny,allowallow from 202.090.21.1 (replace with your IP address)deny from all

No mostrar los directories

Generalmente el hosting viene con esta seguridad lo que hace es: si no existe un index no muestra el contenido del directorio queda como acceso negado, no está por demás habilitar la opción, siendo wordpress un sistema tan usado personas mal intencionadas pueden explorar y ver exactamente que tenemos instalado dentro de nuestro sistema y vulnerarlo a partir de fallos en plug-in y de mas. 

# directory browsing
Options All -Indexes

Evitar ataques con inyección de código 

El ataque con inyección de codigo es uno de los más comunes y es el causante en gran medida del fallo de seguridad registrado por google, para evitar este ataque que se realiza modificando las variables GLOBALS y _REQUEST de PHP. Adiciones estas líneas en .htaccess.


Options +FollowSymLinks
RewriteEngine On
RewriteCond %{QUERY_STRING} (\<|%3C).*script.*(\>|%3E) [NC,OR]
RewriteCond %{QUERY_STRING} GLOBALS(=|\[|\%[0-9A-Z]{0,2}) [OR]
RewriteCond %{QUERY_STRING} _REQUEST(=|\[|\%[0-9A-Z]{0,2})
RewriteRule ^(.*)$ index.php [F,L]


Bloquear el acceso a los archivos de la carpeta wp-content

Esta carpeta contienen el corazón de wordpress, plantillas, plugins etc.   WordPress no accede a estos archivos vía http, las únicas peticiones desde un explorador web deberán ser sobre los archivos de imagenes, javascript, css y xml.

En este punto bloqueamos la carpeta y solo permitimos el acceso a este tipo de archivo.  Como hacerlo?  Creamos en bloc de notas un archivo .htaccess, digitar las siguientes líneas, y luego subirlo dentro de la carpeta wp-content en la instalación de wordpress.

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



Existen muchas otras seguridades, en muchos casos todos estos recursos limitan las nuevas instalaciones de plugin pero puede evitarnos dolores de cabezas. 

Recomendaciones de seguridad al instalar: 

  1. Cambiar el nombre y id del usuario administrador
  2. Utilizar nuestros propios prefijos para la base de datos 
  3. Cambiar el nombre a la carpeta wp-admin
  4. Utilizar contraseñas seguras 


No hay comentarios:

Publicar un comentario

Desea contactar con nosotros, deje un comentario y pronto le daremos respuesta.