En wpbeginner han publicado un articulo muy útil para los poseedores de un wordpress, "13 trucos imprescindibles para proteger el panel de control de wordpress". Entre todas las medidas propuestas, hay que destacar:
  • Personalizar la url del panel de control o registro de usuarios, mediante el plugin "Stealth Login"
  • Utilizar una clave compleja, de esta manera haremos que los ataques de fuerza bruta lo tengan mas difícil. Podemos seguir la guía de "Create Strong Passwords" para crear nuestra propia clave.
  • Limitar el numero de intentos de login. Con el plugin "Login lockdown", podremos especificar el numero máximo de intentos fallidos para acceder y cuando durara el bloqueo en caso de error
  • Usar https para acceder al panel de control. Podemos modificar nuestro wp-config.php y añadir [code lang="php"]define(’FORCE_SSL_ADMIN’, true);[/code] para lograrlo. También podemos usar el plugin "Admin SSL".
  • Proteger el directorio del panel de control mediante el plugin "AskApache Password Protect"
  • Limitar el acceso por ip. Creamos un fichero .htaccess en el directorio wp-admin con el siguiente contenido: [code lang="bash"]AuthUserFile /dev/null AuthGroupFile /dev/null AuthName “WordPress Admin Access Control” AuthType Basic order deny,allow deny from all # whitelist Syed’s IP address allow from xx.xx.xx.xxx # whitelist David’s IP address allow from xx.xx.xx.xxx # whitelist Amanda’s IP address allow from xx.xx.xx.xxx # whitelist Muhammad’s IP address allow from xx.xx.xx.xxx # whitelist Work IP address allow from xx.xx.xx.xxx[/code]
  • No usar el usuario "admin". De esta manera, un posible intruso solo deberia adivinar la contraseña, vamos que el 50% del trabajo lo tiene ya hecho. Es mejor utilizar un nombre de usuario personalizado, así además, deberá averiguarlo también.
  • Eliminar los mensajes de error de login. Con esto nos evitamos dar posibles pistas si el campo incorrecto es el usuario o la clave. Editamos el fichero functions.php, y añadimos: [code lang="bash"]add_filter(’login_errors’,create_function(’$a’, “return null;”));[/code] o utilizamos el plugin "Secure Wordpress"
  • Usar claves codificadas para acceder. De esta manera, si no tenemos el acceso https activo, el plugin se encargara de codificar la clave para que no pueda ser interceptada por un atacante. El plugin "Semisecure Login Reimagined" nos permite hacerlo fácilmente.
  • utilizar el plugin "AntiVirus" para prevenirnos de inyecciones de código maliciosas y spam.
  • Actualizarse a la ultima versión de wordpress. Lógico, no?
  • Utilizando el plugin "One Time Password", nos pemite loguearnos en el panel de control con una clave que solo sirve una vez. Muy útil para conectarse en redes poco seguras como cibercafés, etc.
  • Utilizar el plugin "Wordpress Firewall Plugin", que nos permite evitar inyecciones sql, bloquear la subida de ficheros ejecutables, etc.
De esta manera, podremos dificultar la labor a esos amigos de lo ajeno en nuestra instalación del wordpress.