Blog
Endureciendo WordPress sin un Plugin: 10 Pasos Manuales que Todo Administrador Debe Conocer
Descubre 10 pasos manuales esenciales para asegurar tu sitio WordPress sin depender de plugins. Prácticos, accionables y efectivos.
Resumen
Muchos propietarios de sitios WordPress dependen de los plugins de seguridad como su única defensa, pero esto puede crear una falsa sensación de seguridad. Una instalación de WordPress verdaderamente endurecida requiere configuraciones manuales que ningún plugin puede reemplazar. Este artículo proporciona 10 medidas concretas de endurecimiento paso a paso que puedes implementar inmediatamente sin ningún plugin. Desde establecer permisos de archivos correctos hasta deshabilitar XML-RPC, cada paso aborda una vulnerabilidad específica. Aprenderás cómo bloquear tu wp-config.php, eliminar la navegación de directorios y más. Seguir estos pasos reducirá significativamente tu superficie de ataque, incluso si continúas usando plugins de seguridad como una capa adicional. Al final, tendrás un sitio WordPress endurecido manualmente que es mucho más resistente a los ataques comunes.
Introducción
Has instalado un plugin de seguridad popular, configurado el firewall y ejecutado escaneos regulares. Sin embargo, tu sitio WordPress aún podría ser vulnerable. Los plugins de seguridad son valiosos, pero a menudo pasan por alto las vulnerabilidades obvias que el endurecimiento manual detecta. Confiar únicamente en los plugins es como cerrar la puerta principal pero dejar las ventanas abiertas. En este artículo, aprenderás 10 pasos de endurecimiento manual que todo administrador de WordPress debería realizar, independientemente de los plugins que utilice. Estos pasos no requieren experiencia en codificación y se pueden realizar en menos de una hora. Comencemos a fortificar tu sitio desde cero.
1. Establecer Permisos de Archivos Correctos
Una de las configuraciones incorrectas más comunes son los permisos de archivos y directorios demasiado permisivos. Idealmente, todos los archivos deberían ser 644 y los directorios 755. El archivo wp-config.php es particularmente sensible: establécelo en 440 o 400 después de la instalación. Usa un cliente FTP o el administrador de archivos de tu hosting para ajustar los permisos. Si no estás seguro de tus configuraciones actuales, realiza una auditoría rápida usando un script o verifica a través de la línea de comandos con find /path -type f -exec chmod 644 {} \; y find /path -type d -exec chmod 755 {} \;. Este simple cambio evita que usuarios no autorizados lean o modifiquen archivos críticos.
2. Deshabilitar la Edición de Archivos desde el Panel de Control
Por defecto, WordPress permite a los administradores editar archivos de temas y plugins directamente desde el panel de administración. Si un atacante obtiene acceso a una cuenta de administrador, puede inyectar código malicioso. Deshabilita esta función agregando la siguiente línea a tu archivo wp-config.php:
define('DISALLOW_FILE_EDIT', true);
Esto no afecta tu capacidad para subir temas o plugins—solo elimina el editor de archivos en línea. Usa un IDE o FTP para ediciones legítimas.
3. Deshabilitar la Navegación de Directorios
Si la navegación de directorios está habilitada, cualquiera puede listar todos los archivos en tu carpeta wp-content/uploads, exponiendo potencialmente datos privados. Evítalo agregando esta línea a tu archivo .htaccess (Apache) o configuración equivalente:
Options -Indexes
Para Nginx, agrega autoindex off; en el bloque del servidor. Prueba visitando una URL de directorio; deberías ver un error 403 Prohibido en lugar de una lista de archivos.
4. Deshabilitar XML-RPC
XML-RPC es un protocolo antiguo utilizado para publicación remota y trackbacks. Es un vector común para ataques de fuerza bruta y amplificación DDoS. A menos que lo necesites absolutamente (por ejemplo, para el plugin Jetpack o la aplicación móvil), deshabilítalo por completo. Agrega esto a tu .htaccess:
# Bloquear solicitudes xmlrpc.php de WordPress
<Files xmlrpc.php>
order deny,allow
deny from all
</Files>
Alternativamente, usa un plugin o el firewall de tu hosting para bloquear el acceso. Después de deshabilitarlo, prueba que tu sitio aún funcione—la mayoría de los plugins modernos ya no dependen de XML-RPC.
5. Eliminar Temas y Plugins No Utilizados
Cada tema o plugin adicional aumenta tu superficie de ataque. Incluso si están desactivados, el código desactualizado aún puede ser explotado. Elimina cualquier tema que no estés usando activamente y elimina los plugins que ya no necesites. Esto es especialmente importante para los plugins abandonados que ya no reciben actualizaciones. Para una guía de limpieza paso a paso, consulta nuestro artículo sobre el peligro oculto de los plugins de WordPress abandonados.
6. Cambiar el Prefijo de las Tablas de la Base de Datos
Por defecto, WordPress usa wp_ como prefijo de tabla en la base de datos. Esto es ampliamente conocido y facilita los ataques de inyección SQL. Cambia el prefijo a algo único durante la instalación. Si tu sitio ya está en línea, aún puedes cambiarlo—aunque requiere más esfuerzo. Usa un plugin como "Change Table Prefix" o hazlo manualmente a través de phpMyAdmin:
- Exporta tu base de datos.
- Renombra todas las tablas usando un nuevo prefijo (por ejemplo,
mysec_). - Actualiza
wp-config.phpcon el nuevo prefijo. - Actualiza las tablas
optionsyusermetadonde se usa el prefijo antiguo.
Siempre haz una copia de seguridad antes de intentar esto.
7. Limitar los Intentos de Inicio de Sesión
Los ataques de fuerza bruta son la forma más común en que los atacantes obtienen acceso. WordPress no tiene limitación de intentos de inicio de sesión incorporada. Implementa esto manualmente agregando código al functions.php de tu tema o, mejor, usa un plugin must-use. Alternativamente, tu proveedor de hosting puede ofrecer esto a través del panel de control. Si prefieres un plugin, elige uno ligero y bien codificado. Para una estrategia más amplia sobre cómo responder a las brechas, consulta nuestro flujo de trabajo de remediación de seguridad de WordPress.
8. Cambiar el Nombre de Usuario Administrador
Nunca uses "admin" como tu nombre de usuario—es la primera suposición en cualquier ataque de fuerza bruta. Si ya tienes una cuenta con ese nombre de usuario, crea una nueva cuenta de administrador con un nombre único, luego elimina la antigua. Además, considera usar una dirección de correo electrónico para iniciar sesión en lugar de un nombre de usuario.
9. Fortalecer las Sales y Claves de la Base de Datos
WordPress utiliza sales y claves para cifrar las sesiones de usuario y las cookies. Si estas se ven comprometidas, los atacantes pueden falsificar sesiones. Genera nuevas sales fuertes usando el Generador de Sales de WordPress. Copia la salida y reemplaza las líneas correspondientes en tu wp-config.php. Haz esto periódicamente, especialmente después de un incidente de seguridad.
10. Habilitar las Actualizaciones Automáticas del Núcleo
Mantener el núcleo de WordPress actualizado es crítico. Habilita las actualizaciones automáticas para versiones menores y mayores agregando esto a wp-config.php:
define('WP_AUTO_UPDATE_CORE', true);
Para versiones mayores, es posible que desees probar primero en un sitio de pruebas, pero no retrases las actualizaciones de seguridad. Combina esto con verificaciones manuales regulares de actualizaciones de plugins y temas.
Conclusión
El endurecimiento manual es la base de un sitio WordPress seguro. Estos 10 pasos abordan vulnerabilidades comunes que los escáneres y plugins a menudo pasan por alto. Al implementarlos, reduces tu superficie de ataque y obtienes tranquilidad. Recuerda que la seguridad es un proceso continuo—revisa periódicamente estas configuraciones. Para un enfoque integral, consulta nuestra guía proactiva de auditoría de seguridad de WordPress. Comienza hoy con un paso y construye desde allí. La seguridad de tu sitio depende de las acciones que tomes ahora.
