Consejos de seguridad en WordPress
Anuncio:
En esta ocasión vamos a ver algunos consejos de seguridad en WordPress. Vamos a ver algunos tips para securizar tanto nuestra instalación de WordPress como el servidor.
En primer lugar, algo muy sencillo que podemos realizar es mover el archivo wp-config.php al directorio inmediatamente superior de WordPress. Si, nuestra web seguirá funcionando, y al estar en un directorio que no es público será más complicado que se pueda acceder a este archivo.
Algo muy importante también es todo lo referente a los usuarios. El usuario administrador nunca se debe llamar admin ya que será lo primero que probará alguien que intente acceder a nuestro sitio. Además, una buena práctica es crear un segundo usuario administrador y eliminar el primero para que el usuario admin no tenga el id 1, ya que hay ataques que se realizan no por el nombre de usuario sino por el id. Esto es porque el primer usuario que se crea durante la instalación es un administrador, siempre tiene el id 1. Ni que decir tengo, que tanto el nombre de usuario como la contraseña deben ser seguros.
Es imprescindible que nuestro sitio tenga un certificado SSL para navegar por HTTPS. Ya que en caso contrario podrían robarnos usuario y contraseña.
Podemos ir un paso más allá y podemos modificar los nombres de los directorios wp-content, el directorio de plugins y uploads. Esto lo puedes realizar con las constantes:
WP_CONTENT_DIR // no trailing slash, full paths only
WP_CONTENT_URL // full url
WP_PLUGIN_DIR // full path, no trailing slash
WP_PLUGIN_URL // full url, no trailing slash
// Available per default in MS, not set in single site install
// Can be used in single site installs (as usual: at your own risk)
UPLOADS // (If set, uploads folder, relative to ABSPATH) (for e.g.: /wp-content/uploads)
Esto lo puedes consultar en la documentación oficial de Worpdress.
Debemos hacer más seguras las sesiones que crea WordPress cuando los usuarios visitan nuestro sitio web. Esto lo hacemos con las constantes que se definen en el wp-config. Estas constantes las crea WordPress en la instalación pero somos nosotros los que debemos darle valores.
define('AUTH_KEY', 'pon aquí tu frase aleatoria');
define('SECURE_AUTH_KEY', 'pon aquí tu frase aleatoria');
define('LOGGED_IN_KEY', 'pon aquí tu frase aleatoria');
define('NONCE_KEY', 'pon aquí tu frase aleatoria');
define('AUTH_SALT', 'pon aquí tu frase aleatoria');
define('SECURE_AUTH_SALT', 'pon aquí tu frase aleatoria');
define('LOGGED_IN_SALT', 'pon aquí tu frase aleatoria');
define('NONCE_SALT', 'pon aquí tu frase aleatoria');
Es recomendable desactivar la opción de editar plugins y themes que nos da wordpress desde el backend. Si alguien pudiera conseguir ingresar como un usuario administrador, podría ir a un plugin, editarlo, introducir código malicioso y no nos daríamos ni cuenta. Así que en el wp-config podemos agregar la siguiente línea:
## Disable Editing in Dashboard
define('DISALLOW_FILE_EDIT', true);
Y ya no tendríamos la opción de editar plugins y themes desde WordPress. Si algún día lo necesitas, comentas dicha línea, modificas lo que tengas que modificar y vuelves a descomentar la línea para que siga deshabilitada la opción de editar archivos.
Algo importante es tener el control de los archivos que se modifican en nuestro sitio web. Es decir, ningún archivo debe ser modificado si no lo hemos hecho nosotros o alguna actualización de WordPress o un plugin. Para poder tener un control de los archivos que se modifican, lo podemos hacer con el plugin Wordfence Security para WordPress.
Podríamos realizar algunas acciones del lado del servidor que ayudan a que nuestro sitio sea más seguro. Es importante que los archivos que hay en nuestro servidor tengan los permisos correctos.
El directorio upload es uno de lo más complejos ya que necesita ser escrito, pero tenemos que tener cuidado con lo que ahí se subo porque además de alguna imagen o vídeo, se pueden subir archivos php, javascript o html. Así que tenemos que denerar el permiso para ejecutar ciertos archivos en este directorio. Esto lo podemos hacer con el htaccess de la siguiente forma:
# Kill PHP Execution
< Files ~ "\.ph(?:p[345]?|t|tml)$">
deny from all
< / Files >
También es interesante denegar el acceso al archivo wp-config.php, aún habiéndolo movido al directorio superior. Solo lo podríamos modificar desde el servidor pero es una buena práctica. Para denegar el acceso al wp-config, al inicio de nuestro htaccess pondremos lo siguiente:
< files wp-config.php>
order allow,deny
deny from all
< / files>
Estas son las medidas más comunes que se suelen aplicar. Puedes ver las recomendaciones de seguridad en la documentación oficial de WordPress.
Por último, no debes olvidar las copias de seguridad, da igual si las haces de forma manual, aunque no es lo más optimo, si usas la herramienta de backups que te proporcione tu hosting o si lo haces a través de alguna herramienta como ManageWP. No olvides hacer tus copias de seguridad, tanto de la base de datos como de los archivos.
Estos son algunos consejos de seguridad en WordPress. Puedes parender más en nuestra sección de WordPress.
Espero que te haya sido de utilidad!