WordPress es una herramienta muy potente y profesional para la creación de páginas web, pero como cualquier software, tiene debilidades en cuanto a la seguridad. Para combatir estas debilidades existen plugins y métodos que se pueden seguir para reducir el riesgo de sufrir un ataque exitoso (hackeo). Además es necesario remarcar que también es necesario usar el sentido común.
A continuación se presentan algunos de los riesgos identificados e ideas o métodos para contrarrestarlos.
Mantener la versión de WordPress al día
Una de las primeras recomendaciones que se encuentran en cualquier artículo referente a la seguridad en WordPress es el de mantener la versión de este al día. Constantemente se identifican nuevas debilidades en WordPress, como en cualquier otro software, y por esta razón se trabaja de manera constante en arreglarlas y se publican nuevas versiones. Por default, a partir de la versión 3.7, WordPress se actualiza automáticamente. De cualquier forma no está de más revisar que se tiene la versión más reciente desde Escritorio > Actualizaciones y oprimiendo el boton “comprobar de nuevo”.
Prevenir un ataque de fuerza bruta (brute-force attack)
En un ataque de fuerza bruta el atacante probará de manera automática, o incluso manual, iniciar sesión, aprovechándose de que por default las página hechas con WordPress usan example.com/wp-admin para acceder a la administración de la página. Para esto probará con millones de nombres de usuario y contraseñas. El nombre de usuario admin es muy común en muchos sistemas como primer y único nombre de usuario, y además posee todos los privilegios, por estas razones es sumamente recomendable crear otro usuario de tipo administrador con un nombre menos predecible y borrar admin o su equivalente.
A pesar de que existen plugins que “cambian\esconden” la página donde se inicia sesión (example.com/wp-admin), no encontré alguno que fuera 100% confiable y compatible. Lo mejor que encontré fue el plugin Limit Login Attempts Reloaded con el cual se puede limitar el número de intentos de inicio de sesión infructuosos y la manera de reaccionar ante este escenario, por ejemplo, deshabilitar el acceso por cierto tiempo.
Mejorar la forma de iniciar sesión
Por default, una página de internet no esta habilitada para ser accedida a través de https, lo que hace que la información que se introduce en los campos de entrada de la página sea mandada sin encriptar al servidor donde esta está almacenada, entre esta información están el nombre usuario y la contraseña. Esta información tan sensible podría ser leida por un intruso (man in the middle) que este monitoreando la información que fluye entre nuestra computadora y el servidor.
Para prevenir este escenario lo mejor que encontré fue el plugin Jetpack, del cual existe una versión gratis y otra de paga, que simplemente habilita más opciones. Este plugin es un compendio de herramientas, y entre estas se encuentra Single Sign On, que mejora la forma en como se inicia sesión con WordPress. Con este plugin es posible iniciar sesión con una cuenta de WordPress.com, que de por si se requiere para la activación del Jetpack. La ventaja de usar esta opción es que la información que se manda a WordPress.com estará encriptada. Como medida extra de seguridad se puede usar Two-Step Authentication, con lo cual se recibirá un código cada vez que se intente iniciar sesión con WordPress.com. Algo así como funciona la banca en linea de muchos bancos. En la página de soporte del plugin para la funcionalidad Single Sign On, se encuentran lineas de código que se pueden agregar al archivo functions.php del tema de WordPress que se este usando. Por ejemplo
para que sea solo posible iniciar sesión con la cuenta de WordPress.com y no con la instalación propia de WordPress. O
para remitir las peticiones de inicio de sesión directamente a WordPress.com
No instalar basura
Los plugins y los temas están hechos generalmente por la comunidad y agregan lineas de código a nuestra instalación de WordPress que pueden representar un riesgo en cuanto a seguridad. Por eso es mejor instalar lo que venga de algún desarrollador conocido, o al menos darle un vistazo a la calificación que tiene el plugin por los usuarios y leer los comentarios al respecto.
Borrar templates y plugins que no se ocupen
Es muy común probar con diferentes plugins y temas hasta obtener las funcionalidades deseadas y que la página se vea lo mejor posible de acuerdo a nuestras capacidades artísticas. Cuando se haya encontrado el plugin que provea la funcionalidad deseada y cuando se haya encontrado el tema que hace ver bien a nuestra página es muy recomendable borrar todo lo que no se ocupe más.
Actualizar plugins y temas
Cuando haya una actualización disponible para algún plugin o tema se mostrará en Escritorio > Actualizaciones. Desde allí es posible seleccionar los plugins o temas que se deseen actualizar.
Usar una contraseña de calidad
Se pueden encontrar en internet muchos artículos con recomendaciones para hacer una contraseña de calidad. Mi recomendación es usar el generador de contraseñas que incluye KeePass.
Hacer backups regularmente
Existen diferentes métodos para hacer backups de la página de internet.
- Hacerlo manualmente conectándose via ftps al proveedor del servicio de webhosting de nuestra página y copiar los datos a algún folder local en nuestra computadora.
- Los proveedores de servicio de webhosting normalmente ofrecen opciones para hacer respaldos (backups) de nuestro contenido. Estos se pueden programar para que se hagan automáticamente cada cierto tiempo. Hay que ser curioso y enterarse de lo que ofrece nuestro proveedor o preguntar via el sistema de soporte que este ofrezca.
- A través de plugins de WordPress.
Revisar las opciones de seguridad que ofrece el proveedor de webhosting
Los riesgos de seguridad no solo son introducidos por el uso de WordPress sino por muchas otras tecnologías que hacen posible que internet exista como hoy lo conocemos. El proveedor de webhosting ofrece generalmente opciones configurables para hacer menos vulnerable a nuestra página. Por ejemplo:
- Certificados para habilitar https y reenvío automático cuando se acceda la página con http.
- Actualizar la versión de PHP usado por nuestra página
- Activar/Desactivar FTP
- Bloquear IPs
y más…
Es recomendable buscar artículos referentes a la seguridad en WordPress para identificar más riesgos y la forma de prevenirlos. Es muy sensato hacer este ejercicio constantemente para estar enterado de nuevos riesgos identificados y de nuevos métodos que puedan contrarrestarlos de forma más efectiva. Un artículo muy completo es el que WordPress Codex ofrece.