¡Ayuda! ¡Mi sitio web ha sido hackeado!

Ilustración sobre un sitio web hackeado

Es la pesadilla de todo propietario de un sitio web. Te despiertas de una noche de sueño maravilloso, te sirves una taza de café y te sientas frente a tu ordenador esperando comprobar las ventas de tus pedidos durante la noche y los últimos resultados deportivos. Luego descubres que tu sitio ha sido hackeado. No hace falta decir que no tienes ningún pedido de la noche a la mañana y, de repente, tu equipo favorito es ahora lo último en lo que piensas.

Cómo saber si tu sitio ha sido hackeado

Hay un par de formas de darse cuenta:

  • Abres tu sitio y ves algo más en su lugar. Si el hackeo es tan obvio, tu sitio se desfigurará con otro contenido, por ejemplo, un mensaje que diga, por ejemplo, “Tu sitio ha sido hackeado por [XYZ]”.
  • Abres tu sitio y te redirige a otro sitio web que no tiene nada que ver con tu negocio (un sitio de estafa/phishing sobre algo diferente).
  • Obtienes un informe de tu proveedor de hosting web. Si alojas tu sitio en SiteGround, podrás ver este informe en tu Área de Cliente. En la interfaz de ese informe, habrá una herramienta que te permitirá escanear libremente tu sitio web en busca de código malicioso y puertas traseras sobrantes. Aún mejor, si tienes SiteGround Site Scanner habilitado, recibirás una notificación instantánea cuando detecte contenido o actividad maliciosa en tu sitio.
  • Descubres que Google ha eliminado tu sitio web de los resultados de búsqueda. Si no has notado nada obviamente mal con tu sitio, pero de hecho ha sido pirateado, eventualmente Google Safebrowsing mostrará una advertencia o el sitio se eliminará de los resultados de búsqueda de Google. Por lo general, ese es el último recurso y es mucho mejor detectar los hackeos antes, por lo que recomendamos usar siempre Site Scanner u otras herramientas de comprobación del sitio para la detección temprana.
  • Si tienes una cuenta de Google Webmaster, recibes un informe oficial de Google de que tu sitio ha sido hackeado. En este caso, puedes consultar las secciones de Webmasters para obtener más información. Si todavía no has añadido tu sitio web a las herramientas para Google Webmaster, es una buena idea hacerlo.

Próximos pasos: Cómo reparar tú mismo tu sitio web hackeado

Ok, has confirmado que tu sitio ha sido hackeado. Sírvete una taza de valeriana y manos a la obra.

Hacer una copia de seguridad 

Lo primero que debes hacer es crear una copia de seguridad de tu sitio. Sí, soy consciente que tu sitio ha sido comprometido y vamos a intentar arreglarlo. Pero ahora mismo necesitas preservar la evidencia. Así que usa tu herramienta de copia de seguridad normal para crear una copia de seguridad de tu sitio y guárdala en un lugar seguro y apartado. Asegúrate de etiquetarlo correctamente para no restaurarlo accidentalmente en algún momento en el futuro.

Si tu sitio está alojado en SiteGround, puedes usar la herramienta de Copia de seguridad del sitio web para crear fácilmente copias de seguridad y restaurar tu sitio. Para obtener información detallada sobre cómo hacer todo eso, sigue el enlace.

Restaurar desde la última copia de seguridad en funcionamiento

En este punto, no sabes qué ha causado que tu sitio se viera comprometido. No sabes si alguien forzó tu contraseña o usó una vulnerabilidad en uno de tus plugins. Así que vuelve a la última copia de seguridad que funcione y que esté libre de malware y restaura desde ella.

Es posible que tu última copia de seguridad en funcionamiento no sea la última. Si no estás del todo seguro acerca de cuándo fue hackeado tu sitio, vuelve lo más lejos que puedas. Espero que tengas una copia de seguridad mínima de 30 días. Esto te dará una mejor oportunidad de obtener una copia de seguridad limpia.

Escanear tu sitio web

El siguiente paso sería escanear tu sitio web en busca de malware u otro código malicioso. Hay muchas herramientas de escaneo de sitios para elegir que pueden ayudarte a diagnosticar tu sitio en busca de código malicioso, archivos u otros hackeos. Elige uno para hacer un escaneo rápido de tu sitio web y para comprobar también si tu sitio aparece en una de las principales listas negras online.

Si eres cliente de SiteGround, puedes optar por el servicio de Site Scanner. Sigue el enlace para aprender cómo Site Scanner protege los sitios web.

Poner tu sitio en modo de mantenimiento

Una vez que hayas restaurado tu copia de seguridad, pon tu sitio en modo de mantenimiento. Esto te permitirá acceder al lado administrativo de tu sitio, pero no pondrás en peligro a ninguno de los visitantes de tu sitio con malware potencial.

La forma más fácil de hacer esto es utilizando el plugin WP Maintenance Mode. Te permite activar el modo de mantenimiento desde la interfaz de administración.

Primero, descarga e instala el plugin WP Maintenance Mode. Una vez activado, selecciona Ajustes > Modo de mantenimiento de WP desde el panel de WordPress.

Instalar SiteGround Security y limpiar las cosas

Incluso en esta etapa, el plugin SiteGround Security tiene un truco genial bajo la manga. Una vez que lo tengas instalado, haz clic en su menú y ve a “Acciones posteriores a un hackeo”. Todas estas son importantes, pero vamos a tomarlas en un orden un poco diferente al que se muestran.

  1. Cerrar la sesión de todos los usuarios
  2. Reinstalar todos los plugins gratuitos
  3. Forzar restablecimiento de contraseña

Ese segundo es el mágico. Si tu sitio fue comprometido y el atacante subió su propia copia de uno de tus plugins, esto lo eliminará.

Resetear WordPress en sí

Puedes iniciar sesión en tu administrador de WordPress y usar ejemplo.com/wp-admin/update-core.php para reinstalar WordPress. Incluso si dice que estás en la versión más reciente de WordPress, sigue adelante y vuelve a instalar WordPress. Esto sobrescribirá cualquier archivo principal que pueda haber sido comprometido en el ataque.

Cabe señalar que aunque ya hemos limpiado todo el código que ejecuta tu sitio, el ataque puede haber alterado tu base de datos. Aunque hemos restaurado desde una copia de seguridad anterior, debes revisar cada publicación y comentario para asegurarte de que no se haya insertado nada. Esta es una tarea desalentadora para algunos sitios y la razón por la que contratamos profesionales que tienen las herramientas adecuadas para hacer el trabajo.

A continuación, ve al menú de plugins y actualiza todo lo que pueda estar desactualizado. Si tienes plugins de pago (¿y quién no?) ve a pagar la tarifa de cada uno de ellos y actualiza a la última versión o desactívalos y elimínalos. No solo los desactives y no dejes plugins o temas sin parchear en tu sitio.

Revisa tus contraseñas y políticas

Anteriormente cerramos la sesión de todos los usuarios y forzamos un restablecimiento de contraseña para todos los usuarios. Esto ayudará si el atacante comprometió la cuenta de un usuario. Para hacerlo más difícil la próxima vez, asegúrate de que todas tus cuentas de administrador y editor tengan activada la autenticación de dos factores. Hay varios plugins buenos tanto gratuitos como de pago que te darán 2FA. Si has estado siguiendo mis instrucciones hasta ahora, ya tienes instalado uno de los mejores, SiteGround Security.

Ve al menú SG Security y selecciona “Seguridad de acceso”. Desde allí, haz clic en el control deslizante junto a “Identificación de doble factor para usuarios administradores y editores”. Esto forzará a todas las cuentas de administrador y editor a activar 2FA la próxima vez que inicien sesión … incluyéndote a ti. Sí, agrega un paso más para iniciar sesión en tu sitio cada mañana y sí, algunos días te preguntarás “¿Dónde está mi teléfono?” antes de iniciar sesión, pero la tranquilidad merece la pena.

Además, es imprescindible que todos los usuarios usen contraseñas seguras. WordPress en sí no te da la opción de forzar contraseñas seguras, pero hay plugins que puedes obtener que lo harán. Te recomiendo encarecidamente que instales uno y que conviertas las contraseñas seguras en una política del sitio.

Revisar el acceso 

Muchos atacantes instalarán sus propias cuentas de usuario con la esperanza de que no te des cuenta. Ahora es el momento de darse cuenta. Revisa la lista de usuarios en cada nivel y comprueba si ves algo fuera de lugar. En la mayoría de los sitios, solo debes tener una o como máximo dos cuentas de administrador. Revísalas para asegurarte de reconocerlas todas. Lo mismo ocurre con cualquier rol que tenga permisos elevados, como editar contenido.

Volver a escanear tu sitio

Hemos hecho todo lo posible para limpiar las cosas. Ahora veamos cómo quedan las cosas. Vuelve a la herramienta de escaneo que usaste originalmente y vuelve a escanear tu sitio. Probablemente sigas en listas negras, pero el malware debería haber desaparecido.

Si el escáner de tu sitio te da un buen estado de salud, entonces la primera parte de tu viaje está lista.

Si, por otro lado, el escáner sigue detectando malware, en este punto tendrás que ponerte en contacto con un profesional. Has hecho todas las cosas que la mayoría de las personas no técnicas o semitécnicas pueden hacer. Honestamente, en este punto me pondría en contacto con un limpiador de sitios profesional para solucionarlo. Mi sitio es demasiado importante para mí como para arriesgarme.

Escanea tus dispositivos

Escanear tu sitio web es importante como se mencionó anteriormente, pero también es importante escanear tus dispositivos. Escanea tu PC u otros dispositivos que uses para asegurarte de que si el dispositivo respectivo está infectado con malware, lo limpies para evitar que tu sitio sea hackeado nuevamente debido a este mismo malware.

Pasos posteriores a la limpieza

En primer lugar, tómate un descanso. Probablemente has estado con esto durante horas. Solo toma unos minutos leer sobre los pasos que he descrito anteriormente. En realidad, lleva horas lograrlos todos correctamente. Probablemente hayas leído alrededor de 100 páginas como esta que te dan consejos similares, pero que también pueden tener otros pasos.

Detente. Respira. Relájate.

Ok, ahora vamos a tomar medidas para asegurarnos de que esto no vuelva a suceder.

Bloquear las cosas

Hay un par de cosas que debes bloquear o desactivar para evitar que esto vuelva a suceder:

  • Bloquea y protege las carpetas de tu sistema para evitar que se ejecuten scripts no autorizados o maliciosos en las carpetas de tu sistema.
  • Oculta tu versión de WordPress de los hackers que aprovechan las vulnerabilidades en las versiones de WordPress.
  • Desactiva la opción de edición de temas y plugins desde el administrador de WordPress para evitar el acceso no autorizado a través del editor de WordPress.
  • Elimina el archivo Readme.html predeterminado que los hackers suelen utilizar para compilar listas de sitios potencialmente vulnerables para ser hackeados o atacados.

Puedes hacer todo lo anterior para los sitios web de WordPress con unos pocos clics en el plugin SiteGround Security, en la sección ‘Seguridad del sitio’. Si vas a la sección ‘Seguridad de acceso’, también te permitirá habilitar 2FA fácilmente para usuarios administradores y editores, deshabilitar nombres de usuario comunes, limitar intentos de inicio de sesión, etc.

Si eres un cliente de SiteGround y tienes Site Scanner habilitado para tu sitio web, también puedes aprovechar su función ‘Site Protect’. Te permite administrar cuatro opciones diferentes de encendido/apagado desde su interfaz:

  • Desactivar la transferencia de archivos FTP a tu sitio web
  • Desactivar la transferencia de archivos SSH
  • Desactivar la carga de archivos a tu sitio web a través de PHP
  • Evitar la ejecución de scripts maliciosos en el servidor.

Todo esto te da tiempo para revisar el estado del sitio web y reaccionar en consecuencia, si es necesario.

Configurar escaneo regular

Otro consejo útil es escanear tu sitio regularmente para prevenir ataques maliciosos en una etapa temprana. Esto podría ahorrarte tiempo, dinero y reputación la próxima vez que tengas que lidiar con hackers. Los clientes de SiteGround tienen la opción de comprar el servicio Site Scanner que detecta y previene la carga de malware, te advierte sobre posibles amenazas en una etapa temprana y oportuna, y te da herramientas para reaccionar en caso de que tu sitio sea atacado.

Para obtener este servicio, ve a Site Tools en tu panel de SiteGround. Haz clic en “Seguridad” y luego en “Site Scanner”. Regístrate para que escaneen tu sitio diariamente. Sí, cuesta más, pero acabas de pasar horas limpiando y reparando tu sitio exactamente porque no tenías a alguien que lo supervisara por ti.

Instalar un software de firewall 

Si quieres ir un paso más allá, hay algunos plugins geniales de “Software Firewall” para WordPress que bloquearán las cosas aún más. Es posible que desees considerar instalar uno de estos y suscribirte a su servicio.

Un paso más que puedes tomar para limpiar y proteger aún más tu sitio: contratar a un profesional

Si tu sitio es responsable de una cantidad no trivial de tu flujo de ingresos, contrata a un experto en seguridad profesional que sepa cómo limpiar sitios de WordPress.

Un profesional te costará pero, si no estás seguro de hacerlo tú mismo, tienen muchas más posibilidades de solucionar el problema que tú mismo.

Conclusión

Ser hackeado apesta. La mejor estrategia es crear capas de seguridad que protejan tu sitio.

Capa 1: Tener conjuntos de copias de seguridad

Si no tienes copias de seguridad, ni siquiera puedes empezar a arreglar tu sitio. Asegúrate de tener copias de seguridad de los últimos 30 días almacenadas en algún lugar que no sea el sistema de copia de seguridad de tu hosting web. SiteGround realiza una copia de seguridad de mi sitio todos los días y lo almacena en un lugar que es fácil de acceder y restaurar. Dicho esto, también tengo un plugin de copia de seguridad que hace una copia de seguridad separada y la almacena en un servidor desconectado de todo lo demás. Estas son mis copias de seguridad “seguras”. Almacenarlas en tu propio ordenador está bien. Almacenarlas en una unidad USB conectada a tu ordenador es una buena opción. Almacenarlas en algo como Amazon S3 es una solución aún mejor.

Sin importar cómo lo hagas, asegúrate de tener 2 conjuntos de copias de seguridad. Los que tu empresa de hosting te hace a diario, y los que tú mismo haces… a diario.

Capa 2:  Descarga el plugin SiteGround Security:

Esto hace lo básico por ti:

  • 2FA
  • Desactivar encabezados y funciones innecesarias
  • Hacer que sea más difícil adivinar las contraseñas al limitar los intentos de inicio de sesión

Todas estas cosas conforman una buena capa base de seguridad. Si tu sitio es tu blog personal y no perderás dinero si eres hackeado, probablemente esto sea suficiente. Sin embargo, si obtienes ingresos de tu sitio, agrega algunas capas más.

Capa 3: Activar SiteGround Site Scanner:

Escanear tu sitio diariamente en busca de contenido malicioso es una capa importante. Asegúrate de tener un servicio de confianza como SiteGround que escanea tu sitio para asegurarte de que esté limpio.

Capa 4: Mantener buenas políticas:

Revisa tus políticas como contraseñas seguras y asegúrate de tener buenas políticas de seguridad sólidas. Además, limita el número de cuentas de administrador al mínimo absoluto. Si tienes que otorgar acceso de administrador a alguien para arreglar algo, asegúrate de desactivar y eliminar la cuenta tan pronto como puedas.

Capa 5: Get a Software Firewall Plugin

Finalmente, si has hecho todo lo demás y aún quieres otra capa, invierte en un plugin de software de firewall. Hay varios de ellos, haz los deberes y encuentra el adecuado para ti.
Ningún sitio web está a salvo. Sin embargo, puedes hacer que el acceso a tu sitio sea tan difícil que no valga la pena y el atacante pase al siguiente sitio de su lista.

La diferencia entre los algoritmos de compresión Brotli y Gzip para acelerar tu sitio web

Ilustración sobre algoritmos

¿Estás buscando formas gratuitas de hacer que tu sitio web sea más rápido? Una forma en que cada propietario de un sitio web pueda obtener un poco de velocidad gratis es activar la compresión en el servidor. Cuando tanto el servidor web como el navegador con el que está conversando entienden un algoritmo de compresión común, entonces los datos que realmente se envían por cable se pueden comprimir. Los datos comprimidos son más pequeños. Los datos más pequeños se reciben más rápido.

¿Qué es la compresión?

Cuando ingresas una URL en tu navegador, el navegador inicia una conversación con el servidor y una de las cosas que le dice es si puede descomprimir contenido y, de ser así, qué “algoritmos” de compresión comprende.

El servidor escucha, y si ha activado la compresión y conoce uno de los algoritmos de compresión que hace el navegador, comprimirá todos los datos y los enviará al navegador.

La mayoría de los navegadores web modernos entienden o “aceptan” contenido codificado en uno de tres algoritmos:

  • Deflate
  • Gzip
  • Brotli

Cuando un navegador web contacta a un servidor, envía un encabezado que se ve así:

Aceptar codificación: br, gzip

Eso le dice al servidor que entiende los datos comprimidos en Brotli (br) o Gzip (gzip). Los servidores tienen la opción de ignorar esto y devolver también datos sin comprimir.

Sin embargo, en general, los datos comprimidos viajan más rápido que los datos sin comprimir. Entonces, tu sitio web llega al navegador más rápido si los datos están comprimidos.

La compresión se aplica principalmente al texto:

  • HTML
  • javascript
  • CSS

Estos constituyen una gran parte de los sitios web modernos en estos días y todos estos pueden comprimirse mediante algoritmos de compresión por parte del servidor.

Por otro lado, tanto la mayoría de los formatos de imagen (jpg, png, etc.) como la mayoría de los formatos de audio (mp3) y otros archivos binarios que no son de texto ya están comprimidos. Comprimirlos no hará ninguna diferencia, por lo que, independientemente del encabezado de codificación de aceptación, los servidores los enviarán tal como están.

Como se indicó anteriormente, la mayoría de los navegadores web modernos aceptarán 3 algoritmos de compresión principales. La mayoría de los servidores ahora han migrado a uno o ambos de los dos más populares, Gzip y Brotli.

¿Qué es la compresión Gzip?

Los dos algoritmos de compresión más comunes son Gzip y Brotli. Gzip es el más antiguo y común de los dos. Fue escrito por Jean-loup Gailly y Mark Adler. La versión beta inicial se realizó en 1992. La primera versión real, la versión 1.0, se lanzó a principios de 1993. En 1992, justo cuando la web comenzaba a ser un concepto extendido para la mayoría de las personas.

Gzip fue diseñado como una biblioteca de compresión para todo uso. Las teorías detrás de Gzip se basaron en el algoritmo de compresión anterior, DEFLATE.

Debido a su popularidad, y al hecho de que es muy bueno para hacer archivos pequeños, todavía se usa ampliamente hoy en día tanto en diferentes sistemas operativos como en un algoritmo de compresión principal para servidores web.

¿Qué es la compresión de Brotli?

Brotli fue desarrollado por los empleados de Google Jyrki Alakuijala y Zoltán Szabadka en 2013. Originalmente, Google estaba buscando una mejor manera de comprimir archivos WOT que son fuentes web.

Gzip originalmente estaba destinado a comprimir archivos y se ha adaptado para comprimir transmisiones para que pueda funcionar en la web. Brotli, por otro lado, fue diseñado desde el principio para comprimir flujos. Esto lo convierte en una mejor opción para que los servidores web compriman el contenido antes de transmitirlo a un navegador.

En 2015, Google lanzó la especificación Brotli para HTTP. Además de especificar cómo el navegador debe notificar al servidor que puede descomprimir Brotli enviando un encabezado “Codificación de contenido: br”, los ingenieros de Google también realizaron otras mejoras en Brotli que lo hicieron aún más rápido para comprimir contenido web.

¿Cuál es la diferencia entre la compresión Brotli y Gzip?

Si bien ambos tienen su origen en el algoritmo LZ77, Gzip fue diseñado específicamente para comprimir archivos. La biblioteca se ha incorporado a muchos programas diferentes que necesitan comprimir archivos. La biblioteca se incorporó a los servidores web cuando la compresión de contenido comenzó a ser la norma. Era uno de los dos algoritmos de compresión especificados en RFC 2616, la especificación HTTPS 1.1. Si bien no fue diseñado específicamente para operaciones de transmisión como servidores web, se adaptó a ello.

Brotli, por otro lado, fue diseñado específicamente para la web. Google reconoció la necesidad de una forma de comprimir transmisiones de manera más eficiente, por lo que diseñó Brotli.

Ambos algoritmos hacen un buen trabajo para lo que fueron diseñados. Gzip todavía se sigue usando en la web porque es mejor que nada. Sin embargo, a medida que Brotli crece en popularidad, más y más servidores web prefieren Brotli a Gzip. Dada la elección de los dos, Brotli es el predeterminado que usarán muchos servidores. Ha sido la opción predeterminada en todos los servidores de SiteGround desde hace un tiempo.

¡Mira el siguiente video (en inglés) para obtener más información sobre las diferencias entre Brotli y Gzip!

Evaluación comparativa de Brotli y Gzip

Cuando se comparó Brotli con Gzip, se descubrió que comprime mejor los siguientes archivos:

  • JavaScript un 14% más pequeños
  • HTML un 21% más pequeños
  • CSS un 17% más pequeños

Dado que Brotli fue diseñado para comprimir transmisiones sobre la marcha, es más rápido tanto para comprimir contenido en el servidor como para descomprimirlo en el navegador que en gzip. En algunos casos, la descompresión inicial general es hasta un 64% más rápida que Gzip.

¿Cómo puedo habilitar la compresión en mi sitio web?

En términos simples, “activar la compresión” simplemente significa decirle a tu servidor web que comprima todo antes de enviarlo a un navegador que ha anunciado que puede manejar la compresión.

Si eres administrador de un servidor, sabes cómo editar archivos de configuración. Si no eres administrador del servidor, omita esta sección y desplácese directamente a la sección “Si no soy administrador del servidor” a continuación.

Si uso Apache

Si está utilizando el servidor web Apache, hay 2 pasos para habilitar la compresión Brotli:

  • En primer lugar, habilita el módulo apache Brotli. Se incluye de forma predeterminada, pero es posible que no esté habilitado:

$ sudo a2enmod brotli 

  • A continuación, debes editar el archivo de configuración de tu servidor web y decirle al servidor a qué desea aplicar la compresión:

<IfModule mod_brotli.c>

            AddOutputFilterByType BROTLI_COMPRESS text/html text/plain text/xml text/css text/javascript application/javascript

</IfModule>

En el ejemplo anterior, le estamos diciendo al servidor web que comprima:

  • HTML
  • Texto sin formato
  • CSS
  • JavaScript

Éstos son los principales tipos de archivos que se pueden comprimir.

Si uso Nginx

Nginx es otro servidor web muy popular. Al igual que Apache, está controlado por archivos de configuración. Debes ubicar tu archivo nginx.conf y agregar las siguientes dos líneas:

load_module modules/ngx_http_brotli_filter_module.so;

load_module modules/ngx_http_brotli_static_module.so;

Luego, en el archivo conf individual de tu sitio web, debes agregar lo siguiente:

brotli on;

brotli_static on;

brotli_types *;

Después de realizar los cambios, ya sea Apache o Nginx, reinicia tu servidor web y ahora responderá con un encabezado de “Codificación de contenido” si el navegador envía un encabezado de “Codificación de aceptación“.

Si no soy administrador del servidor

Si no eres administrador del servidor, en realidad es mucho más fácil para ti habilitar la compresión en tu servidor. Simplemente elige un hosting como SiteGround que lo activa de forma predeterminada. Es fácil.

La mayoría de los hostings de primer nivel como SiteGround están interesados ​​tanto en hacer que tu sitio sea lo más rápido posible como en conservar la mayor cantidad de ancho de banda posible. Éstos son los dos mayores beneficios de habilitar la compresión. Por lo tanto, los hostings de primer nivel activan la compresión de forma predeterminada.

Si no eres un cliente de SiteGround, debes asegurarte de que tu servidor web active la compresión en tu servidor web. Si no lo hacen y no la activan para ti, es hora de encontrar un nuevo hosting.

¿Cómo puedo probar la compresión de Brotli y Gzip?

Entonces, ¿cómo puedo saber si la compresión está activada para mi sitio web? Hay un par de maneras de hacer esto.

El camino difícil

  • Abre un navegador. Voy a usar Chrome en este ejemplo, pero el concepto funcionará con cualquier navegador. Sin embargo, los nombres de las opciones pueden cambiar un poco entre las marcas de los navegadores.
  • Haz clic derecho en cualquier parte del navegador y selecciona “Inspeccionar”
  • Esto abrirá una ventana en el lateral o en la parte inferior y es una ventana muy llena de datos. La ventana tiene varias pestañas con nombres como éste.
    • Elementos
    • Consola
    • Fuentes
    • Red
    • Rendimiento
    • Etc.
Captura sobre compresión 1
  • Busca la pestaña “Red”.
  • En el cuadro de URL de arriba, ingresa la URL de tu sitio web y presiona enter. Esto va a llenar la pestaña de red con muchos registros diferentes. Desplaza atrás hasta el primer registro. Debe ser simplemente el nombre de tu dominio.
Captura sobre compresión 2
  • Haz clic en ese primer registro.
Captura sobre compresión 3
  • Localiza el encabezado “aceptar codificación“. Se ubicará en la sección “Encabezados de solicitud“. Estos son los encabezados que tu navegador envió al servidor. Si no tienes este encabezado, intenta con un navegador diferente porque el servidor no se comprimirá si el navegador no envía el encabezado de compresión.
Captura sobre compresión 4
  • Finalmente, ubica el encabezado “codificación de contenido“. Esto se ubicará en la sección “Encabezados de respuesta“. Estos son los encabezados que tu servidor envió al navegador antes de enviar tu sitio web. Esto le dice al navegador que el servidor eligió Brotli como la compresión y debe descomprimir los flujos de contenido a medida que ingresan antes de mostrarlos.

Honestamente, la mayoría de los desarrolladores, incluido yo mismo, lo hacen de esta manera. Sí, para los no iniciados, este el camino difícil. Si normalmente no usas la pestaña Inspeccionar para profundizar en la conversación que tienen tu navegador y el servidor, entonces puede ser confuso. Sin embargo, una vez que comprendas qué buscar y dónde, esta forma requiere muy poco esfuerzo y está disponible en todas partes.

La manera fácil

Aún así, hay personas que no se sienten cómodas haciéndolo de esta manera. Para aquellos de vosotros que están leyendo este artículo y caen en esta categoría, os presento la manera fácil.

En serio, eso es todo. Al revisar mi sitio, obtuve los siguientes resultados.

Captura ejemplo compresión fácil

Esto no solo me dice que mi servidor web es capaz de codificar mi sitio web en Brotli, sino que también me dice que el 80,66% de mi sitio web se encuentra encriptado.

Conclusión

La compresión en los sitios web ahora es la norma porque ayuda a que tu sitio se cargue más rápido.

Actualmente, Brotli es el mejor algoritmo de compresión disponible para sitios web. Si ves que no se te está ofreciendo Brotli, muévete a un proveedor de alojamiento web que lo tenga habilitado. ¡Un proveedor de alojamiento como SiteGround! Puedes obtener archivos más pequeños entre un 15 y un 20 % con Brotli, y los archivos más pequeños significan un sitio web que se carga más rápido. Obtenga más información sobre la implementación de SiteGround en nuestro artículo, Más velocidad del sitio con el algoritmo de compresión de Brotli. También puedes aprovechar todos nuestros otros aceleradores de velocidad que harán que tu sitio vuela.

5 sencillos pasos para mejorar la seguridad WordPress

Ilustración seguridad WP

Los piratas informáticos atacan de promedio sitios web cada 39 segundos, según muestra un estudio de la Escuela Clark de la Universidad de Maryland. Dado que más del 40% de la web usa WordPress, es uno de los objetivos populares en peligro de ataques de piratas informáticos. Además, como software de código abierto, al que todos los desarrolladores pueden contribuir, puede haber algunas vulnerabilidades potenciales en el código. Los ciberdelincuentes aprovechan las vulnerabilidades y otros problemas de seguridad de WordPress que se pueden evitar fácilmente, como nombres de usuario comunes, contraseñas débiles, complementos obsoletos y otros.

Afortunadamente, hay cuatro cosas fáciles que todo propietario de una web puede hacer, generalmente sin la ayuda de un desarrollador, para hacer que su sitio web sea más seguro.

Problemas de seguridad y vulnerabilidades más comunes de WordPress

Primero, echemos un vistazo a algunas de las vulnerabilidades y problemas más comunes de WordPress que los ciberdelincuentes tienden a explotar cuando atacan un sitio web:

  • Núcleo de WordPress desactualizado

Tener WordPress desactualizado es una de las cosas que los piratas informáticos buscan en un sitio web. Es por eso que debes estar atento cuando sale una actualización para un programa o biblioteca.

  • Temas y plugins obsoletos

Asegúrate de que todos tus temas y plugins estén actualizados, de modo que cualquier error existente se solucione con la versión más reciente.

  • Ataques de fuerza bruta

Puedes detener los ataques de fuerza bruta de varias maneras, como usar un complemento de seguridad o tener mitigación de fuerza bruta con tu proveedor de alojamiento web.

  • Malware

Evita la inyección de software malicioso en tu sitio web por diferentes medios, como escáneres de malware y servicios de limpieza de forma regular.

  • Ataques DoS o DDoS

Una forma de evitar este tipo de ataques es tener un sistema de almacenamiento en caché o un sistema de mitigación DDoS integrado en la infraestructura de tu proveedor de alojamiento web.

  • Entorno de alojamiento deficiente

Cuando busques un proveedor de alojamiento web, asegúrate de que tenga una buena reputación, un conocimiento profundo de WordPress y, sobre todo, que sea confiable.

Mejora la seguridad de tu WordPress en cinco sencillos pasos

¿Estás listo para abordar estas vulnerabilidades por tu cuenta? Para quitarte la carga de encima, tengo cinco sencillos pasos para hacer que tu sitio web de WordPress sea más seguro con solo unos pocos clics:

1. Cambia el nombre de usuario del administrador

Esto es muy obvio. Si todavía usas admin, administrador o algo que sea realmente fácil de adivinar, ¡PARA! Fijate, para acceder a tu web, un atacante necesita dos cosas, un nombre de usuario y una contraseña. Si usas un nombre de usuario de administrador predeterminado, entonces les has dado la mitad de lo que necesitan. Hagámoslo un poco más difícil, ¿de acuerdo?

Para cambiar el nombre de administrador, puedes hacerlo manualmente o puedes instalar un plugin. Dado que los plugins ralentizan tu web y solo lo necesitarías para hacer esto, mejor hagámoslo manualmente.

  • Inicia sesión con tu cuenta de administrador existente.
  • En “Usuarios”, haz clic en “Añadir nuevo”.
  • Crea un nuevo usuario y asignale un rol de de administrador. Pon el nombre de usuario sea el que desees, EXCEPTO Administrador, admin o tu nombre. (Sí, los atacantes probablemente lo sepan, dado que la cuenta de Facebook de tu empresa está vinculada a tu página personal)
  • Cierra sesión en WordPress y vuelve a iniciar sesión con tu nueva usuario administrador.
  • Haz clic en “Usuarios” para enumerar los usuarios y, en tu cuenta de administrador original, haz clic en “Eliminar”. Asegúrate de seleccionar “Atribuir contenido a” y selecciona tu nueva cuenta de administrador para que no pierdas ningún contenido.

Si deseas deshabilitar los nombres de usuario comunes con un solo clic, instala el plugin SiteGround Security. Es una herramienta gratuita que brinda opciones fáciles para proteger tu sitio web y mejorará en gran medida la seguridad de tu WordPress. Úselo para deshabilitar la creación de nombres de usuario comunes y, si ya tienes uno o más usuarios con un nombre de usuario débil, te pedirá que proporciones uno nuevo. Además, cuando se alterna, aparecerá una ventana emergente en la que podrás elegir un nuevo nombre de usuario y reemplazar automáticamente los débiles existentes.

Captura desactivar nombres de usuarios comunes

2. Utiliza contraseñas seguras

Sí, a todo el mundo le encanta usar su cumpleaños como contraseña. ¿Sabes a quién le gusta más? A los atacantes. Mira, las contraseñas débiles son fáciles de adivinar.

Si publicas en tus redes sociales: “¡Frozen II es mi PELÍCULA FAVORITA! ¡Iré a verla mañana por mi cumpleaños! “, le has dado a un atacante un dato fundamental. En este punto, comenzarán a probar contraseñas y nombres de usuario relacionados con la película.

Todo lo que hayas publicado en las redes sociales les brinda a los atacantes un poco más de información con la que trabajar. SUGERENCIA: Utilizar el l33tsp34k (Leet Speak) o reemplazar letras con números tampoco engaña a los atacantes. Ellos se dieron cuenta de eso antes que tú.

Entonces, ¿qué funciona? Contraseñas seguras. Las cadenas largas y aleatorias de letras y símbolos son geniales. El problema de esto es que, como son difíciles de recordar, tendemos a escribirlos. Si pierdes el folio (puede ser físico o electrónico) en el que apuntaste, entonces un hacker tiene las llaves del reino.

WordPress ahora tiene la funcionalidad para generar contraseñas seguras, pero no las requiere. Sin embargo, hay plugins que lo harán cumplir. No tengo la costumbre de recomendar plugins de seguridad de WordPress, pero si vas a wordpress.org/plugins y buscas por “Contraseñas seguras”, encontrarás varios para elegir.

Instala uno de estos plugins.

Si tienes usuarios habituales en tu web, así como administradores, autores, etc., es posible que solo quieras aplicar contraseñas seguras en tus cuentas de nivel superior para reducir la complejidad que tienen tus usuarios al registrarse e iniciar sesión en tu sitio web.

¡Ah! Y si te estás preguntando cómo lidiar con contraseñas seguras sin escribirlas, invierte en un administrador de contraseñas. La mayoría de los modernos funcionan tanto en ordenadores de mesa como en dispositivos móviles y sincronizarán tus datos en todos tus dispositivos.

>> Descarga gratis el ebook “22 pasos para mantener tu WordPress seguro” <<

3. Implementa la verificación en dos pasos (2FA)

La verificación en dos pasos (o 2FA) no es un nuevo concepto de seguridad. Durante décadas, las instituciones financieras han usado los “Fobs” (pequeños dispositivos que se pueden adjuntar a tu llavero que tienen una pantalla y generan un número que cambia constantemente) como un factor adicional para iniciar sesión.

El concepto general de seguridad es “Algo que sabes, algo que tienes, algo que eres”. En 2FA, elegimos dos de estos. Cuando inicia sesión en un sitio web sin 2FA, solo usa “algo que sabes”: el nombre de usuario y la contraseña. Independientemente de cuán fuertes creas que son, existe la posibilidad de que puedan verse comprometidos. 2FA agrega una capa encima de eso, el “algo que tienes”.

Actualmente, en lugar de tener que entregarle un llavero a cada usuario administrador, tenemos teléfonos inteligentes y software que pueden reemplazar a los llaveros. Si tienes un teléfono inteligente moderno (uno fabricado en los últimos 5 años), puedes ejecutar una aplicación que funciona como “algo que tienes”.

La aplicación más utilizada, aunque de ninguna manera la única, para 2FA es “Google Authenticator”. Es la más común porque es gratis. Antes de seguir el camino de 2FA, asegúrate de que Google Authenticator esté disponible para tu teléfono.

Si ya usas un plugin como SiteGround Security, tienes todo lo que necesitas para configurar 2FA. Solo necesitas habilitar esta opción desde el panel del plugin y se les pedirá a todos los usuarios administradores y editores que configuren su autenticación de dos factores en su próximo inicio de sesión.

Captura de identificacion de dos factores siteground security

Una vez que se implementa la 2FA y después de que el usuario haga clic en el botón de inicio de sesión, será llevado a una segunda pantalla de inicio de sesión que le pedirá su “token”. Si han configurado la aplicación correctamente, la abrirán, encontrarán tu sitio web en ella y escribirán el número en la pantalla. Este número cambia cada 30 segundos. El número se denomina “Contraseña de un solo uso basada en el tiempo” (TOTP). Tu teléfono y el plugin que usas saben cómo calcularlo, pero nadie más lo sabe. Cuando ingresan el token y pulsan el botón, el plugin calculará el TOTP apropiado y luego verificará que coincida con lo que el usuario escribió. En función de eso, permitirá o denegará el inicio de sesión.

Ten en cuenta que algunos sistemas 2FA no se basan en aplicaciones sino en mensajes de texto enviados a tu teléfono con los tokens. Ten en cuenta que estos no son seguros, por lo que debes evitarlos.

4. Utiliza HTTPS

Sinceramente, este paso ya lo deberías estar haciendo. Desde hace ya un par de años Google sostiene que si tu sitio no se ejecuta a través HTTPS, lo posicionará por debajo de otros sitios que sí lo hacen. Sin embargo, aparte del SEO, https mantiene todo tu tráfico encriptado y alejado de miradas indiscretas.

Si no usas SiteGround, esto implica trabajar con tu proveedor de hosting para comprar e instalar un certificado seguro. Luego, deberás pedirle a WordPress que cambie tu URL a HTTPS.

Si SiteGround es tu proveedor de hosting, todo lo que necesitas hacer es usar el Gestor de SSL para obtener un certificado gratuito “Let’s Encrypt”. Una vez que el panel de control de SiteGround lo obtenga e instale el certificado por ti, todo lo que necesitas hacer es hacer clic en “Forzar HTTPS” y listo, todo tu sitio web estará encriptado.

5. Mantén tus plugins actualizados

No me refiero solo a los principales, me refiero a cada plugin que hayas instalado en tu sitio web, cada vez que haya una actualización. ¿Por qué es importante mantener los plugins actualizados?

La razón principal es, por supuesto, la seguridad de WordPress. Los buenos autores de plugins solucionan los problemas de seguridad de WordPress cuando se informan y lanzan parches tan pronto como pueden. Si tienes activada la actualización automática, ni siquiera tienes que hacer nada, obtendrás el nuevo código. Si no lo haces, tan pronto como inicies sesión y observas que hay actualizaciones, ve a Plugins, haz clic en los botones de actualización, observa cómo se actualizan y luego intenta recordar por qué inició sesión en primer lugar. 

Si eres cliente de SiteGround, puedes aprovechar la herramienta SiteGround WordPress AutoUpdate. Mantiene tus sitios de WordPress seguros y actualizados en todo momento. Entre otras cosas, también se encarga de tus plugins. En esta herramienta, puedes habilitar la opción de actualizaciones automáticas del plugin desde la configuración. Si habilitas esta opción, en cada actualización de WordPress realizada, SiteGround verificará si tus plugins también están actualizados y, de lo contrario, los actualizará para ti.

Captura actualizaciones autimaticas

Si puedes medir el tiempo de inactividad en euros, entonces vale la pena asegurarse de tener siempre la última y mejor versión de todo y que los plugins importantes en tu sitio web tienen mantenimiento constantemente. Asegúrate de que las actualizaciones de seguridad de WordPress estén entre tus principales prioridades.

Un último paso

  • Sí, es muy importante que mantengas WordPress actualizado.
  • Sí, es muy importante que mantengas tus temas actualizados.
  • Sí, es muy importante que mantenga actualizados tus plugins.

Pero hay otro paso. En algún momento dentro del mundo del código abierto, los autores se cansarán de dar soporte a un paquete y lo abandonarán. A veces son amables y le cuentan a la gente sus planes y hacen arreglos para que alguien se haga cargo. Si no es así, el código se queda sin actualizar. Debes asegurarte de que los plugins en los que confías estén en desarrollo activo.

La forma más sencilla de hacerlo es saber quién está detrás del plugin. Si hay una empresa o un equipo detrás de él, las posibilidad de que se abandone es mucho mejor que si hay un solo programador.

Conclusión

El secreto de la seguridad web es que no se trata de hacer una gran cosa, se trata de hacer muchas cosas pequeñas. Estos sencillos pasos  ayudarán a mejorar la seguridad de tu WordPress. Cada capa de seguridad que agregas a tu web hace que sea un poco más difícil el acceso para los atacantes. No tienes que tener un sitio web absolutamente seguro para estar seguro, sólo tienes que crear más trabajo para el hacker de lo que realmente vale hackear. Los hackers finalmente se cansan y pasan a objetivos más fáciles… esos sitios cuyos propietarios no han leído esta entrada de blog.

Cómo cambiar las fuentes en WordPress para hacer que tu sitio web sea único

Ilustración fuentes WordPress

Los días de una web basada en páginas blancas, texto negro y enlaces azules se están desvaneciendo en la historia. Actualmente, si quieres llamar la atención, tu página web tiene que “saltar a la vista”. JavaScript, CSS e imágenes se suman a hacer llamativo tu sitio web. Las fuentes también añaden mucho al aspecto distintivo de tu sitio web.

Sin embargo, a diferencia de algunos de los otros elementos de tu sitio web, las fuentes pueden ser grandes bloques de datos que, si no se manejan correctamente, pueden ralentizar la carga de tu sitio web. La velocidad es el rey en estos días, por lo que, si bien ser llamativo es importante, debes asegurarte de no afectar a la velocidad de tu sitio al usar fuentes.

En este artículo, veremos las fuentes y cómo se relacionan con WordPress, cómo cambiar las fuentes en WordPress, cómo usar las fuentes de Google dentro de WordPress y, finalmente, cómo puedes organizar tus fuentes para que hagan que tu sitio de WordPress se vea bien sin afectar a la velocidad.

Así que empecemos, ¿de acuerdo?

Cómo agregar nuevas fuentes de WordPress a tu sitio

1. Elige una fuente en el formato correcto

El primer paso que debes hacer al trabajar con fuentes es seleccionar tu fuente e incluirla en tu sitio web. Si buscas, encontrarás muchas fuentes gratuitas disponibles para su uso. Estas fuentes vienen en una variedad de formatos. Debes asegurarte de que, al seleccionar una fuente, elijas una que esté disponible en el formato correcto. Como ocurre con todo en la web, tienes opciones y no todas son iguales.

  • EOF: fuentes OpenType integradas

Este formato es de fuentes OTF más compactas.

  • OTF: fuentes de tipo abierto

Estas son las fuentes web más utilizadas.

  • TTF: fuentes True Type

Este es un formato más antiguo desarrollado en la década de 1980 por Microsoft y Apple.

  • WOF 1.0: Formato de fuente abierta web

Este formato se usa ampliamente para páginas web y es recomendado por el W3C.

  • WOFF 2.0: Formato de fuente abierto web

Esta es una mejor opción que WOFF 1.0 debido a sus mejores capacidades de compresión.

En el momento de redactar este documento, todos los formatos eran compatibles con la versión actual de todos los navegadores web modernos. (NOTA: Internet Explorer no es un navegador web moderno).

Todos los formatos anteriores funcionarán, pero por motivos de rendimiento siempre que sea posible utiliza fuentes WOFF2. Cómo están comprimidas, se cargan más rápido.

2. Agrega la fuente de WordPress a tu sitio

Hay algunas formas diferentes de agregar fuentes personalizadas a tu tema. Veamos dos opciones: cómo puedes hacerlo manualmente y cómo puedes hacerlo a través de temas y plugins.

Opción 1: agrega fuentes manualmente a través del Administrador de archivos

Primero, veamos el camino difícil. Cargándolas manualmente.

Lo primero que debemos hacer es localizar una fuente. Yo saqué una desde uno de mis sitios personales, pero puedes buscar y encontrar una que te guste.

A continuación, debemos cargar el archivo de fuente real en nuestro sitio web. Dado que mi sitio de prueba está alojado en SiteGround, utilizo SiteTools-> Gestor de archivos para hacer esto.

Estoy usando el tema predeterminado actual de WordPres: twentytwentyone. Entonces, en ese directorio creo un directorio llamado “fuentes” y subo mi archivo de fuentes allí.

Captura del administrador de archivos para fuentes

A continuación, debemos decirle a nuestro tema que tiene una nueva fuente con la que trabajar. Hacemos esto con una sección @font-face en nuestra hoja de estilo.

​​@font-face {

    font-family: “ace_sansbold”;

    src: url(‘fonts/acesans-bold-webfont.woff2’)  format(‘woff2’);

    font-weight: normal;

    font-style: normal;

}

Esto le dice a nuestro tema que hay una nueva familia de fuentes llamada ace_sansbold y que se puede cargar desde fonts/acesans-bold-webfont.woff2.

Todo eso está muy bien, pero el solo hecho de tener una fuente no hace ninguna diferencia, tenemos que aplicar la fuente. Quiero que se utilice esta fuente en el título de mi sitio. Para hacer eso, buscamos el selector de estilo utilizado para eso y lo cambiamos.

En twentytwentyone, ese es el selector de título de .site-title. Por defecto tiene este aspecto:

.site-title {

color: var(–branding–color-link);

font-family: var(–branding–title–font-family);

font-size: var(–branding–title–font-size-mobile);

letter-spacing: normal;

text-transform: var(–branding–title–text-transform);

line-height: var(–global–line-height-heading);

margin-bottom: calc(var(–global–spacing-vertical) / 6);

}

Queremos hacer un cambio. Queremos cambiar la familia de fuentes a esto.

font-family: “ace_sansbold”;

Esto le dirá a nuestro tema que use nuestra nueva fuente en lugar de la seleccionada en el personalizador de temas. El resultado final se verá así:

.site-title {

color: var(–branding–color-link);

font-family: “ace_sansbold;

font-size: var(–branding–title–font-size-mobile);

letter-spacing: normal;

text-transform: var(–branding–title–text-transform);

line-height: var(–global–line-height-heading);

margin-bottom: calc(var(–global–spacing-vertical) / 6);

}

Así es como se veía el título de mi sitio antes de agregar la fuente.

Captura de un ejemplo de fuente original

Después de seguir las instrucciones anteriores, se ve así:

Captura de un ejemplo de fuente cambiado

Opción 2: agrega y edita fuentes a través de temas y plugins

Bien, lo hicimos de la manera difícil, ahora vamos a ver la manera más sencilla, es decir, aprovechar los temas y plugins para agregar fuentes a tu sitio fácilmente.

Cómo agregar fuentes usando el Editor de temas

La mayoría de los temas modernos tienen alguna forma de agregar fuentes y asignarlas a partes del sitio. Utilizo el tema Astra WordPress en uno de mis sitios y viene con una función llamada “Fuentes personalizadas”. En lugar de tener que aplicar manualmente el código CSS y cargar archivos, se me presenta un formulario simple que me permite agregar o editar fuentes.

Captura de un plug in para editar fuentes

Una vez que lo guardo, todo se gestiona automáticamente para mí. No solo la fuente está colocada donde debería estar y es fácilmente accesible, sino que las nuevas fuentes ahora aparecen en mi Editor de temas, listas para que las use. ¡Sin hackear CSS!

Captura de fuente finalizada y disponible

Como beneficio adicional, Astra viene preparado para que uses cualquiera de las fuentes de Google. Ya están programadas y listas para que las uses.

Cómo agregar fuentes usando los plugins de fuentes de WordPress

Si tu tema actual de WordPress no incluye fuentes listas para usar, todavía hay opciones como plugins freemium.

Fonts Plugin

“Fonts Plugin”  ofrece todas las fuentes de Google listas para usar en WordPress. Además, te permitirá ingresar tu clave API de Adobe si tienes una, para usar todas las fuentes de Adobe también.

Una de las cosas que este plugin no hará es permitirte cargar fuentes personalizadas como se describe arriba. La versión pro puede permitirte hacer eso, pero la documentación no está clara en este punto.

Una característica realmente buena de este plugin es que ofrece un nuevo bloque de Gutenberg llamado bloque “Google Fonts”. Esta es una extensión del blog Paragraph y te da la opción de seleccionar una fuente para el bloque. Cambiar las fuentes de un elemento de texto en Gutenberg es difícil. Es bueno ver a alguien darse cuenta de eso.

Hay otros plugins que puedes usar para agregar fuentes al tema existente de tu sitio web de WordPress. Echa un vistazo rápido al repositorio de plugins de WordPress y encontrarás varios que harán el trabajo.

Cómo cambiar las fuentes en el Personalizador de temas

Algunos temas de WordPress tienen selectores de fuentes para diferentes partes de tu página o sitio web. De forma predeterminada, twentytwentyone no lo hace, pero como se muestra arriba, Astra lo hace. En Astra, la opción “Global” tiene una opción de “Tipografía”. Al hacer clic en Tipografía, se presentan selectores que te permiten establecer diferentes fuentes y pesos  para cosas como:

  • Cuerpo
  • Encabezados (H1-H6)
Captura sobre el cambio de fuentes en el personalizador de temas

Esto te ofrece un amplio control sobre las fuentes que se muestran en tu sitio. Diferentes temas y plugins agregarán otras opciones al Personalizador de temas para permitirte un control más preciso sobre qué fuentes se usan y dónde. Un buen ejemplo de esto es el Font Plugin  descrito anteriormente. Agrega una sección al Personalizador de temas para twentytwentyone para permitir a los usuarios seleccionar y asignar fuentes.

Puedes elegir fuentes, pesos y tamaños para la mayoría de los elementos estándar. Por ejemplo, arriba reemplazamos manualmente la familia de fuentes para el selector .site-title. Con Font Plugin, es tan simple como ir a Configuración avanzada> Marca.

Captura de un ejemplo de font plugin

Allí puedes seleccionar las opciones de Tipografía del título del sitio.

Bonus: cómo evitar que las fuentes ralenticen tu sitio

Hemos hablado mucho sobre cómo introducir fuentes en tu sistema y cómo utilizarlas. Sin embargo, las fuentes son solo una cosa más que un navegador tiene que cargar para ver tu sitio web. Las cosas que tiene que cargar un navegador son solo cosas que pueden ralentizar. ¿Cómo puedes lidiar con esto? La solución es precargar tus archivos de fuentes. Afortunadamente, si alojas tu sitio web con SiteGround, tienes acceso al plugin SiteGround Optimizer, que hará que esta tarea sea realmente sencilla. En la configuración del plugin > Portada > General, encontrarás la función “Precarga de fuentes”.

Captura sobre cómo evitar que las fuentes ralenticen la web

Esta opción es un poco diferente a la mayoría de las otras opciones en el plugin porque no está activada pero tampoco desactivada, debes ingresar la URL de tu fuente para que se puedan precargar.

En nuestro caso, la URL sería https://example.com/wp-content/themes/twentytwentyone/fonts/acesans-bold-webfont.woff2. Ingresamos esa URL y hacemos clic en Confirmar.

Captura instrucciones para que fuentes no ralenticen la web

Esto insertará la etiqueta de enlace adecuada con rel = ”preload” en ella para que el archivo de fuente sea lo primero que se cargue. Puedes ver esto abriendo tu sitio web en un navegador diferente, uno en el que no hayas iniciado sesión, visitando la página y luego haciendo clic en Inspeccionar y establecer redes. Luego recarga la página.

<link 

  rel=”preload” 

  as=”font”

  href=”https://example.com/wp-content/themes/twentytwentyone/fonts/acesans-bold-webfont.woff2″ 

  Crossorigin

/>

La primera entrada es la página real que solicitó, pero la segunda entrada será el archivo de fuente. Se carga como primer activo.

Captura de pantalla del resultado de acelerar la web por las fuentes

Consejo importante:
Solo precarga los archivos de fuentes más comunes que utilizas. Si precargas todos tus archivos de fuentes, terminarás ralentizando tu sitio. Uno, tal vez dos archivos de fuentes precargados deberían ser lo suficientemente buenos para que tu sitio esté en funcionamiento.

Conclusion

Las fuentes son una buena forma de hacer que tu sitio se vea distintivo. Si se usan con moderación, pueden diferenciar tu sitio sin afectar significativamente su rendimiento.

Como ocurre con todas las cosas buenas, menos es más. Demasiadas fuentes ralentizarán tu sitio y también harán que tu sitio sea más difícil de leer para tus usuarios. Los resultados finales son los mismos en ambos casos, los usuarios rebotan al siguiente sitio, así que, como con todo, usa las fuentes del sitio web con prudencia y asegúrate de mantenerlas optimizadas.

Limpiar la base de datos de WordPress: pasos y plugins para mantener tu web rápida

Ilustración sobre limpiar la base de datos

He administrado (y mal administrado también) bases de datos SQL durante casi 37 años. SQL fue el segundo lenguaje de programación que dominé y hasta el día de hoy sigue siendo uno de mis favoritos.

En todo este tiempo batallando con bases de datos, una cosa se ha mantenido constante, tienes que gestionar tus bases de datos constantemente y, en ocasiones, eso significa limpieza y mantenimiento. Las bases de datos de WordPress no son diferentes.

¿Por qué limpiar tu base de datos de WordPress?

Una de las razones más importantes para realizar una limpieza de base de datos de WordPress es porque la base de datos es la segunda parte más lenta de todo tu sistema. Lo único más lento es el propio sistema de archivos. Por lo tanto, asegurarte de que tu base de datos está operando a una velocidad óptima es importante no solo para la salud de tu sitio sino también para los rankings en los motores de búsqueda. La mayoría de los principales motores de búsqueda utilizan la velocidad de carga de la página para clasificar la página. Para un rendimiento WordPress óptimo, quieres mantener la base de datos limpia. La limpieza de tu base de datos de WordPress es una parte del proceso general de ajuste de rendimiento de WordPress.

La gran mayoría de instalaciones de WordPress utilizan un sistema de gestión de bases de datos relacionales MySQL (o MariaDB). Esto es en lo que nos centraremos en este artículo. Aún así, la mayoría de los consejos se pueden aplicar a cualquier tipo de almacenamiento que utilice tu base de datos de WordPress.

Pasos a seguir para una limpieza óptima de la base de datos de WordPress

Crea una copia de seguridad antes de empezar

Antes de adentrarte en este viaje, asegúrate de crear una nueva copia de seguridad. Si, deberías tener al menos 30 copias de seguridad diarias pero hay cosas que podrían haber cambiado desde tu última copia de seguridad. Querrás asegurarte de que si se estropea algo, puedes restaurar fácilmente a cómo estaba todo antes de empezar.

Si tu alojamiento web ofrece copias de seguridad bajo demanda como hace SiteGround, haz una ahora. Sino, antes de continuar, instala un plugin que te permita crear y restaurar copias de seguridad de tu base de datos.

Hay muchos plugins buenos ahí fuera que te ayudarán. He trabajado con varios y revisado otros. Para este trabajo, crear una copias de seguridad y restaurar, me gusta UpdraftPlus WordPress Backup Plugin porque tiene una función de restauración muy sencilla de entender. La versión gratuita será suficiente para realizar el trabajo pero la versión de pago añade muchas otras funciones útiles (como soporte para WP-CLI… que es muy importante para mi en la mayoría de plugins).

Una vez tengas el plugin instalado, procede a realizar una copia de seguridad. A menos que vayas a eliminar archivos, no es necesario realizar una copia de seguridad de todo, solo haz una copia de la base de datos.

Después de que hayas hecho tu copia de seguridad, realiza una restauración para que puedas ver su funcionamiento antes de entrar en una situación de emergencia. Recuerda, si tienes un sistema de recuperación sin probar, no tienes un sistema de recuperación ante desastres, tienes esperanzas y deseos.

Tablas sobrantes en la base de datos de WordPress

Ahora que tienes tu sistema de copias de seguridad listo, el primer elemento que podrías querer incluir es un desarrollador. Soy muy fan de incluir ayuda profesional cuando estoy sobrecargado y esta tarea podría sobrecargar a mucha gente.

Si tu web lleva mucho tiempo online, es posible que hayas instalado y desinstalado muchos plugins. Mi web personal ha estado utilizando WordPress desde 2005. Muchos plugins, en especial los antiguos, no realizaban limpiezas de sí mismos. Esto significa que durante la instalación, podrían crear tablas en tu base de datos que no se eliminaban cuando desinstalas el plugin. Echa un vistazo a la lista de tablas (si no sabes cómo, no deberías estar haciendo esto sin ayuda) e intenta identificar cualquiera que no esté en uso. Elimina esas tablas de tu base de datos.

Una vez las hayas eliminado, prueba TODO. Son estás operaciones las que me hacen recomendar tener un entorno staging para probar estás cosas en el entorno de pruebas. Aún así, si tienes tu copia de seguridad, estás listo para comenzar.

Revisé la base de datos de mi web personal hace aproximadamente un año más o menos. Hay más de 500 tablas. La instalación estándar de WordPress tiene alrededor de 40. Necesito realmente tomar tiempo para limpiar las cosas yo mismo.

Hay plugins que te ayudarán con esta tarea si no tienes a un desarrollador que te pueda ayudar. Uno de ellos está mencionado a continuación, WP-Optimize.

No te alarmes si cuando intentas eliminar una tabla da error. El usuario de la base de datos desde la que se ejecuta WordPress puede que no (probablemente NO DEBERÍA) tenga los permisos suficientes para eliminar estas tablas. Aun así, puedes mostrar esta lista a tu desarrollador y ellos sabrán cómo eliminar estas tablas de forma segura.

Revisiones

A continuación, vamos a hablar de las revisiones de entradas. A la vez que estás trabajando en una entrada o página, WordPress lo guarda constantemente en segundo plano. Para permitirte volver atrás y restaurar una de esas versiones en una fecha posterior, cada revisión se guarda como un registro separado en la base de datos de entradas. Una vez hayas finalizado la edición de tu entrada y la hayas publicado, estas revisiones no sirven para nada.

Si tienes un desarrollador en tu equipo, ellos pueden eliminar estos registros desde la tabla sin tener que instalar plugins. Si no tienes un desarrollador, o deseas realizar un cambio que mantenga este problema resuelto, echa un vistazo a WP Revisions Control. Este simple plugin te permitirá configurar cuantas revisiones mantener y mantendrá tu base de datos limpia automáticamente. 

Borradores

Otra fuente de contenido inútil en tu base de datos son las entradas que empezaste pero que nunca llegaste a publicar. De nuevo, utilizando mi web personal como ejemplo, miré una vez y tenía más de 50 entradas en estado BORRADOR. Esto significa que no solo tengo 50 registros en mi base de datos que no necesito sino que también tiene revisiones por cada una de ellas. Deshazte de esas entradas antiguas que nunca vayas a publicar.

Vacía la papelera

Como administrador de una instalación de WordPress, necesitas eliminar antiguas entradas, páginas y otras cosas. WordPress no borra automáticamente esas entradas antiguas de tu sistema, las mueve a la ‘papelera’. (Desde una perspectiva técnica cambia el estado de estos elementos.)

La papelera es genial si necesitas volver y recuperar algo posteriormente pero después de cierto tiempo, puedes estar seguro de que no vas a necesitar lo que está en la papelera. Por lo que vacía la papelera. Cuando lo hagas, eliminarás los elementos que WordPress marcó como basura. Esto los borra de la base de datos y evita que se acumulen.

Cosas de las que no preocuparse

Hay muchas recomendaciones sobre qué deberías hacer para limpiar la base de datos de tu WordPress en Internet. Parte de estos consejos tienen buenas intenciones pero no son tan útiles. Aquí hay un par de cosas de las que no debes preocuparte.

Limpiar archivos transitorios

Los transitorios son pequeñas piezas de información que WordPress y los plugins necesitan almacenar temporalmente. Los transitorios tienen fecha de caducidad. Algunas personas te aconsejarán que te asegures de limpiar los transitorios caducados de vez en cuando. No te molestes. El sistema cron de WordPress hará esto por ti todas las noches. En el mejor de los casos, puedes eliminar algunos cientos de registros unas horas antes. El esfuerzo que pone en la gestión de los transitorios es un esfuerzo que podrías invertir mejor en hacer que tu web sea más bonita, más rápida o más útil para sus lectores.

Optimizar tablas

Muchos sitios te dirán que “optimices tus tablas”. Algunos incluso podrían explicar lo que esto significa, mientras que otros simplemente lo usaron como un encantamiento mágico que se supone que te hará sentir mejor con tu base de datos. La verdad es que hubo un momento en que la optimización de las tablas de bases de datos era importante. Afortunadamente, esos días ya pasaron. En estos días, la mayoría de las bases de datos MySQL utilizan tablas que no requieren optimización. Incluso la base de datos de mi vieja web personal ya no necesita ser optimizada. Técnicamente, ya no es necesario hacer esto para el 99,9% de las instalaciones de WordPress que existen. Si eres parte del otro 0.01%, en lugar de optimizar tus tablas, mueve tu sitio a una versión moderna de MySQL con un tipo de tabla que no necesita optimización.

Plugins que harán todo esto por ti

Sí, hay cosas que debes hacer con regularidad para mantener tu base de datos limpia y saludable. Sí, tu o un programador que trabaje para ti puede hacer estas cosas manualmente de forma regular. Sin embargo, si es como la mayoría de nosotros, no te gusta tener que acordarte de limpiar cosas. Para esos casos, hay plugins que pueden hacer todo esto y mucho más por ti, automáticamente. Piensa en ellos como el Roomba para tu web. Estos plugins aparecerán mientras no estés presente y se encargarán de limpiar los rincones polvorientos de tu web de forma regular.

Aquí hay cuatro opciones que puedes considerar:

Advanced Database Cleaner

Este plugin está disponible tanto gratis como premium. La versión gratuita hará todo lo básico que necesitas. Incluso puedes programarlo para que se ejecute de forma regular para que tu base de datos se mantenga limpia. La versión Pro te dará muchas más opciones. Recomiendo comenzar con el gratuito hasta que comprendas lo que hace y luego, si sientes la necesidad, pasar al Pro.

Optimize Database after Deleting Revisions

Esta es otra buena opción, aunque ofrece “optimización de tabla” que acabo de decirte que era innecesaria. Mantendrá tu base de datos limpia de entradas antiguas, comentarios, revisiones y un montón de otras cosas. No hay tantas opciones como Advanced Database Cleaner, pero las que realmente necesita están ahí. Este plugin es gratuito y hay un enlace para donar al autor si lo usas y lo encuentras útil. (y siempre sugiero que done a los autores de plugins gratuitos si usas sus plugins)

Si eliges analizar las tablas, intentará ejecutar un análisis en ellas, pero si estás utilizando un tipo de tabla que no requiere esta función, te lo dirá. No dañará tu base de datos ni ninguno de sus datos.

WP-Optimize – Cache, Clean, Compress

Sin embargo, probablemente mi opción favorita (y la que he instalado en mi sitio personal) es WP-Optimize. Este plugin realiza todas las funciones que hemos discutido aquí y muchas otras cosas. Al igual que los dos anteriores, puede programar este plugin para que se ejecute automáticamente. Sin embargo, dado que esto está escrito por el mismo equipo que escribió el primer plugin que recomendé, UpdraftPlus WordPress Backup Plugin, se integra perfectamente y te brinda la opción de realizar una copia de seguridad automática de tu base de datos antes de realizar el mantenimiento. Esta es una buena característica. Al igual que Updraft Plus, WP-Optimize viene en una versión gratuita y de pago. Dejaré que tú decidas si necesitas las funciones presentes en la versión paga.

SiteGround Optimizer:

Si SiteGround es tu alojamiento web, asegúrate de tener instalado el plugin SiteGround Optimizer. Este es un plugin que DEBES INSTALAR para cada sitio alojado con SiteGround porque es velocidad gratuita.

Este es un plugin fácil de instalar y, si bien la base de datos no es su enfoque principal, realiza el mantenimiento de rutina de la base de datos. También hace MUCHO más para acelerar tu web y mantenerlo rápido. Para obtener todos los detalles sobre este gran plugin, consulte esta publicación de blog.

Para finalizar

Mantener la base de datos de tu WordPress limpia es un paso importante para asegurar que tu web siempre se ejecuta rápidamente. Puedes invertir el tiempo en limpiar tu web manualmente o instalar y configurar uno de los plugins recomendados que lo harán por ti. En ambos casos, es tiempo bien invertido.

Plugins de seguridad WordPress imprescindibles para mantener a los hackers a raya

Hacer que tu sitio web sea seguro no es cosa de una sola acción. No es un interruptor que puedas cambiar a “SEGURO” y luego no volver a preocuparte por él. La seguridad web está integrada en capas. El objetivo de cada capa es conseguir que a los malos entrar les sea un poco más difícil. Nuestro objetivo es colocar las capas suficientes para que se rindan y se vayan a por otra web con menos capas.

Exactamente, ¿qué es la “seguridad WordPress”?

Muchos propietarios de sitios web con los que hablo piensan que la seguridad de WordPress es un plugin que instalan o un servicio que compran. Nada mas lejos de la realidad. La seguridad es una forma de pensar, no es algo específico. Es algo en lo que debes pensar en cada decisión que tomes sobre tu sitio web.

  • ¿Quieres un tema nuevo? ¿Cuál es la reputación de los desarrolladores de temas en cuanto a seguridad?
  • ¿Quieres agregar un nuevo plugin? ¿Cómo es de seguro es? ¿Se ha informado de alguna vulnerabilidad en él?
  • ¿Quieres contratar a un nuevo desarrollador? ¿Qué tienen los demás que decir sobre su trabajo? ¿Su código es seguro?

Cada decisión que tomes debe estar envuelta en la pregunta “¿Cómo afectará esto a la seguridad de mi web?” Si no puedes decir con certeza que la respuesta a esa pregunta es aumentarla o al menos no dañarla, entonces necesitas reconsiderar la decisión.

La otra analogía que uso mucho es que la seguridad no es una acción específica, sino una serie de capas que añades en tu sitio.

  • La capa superior es un firewall de red.
  • La siguiente capa es el firewall de tu aplicación (en WordPress, esto suele ser un complemento)
  • La siguiente capa son las contraseñas seguras.
  • La siguiente capa es la verificación de dos pasos
  • La siguiente capa es mover tu directorio wp-admin a un nombre diferente.
  • La siguiente capa, no usar el nombre “admin” para iniciar sesión.
  • La próxima capa es deshabilitar XML-RPC.

Ninguna de estas cosas por sí sola hará que tu sitio sea seguro. Sin embargo, todas juntas pueden hacer que tu sitio esté suficientemente protegido para que los malos se vayan a por otra web con menos seguridad. Otra buena noticia es que hoy en día puedes proteger fácilmente tu sitio web alojándolo en un hosting de alta calidad que esté comprometido con la seguridad.

La instalación de un certificado SSL no está en la lista anterior porque tener un certificado SSL no es una medida de seguridad, es algo que debes hacer sí o sí cuando configuras todos y cada uno de tus sitios web. Mejoran su seguridad y su clasificación en los motores de búsqueda. Dado que ahora son gratuitos, no hay absolutamente ninguna razón para que un sitio web se ejecute sin uno. Además, para hacértelo aún más fácil, en SiteGround instalan en tu web de forma gratuita el certificado SSL por ti poco tiempo después de crearla dentro de su hosting.

>> Si te interesa saber más sobre la seguridad WordPress, descárgate ahora nuestro eBook gratuito 21 Consejos para mantener tu WordPress seguro <<

¿Cuáles son los mejores plugins de seguridad WordPress para proteger cada capa de tu web WordPress?

La mayoría de las personas necesitarán algo de tiempo para crear la configuración en capas descrita anteriormente. Como mencioné anteriormente, casi todo se puede lograr en estos días aunque no seas un webmaster técnico. Dicho esto, si pensar cómo proteger tu web te pone nervioso o no estás seguro de tu capacidad para dedicar tiempo a hacer las cosas bien, contrata a alguien en quien confíes para que lo haga por ti.

Firewall de red

Si está utilizando un proveedor de hosting de buena reputación como SiteGround, ellos se encargarán de configurarlo por ti. Si no estás seguro de si tu hosting te brinda este servicio, pregúntale. Si no obtienes un “Sí, le proporcionamos un firewall a nivel de red”, muy claro. Considera buscar un nuevo hosting que sí lo tenga.

Firewall de aplicación

En el ecosistema de WordPress, un Firewall de aplicación generalmente significa un plugin. Hay varios buenos con una sólida reputación para elegir. Por lo general, no recomiendo plugins específicos porque tan pronto como lo hago, alguien me escribe para decirme en qué están equivocadas mis recomendaciones. Aún así, dado que muchos usuarios me han pedido recomendaciones sobre plugins de seguridad, voy a romper mi regla y hacer algunas. Es importante tener en cuenta que estos no están en ningún orden en particular.

Por cierto, la mayoría de estos plugins hacen mucho más que simplemente ser un Firewall a nivel aplicación, como por ejemplo:

  • Escaneo de malware
  • Auditorías de seguridad
  • Endurecimiento de la seguridad
  • Firewall del sitio web

Algunas de las empresas detrás de estos plugins también ofrecen eliminación de malware y limpieza de sitios pirateados. Si buscas tranquilidad, es una gran característica.

Jetpack

Jetpack es el plugin ómnibus de Automattic. Tiene muchas funciones y la mayoría no se ocupan de la seguridad. Sin embargo, tiene algunas características de seguridad integradas. Si ya tienes Jetpack instalado, considera comprar las funciones de seguridad.

Si actualmente no tienes Jetpack instalado y no necesitas ninguna de las otras funciones, es posible que esta no sea la mejor solución.

Sucuri Security

Sucuri tiene ya experiencia y una gran reputación. Además de ofrecer un firewall de aplicaciones web, Sucuri ofrece muchas otras características:

  • Eliminación de malware y limpieza de pirateo
  • Mitigación avanzada de DDoS
  • Frecuencia de escaneo de malware y piratería

Estas tres características son importantes y están cubiertas por su nivel básico.

iThemes Security Pro

Actualmente no lo estoy usando, pero cuando sí lo hacía era uno de los mejores, si no el mejor, del mercado. (Es importante tener en cuenta que no creo que el plugin fuese a peor de ninguna manera, simplemente mis necesidades cambiaron).

Lo único que recuerdo sobre este plugin es que su página de administración es compleja. Asegúrate de reservar algunas horas durante un par de días para leer y comprender todas las opciones disponibles para que puedas tomar las decisiones correctas. Este consejo es igualmente aplicable a todos los plugins de seguridad.

A diferencia de otros plugins, iThemes te ofrece todas las funciones en todos los niveles de precios. La diferencia de precio se basa en la cantidad de sitios que desees proteger.

Contraseñas seguras

Aunque hay plugins disponibles para esta capa, afortunadamente el soporte de contraseñas está integrado en el núcleo de WordPress. Te recomiendo encarecidamente que apliques contraseñas seguras a cualquier usuario que tenga una seguridad superior a Invitado o Suscriptor en tu web. Si pueden administrar algo, deberían tener al menos una contraseña segura.

WP 2FA

La verificación en dos pasos (2FA) es una de las tecnologías más nuevas que han llegado a la web, pero es importante. Los inicios de sesión y las contraseñas se pueden robar online, pero un teléfono no. Al añadir 2FA como una capa a tu seguridad, haces imposible que alguien acceda a tu sitio web solo porque consiguió tu nombre de usuario y contraseña.

Un plugin que he usado durante años para implementar la verificación en dos pasos es WP 2FA. Solo hace eso. Si ya tienes un firewall de aplicaciones que implementa la verificación en dos pasos, úsalo, pero si no lo hace, WP 2FA es una buena opción.

…y el resto

Las otras capas aún necesitan ayuda. Probé combinaciones de docenas de plugins diferentes para implementarlos y cada vez algo diferente no salió bien. Si bien me encanta el concepto de “un plugin, una función” A veces los plugins no funcionan bien entre sí y luego terminas con un lío entre tus manos.

Es por eso que me emocioné cuando SiteGround lanzó su propio plugin de seguridad WordPress, SiteGround Security. Envuelve muchas capas de seguridad en un solo plugin.

[subscribe_cta]

SiteGround Security: el plugin todo en uno para la seguridad WordPress

Este es un recién llegado al grupo, pero ya se ha convertido en mi plugin de seguridad favorito. Ya lo tengo instalado en 4 de mis instalaciones de WordPress, solo una de ellas está alojada en SiteGround.

SiteGround Security viene con muchas características de seguridad. Cada una de ellas se puede activar o desactivar en un clic sin interferir con el resto de funciones. Mis 4 características favoritas del plugin son las siguientes:

  • Autenticación de dos factores
  • Deshabilitar XML-RPC
  • Deshabilitar el nombre de inicio de sesión “admin”
  • Bloquear y proteger las carpetas del sistema

He instalado plugins independientes que hacían cada una de estas cosas y siempre terminaba eliminando el plugin porque no hacía el trabajo como yo quería o se convertía en “abandonware” y retrasaba la actualización de mi sistema.

En cambio, SiteGround Security integra las cuatro funciones importantes en un solo plugin y, debido a que fue creado por SiteGround, sé que no se abandonará.

Hace mucho más que estas 4 cosas, pero estas son las más importantes para mí. Para ver todo lo que puede hacer, ¡lo mejor es que lo instales y lo compruebes por ti mismo/a! Está disponible tanto para webs alojadas en SiteGround, donde el plugin viene preinstalado en las nuevas instalaciones de WordPress, como para webs alojadas en otros proveedores de hosting.

Concluyendo sobre la seguridad WordPress

Dedicar tiempo a pensar en mantener tu web segura siempre es tiempo bien invertido. Es aún más importante ahora que estamos en tiempo de vacaciones. Asegurarte de estar actualizado/a y lo más protegido/a posible significa que puedes dedicar menos tiempo a preocuparte por tu web y tener más tiempo para disfrutar de tus vacaciones.

Recuerda, el objetivo de la seguridad no es bloquear el sistema firmemente para que nadie pueda acceder a él, porque entonces … bueno, nadie podría entrar. El objetivo de la seguridad es hacerlo lo suficientemente difícil para que los malos se vayan a por otra web en la que sea más fácil entrar.

“La seguridad es un viaje, no un destino.”

Cal Evans

¿Qué es XMLRPC y cómo esta reliquia amenaza la seguridad de tu web WordPress?

Ilustración sobre XMLRPC

En el directorio raíz de cada sitio de WordPress hay un archivo más antiguo que el propio WordPress: xmlrpc.php, que durante los días b2 se creó para ofrecer a los sitios una forma de comunicarse entre sí y para que otras aplicaciones se comunicasen con el blog.

¿Qué es XMLRPC?

El nombre te dice todo lo que necesitas saber sobre la funcionalidad.

XML: se diseñó para aceptar cargas útiles en XML. JSON es hoy en día un formato mucho más común. XMLRPC es bastante anterior a JSON.

RPC: RPC significa llamada a procedimiento remoto (Remote Procedure Call). Era un estándar por el cual un sistema podía pedir a otro sistema que hiciera algo. Ahora usamos API-REST o Graph API – para hacer lo mismo, pero antes de que existieran, RPC era una de las herramientas disponibles.

¿Cómo funciona XMLRPC?

Para hacer que XMLRPC.php hiciera algo, tenías que enviarle (POST) un mensaje. Si no estás familiarizado con el funcionamiento de los navegadores, esto es básicamente como hacer clic en el botón “Enviar” en un formulario. Eso suele iniciar una solicitud POST.

Si realizas una solicitud POST a tudominio.tld/xmlrpc.php y le entregas una carga útil XML con el formato adecuado, puedes hacer cosas como crear una publicación en tu web.

Una de las cosas para las que XMLRPC se utilizó mucho en su día fueron los “pingbacks”. Esos comentarios que ves en publicaciones que muestran que alguien más lo enlazó desde su blog.

Amenazas potenciales de seguridad del XMLRPC de WordPress

Durante mucho tiempo, XMLRPC fue una herramienta útil. Ahora toda la funcionalidad para la que se usaba XMLRPC se maneja mediante la API REST, ya incorporada. Aunque ya no se use, es una función todavía activa y a aquellos que sienten nostalgia por tales cosas, les causa una sonrisa. Sin embargo los que están preocupados por la seguridad, lo ven y fruncen el ceño.

La presencia de XMLRPC representa varios riesgos de seguridad para sitios WordPress que pueden llegar a convertirse en ataques severos.

  • Ataques de fuerza bruta a través de XMLRPC

El primer tipo de ataque XMLRPC de WordPress es un simple ataque de fuerza bruta. Dado que parte de la carga útil XML que se pasa a WordPress es el nombre de usuario y la contraseña del usuario que desea realizar la acción, es una manera fácil para que los atacantes prueben combinaciones de nombre de usuario y contraseña hasta que encuentren una que funcione. Muchos propietarios de sitios preocupados por la seguridad limitarán la cantidad de intentos de inicio de sesión que un usuario puede realizar antes de bloquearlos, pero no se molestarán en bloquear las solicitudes XMLRPC, lo que dejará una puerta trasera abierta para que los atacantes intenten encontrar una entrada.

Una vez que un atacante encuentra las credenciales que funcionan, puede intentar dañar tu sitio inyectando contenido en la base de datos del mismo. Ya sean publicaciones, páginas o solo comentarios, el resultado final es el mismo: tu sitio ofrece contenido que no aprobaste y que probablemente no deseas. No obstante, en el peor de los casos, podrían ser publicaciones o comentarios inocuos que tengan malware inyectado.

  • Ataques DDoS usando XMLRPC

Otro de los beneficios de XMLRPC fue la habilitación de pingbacks. Los ciberdelincuentes pueden usarlo para bloquear tu servidor emitiendo muchas solicitudes pesadas a la vez.

Un pingback escribe un registro en tu base de datos, y escribir en tu base de datos es una tarea costosa en cuanto a recursos. Si bien un solo pingback no perjudicaría el rendimiento de tu sitio, cientos o incluso miles de ellos a la vez pueden poner de rodillas incluso al servidor más robusto.

Esto se denomina ataque DDos o de denegación de servicio distribuido. Distribuido porque normalmente no es una sola máquina la que realiza todas las solicitudes, normalmente son un gran número de máquinas repartidas por diferentes lugares.

Cómo deshabilitar XMLRPC en WordPress

Hay varias formas de deshabilitar XMLRPC. Te recomiendo que lo hagas porque sinceramente, no lo necesitas.

  • A través del archivo de configuración de tu servidor web 

Si estás familiarizado con el bloqueo de solicitudes a través de los archivos de configuración de tu servidor web y tienes acceso a ellos, ésta es una excelente manera de bloquearlo. Para Apache, puedes agregar este código al archivo .htaccess en el directorio raíz de tu sitio.

<Files xmlrpc.php>

order deny,allow

deny from all

</Files>

Eso lo detendrá en seco.

  • A través del archivo functions.php de tu tema

Si no eres de los que te gustan mucho los archivos de configuración de tu servidor web, puedes agregar una sola línea de código al archivo functions.php de tu tema.

add_filter( ‘xmlrpc_enabled’, ‘__return_false’ );

Asegúrate de hacerlo bien, hay 2 guiones bajos antes de la palabra retorno. De nuevo, esto lo desactivará pidiéndole al propio WordPress que no desea aceptar más solicitudes XMLRPC.

  • Instalar un plugin

Finalmente, si no quieres molestarte en agregar código al functions.php de tu tema, puedes deshabilitar XMLRPC en WordPress instalando un plugin. El plugin hace exactamente lo mismo que el consejo anterior. Hay varios plugins buenos que son gratuitos, pero también es posible que ya tengas esta funcionalidad disponible si tienes instalado algún plugin que incluya Firewall de aplicaciones.

Si no es así, permíteme recomendarte mi favorito y el que uso en todos mis sitios para desactivar XMLRPC: plugin SiteGround Security. Incluso si no estás alojado en SiteGround, puedes usar este plugin gratuito para administrar varias tareas de seguridad diferentes. Si solo deseas que desactive XMLRPC, desactiva todas las demás opciones. Ésa es una de las cosas que me gustan de este plugin: todo es opcional.

XMLRPC nos sirvió bien en su día, pero su tiempo ya ha pasado. Es hora de dejar que se retire con gracia. Hasta que los desarrolladores principales de WordPress decidan que es hora de eliminarlo, debes protegerte a ti mismo y a tu sitio desactivándolo.

Qué es el principio del mínimo privilegio en WordPress

Ilustración de blog post

A los programadores informáticos les gusta dar grandes nombres a las cosas. Así es como terminamos con algo llamado el “Principio de mínimo privilegio” (en inglés “Principle of the least privilege”, también conocido por las siglas POLP) para decir algo tan simple como permitir que los usuarios hagan exclusivamente lo que necesitan hacer.

Eso es todo de lo que estamos hablando aquí. Asegúrate de que todos los usuarios de tu sitio web tengan exactamente los permisos que necesitan y nada más.

Usuarios de la aplicación

El usuario más fácil sobre el que hablar es el usuario de la aplicación de WordPress.

  • Probablemente tengas una o más cuentas de administrador.
  • Puedes tener varias cuentas de “Editor” o “Autor”.
  • Dependiendo de tu sitio web, también puedes tener “suscriptores”.

El principio del mínimo privilegio nos enseña que debes limitar todo lo posible el número de personas que tienen derechos de administrador a únicamente aquellas que lo necesiten y puedan demostrar que lo necesitan. En la mayoría de los sistemas, esto generalmente significa que necesitas un administrador principal y un administrador de respaldo en caso de que algo le suceda al principal, como si olvidan su contraseña el mismo día que descubren que su mecanismo de recuperación de contraseña no funciona. 🙂

Cualquier otra persona que solicite privilegios de administrador debería demostrar que no puede realizar su trabajo diario sin ellos. Sí, es un inconveniente tener que pedirle a alguien que haga algo por ti, pero limitar las cuentas de administrador limita el daño que se puede hacer accidentalmente a tu sistema.

El editor y los autores tienen menos oportunidades de hacer daño, por lo que no tienes que ser tan estricto con ellos, pero aun así, todos los que tienen privilegios en el sistema deberían tener una razón para tener ese privilegio.

Usuarios de la base de datos

El siguiente “usuario” que debemos analizar es el usuario de tu base de datos. Cada sitio en WordPress tiene un usuario y una contraseña que utilizas para acceder a la base de datos que ejecuta WordPress. El principio del mínimo privilegio nos enseña que ese usuario debe tener la menor cantidad de privilegios necesarios para realizar su trabajo.

Desafortunadamente, dado que los plugins usan este usuario para crear y eliminar tablas, datos, etc., este usuario debe tener un poder considerable. Aún así, este usuario no necesita ser “todopoderoso”. Hay dos cosas importantes que debes verificar sobre el usuario que utilizas para acceder a tu base de datos. (Si no sabes cómo verificarlos, contrata a un desarrollador, esta parte en particular es bastante técnica).

  • El usuario de tu base de datos no debería poder otorgar privilegios a otros usuarios. No hay ningún escenario en WordPress en el que el usuario de la base de datos deba crear nuevos usuarios u otorgarles privilegios.
  • El usuario de tu base de datos no debería tener acceso a ninguna base de datos que no sea la que está adjunta a tu sitio de WordPress. Este usuario no debería poder acceder a los datos o realizar modificaciones en NINGUNA otra base de datos en el servidor.

Acceso a los paneles de control

Finalmente, los proveedores de hosting premium como SiteGround tienen paneles de control muy poderosos que te permiten controlar las cosas que hay alrededor de tu sitio web, como el email y el rendimiento. Muchos de estos controles pueden causar graves daños a tu sitio si se utilizan de forma incorrecta o maliciosa.

SiteGround y otros proveedores de hosting te permiten añadir “colaboradores” a las cuentas. Los colaboradores facilitan que alguien ayude a resolver problemas o realice tareas de mantenimiento para el propietario del sitio web. Esta es una manera mucho mejor de permitir que un desarrollador te ayude que compartir tu nombre de usuario y contraseña.

Revisa el principio del mínimo privilegio con regularidad

Ya sean tus usuarios de WordPress o tus colaboradores del Panel de control, debes revisar periódicamente quién tiene un acceso avanzado a tu sistema. Como mínimo, una vez al mes es una buena idea revisar y evaluar a los usuarios que tienen accesos avanzados y asegurarse de que aún lo requieren. Cuando no lo hagan, cambia sus permisos o elimínalos por completo hasta que necesites que vuelvan a tener ese nivel.

Estas auditorías no tomarán mucho tiempo, al contrario, podrían ahorrarte muchas horas de recuperación ante desastres si una cuenta olvidada se ve comprometida y se usa para dañar tu web, sin mencionar el daño que causará a tu reputación online. Si estás buscando proteger aún más tu sitio web, échale un vistazo a este artículo sobre cómo proteger tu WordPress en 3 sencillos pasos.

Recuerda, la reputación crece lentamente como un cocotero y cae rápidamente como un coco.