Cómo mejorar la seguridad de tu blog de WordPress
Publicado: 2022-02-26WordPress es el sistema de administración de contenido (CMS) autohospedado más popular en Internet y, por lo tanto, al igual que Microsoft Windows, también es el objetivo más popular de los ataques. El software es de código abierto, está alojado en Github y los piratas informáticos siempre buscan errores y vulnerabilidades que puedan explotarse para obtener acceso a otros sitios de WordPress.
Lo mínimo que puede hacer para mantener segura su instalación de WordPress es asegurarse de que siempre esté ejecutando la última versión del software WordPress.org y también que los diversos temas y complementos estén actualizados. Aquí hay algunas otras cosas que puede hacer para mejorar la seguridad de sus blogs de WordPress:
#1. Inicie sesión con su cuenta de WordPress
Cuando instala un blog de WordPress, el primer usuario se llama "administrador" de forma predeterminada. Debe crear un usuario diferente para administrar su blog de WordPress y eliminar el usuario "administrador" o cambiar el rol de "administrador" a "suscriptor".
Puede crear un nombre de usuario completamente aleatorio (difícil de adivinar) o una mejor alternativa sería habilitar el inicio de sesión único con Jetpack y usar su cuenta de WordPress.com para iniciar sesión en su blog de WordPress autohospedado.
#2. No anuncies tu versión de WordPress al mundo
Los sitios de WordPress siempre publican el número de versión, lo que facilita que las personas determinen si está ejecutando una versión obsoleta de WordPress sin parches.
Es fácil eliminar la versión de WordPress de la página, pero debe realizar un cambio más. Elimine el archivo readme.html de su directorio de instalación de WordPress, ya que también anuncia su versión de WordPress al mundo.
#3. No permita que otros "escriban" en su directorio de WordPress
Inicie sesión en su shell de WordPress Linux y ejecute el siguiente comando para obtener una lista de todos los directorios "abiertos" donde cualquier otro usuario puede escribir archivos.
encontrar . -tipo d -perm -o=w
También puede ejecutar los siguientes dos comandos en su shell para establecer los permisos correctos para todos sus archivos y carpetas de WordPress (referencia).
encuentre /su/carpeta/de wordpress/ -type d -exec chmod 755 {} \; encuentre /su/carpeta/de wordpress/ -type f -exec chmod 644 {} \;
Para directorios, 755 (rwxr-xr-x) significa que solo el propietario tiene permiso de escritura mientras que otros tienen permisos de lectura y ejecución. Para los archivos, 644 (rw-r—r—) significa que los propietarios de los archivos tienen permisos de lectura y escritura, mientras que otros solo pueden leer los archivos.
#4. Renombra el prefijo de tus tablas de WordPress
Si instaló WordPress usando las opciones predeterminadas, sus tablas de WordPress tienen nombres como wp posts o wp_users. Por lo tanto, es una buena idea cambiar el prefijo de las tablas (wp ) a algún valor aleatorio. El complemento Change DB Prefix le permite cambiar el nombre de su prefijo de tabla a cualquier otra cadena con un clic.
#5. Evite que los usuarios naveguen por sus directorios de WordPress
Esto es importante. Abra el archivo .htaccess en su directorio raíz de WordPress y agregue la siguiente línea en la parte superior.
Opciones -Índices
Evitará que el mundo exterior vea una lista de archivos disponibles en sus directorios en caso de que los archivos predeterminados index.html o index.php no estén en esos directorios.
#6. Actualizar las claves de seguridad de WordPress
Vaya aquí para generar seis claves de seguridad para su blog de WordPress. Abra el archivo wp-config.php dentro del directorio de WordPress y sobrescriba las claves predeterminadas con las nuevas.
Estas sales aleatorias hacen que sus contraseñas de WordPress almacenadas sean más seguras y la otra ventaja es que si alguien inicia sesión en WordPress sin su conocimiento, se cerrará inmediatamente ya que sus cookies dejarán de ser válidas ahora.
#7. Mantenga un registro de errores de PHP y base de datos de WordPress
Los registros de errores a veces pueden ofrecer pistas sólidas sobre qué tipo de consultas de base de datos no válidas y solicitudes de archivos están llegando a su instalación de WordPress. Prefiero el Monitor de registro de errores, ya que envía periódicamente los registros de errores por correo electrónico y también los muestra como un widget dentro de su panel de WordPress.
Para habilitar el registro de errores en WordPress, agregue el siguiente código a su archivo wp-config.php y recuerde reemplazar /path/to/error.log con la ruta real de su archivo de registro. El archivo error.log debe colocarse en una carpeta a la que no se pueda acceder desde el navegador (referencia).
define('WP_DEBUG', verdadero); if (WP_DEBUG) { define('WP_DEBUG_DISPLAY', false); @ini_set('log_errors', 'Activado'); @ini_set('mostrar_errores', 'Desactivado'); @ini_set('error_log', '/ruta/al/error.log'); }
#9. Proteger con contraseña el panel de administración
Siempre es una buena idea proteger con contraseña la carpeta wp-admin de su WordPress, ya que ninguno de los archivos en esta área está destinado a las personas que visitan su sitio web público de WordPress. Una vez protegidos, incluso los usuarios autorizados deberán ingresar dos contraseñas para iniciar sesión en su panel de administración de WordPress.
10. Rastree la actividad de inicio de sesión en su servidor de WordPress
Puede usar el comando "last -i" en Linux para obtener una lista de todos los usuarios que han iniciado sesión en su servidor de WordPress junto con sus direcciones IP. Si encuentra una dirección IP desconocida en esta lista, definitivamente es hora de cambiar su contraseña.
Además, el siguiente comando mostrará la actividad de inicio de sesión del usuario durante un período de tiempo más largo agrupado por direcciones IP (reemplace NOMBRE DE USUARIO con su nombre de usuario de shell).
último -si /var/log/wtmp.1 | grep NOMBRE DE USUARIO | awk '{imprimir $3}' | ordenar | uniq -c
Monitorea tu WordPress con Plugins
El repositorio de WordPress.org contiene bastantes buenos complementos relacionados con la seguridad que monitorearán continuamente su sitio de WordPress en busca de intrusiones y otras actividades sospechosas. Aquí están los esenciales que yo recomendaría.
- Exploit Scanner: escaneará rápidamente todos sus archivos de WordPress y publicaciones de blog y enumerará los que pueden tener código malicioso. Los enlaces de spam pueden ocultarse en las publicaciones de su blog de WordPress usando CSS o IFRAMES y el complemento también los detectará.
- WordFence Security: este es un complemento de seguridad extremadamente poderoso que debe tener. Comparará sus archivos principales de WordPress con los archivos originales en el repositorio para que cualquier modificación se detecte instantáneamente. Además, el complemento bloqueará a los usuarios después de 'n' intentos fallidos de inicio de sesión.
- WP Notifier: si no inicia sesión en su panel de administración de WordPress con demasiada frecuencia, este complemento es para usted. Le enviará alertas por correo electrónico cada vez que haya nuevas actualizaciones disponibles para los temas instalados, los complementos y el núcleo de WordPress.
- Escáner VIP: el complemento de seguridad "oficial" escaneará sus temas de WordPress en busca de cualquier problema. También detectará cualquier código publicitario que pueda haber sido inyectado en sus plantillas de WordPress.
- Sucuri Security: supervisa su WordPress en busca de cambios en los archivos principales, envía notificaciones por correo electrónico cuando se actualiza cualquier archivo o publicación y también mantiene un registro de la actividad de inicio de sesión del usuario, incluidos los inicios de sesión fallidos.
Sugerencia: también puede usar el siguiente comando de Linux para obtener una lista de todos los archivos que se han modificado en los últimos 3 días. Cambie mtime a mmin para ver los archivos modificados hace "n" minutos.
encontrar . -tipo f -mtime -3 | grep -v “/dirección de correo/” | grep -v “/registros/”
Asegure su página de inicio de sesión de WordPress
Su página de inicio de sesión de WordPress es accesible para todo el mundo, pero si desea evitar que usuarios no autorizados inicien sesión en WordPress, tiene tres opciones.
- Proteger con contraseña con .htaccess: esto implica proteger la carpeta wp-admin de su WordPress con un nombre de usuario y una contraseña además de sus credenciales habituales de WordPress.
- Google Authenticator: este excelente complemento agrega una verificación de dos pasos a su blog de WordPress similar a su cuenta de Google. Deberá ingresar la contraseña y también el código dependiente del tiempo generado en su teléfono móvil.
- Inicio de sesión sin contraseña: use el complemento Clef para iniciar sesión en su sitio web de WordPress escaneando un código QR y puede finalizar la sesión de forma remota con su teléfono móvil.
Ver también: Complementos imprescindibles de WordPress