Seguridad en WordPress

 

En este artículo veremos algunas de las principales medidas de seguridad de WordPress para no encontrarnos con malas sorpresas, si seguimos estas recomendaciones, es muy probable que reduzcamos la probabilidad de ser atacados o hackeados por terceros y perder toda la información de nuestro sitio web.

  • Hosting
  • Usuario y Contraseña
  • Seguridad en /wp-admin/
  • Seguridad en /wp-includes/
  • Seguridad en wp-config.php
  • Plugins
  • Templates

¿Cómo hacer mas seguro nuestro WordPress?

 

La instalación de WordPress es relativamente sencilla, podemos hacerlo desde cPanel con un par de clicks, luego podemos ir generando contenido y tener nuestro sitio web en Internet. Luego vienen los problemas cuando nuestro sitio se hace popular, pasa a ser blanco de ataques de hackers o robots automatizados que intentan hackear nuestro sitio web.

Para mejorar la seguridad de WordPress podemos seguir algunas de las recomendaciones que les entregaremos a continuación:

Hosting

 

La elección del servicio de hostin es una de las partes mas importantes al momento de decidir por la seguridad de nuestro sitio web en WordPress. Hay muchas cosas que podemos hacer en nuestro sitio web para hacerlo mas seguro, pero eso no servirá de mucho si nuestro proveedor no tiene las medidas de seguridad adecuadas en el servidor.

Es importante que nuestro proveedor de hosting mantenga las medidas de seguridad necesarias en los servidores, sea una empresa legalmente constituida y se preocupe de respaldar nuestra información periodicamente.

Puedes revisar el Ranking de Hosting en Chile

 

Usuario y Contraseña

 

Es muy importante evitar el uso del usuario “admin“, “administrador“, etc. Usemos algo menos común para evitar que los hackers conozcan nuestro usuario, así evitamos darle la ventaja de sólo ir por nuestra contraseña. A modo de ejemplo en este tutorial, generamos el usuario de administración como “wpseguro“, ese es el nombre de usuario que decidimos al momento de instalar nuestro WordPress.

También es fundamental que nuestra contraseña sea bastante segura, podemos generarla mediante la instalación de WordPress o elegir una contraseña que sea fácil de recordar pero a la vez dificul de decifrar.

 

 

Seguridad en /wp-admin/

 

Es recomendable cambiar el nombre de la carpeta wp-admin por otro nombre que sea un poco mas complejo porque evitaremos que herramientas automatizadas logren encontrar la ruta de administración de nuestro WordPress.

 

Vamos a instalar un plugin llamado HC Custon wp-admin URL que nos permite fácilmente cambiar el nombre de la ruta de administración de WordPress.

 

 

La instalación y configuración de esta importante medida de seguridad, es bastante sencilla, sólo debemos logearnos en el área de administración de nuestro blog WordPress, usando la URL http://www.midominio.cl/wp-admin

 

  • Ingresar Usuario y Clave
  • Ir a la sección de Plugins
  • Añadir Nuevo
  • Buscar “HC Custom wp-admin URL
  • Instalar
  • Ir a la sección de Ajustes – Enlaces Permanentes
  • Modificar la opción: WP-Admin Slug

 

Puedes elegir cualquier nombre para el área de administración, la idea es que no sea “wp-admin” ó “admin” para que no facilitemos el trabajo de los hackers o bots que quieran acceder al área de administración de nuestro blog WordPress.

 

Seguridad en /wp-includes/

 

Una segunda capa de protección es proteger la carpeta /wp-includes/ evitaremos que se ejecuten scripts, que por lo general no deberían ejecutar los usuarios.

Vamos a modificar el archivo .htaccess del servidor, debemos hacerlo mediante un cliente FTP, en este caso voy a utilizar FilezillaDescarga Filezilla ) para conectarme al hosting y notepad para modificar el archivo .htaccess

 

 

 

En el video agregamos las siguientes lineas en nuestro archivo .htaccess

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]

Este es el archivo que se creó luego de la instalación de HC Custom wp-admin URL, si usaste un nombre diferente a area-segura, en el WP Admin Slug deberías modificarlo en el archivo que mostramos a continuación:

 
# BEGIN WordPress
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteRule ^index\.php$ - [L]
RewriteRule ^area-segura/?$ /wp-login.php [QSA,L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
</IfModule>

# END WordPress

Nuestro archivo .htaccess debería quedar de la siguiente manera, considerando que instalamos HC Custom wp-admin URL y agregamos las lineas para asegurar nuestro directorio /wp-includes/

# BEGIN WordPress

<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]

RewriteRule ^index\.php$ - [L]
RewriteRule ^area-segura/?$ /wp-login.php [QSA,L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
</IfModule>

# END WordPress

Seguridad en wp-config.php

Mediante el archivo .htaccess vamos a denegar el acceso a cualquiera al archivo wp-config.php, para esto agregamos las siguientes lineas a nuestro archivo .htaccess

 

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

Nuestro archivo .htaccess final debería quedar de la siguiente manera:

# BEGIN WordPress

<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]

RewriteRule ^index\.php$ - [L]
RewriteRule ^area-segura/?$ /wp-login.php [QSA,L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
</IfModule>


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

# END WordPress

Plugins

Una buena forma de mantener nuestro sitio web WordPress libre de cualquier vulnerabilidad, es mantener actualizados todos los componentes adicionales a la instalación original de WordPress. Es Recomendable actualizar todos los plugins que esté utilizando a su última versión.