Como Proteger Tu Sitio WordPress (MEGA POST)

Como Proteger Tu Sitio WordPress (MEGA POST) pixelwork

Como Proteger Tu Sitio WordPress (MEGA POST)

No importa cuan grande o pequeño sea tu sitio web siempre estará la gente que intentará hackear tu sitio. Esta gente usará bots para encontrar tus páginas de inicio de sesión y usará una táctica a base ataques de fuerza bruta para acceder al área de administración de tu sitio.

Un ataque de fuerza bruta significa que intentarán varias veces usando las combinaciones de nombre de usuario y contraseñas más comunes con la esperanza de poder acceder al área de administración.

En un sitio de WordPress los agujeros de seguridad están abiertos y disponibles para que todos puedan descubrirlos, ese es el problema con el software de código abierto, si analizas lo suficiente, podrías encontrar una manera de burlar la seguridad. Pero por el otro lado si sabes sobre los problemas de seguridad, entonces sabrás lo que tienes que hacer para solucionar estos problemas.

En este artículo voy a hablar de lo que debes hacer en cualquier sitio WordPress para protegerlo de ser hackeado. Si crees que tu sitio no es lo suficientemente grande como para ser hackeado, estás equivocado, para averiguar si tu sitio web tiene un intento de ataque, mira tus registros de errores 404 y verás que algunas personas están intentando diferentes maneras de acceder a tu base de datos. Y páginas de inicio de sesión.

Mover el archivo wp-config.php

La primera cosa que hago para proteger WordPress es mover el archivo wp-config hasta un nivel por encima del directorio raíz del sitio web, WordPress en la configuración primero busca el archivo wp-config en el directorio raíz del sitio web, si no lo puede encontrar lo buscara en un directorio de nivel superior.

Eliminar usuario administrador WordPress

En una instalación por defecto WordPress te proporcionará un usuario predeterminado llamado admin. Este acceso es el primero utilizarás al ingresar a tu instalación de WordPress. Como este es el primer usuario, necesitas asegurarte de cambiar el usuario administrador. Este es el primer acceso que los hackers utilizarán para ingresar a tu sitio. Sé que puedes tener una contraseña segura por lo que no serán capaz de entrar, pero el cambio de usuario de administrador hará que sea dos veces más difícil realizar esto.

El usuario administrador tiene acceso completo a tu sitio de WordPress si se hackea será capaz de derribar completamente tu sitio completo.

Todo lo que tienes que hacer es crear un nuevo usuario con derechos de administrador y eliminar el usuario antiguo.

Utilizar una contraseña fuerte

Esto es algo lógico, pero tengo que incluirlo sólo para asegurarme de que no lo olvides. En cualquiera de tus cuentas siempre debes usar una contraseña fuerte.

Como la mayoría de los piratas informáticos utilizarán un programa para pasar por probar con combinaciones de contraseñas, la elección de una contraseña fuerte hará más difícil que la encuentren.

Si le resulta difícil recordar contraseñas fuertes, utiliza un software que las recuerde por ti, utiliza algo como LastPass para recordar todas tus contraseñas.

Si quieres ayuda para crear una contraseña segura, puedes utilizar algun generador de contraseñas seguras en línea.

Deshabilitar cuentas de usuario no utilizadas

Si tiene varios usuarios en tu sitio de WordPress, debes mantener estos actualizados y eliminar las cuentas que ya no utilices.

Si un usuario tiene una cuenta con acceso a tu área de administración pueden hacer cosas en el sitio, pueden agregar publicaciones, eliminar publicaciones, editar cualquier archivo. La gente puede restablecer sus propias contraseñas si proteges tu contraseña pero otros usuarios no y esto es otra puerta para entrar a tu área de administración.

Si esta cuentas no se utilizan debes eliminarlas.

Actualizar siempre WordPress lo antes posible

WordPress tiene tantas características y tantos plugins para agregar que las actualizaciones no vienen con actualizaciones de seguridad principalmente, la mayoría de las actualizaciones son para cerrar puertas abiertas y para corregir bugs.

Cuando se enteran de algunos problemas de seguridad, solucionan los problemas y publican una nueva actualización. Es por eso que es tan importante actualizar tu WordPress lo antes posible, para asegurarte de que tu sitio ya no puede ser atacado.

Quitar el número de versión de WordPress

Darle a los hackers informáticos la versión de WordPress que estás ejecutando les permitirá saber exactamente cómo atacar tu sitio web para obtener éxito. Si eliminas la versión de WordPress sólo pueden asumir que estás usando la última versión y lo más probable es que no pierdan el tiempo tratando de acceder a tu sitio.

Cambiar los permisos de archivo

Asegúrate de cambiar los permisos de los archivos a 0744, lo que significa que son de sólo lectura para todos excepto para ti. Esto asegura que otras personas no puedan cambiar ninguno de los archivos de tu servidor.

Todo lo que necesita hacer es iniciar sesión en tu servidor FTP hacer clic derecho en la carpeta o archivos y comprobar el permiso. Asegúrate de que no son 0777 ya que este da a otros el acceso de escritura a tus archivos.

Establece permisos de archivo en 644 y 755 para las carpetas.

Hacer una copia de seguridad de tu base de datos

A pesar de usar todas las practicas seguridad las cosas pueden ir mal, lo mejor es tener el hábito de hacer copias de seguridad de tu base de datos por si algo sale mal se pueda recuperar rápidamente.

Un buen complemento para utilizar para copias de seguridad automáticas es WordPress Database Backup, puedes configurarlo para realizar copias de seguridad de tu base de datos semanalmente y enviará el archivo SQL a tu dirección de correo electrónico. Si tienes mucho espacio en tu cuenta de correo electrónico, puedes usarlo para almacenar tus copias de seguridad semanales.

Algunos de los mejores complementos automáticos de copias de seguridad de WordPress son:

  • BuddyBackup
  • Vaultpress

Puede configurarlos y olvidarte de ellos hasta que realmente los necesites.

Ocultar tus plugins

Un plugin es un fragmento de código que se ejecuta en tu sitio WordPress, al igual que tu sitio WordPress también pueden tener algunos agujeros de seguridad. Son solo piezas de código que pueden acceder a tu base de datos WordPress. Si un hacker sabe qué plugins estás usando, puede ver si hay algun agujero de seguridad en estos plugins y usar esto para atacar tu sitio.

Asegúrate de ocultar los plugins que estás utilizando actualmente.

Navega a / wp-content / plugins / y ve si puedes ver una lista de tus carpetas de plugins. Si puedes, asegúrate de agregar un archivo index.php o index.html a esta carpeta.

Instalar AntiVirus

Existen virus, gusanos y malwares para WordPress y podrían fácilmente atacar tu instalación de WordPress. AntiVirus para WordPress monitorea las inyecciones maliciosas y te advierte de cualquier posible ataque. Con soporte multilingüe. Simplemente, el complemento que debes tener.

Tener cuidado con los complementos

Los plugins de WordPress son complementos que ayudan a WordPress ser genial, pero son código que estás instalando en tu sitio. Confías en que el desarrollador del plugin no hará nada que vaya a dañar tu sitio.

No desea descargar un plugin de WordPress para que elimine todas la tablas de la base de datos de correos y perder todo. Los plugins son moderados, pero las cosas siempre pueden deslizarse a través de la red, asegúrate de comprobar las calificaciones y los comentarios de un plugin antes de descargarlo. Si un plugin se ha descargado millones de veces, normalmente puedes estar seguro de que este complemento va a ser seguro.

 

Asegurar WordPress con htaccess

Usando htaccess puede proteger tu sitio WordPress de múltiples maneras.

Deniega el acceso al archivo wp-config.php.

<Files wp-config.php>
Order Allow,Deny
Deny from all
</Files>

Bloquear el acceso al panel de administración por IP

order deny,allow
allow from Direccion IP (replazar con tu IP)

Bloquear el acceso a tu sitio por completo para determinadas direcciones IP.

<Limit GET POST PUT>
order allow, deny
allow from all
deny from 123.123.123.1
deny from 555.555.555.5
deny from 000.000.000.0
</Limit>

Bloquear acceso a la carpeta wp-content

La carpeta wp-content contiene todas tus imágenes, plugins y temas, es una carpeta muy importante para tu sitio WordPress. Si esta carpeta es hackeada, pueden eliminar todos tus temas y plugins de tu sitio dejandolo en blanco.

Para bloquear el acceso a la carpeta wp-content, crea un nuevo archivo htaccess y guárdalo en el nivel raíz de la carpeta wp-content.

Ahora agrega el código siguiente en este nuevo archivo htaccess.

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

Deshabilitar la exploración de directorios

Si alguien tiene acceso a tus directorios, podrá ver todas las carpetas de este directorio si no tiene un archivo index.html o index.php. Puedes detener esto con htaccess agregando la línea siguiente. Esto asegurará que no se pueda explorar un directorio aunque no exista un archivo de índice.

# directory browsing
Options All -Indexes

Bloquear el acceso a wp-login.php con htaccess

Así como podemos bloquear el acceso al archivo wp-config.php, podemos hacer lo mismo con la página de inicio de sesión para asegurarnos de que sólo ciertas direcciones IP puedan acceder al formulario de inicio de sesión.

<Files wp-login.php>
Order Deny,Allow
Deny from all
Allow from xx.xx.xx.xx
</Files>

Proteger contra solicitudes que no tienen HTTP_USER_AGENT

<IfModule mod_rewrite.c>
RewriteCond %{REQUEST_METHOD} POST
RewriteCond %{REQUEST_URI} .wp-comments-post\.php*
RewriteCond %{HTTP_REFERER} !.yourwebsite.com.* [OR]
RewriteCond %{HTTP_USER_AGENT} ^$
RewriteRule (.*) ^http://%{REMOTE_ADDR}/$ [R=301,L]
</IfModule>

Bloquear tipos de archivos que se distribuyen desde la carpeta de uploads

La carpeta de uploads de WordPress debe utilizarse para publicar imágenes en el sitio web, pero debido a que esta carpeta es donde se almacenará todo el contenido cargado, es posible que se pueda colocar un script dentro de esta carpeta. El fragmento de código siguiente es el código que puedes colocar en el archivo htaccess para asegurarte de que solo se pueden usar imágenes en esta carpeta. Añade esto a un archivo htaccess y coloca el archivo htaccess dentro del directorio de uploads.

# Secure /uploads/ directory from unwanted file types
<Files ~ ".*..*">
Order Allow,Deny
Deny from all
</Files>
<FilesMatch ".(jpg|jpeg|jpe|gif|png|tif|tiff)$">
Order Deny,Allow
Allow from all
</FilesMatch>

Ocultar los mensajes de Error en la página de inicio de sesion

En la página de inicio de sesión de WordPress si escribse un nombre de usuario o una contraseña incorrecta, devolverá un mensaje de error para decir que el nombre de usuario o contraseña es incorrecto.

La siguiente imagen me permite saber que el nombre de usuario que estoy usando no existe y necesito probar otro.

invalid-username

Pero si el nombre de usuario existe, recibiré un mensaje diciendo que la contraseña es incorrecta.

invalid-password1

Ahora sé que hay un usuario llamado admin y puedo seguir intentándolo hasta que reciba la contraseña correcta.

Sí, este es un mensaje muy útil para los usuarios reales del sitio, ya que pueden ver lo que ha pasado. Pero para los hackers esto significa que reciben un mensaje agradable sobre en que se han equivocado, lo que significa que también saben lo que tienen bien.

Hay un hook de inicio de sesión para acceder a eliminar cualquier mensaje de error de la página de inicio de sesión.

Copia lo siguiente en tu archivo functions.php.

add_filter('login_errors',create_function('$a', "return null;"));

Deshabilitar el editor de temas y plugins

Cuando un usuario administrador está conectado a WordPress, puede realizar cambios en los archivos instalados en el CMS. Esto es genial si el administrador necesita hacer un cambio muy rápido en el tema, por ejemplo, si observan un error de ortografía se puede cambiar rápidamente.

Pero con este acceso, si alguien hackea el área de administración puede hacer los cambios que desee a tus temas y a tus archivos de plugins.

Si deseas que los enlaces del editor no aparezcan en el área de administración, puedes agregar lo siguiente a tu archivo wp-config.php para que la gente no pueda editar el tema directamente en el área de administración.

define( 'DISALLOW_FILE_EDIT', true);

Cambiar el prefijo de la base de datos

Como WordPress es una aplicación de código abierto, todos los nombres de las tablas de la base de datos son conocidos por todos. Si alguien conoce el nombre de la tabla de base de datos, es más fácil adivinar un script de inyección de SQL para eliminar todos los registros de la tabla de base de datos.

Si deseas ayudar a proteger tu sitio WordPress, puedes hacerlo cambiando el prefijo de las tablas de base de datos de WordPress. Cambiar el prefijo de la tabla de la base de datos significa que no podrán adivinar las tablas de la base de datos.

El mejor momento para cambiar el prefijo de tabla es antes de instalar tu sitio, puedes cambiar el prefijo de base de datos en la página de instalación o cambiar la variable $ table_prefix en el archivo wp_config.php.

/**
* WordPress Database Table prefix.
*
* You can have multiple installations in one database if you give each a unique
* prefix. Only numbers, letters, and underscores please!
*/
$table_prefix = 'nuncaadivinaras_';

 

¡Advertencia! Si haces esto en un sitio ya instalado y no cambias las tablas de la base de datos y los valores en las tablas vas a estropear tu sitio.

Para cambiar el prefijo de tabla de forma segura lo mejor que puedes hacer es usar un plugin de WordPress.

DB Prefix Change

Evitar el acceso directo a tus archivos

Al usar la constante ABSPATH de WordPress puedes asegurarte de que los archivos no son accedidos directamente. Cuando WordPress carga los archivos del tema se define una variable ABSPATH si esta no está definida, entonces WordPress no corre. Coloca el siguiente código en la parte superior de los archivos del tema para impedir el acceso directo a los archivos.

Limitar los intentos de inicio de sesión

Es importante evitar ataques de fuerza bruta en tu página de inicio de sesión, hay un complemento muy bueno llamado Limit Login Tentatives que te permitirá establecer cuántos intentos fallidos se pueden tener antes de que se bloquee.

Esto registrará todos los intentos de inicio de sesión en tu área de administración de WordPress, la dirección IP y el nombre de usuario que la utilizó.

Si intentaron iniciar sesión y fallaron 3 veces este plugin los bloqueará para acceder a la página de inicio de sesión durante un cierto período de tiempo. Incluso puede configurarlo para enviarte un correo electrónico cuando alguien intente acceder a tu página de inicio de sesión.

Este es un plugin muy útil así que asegúrate de instalar este complemento en todos tus sitios de WordPress.

Hosting Especializado en WordPress

Para tener un hosting de WordPress seguro siempre hay que utilizar una empresa que se especialice en alojamiento WordPress, esto significa que todos en la empresa sean expertos en WordPress y puedan proporcionar a tu sitio WordPress el mejor servicio.

Dar a tu sitio WordPress el mejor servicio posible también es una forma de proteger tu sitio web.

Al conectarte a tu alojamiento con FTP asegúrate de que te estás conectando en una conexión segura en lugar de utilizar FTP podrías utilizar SFTP. Esto es exactamente lo mismo que FTP excepto que todas las contraseñas y otros datos se cifran cuando se transmiten al servidor.

Haz realizado estos cambios para ayudar a proteger tu sitio WordPress, pero esto no significa que hayas terminado. Asegúrate de seguir revisando los registros del servidor, los registros de errores 404 y los informes analíticos de cualquier comportamiento extraño.