En este artículo podrás encontrar algunos consejos básicos de seguridad. Hablaré también de algunos de los ataques más comunes cuando hablamos de WordPress. Y para terminar daré unas recomendaciones a la hora de instalar WordPress con el fin de conseguir una instalación algo más segura.
WordPress, seguridad básica
La elección de usuario y contraseña
Este primer punto probablemente és muy evidente para la mayoría, pero aún así hay que mencionarlo. Hoy en día todavía encontramos muchísimos usuarios que escogen “admin” como nombre de usuario y contraseñas como “1234” o la misma que el nombre de usuario “admin”. Parece sorprendente pero ocurre más de lo que nos imaginamos.
Por lo tanto he de insistir en este punto, nunca se debería escoger como nombre de usuario “admin” y se debería utilizar contraseñas largas, no legibles, con caracteres especiales ($,#,?,^), es más, recomiendo incluir algún carácter especial en el nombre de usuario como un @ o #. Lo mejor es utilizar un gestor de contraseñas que genere la contraseña por ti.
También es importante no usar la misma contraseña en varios sitios, utiliza una diferente para cada sitio web. Existen numerosas aplicaciones que te ayudarán para guardar y gestionar tus contraseñas de manera muy sencilla como KeePass, LastPass, 1Password…
Actualizaciones
Es muy importante mantener las actualizaciones al día. Tener siempre la última versión tanto de WordPress como de los plugins y themes. Las pequeñas actualizaciones que van surgiendo entre versiones más importantes con cambios mayores suelen llevar parches para arreglar fallos de seguridad. Si no mantienes tu sitio web al día te verás expuesto a vulnerabilidades a través de las cuales te puedes convertir en una víctima de ataques como los que comentaré más adelante en este artículo.
Permisos de archivos
Existen muchos casos en los que un usuario no consigue instalar un plugin por algún motivo y encuentra una solución en internet del tipo “cambia los permisos de tus archivos a 777”, probablemente consiga instalar su plugin después de hacer esto, pero esta dejando una puerta abierta de par en par. Con permisos 777 cualquiera puede leer y escribir en ese archivo o carpeta. El consejo aquí es que no cambies los permisos de los archivos, esa no es la buena solución a los problemas que puedas encontrar durante la instalación de algún plugin.
La elección del servidor
No voy a entrar en detalle sobre este punto ya que es bastante extenso y podríamos escribir otro artículo sobre como elegir un servidor, pero simplemente tener en cuenta que la elección del servidor es muy importante para la seguridad de nuestro sitio web. No hay que elegir un servidor sólo en función del coste, debemos de tener en cuenta los aspectos técnicos del mismo.
Ataques más comunes en WordPress
Para entender un poco más la importancia de la seguridad de nuestro sitio web os hablaré por encima de algunos de los ataques más comunes cuando hablamos de WordPress.
Ataques de fuerza bruta
Se trata de recuperar una contraseña probando todas las combinaciones posibles hasta dar con la clave que permite el acceso. Es muy fácil obtener los nombres de usuario, y sólo haría falta encontrar la contraseña, de ahí la insistencia en utilizar contraseñas fuertes, largas y con caracteres especiales.
Los ataques de fuerza bruta también se realizan probando las contraseñas más utilizadas por los usuarios en lugar de combinaciones.
SQL Injections
Se trata de una infiltración de código intruso. En todo sitio web, cada vez que creamos un post, una página, editamos, eliminamos, nos identificamos, etc, se establece una comunicación con la base de datos. Dicha comunicación se realiza a través de un leguaje llamado SQL. Si existe alguna vulnerabilidad a nivel de validación de las entradas el hacker podrá acceder a nuestra base de datos y hacer lo que quiera con ella, leer los datos, insertar, eliminar… Este tipo de inyecciones son muy peligrosas ya que afectan directamente al servidor.
Cross Site Scripting (Secuencias de comandos en sitios cruzados)
Este es un ataque al lado cliente en lugar del servidor, permite al hacker inyectar y ejecutar código javascript en las páginas visitadas por el usuario.
Se utiliza por ejemplo para robar la cookie de sesión y de ese modo poder identificarse como el usuario.
Cross Site Request Forgery (falsificación de petición en sitios cruzados)
Se trata de la ejecución de acciones no autorizadas y transmitidas por un usuario de confianza que ha sido validado por la web.
El hacker usa a la propia víctima para realizar la acción dañina.
Existen otros muchos tipos de ataques pero podemos decir que estos son los más habituales.
Algunas recomendaciones para la instalar WordPress
Existen unos puntos básicos para ayudar a que nuestra instalación sea más segura, esto no quiere decir que estemos completamente protegidos de cualquier ataque, pero cada pequeño obstáculo que ponemos servirá para hacerlo un poco más difícil al hacker.
Antes de la instalación
Lo primero que recomiendo es cambiar el prefijo de las tablas, por defecto el valor es ‘wp_’, sería mejor cambiarlo por algo más complicado como por ejemplo una contraseña aleatoria. Este valor se modifica en el archivo wp-config.php. Donde pone $table_prefix = ‘wp_’; cambiarlo por algo como $table_prefix = ‘gju6ik69_’; También desabilitar el editor de plugins y themes añadiendo la siguiente línea en el mismo archivo wp-config.php
define(‘DISALLOW_FILE_EDIT’, true );
Y en mismo wp-config.php, existen unas líneas para la encriptación de las cookies. No olvides cambiar los valores que vienen por defecto:
define(‘AUTH_KEY’, ‘put your unique phrase here’);
define(‘SECURE_AUTH_KEY’, ‘put your unique phrase here’);
define(‘LOGGED_IN_KEY’, ‘put your unique phrase here’);
define(‘NONCE_KEY’, ‘put your unique phrase here’);
define(‘AUTH_SALT’, ‘put your unique phrase here’);
define(‘SECURE_AUTH_SALT’, ‘put your unique phrase here’);
define(‘LOGGED_IN_SALT’, ‘put your unique phrase here’);
define(‘NONCE_SALT’, ‘put your unique phrase here’);
Puedes generar el código desde este enlace https://api.wordpress.org/secret-key/1.1/salt/ y pegarlo en tu archivo. Puedes cambiar estos valores en cualquier momento, al cambiarlos obligarás a los usuarios a volver a identificarse.
Estos serían puntos básicos, también puedes ir más allá y cambiar el nombre de las tablas de usuarios, el nombre de la carpeta wp-content, y añadir unas líneas en el htaccess para proteger el archivo wp-config.php (de esto último también se puede encargar algún plugin de seguridad).
Después de la instalación
Backups
Antes de nada, lo más importante sería instalar un sistema de backups, es muy importante tener copias de seguridad de tu web. También es conveniente probar tu sistema de backup, hacer al menos una restauración de la web con el último backup realizado y estar seguro de que todo funciona correctamente, ya que si nuestro plugin para hacer copias de seguridad no funciona como debe es como si no tuviéramos nada.
Eliminar contenido de ejemplo, plugins y themes
Elimina el contenido de ejemplo, y tanto si es después de la primera instalación como si es más adelante siempre elimina los themes y plugins que no utilices.
No sirve de nada tener plugins o themes desactivados, pero si existe alguna vulnerabilidad en alguno de ellos, el código está ahí igualmente, así que elimina lo que no estés usando.
Plugin de seguridad
Existen muchos plugins de seguridad, algunos mejores que otros.
Encontrarás cientos de opiniones y recomendaciones, Wordfence, All In One WP Security & Firewall , iThemes Security y muchos otros, pero no puedo nombrarlos todos.
La elección sobre que plugin de seguridad a instalar la dejo en manos de cada uno. Ningún plugin es perfecto, pero personalmente me inclino hacia iThemes Security, habrá gente que esté en desacuerdo con esta elección, a día de de hoy es el que mejor resultado me ha dado, pero repito, existen muchos y no los he probado todos.
Con iThemes Security por ejemplo, existen muchas opciones a configurar. El propio plugin te dará recomendaciones sobre lo que deberías hacer para aumentar la seguridad de tu sitio web. Entre otros muchos, estos son algunos puntos:
- Cambiar la url de acceso a la página de login.
- Cambiar el ID del usuario administrador. Por defecto es 1.
- Bloquear automáticamente los usuarios que intentan identificarse con el nombre de usuario “admin”.
- No permitir PHP en la carpeta Uploads.
Se pueden hacer muchas más cosas a la hora de instalar un WordPress pero puedes empezar con estos consejos básicos.
Espero que este artículo te sirva de ayuda, si tienes alguna recomendación más para añadir a esta lista no dudes en dejar un comentario.
En Digiworks | WordPress 4.1 lo que está por llegar, Lo más trendy en Diseño Web, La importancia del color en el diseño