Hablar sobre la seguridad de WordPress con tus clientes es un paso fundamental en el desarrollo de una web y en el que posiblemente necesiten algunos consejos. Tanto si estás valorando la posibilidad de instalar un plugin de seguridad en WordPress o una solución de manera manual, ambas opciones tienen sus pros y sus contras. Elegir la mejor opción no es nada fácil.
En un primer momento puedes considerar ambos métodos y luego seleccionar el que mejor se adapte al proyecto. Las necesidades de tu cliente y el presupuesto son cruciales, así que siempre es recomendable tener algunos conocimientos básicos de programación.
En este post analizaremos las mejores opciones para mejorar la seguridad de una web. A continuación, te daremos tres plugins de seguridad para WordPress que puedes utilizar, así cómo implementar sus funcionalidades de manera manual. Y, por último, consideraremos si un plugin de seguridad para WordPress es la mejor opción para tus clientes o si una configuración manual puede ser más acertado.
¡Empezamos!
¿Necesitas un plugin de seguridad para WordPress o mejor otra opción?
Puede parecer obvio, pero hay muchas razones para reforzar la seguridad de las páginas web de tus clientes. Un buen servicio de seguridad web también puede ser parte de tus servicios. Después de todo, tu reputación está en juego. Ahora hablemos de los métodos para mejorar la seguridad de una web, destacaremos las dos opciones principales:
- Plugins de seguridad para WordPress: es una solución fácil de implementar y no te hace falta tener experiencia para hacerlo. Muchos plugins están preparados para proteger una web sin tener que realizar apenas configuraciones. Sin embargo, por lo general es necesario hacer ajustes personalizados para adaptarse a las necesidades particulares de una web o del servidor.
- Programación: aquí es donde puedes demostrar tus conocimientos y facturar las horas extra que se necesitarán para realizar configuraciones de seguridad a medida. Sin embargo, si eliges esta opción necesitarás ofrecer soporte continuo, lo que podría afectar a tu disponibilidad.
En general, un plugin de seguridad para WordPress puede ser una opción sencilla, pero muchos clientes son reacios a esto. En este caso, deberás conocer cuáles son sus preferencias para ofrecer un servicio de seguridad completo.
3 opciones para mejorar la seguridad de tu web sin plugins
Cuando empiezas a utilizar servicios como Hosting WordPress administrado de Godaddy, verás que cuando quieres tocar el código de tu web generalmente tendrás que acceder a tu web a través del Protocolo de Transferencia de Archivos (FTP). Eso sí, recuerda que en este caso, antes de realizar ningún cambio es muy importante que dispongas de una copia de seguridad de tu web por si algo no sale como esperabas. Para estas configuraciones deberás modificar el archivo .htaccess de WordPress.
1. Lista blanca de IPs permitidas
A diferencia de las listas negras, cuando añades una lista blanca de IPs permitirás que ciertas IPs accedan a tu servidor. Esto te permite controlar el acceso y poder identificar fácilmente el origen del problema.
El módulo Protect de Jetpack es una opción rápida y simple. Es un proceso sencillo: simplemente activa el módulo, accede a su configuración, escribe la dirección IP y luego guarda los cambios.
Para añadir las IP de manera manual a tu lista blanca, deberás abrir el archivo .htaccess y luego añadir las siguientes líneas de código para webs únicas y direcciones IP estáticas:
ErrorDocument 401 /ruta-hasta-el-archivo/index.php?error=404
ErrorDocument 403 /ruta-hasta-el-archivo/index.php?error=404
<Module mod_rewrite.c>
RewriteEngine on
RewriteCond %{REQUEST_URI} ^(.*)?wp-login.php(.*)$ [OR]
RewriteCond %{REQUEST_URI} ^(.*)?wp-admin$
RewriteCond %{REMOTE_ADDR} !^Dirección IP A$
RewriteCond %{REMOTE_ADDR} !^Dirección IP B$
RewriteCond %{REMOTE_ADDR} !^Dirección IP C$
RewriteRule ^(.*)$ - [R=403,L]
</IfModule>
Por supuesto, debes asegurarte de sustituirlo con las URLs correctas. Para usuarios con varias webs y direcciones IP dinámicas, añade las siguientes líneas de código:
ErrorDocument 401 /path-to-your-site/index.php?error=404
ErrorDocument 403 /path-to-your-site/index.php?error=404
<Module mod_rewrite.c>
RewriteEngine on
RewriteCond %{REQUEST_METHOD} POST
RewriteCond %{HTTP_REFERER} !^http://(.*)?tu-web.com [NC]
RewriteCond %{REQUEST_URI} ^(.*)?wp-login.php(.*)$ [OR]
RewriteCond %{REQUEST_URI} ^(.*)?wp-admin$
RewriteRule ^(.*)$ - [F]
</IfModule>
Nuevamente, asegúrate de sustituir los fragmentos de texto por las URLs correctas, incluso las referencias a tu propia web.
2. Oculta la URL del login de WordPress
Como sabes, las páginas de inicio de sesión y administración de WordPress tienen URLs predeterminadas como wp-login.php. Lamentablemente, los hackers conocen estas direcciones y ponen a WordPress como un objetivo fácil. Si ocultas la URL del login de WordPress es una buena forma de combatir los ataques de fuerza bruta.
Los plugins de WordPress para proteger el login de WordPress son muy numerosas, por ejemplo, iThemes Security o Cerber Security & Limit Login Attempts. De todas maneras, si quieres hacerlo de manera manual deberás acceder nuevamente al archivo .htaccess:
# BEGIN Hide login page
RewriteRule ^tulogin$ https://%{SERVER_NAME}/wp-login.php?key=123&redirect_to=https://%{SERVER_NAME}/wp-admin/index.php [L]
RewriteCond %{HTTP_REFERER} !^https://%{SERVER_NAME}/wp-admin
RewriteCond %{HTTP_REFERER} !^https://%{SERVER_NAME}/wp-login.php
RewriteCond %{HTTP_REFERER} !^https://%{SERVER_NAME}/login
RewriteCond %{QUERY_STRING} !^key=123
RewriteCond %{QUERY_STRING} !^action=logout
RewriteCond %{QUERY_STRING} !^action=lostpassword
RewriteCond %{REQUEST_METHOD} !POST
# END Hide login page
En función de tu instalación de WordPress, hay algunas diferentes combinaciones que puedes considerar. En cualquier caso, deberás sustituir “tulogin” por la ruta a la que desear dirigir a los usuarios.
3. Modificar el prefijo de la base de datos de WordPress
Por defecto, la base de datos de WordPress utiliza el prefijo wp_. Al igual que con su página de inicio de sesión, esto es como dejar una puerta abierta.
Pero a diferencia de otros aspectos de seguridad de WordPress, no hay muchos plugins que te permitan realizar este cambio. Sin embargo, plugins como iThemes Security o All In One WP Security & Firewall sí te permiten habilitar esta esta función, por lo que vale la pena valorarlos.
Eso sí, recuerda que el posible cambiar este prefijo determinado cuando instalas WordPress, por lo que ya puedes hacerlo antes de empezar con tu web. Si no lo has hecho, puedes hacerlo de manera manual siguiendo estos tres pasos:
1º. Accede al archivo wp-config.php, busca la variable $table_prefix y modifica el prefijo.
2º. Accede a la base de datos (por ejemplo, utilizando phpMyAdmin) y luego cambia el prefijo de cada tabla.
3º. Busca en las tablas “options” y “usermeta” otras instancias del prefijo predeterminado.
Probablemente esta sea la alternativa manual más enrevesada de todas, porque vas a necesitar crear una sentencia SQL para ahorrar tiempo. Sin embargo, una vez que lo hayas implementado no deberás realizar ningún otro cambio, a no ser que crees una nueva instalación.
Decidir si utilizar un plugins de seguridad para WordPress
Aunque haya muchas razones para implementar estas medidas de seguridad para WordPress, los plugins existen por algún motivo.
Aquí te muestro los tres plugins de seguridad para WordPress más conocidos:
- Securi Security. Es un plugin gratuito para WordPress que ofrece distintas opciones de seguridad: auditoría de actividad, monitoreo de integridad de archivos, escaneo de malware, monitoreo de listas negras, refuerzo de seguridad, acciones de seguridad posteriores a hackeos y notificaciones. Además, puedes añadir un firewall como característica premium.
- Wordfence Security. Un plugin muy potente que proporciona protección de firewall, escaneo de malware y protege el login de WordPress. En la versión premium tendrás más características y opciones adicionales.
- iThemes Security. Este plugin de seguridad protege tu WordPress al máximo: detecta posibles agujeros de seguridad, detiene ataques automatizados y fortalece las credenciales de los usuarios. Al igual que en lo anteriores plugins, hay una opción premium disponible con características más avanzadas.
Técnicamente puedes implementar cualquier medida de seguridad de manera manual, pero en algunos casos esto requiere más trabajo que añadir un par de líneas en el código. En la mayoría de casos se puede utilizar un plugin de seguridad para las tareas que te pueden llevar más trabajo, pero las más sencillas como cambiar el prefijo de la base de datos es algo que puedes realizar de manera manual sin muchas complicaciones.
En mi opinión, combinar ambas opciones es la mejor solución. Aunque dependiendo de las necesidades y presupuesto de cada cliente, o la propia relación que tienes con ellos, también puedes recomendar un plugin muy completo y de calidad como Sucuri Security, Wordfence Security o iThemes Security.
Conclusión
En ocasiones las preocupaciones acerca de la seguridad de la web de tus clientes puede requerir abandonar los plugins y crear soluciones a medida. Sin embargo, es posible que no tengas los conocimientos técnicos para aplicar correctamente algunos de los aspectos de seguridad más comunes.
En este artículo hemos analizado los tres aspectos de seguridad más importantes de una web y que pueden reforzarse a través de plugins o mediante código. En cuanto a la pregunta sobre si tus clientes necesitan un plugin de seguridad para WordPRess, la respuesta está clara. Nosotros recomendamos una solución que combine ambas medidas, eso sí, teniendo en cuenta siempre el presupuesto del cliente y tu disponibilidad para ofrecer soporte.
Además, recuerda que tienes disponibles herramientas de seguridad que mantienen tu web libre de malware y realiza una monitorización de listas negras de Google.