¿Cómo configurar iThemes Security para proteger mi sitio WordPress?

Si llegaste a este artículo es porque valoras la seguridad de tu sitio web.

Este tutorial se desarrolló en base a la versión gratuita 7.5.0 del 14/nov/2019. Se irá actualizando a medida que surjan novedades relevantes en el plugin.

A tener en cuenta: esta guía está testeada y verificada en servidores que usen cPanel, como los de AMPM HOSTING. En otros proveedores puede que algunas de las recomendaciones no funcionen completamente, por lo que podemos garantizar la efectividad para todos nuestros clientes primarios. Usuarios de otros proveedores pueden probar la guía y eventualmente descartar algún tip si no le funcionara.

También es importante destacar que nunca es buena idea utilizar más de un plugin de seguridad a la vez, ya que puede enlentecer el sitio. Así que si vas a implementar este excelente plugin, es recomendable que ants de continuar, desactives cualquier otro plugin de seguridad que tengas habilitado.

¿Se te hace muy largo de leer? Si solo buscabas saber qué opciones habilitar para una mejor protección, presta atención a los items resaltados en rojo.

Dos razones por las que recomendamos este plugin:

  1. Es el que más y mejores opciones de protección ofrece gratuitamente, y
  2. La mayoría de las protecciones se cargan como filtros de Apache en el archivo .htaccess, por lo cual detiene muchos tipos de ataques y escaneos de vulnerabilidades ANTES de que se ejecute una sola línea de código PHP del sitio web. Esto es muy importante porque ayuda a limitar el consumo en servidores limitados, o en sitios de muy alto tráfico.

Sin más rodeos, vamos a instalar y repasar todas las configuraciones del iThemes Security, para qué son y cuándo usarlas.

Pueden descargar el plugin desde su página del repositorio de wordpress.org. Una vez que lo tengamos instalado, vamos a encontrar sus opciones en el menú Seguridad > Ajustes. En su menú también veremos un item de Registros, en donde se listan todas las alertas que se hayan disparado y las acciones preventivas que el plugin haya tomado.

Dentro de sus Ajustes, el plugin presenta dos pestañas específicas: Recomendable y Avanzado. Comenzaremos por la primera:

 

Pestaña de configuraciones Recomendables

Comprobación de seguridad

Es un método one-click de asegurar el sitio con las medidas que los autores del plugin consideraron básicas y universales. A prueba de balas para novatos. Incompleto visto desde un experto. Pueden usarla, pero es recomendable que luego repasen y conozcan mejor las demás opciones del plugin, que se detallan más abajo, módulo por módulo...

Ajustes globales

  • Escribir en los archivos: esencial activarlo para autorizar al plugin a guardar configuraciones en archivos wp-config.php y .htaccess.
  • Mensaje de bloqueo al servidor / Mensaje de bloqueo del usuario: sirve para mostrar un texto amigable a los usuarios cuando se haya bloqueado su IP o usuario, respectivamente. Admite HTML básico, suficiente para armar un cartel amigable y linkearlo a un mail de contacto, al reseteo de contraseña, o a nada si no quieren.
  • Lista negra de infractor reincidente: activar. Si los bots se ponen insistentes forzando las distintas protecciones del plugin, queremos que los agregue a la lista negra.
  • Umbral de lista negra / Período retroactivo Lista negra / Período de bloqueo: sus valores por default suelen ser más que suficientes. Permiten configurar el límite de intentos fallidos para no bloquear potencialmente a usuarios legítimos, pero descuidados :-) 
  • Lista blanca de bloqueo: nos permite añadir IPs o rangos de IPs que no queramos que sean bloqueados. Presenta un botón para añadir nuestra propia IP y la de otros miembros del staff para no ser bloqueados accidentalmente.
  • Tipo de registro: dónde guardar los registros de bloqueos. Por default en la base de datos.
  • Días para mantener registros de la Base de datos: 60 días por default, pero podemos poner 90 días o más si se justifica. A más días, más espacio ocuparán en nuestro hosting. Opcionalmente, algún valor entre 10-15 días si los bloqueos son pocos, insignificantes, y/o no valen la pena ser analizados.
  • Agregar compatibilidad con InfiniteWP: esta opción aparece únicamente si se detecta instalado el plugin InfiniteWP, y debemos activarla para permitirle actualizar plugins, themes, traducciones y al mismísimo WordPress de forma remota.
  • Permitir Rastreo de Datos: la típica opción que envía datos estadísticos de uso y configuración anónimos a los autores, para ayudar a mejorar el plugin.
  • Detección del proxy: le permite al plugin determinar la IP del eventual atacante. Si no se usa Cloudflare, es recomendable dejarlo en modo Automático, para que pruebe distintos métodos en caso que el hosting no permita una correcta detección. Si usamos Cloudflare nos recomiendan configurarlo en modo Manual y elegir la opción CF-Connecting-IP.  De todos modos la opción Manual nos muestra qué IP detecta el sitio, y deberemos elegir la que sea más correcta. Si en todas muestra la misma, podemos dejarlo en Automático.
  • Ocultar el menú de seguridad en la barra de administración: útil activarlo para mantener la barra admin limpia ;-)
  • Mostrar códigos de error: "No" por default. Y lo dejamos así, ya que es una opción que pedirán activar los autores sólo en caso de errores del plugin.

Centro de avisos

  • Es autoexplicativo si leemos la información del panel. Permite configurar qué usuarios recibirán los distintos tipos de notificaciones.
  • Es importante configurar bien esto si hay varios usuarios de staff y no todos son administradores.
  • A veces podemos querer excluir al/los propietario/s del sitio para no preocuparlos, incluso se puede configurar la recepción de resúmenes semanales en vez de diarios o en tiempo real, pero siempre es bueno que alguien reciba las notificaciones para saber si está habiendo incidencias.

Detección 404

Útil para detener la exploración y búsqueda de archivos vulnerables que efectivamente no existan en nuestro sitio, pero que de existir, podrían representar un factor de riesgo. En algunos casos puede "desanimar" a algunos bots. Queda a elección de cada uno si desea usarlo o no. En algunos sitios puede generar una gran cantidad de notificaciones, demostrándonos realmente lo activos que pueden ser los bots, o bien, que hay errores importantes de programación.

  • Minutos para recordar el error 404: por cuánto tiempo recordar los errores 404 reincidentes. 5 minutos por default. Pueden ampliarlo a 15 minutos para una mejor protección, pero que al mismo tiempo no bloquee al spider de Google o a JetPack, en caso de usarlo.
  • Umbral de error: cuántos errores 404 debe disparar una misma IP antes de bloquearla. 20 por default. Es correcto que sea más o menos amplio para así no penalizar a nuestros usuarios si el código fuente tuviera errores.
  • Lista blanca de archivo/carpeta 404 / Tipos de archivo ignorados: especifica los archivos y extensiones de archivos que deberían ignorarse. Es conveniente añadir estas extensiones para reducir falsos positivos: .xml y .js 

Los sitios con muchas URLs en Google, que pertenezcan a empresas que se presuma pueden facturar un buen dinero, tener mucho tráfico, o que contengan tiendas online o membresías, es muy normal que atraigan a bots de todo el mundo que intentarán vulnerar la seguridad, por lo que esta opción puede popular abundantemente los logs del plugin, que veremos en la opción Registros del menú. Podemos regular la cantidad de registros archivados con la opción "Días para mantener registros de la Base de datos" del módulo Ajustes globales.

También es muy probable que al cabo de varios días de usar esta opción, veamos a las IPs reincidentes bloqueadas en la lista del módulo Usuarios baneados. Y es que algunos bots no saben cuando detenerse :-)

Modo de reposo

Permite impedir el login de usuarios en un horario determinado. Util solamente si estamos seguros de que no vamos a necesitar ingresar nunca de noche, por ejemplo entre las 2 y las 7 de la mañana. Util por ejemplo también en una web de cursos online y queramos limitar el acceso fuera de horarios de clase.

Su configuración permite seleccionar si bloquear el acceso todos los días en el mismo horario, o bien dentro de un rango de fechas, en caso que queramos "cerrar con llave" cuando estemos de vacaciones :-)

Usuarios baneados

  • Lista negra por defecto: muy recomendado usarlo. Carga en el .htaccess una lista de user-agents a los que no se les permitirá navegar el sitio web. Son navegadores y spiders que son conocidos por escanear sitios con fines de exploración de vulnerabilidades, estudios de marketing, estadísticas, o incluso escanear y copiar contenidos. Dado que esta funcionalidad bloquea los user-agent sin descripción, actualmente (20/08/2018) bloquea las notificaciones de MercadoLibre cuando usamos plugins como WooSync para sincronizar productos y pedidos. Es posible que MercadoLibre lo solucione en un futuro cercano... No dudes en avisarnos para que quitemos esta aclaración cuando pueda confirmarse que lo solucionaron. Y desde el 2015 funciona bien con MercadoPago, ya que antes también fallaba por la misma razón.
  • Listas de baneo: muy recomendado usarlo. Activa las dos subsecciones siguientes, que permiten...
    • Banear servidores: es la lista negra donde el plugin irá añadiendo IPs de agresores que no podrán acceder al sitio. También podemos añadir IPs manualmente, de a una por línea.
    • Banear agentes de usuario: permite especificar user-agents (agentes de usuario) que no queramos que puedan acceder a nuestra web. Por ejemplo, si en una línea ingresamos dmoz, el analizador de webs de dmoz.org no podrá indexar el sitio web.

Copias de seguridad de bases de datos

Provee las configuraciones necesarias para crear backups periódicos de la base de datos y almacenarlos localmente o enviarlos por mail.

No es imprescindible, sobre todo habiendo plugins de backup como el Updraft Plus o BackWPup, que hacen backups completos y permiten subirlos a tu espacio favorito en la nube, como ser Google Drive o Dropbox.

Detección de cambios de archivo

Este módulo permite recibir notificaciones en caso de detectarse modificaciones en los archivos del sistema WordPress.

Es útil pero si no lo configuras correctamente puede generarte paranoia :-) porque cada actualización de WordPress, plugins, themes o traducciones, va a disparar una notificación, que hasta que no te acostumbres, puede sonar algo alarmista. Por eso es muy importante añadir en la lista de exclusión a las carpetas y extensiones que normalmente se regeneran diariamente, para que así el sitio no nos bombardee (o a nuestros clientes) con notificaciones diarias sobre archivos modificados:

  • Si usamos plugins de caché: añadir sus carpetas a la lista de excluidas. Ejemplo: wp-content/cache/
  • Si usamos plugins de backup: añadir las carpetas que correspondan según cual plugin usemos. Ejemplo:  wp-content/uploads/backwpup-* (BackWPup), wp-content/updraft/ (Updraft Plus), wp-snapshots/ (Duplicator), wp-content/ai1wm-backups/ (All in One WP Migration)
  • Si usamos plugins de SEO: añadir la extensión .xml para que la regeneración de sitemaps no dispare notificaciones.
  • Si usamos un plugin de updates automáticos como Easy Updates Manager o alguno remoto como InfiniteWP, ManageWP o similares, es esperable que recibamos notificaciones informando los archivos que estos plugins actualizaron. Lo mismo sucederá con las actualizaciones menores de WordPress, que son automáticas. Por lo que no se debe entrar en pánico al recibirlas. Al menos no inmediatamente.

El asunto del mail que recibiremos podemos modificarlo desde el módulo Centro de Avisos (actualizar la página para que aparezca, porque no se añade solo cuando activamos un módulo).

Permisos de archivos

Es un módulo informativo que lee los permisos actuales de los principales archivos y carpetas, y los lista indicando en color aquellos que tengan permisos "menos seguros". No resuelve gran cosa y es más el miedo que inflinge en el admin.

Activar protección contra fuerza bruta

Desde aquí configuraremos que umbral de tolerancia tendrá el sitio web en cuanto a los intentos de login por fuerza bruta. Imprescindible configurar bien todas estas opciones.

  • Máximo número de intentos de conexión por host / por usuario: cuántos intentos de login se tolerarán por IP/user: 3 debería ser suficiente. Aumentar a 10 si será un sitio con registro de usuarios que no sean muy técnicos. En ese caso es recomendable definir un cartel de error amigable en el módulo de Ajustes globales.
  • Minutos a recordar un intento de inicio de sesión fallido: durante cuánto tiempo puede equivocarse alguien con la contraseña y volver a intentar con datos incorrectos, incluso después de haber cambiado la contraseña, sin que lo consideremos un intento ilegítimo? 300 minutos (son 5 horas, esto sí que es tener paciencia).
  • Automáticamente bloquear al usuario "admin": sabido es que no debería usarse más el usuario "admin" a secas porque históricamente ha sido el mayor defecto de seguridad de la historia. Y es el username más testeado por los bots. Si activamos esta funcionalidad y un bot o una persona intentan testear si existe ese usuario, quedarán automáticamente añadidos a la lista negra. Por ende, debemos haber renombrado o eliminado PRIMERO al user "admin" si es que se trata de un sitio web muy antiguo (pre-2015). iThemes permite renombrar el user "admin", ver módulo correspondiente en pestaña Avanzados.

Protección contra fuerza bruta en la red

Este módulo te permite suscribir tu sitio a la red global de alertas de IPs abusadoras y les ayuda a los autores a identificar potenciales ataques masivos, y comunicarlos a los sitios miembros para prevenirlos.

Es útil cuando, de vez en cuando, hay oleadas de ataques desde IPs determinadas e identificables a nivel global. No está de más suscribirse. Requieren de un email, que puede ser el mismo a lo largo de varias instalaciones distintas del plugin.

Requisitos de contraseñas

Permite forzar la creación de contraseñas más seguras al vigilar la complejidad de las actuales de los Administradores o de los distintos roles de usuarios. Recomendable activarlo para todos los usuarios. En sitios con por ejemplo tiendas o cursos online, donde el público pueda no ser tan avanzado, podemos querer obviar los roles de clientes/suscriptores para no complicarles la existencia a esos usuarios.

Si activas este módulo y la contraseña actual de tu/s usuario/s no es lo suficientemente segura, te va a pedir cambiar la contraseña la próxima vez que inicies sesión, y WordPress presentará automáticamente una con la complejidad necesaria, que deberás anotar o, aún más recomendable, recordar usando el autocompletado de contraseñas de tu navegador favorito. Si usas Google Chrome conectado a tu cuenta de Gmail, recordará la contraseña en todos los dispositivos donde la uses.

Para decidir si la contraseña nueva que especifiques es insegura, iThemes cuenta con una base de datos interna con las 1000 contraseñas más comunes y vulnerables, de modo que la calificará como débil y la rechazará si tu patrón contiene alguna de ellas. Lo ideal es combinar minúsculas, mayúsculas, números y algún símbolo o caracter acentuado. Incluso pueden utilizarse espacios, por lo que una frase corta también puede aportar seguridad. Y por último, nunca reutilices la misma contraseña en varias cuentas.

SSL

Activarlo si el sitio web usa SSL (https en la URL). Este módulo se asegura de forzar el uso de HTTPS en todas las URLs del sitio.

También tiene una opción, que data de los años en que no era imperativo usar SSL, y que permite activar el HTTPS desde el editor de posts, de modo que uno pueda elegir en cuáles quería usarlo y en las demás no por default.

Hoy en día es muy recomendable activarlo para todo el sitio siempre y cuando nuestra web use HTTPS. Si vas a usar esta opción, es recomendable que desactives todo otro plugin de SSL como el Really Simple SSL y similares, y que si el sitio tiene SSL hace poco, repases que no le falte convertir nada a HTTPS usando este tutorial.

Salts de WordPress

Este módulo genera nuevas sales de WordPress. Las sales son códigos aleatorios que se usan para encriptar la sesión y cookies de cada usuario.

En la actualidad se autogeneran aleatoriamente al instalar WordPress. En sitios antiguos traían unos valores inseguros y fijos por default. Por lo tanto, en sitios que existan desde antes del 2015 o que hayan tenido incidentes con virus, es muy recomendable usar esta opción porque indudablemente mejora la seguridad.

Al cambiar las sales, necesariamente se cerrará la sesión actual y deberás loguearte nuevamente.

Algunos puristas de la seguridad recomiendan resetear las sales cada 1-3-6 meses, pero no queremos que te vuelvas [email protected] Cambiarlas al menos una vez en la vida del sitio web es ideal. Cambiarlas una vez al año tampoco está de más.

Ajustes del sistema

Este es uno de los módulos más importantes del plugin, y usaremos casi todas sus opciones para una máxima protección. En rojo marcamos las opciones que deberías activar. En negrita observaciones o comentarios sobre situaciones a tener en cuenta.

  • Archivos del sistema: bloquea el acceso público a archivos críticos del sistema que pueden proveer información sensible.
  • Navegación de directorios: protege de la eventual falencia de configuración que permite navegar carpetas de un sitio y ver listas de los archivos en su interior.
  • Métodos de petición: bloquea los métodos de petición menos usuales (TRACE, DELETE, TRACK). No activar si se usa Cloudflare.
  • Cadenas de consulta sospechosas: bloquea posibles intentos de ataques XSS a través de peticiones que busquen puntos vulnerables en el sitio web.
  • Caracteres no ingleses: bloquea cualquier petición de URL de nuestro sitio en la que aparezcan caracteres que no sean letras o números. No activar si el sitio debe funcionar en idiomas no-latinos (chino, ruso, hebreo, etc). En muy raros casos (según la calidad del theme o si se usan plugins para mejorar las búsquedas) puede impedir que se usen caracteres acentuados o la Ñ en keywords ingresadas en el buscador del sitio, por lo que debe testearse bien la búsqueda si es un punto indispensable para tu sitio y usuarios, como puede serlo en una tienda online.
  • Cadenas URL largas: bloquea peticiones de URLs sospechosamente largas o con muchos parámetros, lo cual es un método clásico de ataque a sitios web. En algunos casos, este filtro puede obstruir las notificaciones IPN de plataformas de pago en sitios que usen WooCommerce, por lo que se debe testear bien y eventualmente no utilizar esta opcion en tiendas online.
  • Permisos de escritura en archivos: cambia los permisos de los archivos wp-config.php y .htaccess a sólo lectura. Ningún otro plugin o componente de WordPress puede introducirles modificaciones mientras esta opcion esté activada. Activar si sabemos que no hará falta añadir más configuraciones. Desactivar cuando sepamos que necesitamos hacerlas o algún plugin nos advierta que no puede guardar cambios en esos archivos.
  • PHP en uploads: impide la ejecución pública de scripts PHP dentro de la carpeta uploads o sus carpetas internas. Imprescindible para bloquear el ataque clásico contra vulnerabilidades en las que se suben archivos ejecutables a dichas carpetas.
  • PHP en plugins: impide la ejecución pública de scripts PHP dentro de la carpeta plugins. Bloquea los tests de vulnerabilidades sobre los plugins que tengamos instalados. Puede romper alguna funcionalidad en el frontend (el lado público del sitio web) si se usan plugins que sean muy antiguos y/o que estén mal programados. Testear bien el funcionamiento del sitio web luego de activar esta opción.
  • PHP en temas: impide la ejecución pública de scripts PHP dentro de la carpeta themes. Bloquea los tests de vulnerabilidades sobre el theme que tengamos instalado. Puede romper alguna funcionalidad de galerías en themes muy antiguos y/o mal programados. Testear bien el funcionamiento del sitio web luego de activar esta opción.

Ajustes de WordPress

Este es otro de los módulos más importantes del plugin, y usaremos casi todas sus opciones para una máxima protección.

  • Cabecera Windows Live Writer: inhabilita esta funcionalidad que puede representar un vector de ataque. Activar si no se usará una app externa para publicar en el blog.
  • Cabecera EditURI: inhabilita la funcionalidad RSD que puede representar un vector de ataque. Activar si el blog no se conectará a un servicio de publicacion XML-RPC.
  • Comentarios spam: aumenta la capacidad de filtrar spam en los comentarios.
  • Editor de archivos: desactiva el editor de archivos que nativamente trae WordPress y que desde hace años es el método de ataque favorito de los bots que infectan plugins. Imprescindible y bloqueado por default.
  • XML-RPC: desactiva la capacidad de recibir conexiones via XML-RPC, que básicamente funciona como un control remoto de WordPress. Configurar en "Desactivar pingbacks" si se requiere instalar el plugin Jetpackla aplicación móvil de WordPress, o los pingbacks. Una vez instalado y configurado JetPack podemos desactivar XML-RPC completamente.
  • Múltiples intentos de autenticación por petición XML-RPC: impide que desborden el sitio con peticiones de login usando este canal. Bloquear por default.
  • REST API: Acceso restringido por default. Mejora la seguridad y privacidad de datos potencialmente sensibles al bloquear el acceso remoto. No activar si se debe permitir acceso externo desde webservices de terceros.
  • Mensajes de error de inicio de sesión: desactiva los mensajes de login incorrecto. Se puede activar para no dar pautas de cuál fue el error de login. Puede causar confusión en usuarios muy novatos o una tienda/comunidad online en donde sí sería necesario decirles por qué no pudieron acceder.
  • Forzar alias único: obliga a los usuarios a elegir un alias único al actualizar su perfil o crear una nueva cuenta, con lo cual se evita que los atacantes descubran fácilmente los nombres de usuario a partir de las páginas de autor.
  • Desactivar archivos de usuario adicionales: impide que se publiquen páginas de autores con 0 posts publicados, con lo cual se limita su capacidad de ataque.
  • Protección contra el tabnapping: protege contra un tipo de ataque que "envenena" los links que se configuren para abrirse en nuevas pestañas, haciendo que al cliquearlos abran links maliciosos o de spam.
  • Acceso con dirección de correo electrónico o nombre de usuario: permite definir si permitiremos el login con email, nombre de usuario, o ambos (que es la opción por default).
  • Mitigar el ataque de archivo de adjunto transversal: protege contra un tipo de ataque a usuarios no administradores, que permite causar fallas en el sistema al inyectar o eliminar archivos.

 

Pestaña de configuraciones Avanzadas

Cambiar directorio del contenido

Es un antiguo método por el que se renombra la carpeta wp-content. Ya no es tan útil como protección porque basta con echar una mirada al código fuente de nuestro sitio para ver cuál es el nuevo nombre, y además puede romper la funcionalidad de algunos plugins y themes que traen esa carpeta hardcodeada en el código. Por lo tanto, no es una opción recomendable.

Cambiar el prefijo de la tabla de la base de datos

Usar un prefijo distinto al default "wp_" es recomendable para evitar posibles acciones sobre la base de datos en caso que tengamos un plugin o theme vulnerable a ataques XSS.

Realizar un backup de la base de datos antes de aplicar este cambio. Implementar con cuidado en sitios realizados antes del 2016, que tengan miles de posts, o decenas de plugins muy específicos o hechos a medida, porque pueden estar mal programados y traer hardcodeado el uso del prefijo "wp_".

Usuario admin

Esta opcion será visible solamente si 1) tenemos un usuario llamado "admin" y/o 2) si tenemos algún usuario con ID=1.

Si tenemos un usuario "admin", nos propondrá renombrarlo, y es muy recomendable hacerlo ya que es uno de los vectores de ataque tradicionales en WordPress.

Si tenemos un usuario con ID=1, nos propondrá cambiarle el ID, y es recomendable hacerlo ya que reduce el efecto de otro de los ataques tradicionales que se pueden ejercer sobre un sitio WordPress.

Ocultar escritorio

Es una opción altamente recomendada porque al cambiar la URL de login, despistamos a los atacantes. El archivo wp-login.php es revisado por default por todo tipo de bots para efectuar intentos de fuerza bruta, pero si no pueden encontrarlo van a perder interés.

Para colaborar con el buen funcionamiento de esta opción es altamente recomendable eliminar el widget Meta, que viene activo por default, y que delata la URL de login aunque la hayamos ocultado.

Reglas de configuración del servidor

Simplemente nos muestra las reglas que deben insertarse en el archivo .htaccess, en caso que el plugin no pueda escribir en el mismo por alguna razón.

Reglas wp-config.php

Simplemente nos muestra las reglas que deben insertarse en el archivo wp-config.php, en caso que el plugin no pueda escribir en el mismo por alguna razón.

 


Esta guía se actualiza todos los meses con aclaraciones o mejoras. Si alguna explicación no te pareció clara o no te funcionó, no dudes en contactarnos para solicitar ayuda, aclaraciones, excepciones a alguna regla, etc.

 

  • 10 Los Usuarios han Encontrado Esto Útil
¿Fue útil la respuesta?

Artículos Relacionados

¿Qué hacer si mi sitio muestra un error 500?

El error 500 es un error común que se da cuando hay defectos en la programación de un script en...

¿Cómo puedo cambiar el theme de WordPress desde phpmyadmin?

"El theme que tenemos contiene un bug que me impide ingresar al sitio o al escritorio de WP, cómo...

¿Dan servicio de mantenimiento a sitios WordPress?

Sí. Creemos que todos tienen derecho a tener un sitio web ágil, funcional y seguro. Y el servicio...

Presentación: Seguridad en WordPress, cómo evitar que hackeen tu web

Les comparto la presentación que di en la Meetup de WordPress Argentina de Agosto 2018, donde fui...

¿Cómo ocultar el cartel de activación que muestra Visual Composer?

La mayoría de las veces, compramos un theme comercial pero no incluye la licencia de Visual...