Quantcast
Channel: Seguridad WordPress – Ayuda WordPress
Viewing all 129 articles
Browse latest View live

¡Urgente! Google Chrome marcará como “No seguras” webs sin HTTPS

$
0
0

Seguramente ya te habrás dado cuenta de que Google Chrome desde primeros de 2017 empezó a etiquetar los sitios con HTTPS como seguros, mostrando una marca en verde, visible en la barra de direcciones.

Pues bien, la versión 56 del navegador Google Chrome, que está prevista para el 31 de enero de 2017, o sea ya mismo, empezará a etiquetar como “No seguro” a los sitios sin HTTPS, sin certificado SSL válido activo.

Vamos, algo así de feo y atemorizante para tus visitantes, no digamos si son posibles futuros compradores en tu tienda online.

Esta nueva etiqueta de “No seguro“, y además en rojo y con icono de advertencia, se mostrará en cualquier página de tu sitio que contenga algún formulario donde se pidan contraseñas o credenciales de pago, como números de tarjetas de crédito.

Así que ¿qué prefieres?…

¿Esto?…

¿O esto otro?…

¿A qué viene esta manía de Google con HTTPS?

Bueno, no es manía, tiene bastante sentido. Las webs en HTTP transmiten los datos sin encriptar, así que cualquier hacker podría fácilmente recoger datos de los usuarios o clientes de tu web.

Por el contrario, en HTTPS todos los datos viajan encriptados, y los datos de tus usuarios y clientes están seguros.

Además, si quieres ofrecer tu web bajo el nuevo protocolo HTTP/2, con enormes mejoras de optimización y seguridad, es obligatorio que previamente sirvas tu web como HTTPS.

Toda esta evolución no debe sino mejorar la confianza de los consumidores en el comercio online, además de mejorar la velocidad y seguridad de navegación, algo que nos beneficia a todos ¿no crees?

¿Qué hago si mi sitio no tiene HTTPS?

Si tu sitio WordPress no tiene aún un certificado SSL y no sirves tus páginas en HTTPS sino en HTTP, y en alguna parte de tu web hay un formulario que pida contraseña, o tienes una tienda online, ya tardas en instalar un certificado SSL, mejor si es gratuito, algo que con la iniciativa Let’s Encrypt afortunadamente ya es para todos.

¿Cómo instalo un certificado SSL? ¿Los hay gratis?

Fácil, o alojas tu web en SiteGround, donde está alojado Ayuda WordPress, y además de disfrutar del mejor hosting posible dispones por defecto de certificados SSL gratis pre-instalados en todos los planes.

En caso contrario revisa este artículo donde explico cómo instalar un certificado SSL gratuito en tu hosting actual y activarlo en WordPress.

¿De verdad debo instalar un certificado SSL en mi web?

Pues, como he comentado antes, y según las indicaciones de Google, tú verás si …

  1. Haces caso a las “sugerencias” de Google, por supuesto después de ponerles a parir un rato, quedarte agusto, etc. para, a continuación„ recordar que la verdad es que usas muchos de sus servicios y no puedes vivir sin ellos, y que la realidad que ellos mandan en el tráfico desde buscadores y, u obedeces, o te arriesgas a perder visitas y ventas, y decides volver al principio de este artículo y hacer todo lo que te indico
  2. Por el contrario, prefieres vivir peligrosamente a riesgo de perder tráfico y visitas desde Google, y credibilidad por parte de tus visitantes y/o futuros compradores, ya que la gran mayoría del planeta usa Chrome, el navegador más extendido con diferencia.

Lo dicho, tú mismo, pero yo personalmente todas las nuevas webs para mi o clientes van en HTTPS, y uno de los trabajos que más me están pidiendo últimamente es la migración a HTTPS, así que ¿te vas a arriesgar a perder visitas/clientes frente a tu competencia?


Reduce cientos de Mb de tu base de datos en menos de 1 minuto

$
0
0

Ayer estuve echando un vistazo a la base de datos del blog en PHPMyAdmin, algo que recomiendo a todos hacer de vez en cuando, y me encontré, como siempre, un montón de tablas cargaditas de megas, normalmente de plugins que ya no uso, y otras de plugins que sí uso.

Por supuesto borré todas las de los plugins que ya no uso, pero había algunas que eran de plugins activos y me llamaron la atención por su enorme tamaño.

De hecho cada una de ellas ocupaba más de 30Mb, y todas empezaban por wf.

Como igual ya has adivinado eran de WordFence, un buenísimo plugin de seguridad sí, pero que almacena muchísima información en la base de datos. Y me ha parecido importante compartir cómo hacerle limpieza ya que es uno de los plugins más populares, que muchos utilizamos.

Por ejemplo, la tabla _wfFileMods, que es la que almacena las modificaciones en archivos, ocupaba ella solita más de 30Mb, no digamos si tienes activa la visualización de tráfico en tiempo real, en cuyo caso te puedes encontrar tablas con cientos de megas.

Y uno podría pensar, pues las borro y que el plugin vuelva a empezar,  y me paso de vez en cuando y voy limpiando, y sí, no es mala idea, pero tiene un problema, si borras las tablas perderás los ajustes del plugin, así que el modo correcto de hacer limpia es el siguiente…

Guarda los ajustes de WordFence

Ve al final de la página de opciones de WordFence y exporta los ajustes de WordFence.

Tras pulsar el botón se mostrará una ventana con un token, que se almacena en los servidores de WordFence con tus ajustes, cópialo en un archivo de texto por ahí para usarlo luego, son un montón de números y letras, ni intentes memorizarlo, es imposible.

Haz que WordFence borre las tablas al desactivarlo

Un poco más arriba de la sección anterior verás una casilla para que WordFence borre sus tablas al desactivarse, marca la casilla y guarda los cambios en los ajustes.

Desactiva y vuelve a activar el plugin

Sencillo, vas a la página de administración de plugins, lo desactivas, y lo vuelves a activar a continuación. ¿No hace falta que te ponga captura no?

Importa los ajustes

Ve de nuevo a la página de opciones de WordFence y en la caja para importar ajustes pega el token que copiaste antes y pulsa el botón de importar ajustes.

A continuación se mostrará una ventana emergente que te confirmará que se han aplicado tus configuraciones previas. Simplemente dale al botón de recargar página y ahí las tendrás de nuevo.

Y conseguido, WordFence activo y configurado a tu gusto, y sin que ocupe tu precioso espacio en la base de datos.

Ahora solo nos toca hacer lo mismo con otros plugins que también tienen la fea costumbre de llenar de megas nuestra base de datos, algo que afecta al rendimiento de nuestro servidor, no lo dudes.

Cómo evitar que accedan directamente a tu plugin

$
0
0

Como desarrollador, una de las cosas más importantes que debes hacer es impedir el acceso directo a tu plugin.

Me refiero a que si alguien trata de acceder directamente a alguno de los archivos localizados en cualquier directorio del plugin no pueda ejecutar ningún código del script.

Si no haces lo posible para evitar el acceso directo a tu plugin estás creando una vulnerabilidad de seguridad, máxime cuando es algo realmente fácil de evitar.

Debes ser concienzudo con la seguridad, por tu reputación como programador, por supuesto, pero sobre todo por la seguridad de tus usuarios.

Y sí, es muy fácil, pero también es igual de cierto que muchos de los plugins más utilizados no suelen hacer, y es imperdonable.

Cómo evitar el acceso directo a tu plugin

Lo primero es tener claro porqué no debemos dejar que otros accedan directamente al código de tu plugin.

Dicho en pocas palabras, si consiguen acceder a los scripts entonces podrán ejecutar determinadas partes del código que estén, o fuera de la API de WordPress, o que no comprueben si el usuario tiene permisos para ejecutar una parte del código.

Una vez consigue hacer esto todo el sitio queda comprometido.

Y sí, da miedito, pero no hay que sofocarse, asegurarse de que un usuario con malas intenciones no pueda conseguir acceso al archivo principal de tu plugin es tan sencillo como cerciorarte de que en las primeras líneas de tu plugin (justo debajo de la cabecera de tu plugin) tengas algo como esto:

<?php

// Si se hace una llamada directa al plugin, abortar.
if ( ! defined( 'WPINC' ) ) {
	 die;
}

También debes tomar otras precauciones:

  • Puedes definir permisos para especificar qué perfiles de usuario pueden ver el contenido de un directorio del servidor.
  • También puedes poner un archivo vacío index.php en todos los directorios de tu plugin, para provocar una pantalla en blanco si alguien trata de explorarlos.
  • También es útil asegurarte de que el resto de tus funciones comprueben correctamente los valores nonce, si un tipo de usuario puede ejecutar código, o si el usuario ha accedido a WordPress antes de poder ejecutar código.

Estos son algunos consejos simples y efectivos para evitar que alguien ejecute un plugin ejecutando rutinas habituales en la mayoría de los plugins WordPress.

Pero no son todos los posibles frenos, si sabes alguno más anímate a compartirlo, es responsabilidad de todos hacer que WordPress sea más seguro.

Esto que lees es un contenido de Ayuda WordPress - Recursos, themes, plugins y tutoriales en español y se publicó aquí: Cómo evitar que accedan directamente a tu plugin

Plugin SEO falso infecta miles de sitios WordPress

$
0
0

Un falso plugin WordPress llamado WP-Base-SEO, que está basado en un plugin SEO real ha infectado más de 4.000 webs WordPress en las últimas dos semanas.

¿Qué hace este plugin SEO falso?

Este plugin se supone que debería mejorar el tráfico de usuarios pero lo que hace realmente es crear una puerta trasera en el sitio infectado.

El atacante escanea la red buscando plugins WordPress sin actualizar, especialmente el plugin RevSlider, que viene incluido en muchos temas WordPress pero los propietarios de las webs tienden a tener sin actualizar al venir incluido.

Te recuerdo del peligro de los plugins incluidos en los packs de ThemeForest o similares, pues podrías pensar que se actualizan con el tema pero no, hay que comprar luego la licencia propia, sino tendrás una brecha de seguridad. El modelo de negocio de plugins como Revolution Slider o Visual Composer es precisamente ese: te los regalan con el tema pero luego tienes que adquirir la licencia para tener actualizaciones y soporte.

La empresa de seguridad SiteLock, que ha sido quien ha localizado el falso plugin ha informado que el plugin falso ha cogido el código de un plugin SEO real y lo ha modificado para que parezca ser auténtico.

De ese modo un usuario de WordPress pensará que tiene un plugin SEO legítimo, cuando lo que tiene es una falsificación con malas intenciones.

Examinando el código del falso plugin, en realidad malware, WP-Base-SEO, se ve que contiene una función eval PHP codificada/ofuscada en base64 que ejecuta código PHP arbitrario.

Cómo limpiar WordPress si estás infectado

Revisa la carpeta wp-content/plugins y borra cualquier carpeta y archivo que no hayas instalado/subido tú mismo. Instala un plugin de seguridad como WordFence, iThemes Security o Sucuri y revisa toda tu instalación para determinar cambios no controlados por ti en tu instalación, y revisa también tu base de datos.

Reinstala copias limpias de tus temas y plugins e incluso de WordPress.

Por supuesto, nunca instales plugins o temas desde fuentes no fiables, usa siempre el directorio oficial de WordPress.org o desarrolladores de confianza.

Por supuesto, siempre haz copias de seguridad de tu contenido. Siempre puedes volver a instalar un WordPress desde cero, con todo limpio, pero tu contenido es lo que nadie puede darte ni puedes instalar desde ninguna otra parte.

Esto que lees es un contenido de Ayuda WordPress - Recursos, themes, plugins y tutoriales en español y se publicó aquí: Plugin SEO falso infecta miles de sitios WordPress

La vulnerabilidad target=”_blank” y la solución rel=”noopener noreferrer” de WordPress

$
0
0

Desde la versión 4.7.4, WordPress incorpora la nueva versión del editor TinyMCE incluido, que soluciona la conocida como vulnerabilidad target=”_blank”, y lo hace añadiendo automáticamente a este tipo de enlaces la relación rel=”noopener noreferrer” ¿te habías dado cuenta?

Cuando surgió el debate en el artículo sobre las novedades de WordPress 4.7 y luego posteriormente lo abrió Miguel en los foros de soporte me puse a investigar un poco así que vamos a poner algo de luz en este asunto.

¿Qué es la vulnerabilidad target=”_blank”?

Esta vulnerabilidad, también conocida como reverse tabnabbing, un tipo de ataque de phishing en el que el atacante reemplaza la pestaña legítima, y fiable, por un documento malicioso usando el selector window.opener.location.assign() cuando se accede mediante un enlace de apertura en nueva ventana/pestaña, o sea del tipo target=”_blank”.

Lo que hace el atacante es, usando el selector window.opener.location, llevar al usuario a alguna página falsa, que simula ser la original, o ejecuta algún JavaScript en la página de apertura en la que confía el usuario.

Explicado de manera sencilla, con el reverse tabnabbing, cuando haces clic en una web para abrir una página nueva, y se abre en una nueva pestaña, si luego vuelves a la web original, sin que tú te des cuenta se cambia automáticamente esa página falsa que simula ser la buena.

Parece la página web original que estabas viendo pero tiene una url distinta (que se puede ver claramente). El problema es que la mayoría de los usuarios no se dan cuenta de que la URL ha cambiado, ya que no se suelen fijar casi nunca, menos si piensan que están en una web en la que confían, por ejemplo esta.

Luego, por ejemplo, la página web falsa les pedirá que accedan de nuevo a su cuenta, y claro, pero ya no estás donde te creías que provienes sino en una copia de la pestaña original en la que hay otro documento, en este caso malicioso. Si introduces tus datos ya te has entregado a los hackers y harán lo que sea con tus credenciales.

En esta página tienes un ejemplo (no malicioso) del reverse tabnabbing por si quieres probarlo en tus carnes sin peligro.

¿Qué hace la relación rel=”noopener noreferrer”?

El modo de evitar la vulnerabilidad target=”_blank”reverse tabnabbing es añadir a tus enlaces que abren en nueva ventana/pestaña la relación de enlace rel=”noopener”, y como el navegador Firefox no reconoce esta relación sumarle la relación noreferrer, a fin de cuentas, añadiendo esto: rel=”noopener noreferrer”.

De este modo, para evitar la vulnerabilidad, tu enlace externo debería ser algo así:

<a target="_blank" rel="noopener noreferrer" href="https://elenlaceexterno.es">Texto del enlace externo</a>

De este modo se elimina la posibilidad de aplicar la citada vulnerabilidad. Sencillo ¿no? Lo malo es si tienes que ir añadiendo esto a cada enlace externo uno a uno, pero usamos WordPress ¿verdad?

¿Cómo soluciona esta vulnerabilidad WordPress?

Como comenté al principio del artículo, WordPress, en la versión 4.7.4, incorporó la actualización del editor incluido TinyMCE que soluciona esta vulnerabilidad añadiendo automáticamente la relación rel=”noopener noreferrer” a todos los enlaces con target=”_blank”, tanto a los nuevos contenidos como a los existentes si los abres para editarlos, una solución bastante efectiva.

Eso sí, que quede claro que WordPress/TinyMCE solo añade la relación noopener noreferrer en los enlaces que tú decidas que abran en ventana/pestaña nueva, o sea, en los que hagas esto:

¿Y si no quiero que WordPress me proteja de la vulnerabilidad reverse tabnabbing o como se llame?

Si prefieres vivir peligrosamente puedes desactivar esta funcionalidad del editor TinyMCE de WordPress añadiendo el siguiente código a tu plugin de utilidades o al archivo functions.php del tema hijo activo, pero NO LO HAGAS:

// Esto desactiva voluntariamente una funcionalidad de seguridad de tinyMCE.
// NO ES RECOMENDABLE usar este código.
add_filter('tiny_mce_before_init','tinymce_allow_unsafe_link_target');
function tinymce_allow_unsafe_link_target( $mceInit ) {
	$mceInit['allow_unsafe_link_target']=true;
	return $mceInit;
}

Entonces ¿qué hago?

Nada, en serio. El hecho de que se añada la relación rel=”noopener noreferrer” a los enlaces que abren en ventana/pestaña nueva es una funcionalidad de seguridad que te protege a ti y tus visitantes de una vulnerabilidad grave, de robo de información, y el hecho de que WordPress/TinyMCE nos protejan de esto es bueno.

Más información:

Esto que lees es un contenido de Ayuda WordPress - Recursos, themes, plugins y tutoriales en español y se publicó aquí: La vulnerabilidad target=”_blank” y la solución rel=”noopener noreferrer” de WordPress

¿Cómo evito que WordPress almacene las IPs de los comentarios?

$
0
0

Seguramente ya sabrás que WordPress almacena la IP de cada uno de los usuarios que dejan comentarios.

Básicamente es una medida de seguridad pues puedes filtrar en el listado de comentarios todos los comentarios dejados desde cualquier IP y, si fuese necesario, informar a las autoridades en caso de delito.

Pero puede que no quieras almacenar esta información y ofrecer un plus de privacidad a tus lectores, en cuyo caso tendrás que aplicar alguna de estas dos técnicas para que WordPress no guarde las IPs de los comentarios.

Evitar que WordPress guarde las IPs de los comentarios con un código

Sencillo, simplemente añade esto a tu plugin de personalizaciones o al archivo functions.php del tema hijo:

/* No guardar IPs de los comentarios */
function wp_remove_commentsip( $comment_author_ip ) {
return '';
}
add_filter( 'pre_comment_user_ip', 'wp_remove_commentsip' );

Una vez guardes los cambios dejará el campo de IP en blanco, no almacena nada.

Evitar que WordPress guarde las IPs de los comentarios con un plugin

Igual de fácil, o más, pero con algún matiz. Instala y activa el plugin Remove IP. Al contrario que el código anterior este plugin no quita el campo de la IP sino que pone la misma a todos: 127.0.0.1 (más conocida en casa a la hora de comer como localhost)

¿Y cómo borro las IPs que ya estén almacenadas?

¡Bien pensado! Si vamos a garantizar la privacidad de nuestros usuarios habrá que borrar todo rastro anterior. Para eso ve a tu hosting y abre la herramienta PHPmyAdmin y, una vez estés en la base de datos de tu WordPress, ejecuta la siguiente orden en la pestaña llamada SQL:

UPDATE 'wp_comments' SET 'comment_author_IP' = '';

Pulsa el botón “Continuar” y ya lo tienes.

 

Esto que lees es un contenido original de Ayuda WordPress - Recursos, themes, plugins y tutoriales en español y lo publicó Fernando primero aquí: ¿Cómo evito que WordPress almacene las IPs de los comentarios?

Qué son las cachés de usuario de WordPress

$
0
0

Si en alguna ocasión has trabajado en un proyecto en el que necesitaste trabajar con las cookies de WordPress es probable que hayas tenido que lidiar con la función wp_set_auth_cookie. Me refiero a esta función:

Establece las cookies de identificación basándose en la ID de usuario.

Y cuando utilizas esta función, esencialmente, estás creando una cookie que se usa para identificar al usuario al acceder a WordPress.

Pero si quieres saber cómo identificar automáticamente a un usuario con WordPress entonces hay unos cuantos pasos adicionales obligatorios para hacerlo correctamente, especialmente si usas plugins de caché.

Y ahí es dónde entran en juego las cachés de usuario de WordPress.

Las cachés de usuario de WordPress

Además de la creación de una cookie de identificación, es importante asegurarte de que estás haciendo lo siguiente:

  • Vaciando las cachés de usuario,
  • Deshaciéndote de las cookies de identificación,
  • Definiendo el usuario actual,
  • Estableciendo la cookie de identificación,
  • Actualizando las cachés de usuario.

Suena algo complicado ¿verdad? La parte buena es que hay unas cuantas funciones (las que he enlazado arriba) que hacen que sea algo sencillo.

Lo más importante que debes recordar es que necesitas una instancia de WP_User para poder hacer todo esto. Cómo extraigas una instancia del usuario dependerá de la funcionalidad de tu plugin.

Exacto, puede que seas capaz de extraer una referencia para un usuario dando un nombre de usuario:

<?php
$user = get_user_by( 'login', $username );

O quizás puedas utilizar una dirección de correo electrónico:

<?php
$user = get_user_by( 'email', $email );

Sea cualquier sea el caso, los siguientes pasos deben tener usuario si quieres hacerlo bien. Así que, dicho esto, el código sería algo así:

<?php

// Limpia las cookies y las cookies de cualquier usuario.
clean_user_cache( $user->ID );
wp_clear_auth_cookie();

// Define el usuario actual y actualiza las cachés.
wp_set_current_user( $user->ID );
wp_set_auth_cookie( $user->ID, true, false );
update_user_caches( $user );

¡Eso es todo! Aquí tienes la descripción de lo que hace cada función:

  • clean_user_cache. Esto borra toda la información de los usuarios en caché.
  • wp_clear_auth_cookie. Cuando un usuario está identificado con WordPress se almacena una cookie. Esto vaciará la cookie de identificación.
  • wp_set_current_user. Obtenida una instancia de WP_User, le dice a WordPress que marque a este usuario (permitiendo que exista en la base de datos)
  • wp_set_auth_cookie. Esto creará la cookie utilizada para identificar al usuario definida en la anterior función.
  • update_user_caches. Para finalizar, esto actualizará las cachés de usuario con la información de cada año.

Cuando tengas que trabajar con cachés de usuario en WordPress, identificación y para además identificar usuarios de manera automática, debes usar estas funciones.

Esto que lees es un contenido original de Ayuda WordPress - Recursos, themes, plugins y tutoriales en español y lo publicó Fernando primero aquí: Qué son las cachés de usuario de WordPress

Cómo solucionar el error de cookies bloqueadas en WordPress

$
0
0

Un error rarito que suele ocurrir muchas veces, sobre todo después de migraciones o cambios de dominio es que no consigues acceder a WordPress por un error que indica que tu navegador tiene bloqueadas las cookies.

Me refiero a este feo error:

Si fuese tan fácil de solucionar como lo que indica en la página enlazada de WordPress.org, que básicamente te indica que permitas las cookies en tu navegador, no me habría tomado ni la molestia de escribir esto, pero a veces tiene más miga.

¿Hay solución?

Bueno, pues sí, varias.

Revisa la configuración de cookies en tu navegador

Lo primero, por si acaso, es comprobar si tienes bloqueada la lectura y guardado de cookies en tu navegador.

Esto en Chrome se hace accediendo a la URL: chrome://settings/content/cookies?search=cookies

Asegúrate de que esté así…

En Firefox lo tienes en about:preferences#privacy y debes tener seleccionada la opción de recordar el historial:

Y en Safari lo encontrarás en Preferencias > Privacidad > Cookies y datos de sitios web, con la casilla Permitir siempre activa.

Por Internet Explorer, Edge o como se llame ahora ni idea, hace años que no lo uso salvo para pruebas de clientes, y en mi ordenador personal no lo tengo instalado ahora mismo.

Vacía las cookies

Por supuesto, aunque las tengas habilitadas, en esas mismas páginas de ajustes tienes la opción de vaciar cookies. Prueba a vaciarlas e inténtalo de nuevo por si hay suerte.

Revisa esta lista

Este error lo pueden provocar muchas cosas, así que sigue esta lista a ver si algún punto es el culpable:

  • Desactiva los plugins por si alguno es el culpable
  • Cambia a un tema por defecto por si tu tema lo está provocando
  • Actualiza a la última versión de WordPress (sí, pasa)
  • Cambia a una versión actual de PHP  (también, pasa)
  • Revisa en la base de datos que no tengas mal la URL en los Ajustes > Generales de WordPress (pasa más de lo que imaginas)
  • Revisa que no tengas alguna regla de redirección antigua en el archivo .htaccess
  • Revisa que en el archivo wp-config.php tengas bien las líneas que definan el WP_HOME y WP_SITEURL (también puedes probar a crearlas así)

Arréglalo con una sola línea de código

Si lo anterior estaba bien y sigues teniendo el problema la solución definitiva (casi siempre) es añadir esta línea a tu archivo wp-config.php (lo encontrarás en la carpeta raíz de tu instalación):

define('COOKIE_DOMAIN', $_SERVER['HTTP_HOST'] );

Solo procura poner la constante anterior antes de la frase esa que te dice que no sigas editando, para evitar destrozos.


¿Conseguiste arreglarlo?

Si has solucionado el problema de las cookies bloqueadas cuéntanos cómo lo hiciste, y si sabes algún truco adicional compártelo, seguro que te lo sabremos agradecer.

Esto que lees es un contenido original de Ayuda WordPress - Recursos, themes, plugins y tutoriales en español y lo publicó Fernando primero aquí: Cómo solucionar el error de cookies bloqueadas en WordPress


Analiza la seguridad de tu sitio WordPress con WPdanger

$
0
0

Un viejo conocido de la comunidad WordPress en España, Javier Casares, ha lanzado un nuevo servicio, WPdanger, que analiza tu sitio WordPress para ofrecerte información sobre la seguridad de tu web.

Acceder al servicio es sencillo, solo tienes que ir a la web de la aplicación en wpdanger.com, introducir la URL a analizar y un correo electrónico al que se te enviarán los resultados.

La seguridad por delante

Como particularidad, debes saber que si ya un usuario registrado ha analizado una web tú no podrás analizarla, lo que viene a ser una medida de seguridad básica para que no cualquiera pueda analizar vulnerabilidades en tu WordPress.

Así que ya sabes, date de alta cuanto antes para analizar tu web, no solo aprenderás mucho sobre qué tienes bien y qué necesita mejoras sino que evitarás que otros curioseen en tu sitio.

Otra medida de seguridad es que debes verificar que el sitio a analizar es tuyo, para lo que el sistema te informará de que debes crear un archivo wpdanger.txt con un código que te ofrece la página. Este archivo deberás subirlo a la carpeta raíz de tu instalación.

A continuación verifica que has subido el archivo y empezará el proceso de creación del informe.

Cuando esté terminado recibirás un correo electrónico con un enlace al mismo.

Informe de seguridad

En cuanto al informe de seguridad tengo que decir que es muy completo.

Ya sea desde el enlace de correo electrónico como desde tu área de usuario podrás ver los informes y ejecutar nuevos cuando quieras.

La información la segmenta en varias secciones, pudiendo revisar la información sensible de cada una que, por motivos obvios, verás difuminada en el informe de ejemplo de las siguientes capturas.

La información es bastante detallada, y aunque puede que eches de menos más datos y detalles me consta que Javier incluirá mejoras pronto, así que es un servicio al que seguir la pista.

Esto que lees es un contenido original de Ayuda WordPress - Recursos, themes, plugins y tutoriales en español y lo publicó Fernando primero aquí: Analiza la seguridad de tu sitio WordPress con WPdanger

Oculta la pantalla de acceso de WordPress sin plugins

$
0
0

Una de las medidas básicas de seguridad en WordPress es ocultar la pantalla de acceso y/o registro de WordPress, para evitar ataques de fuerza bruta y, simplemente, ponérselo más difícil a los hackers.

El motivo

La causa por la que es importante ocultar la pantalla de acceso de WordPress es debido a que la mayoría de los hackers utilizan rastreadores que buscan direcciones del tipo /wp-login.php o /wp-admin/ accesibles en las que poner en marcha sus máquinas automáticas de detección y prueba de usuarios y contraseñas.

Al ocultar tu pantalla de acceso por algo que no sea el estándar de WordPress te quitas de en medio a miles de estos atacantes vagos que usan aplicaciones para hackear instalaciones de WordPress.

La(s) solución(es)

Una solución muy común para el administrador de WordPress es utilizar plugins de seguridad como iThemes Security o All in One WP Security, que incluyen utilidades para ocultar la pantalla de acceso, y no es mala solución.

Pero lo que yo te propongo hoy es conseguir lo mismo sin plugins, por si no necesitas las otras tropecientas utilidades de los plugins de seguridad.

El código

Lo que vamos a hacer es crear una redirección de la pantalla de acceso de WordPress a una URL de nuestra elección. Para ello nos valdremos del archivo .htaccess.

Búscalo en el directorio raíz de tu instalación de WordPress y ábrelo con tu aplicación favorita de FTP o desde el panel de tu alojamiento.

A continuación añade las siguientes líneas, mejor antes de donde están los rewrite de WordPress (#BEGIN WORDPRESS):

# BEGIN Ocultar acceso WP
RewriteRule ^milogin$ https://%{SERVER_NAME}/wp-login.php?key=123abc&redirect_to=https://%{SERVER_NAME}/wp-admin/index.php [L]

RewriteCond %{HTTP_REFERER} !^https://%{SERVER_NAME}/wp-admin
RewriteCond %{HTTP_REFERER} !^https://%{SERVER_NAME}/wp-login.php
RewriteCond %{HTTP_REFERER} !^https://%{SERVER_NAME}/login
RewriteCond %{QUERY_STRING} !^key=123abc
RewriteCond %{QUERY_STRING} !^action=logout
RewriteCond %{QUERY_STRING} !^action=lostpassword
RewriteCond %{REQUEST_METHOD} !POST
# END Ocultar acceso WP

Notas importantes

El código anterior es de ejemplo, así que hay cosas que debes cambiar:

  • En la línea 2 debes cambiar milogin por el slug de tu URL de acceso personalizada (acceso, entrada, lo que quieras). La idea es que tu URL de acceso será a partir de aquí https://tudominio.es/milogin, o lo que hayas elegido tú, por ejemplo, https://tudominio.es/acceso.
  • En las líneas 2 y 7 debes cambiar la key con 123abc por otra cosa. Es una clave oculta que no verán los hackers. La única regla es usar lo mismo en ambas líneas y usar solo letras y números.

Y ya está. Guarda los cambios y comprueba que funciona. Si tras guardar ves un error 500 en tu web será que algo has puesto mal en el código, repásalo y modifícalo.

Esto que lees es un contenido original de Ayuda WordPress - Recursos, themes, plugins y tutoriales en español y lo publicó Fernando Tellado primero aquí: Oculta la pantalla de acceso de WordPress sin plugins

Cómo configurar correctamente iThemes Security

$
0
0

Como seguramente ya sabrás, si tengo que elegir un plugin de seguridad el que siempre recomiendo es iThemes Security, anteriormente conocido como Better WP Security (sinceramente, me parecía mejor nombre, no se porqué lo cambiaron), y es que es una completa suite de seguridad, que cubre las necesidades de cualquier web profesional.

Tiene muchas virtudes, y por supuesto está totalmente en español, para mi un básico a la hora de recomendar plugins a clientes. Pero vamos a ver cómo configurarlo correctamente.

La instalación

No me enrollaré mucho, pero sí quiero comentar un par de cosillas de la instalación del plugin.

Por supuesto, se instala como cualquier otro plugin WordPress, está siempre destacado en los plugins populares del instalador de plugins de tu WordPress, pues tiene cerca de un millón de instalaciones activas, y siempre está actualizado.

Nada más instalarlo y activarlo te muestra un par de avisos (los odio, todos). El primero te anima a ir a su escritorio, que no está mal, así no tienes que buscar donde están sus ajustes, y el otro es por si quieres registrar una API gratuita y así estar conectado con otros sitios que lo usan, para aprender de toda la red a la hora de detectar ataques de fuerza bruta y defenderte de ellos.

Así que le haremos caso, obtendremos la API gratuita y, sobre todo, iremos al escritorio. Más adelante lo tendrás en el nuevo menú de herramientas de tu WordPress, llamado Seguridad.

Si hiciste caso al aviso, y la primera vez que accedas a los ajustes del plugin, te ofrecerá un modo rápido de asegurar tu sitio, que activa una serie de herramientas del mismo.

Mi consejo es que lo actives, pues son medidas de seguridad recomendables para cualquier web, aunque luego las veremos más en detalle.

Comprobación de seguridad

Lo que activa es las utilidades:

  • Usuarios baneados
  • Copias de seguridad de bases de datos
  • Activar protección contra fuerza bruta
  • Protección contra fuerza bruta en la red
  • Contraseñas seguras
  • Ajustes de WordPress

Además de lo que te indica, también pone la API de WordPress en modo restringido, ya verás porqué es interesante también este ajuste.

Hecho esto te llevará al escritorio de iThemes Security, con sus herramientas recomendadas, tanto las gratis como las de pago.

Aquí mis 2 primeros consejos:

  1. Activa la vista de lista
  2. Activa la visualización de todas las herramientas

El primero es porque es más rápido configurar todo en ese modo de visualización, y el segundo es porque sino te perderás algunas de las maravillosas herramientas del plugin.

Además, pasas de 16 herramientas gratuitas a tener 21 a tu disposición, algunas importantes.

¿Vemos una a una y las configuramos bien?

Ajustes globales

Esta ventana tiene montones de ajustes importantes. Y como verás, algo que me gusta mucho de este plugin, explica en cada apartado qué hace cada cosa, algo vital para cualquier usuario que no sea experto en seguridad.

Escribir en los archivos

Activando esto iThemes Security podrá aplicar cambios a los archivos de sistema .htaccess y wp-config.php.

Ajuste recomendado: Activo

Mensaje de bloqueo al servidor

Aquí debes anotar cualquier mensaje que quieras que muestre el plugin a cualquier servidor atacante que bloquee. Admite HTML pero no te compliques, con el ajuste por defecto (Error) es suficiente.

Ajuste recomendado: Error

Mensaje de bloqueo del usuario

Aquí es justo lo contrario, mejor ser más explicativo, pero con el ajuste por defecto te valdrá de sobra.

Ajuste recomendado: Avisar al usuario del motivo por el que ha sido bloqueado (normalmente demasiados intentos seguidos fallidos)

Mensaje de bloqueo en la comunidad

Este ajuste se refiere a bloqueos cuando estás conectado con la API, pues el plugin bloqueará también a usuarios y servidores que la red de usuarios ha detectado como peligrosos.

Ajuste recomendado: Menos es más: Error

Lista negra de infractor reincidente

Este ajuste, si está activo, crea una lista negra de atacantes reincidentes.

Ajuste recomendado: Activo

Umbral de lista negra

Cada cuantos intentos de acceso fallidos se añade a un usuario a la lista negra del ajuste anterior

Ajuste recomendado: 3

Período retroactivo Lista negra

Durante cuantos días se considera reincidente a un usuario de los bloqueos.

Ajuste recomendado: 7

Período de bloqueo

Durante cuanto tiempo se debe bloquear a un usuario tras alcanzar el límite de intentos fallidos (umbral de lista negra).

Ajuste recomendado: 15 minutos

Lista blanca de bloqueo

Aquí puedes añadir las IPs seguras, como la tuya.

Ajuste recomendado: Pon tu IP

Tipo de registro

Dónde guardará el plugin el registro de eventos.

Ajuste recomendado: Solo en base de datos

Días para mantener registros de la Base de datos

Autoexplicativo.

Ajuste recomendado: 30 días

Permitir Rastreo de Datos

Si quieres que el plugin comparta información de tu instalación.

Ajuste recomendado: No activo

Anular detección del proxy

Ajuste solo para servidores muy antiguos, sin cache de servidor ni ningún servicio de entrega de contenidos.

Ajuste recomendado: No activo

Ocultar el menú de seguridad en la barra de administración

Autoexplicativo. Por defecto hay un menú de seguridad en la barra de menú de admin, casi siempre innecesario.

Ajuste recomendado: Activo.

Mostrar códigos de error

Activar esto sirve para depurar errores de plugin. Solo recomendable en caso de problemas con el plugin.

Ajuste recomendado: No activo

Centro de avisos

Este es un panel sencillo pero importante, pues es donde defines si recibirás ciertos avisos o no, algo vital de cara a las obligaciones de la RGPD, por ejemplo.

Bloqueos en el sitio

Si quieres recibir avisos de cada usuario bloqueado.

Ajuste recomendado: No activo

Boletín de seguridad

Correos que manda iThemes Security con noticias de seguridad.

Ajuste recomendado: No activo

Copia de seguridad de la base de datos

A qué dirección(es) mandará el módulo de copias de seguridad de iThemes Security las bases de datos.

Ajuste recomendado: Un email dedicado solo para ello

Detección 404

Este módulo, inicialmente inactivo, es muy importante, pues es una vulnerabilidad que tratan de explotar muchos hackers. Actívalo para luego configurarlo. Además, es un módulo que trabaja en conjunción con los ajustes globales de bloqueo de usurios y servidores.

Minutos para recordar el error 404

Durante cuánto tiempo se considera que algo es un ataque de errores 404.

Ajuste recomendado: 5 minutos

Umbral de error

A partir de cuántos intentos se considera un ataque.

Ajuste recomendado: 20

Lista blanca de archivo/carpeta 404

Listado de archivos y carpetas excluidos de la comprobación. Aquí debes poner los que consideres normal que den en ocasiones 404.

Ajuste recomendado: Por defecto + tus archivos/carpetas temporales

Tipos de archivo ignorados

Qué extensiones de archivo no generarán bloqueos por errores 404. Normalmente archivos de imagen y temporales.

Ajuste recomendado: Por defecto + tus archivos temporales

Modo de reposo

Este módulo es una de las joyas ocultas del plugin. Permite definir a qué hora de inicio y fin NADIE tendrá acceso a la administración de WordPress, ni siquiera tú o cualquier otro administrador.

Es un modo brutal de evitar ataques a horas en las que sepas seguro que no vas a administrar.

Tipo de restricción

Si la restricción de acceso será a diario o días concretos.

Ajuste recomendado: Diario

Hora de inicio y finalización

Aquí piénsate bien las horas de inicio y finalización, que no te pille una tarea de mantenimiento o publicación y tengas que hacer virguerías para poder acceder.

Este módulo está inactivo por defecto. Si no lo tienes claro no lo actives, pero si estás seguro es un modo estupendo de ganar paz durante horas.

Ajuste recomendado: Por defecto – De madrugada

Usuarios baneados

¿Alguna vez has querido prohibir el acceso a tu sitio a servidores, IPs, o dominios que te roban o atacan? Con esta herramienta añades reglas al archivo .htaccess fácilmente para bloquearles.

Lista negra por defecto

Activando esto usas la lista, que se actualiza constantemente, Hack Repair, que añade servidores peligrosos a la lista de bloqueos.

Ajuste recomendado: Activo

Listas de baneo / Banear servidores

Aquí añades tus atacantes personalizados, que irás añadiendo en la siguiente caja de servidores a banear, en la que podrás incluir IPs, rangos e incluso comodines.

Ajuste recomendado: Activo

Banear agentes de usuario

Añade aquí tu lista de bots maliciosos. Si no saes por donde empezar aquí tienes una lista enorme.

Ajuste recomendado: Añade tus bots atacantes y sospechosos

Cambiar directorio del contenido

Una de las medidas de seguridad más efectivas para cualquier WordPress es el cambio del directorio donde se guardan tus contenidos (subidas, plugins, temas, etc) de wp-content a cualquier otro. De este modo evitas la mayoría de atacantes, que lanzan sus bots contra la habitual carpeta por defecto.

Ahora bien, es una utilidad peligrosa, pues algunos plugins o temas podrían no funcionar. Úsalo con precaución, y siempre comprobando que funciona todo tras el cambio. Y siempre haz antes una copia de la base de datos.

Ajuste recomendado: Activo solo en instalaciones nuevas.

Cambiar el prefijo de la base de datos

Otro de los consejos básicos de seguridad es nunca usar el prefijo de las tablas por defecto, el wp_, y en este módulo puedes cambiarlo fácilmente.

Siempre haz copia de seguridad de la base de datos antes pero es bastante seguro el cambio.

Ajuste recomendado: Cambiarlo si el actual es wp_

Copias de seguridad de bases de datos

El plugin también permite programar copias de seguridad de la base de datos, así no necesitas otro plugin.

  • Copia de seguridad completa de base de datosActivar: Hace copia de todas las bases de datos, aunque no sean de esta instalación
  • Método de copia de seguridadSolo correo: Crea una cuenta de correo solo para esto. Las copias locales son los padres, no sirven de nada.
  • Copias de seguridad a guardar0: Infinitas, ya borrarás tú.
  • Comprimir archivos de copia de seguridad: Mejor que ocupen menos espacio.
  • Excluir tablas: Excluye tablas innecesarias. Ante la duda no excluyas nada.
  • Programar copias de seguridad de bases de datosActivar.
  • Intervalo de copia de seguridad1 día.

Detección de cambios de archivo

Este módulo, inactivo por defecto, deberías tenerlo siempre activo. Así el plugin te avisará cuando haya cambios en archivos, en ocasiones debido a hackeos, y así podrás estar al tanto, e informar a tus usuarios, de brechas de seguridad.

Así que actívalo, y vamos a configurarlo.

Escaneo de archivos por partes

Interesante para no sobrecargar los recurso de tu servidor.

Ajuste recomendado: Activo

Incluir / Excluir archivos y carpetas

Puedes decidir incluir o excluir archivos y carpetas seguras de la comprobación.

Ajuste recomendado: Excluir los seleccionados

Lista de carpetas y archivos

Aquí tienes un navegador para ir pulsando el icono de prohibido a aquellos archivos y capetas que quieras excluir de la revisión y avisos.

Ajuste recomendado: Excluir archivos y carpetas temporales

Ignorar tipos de archivos

Aquí haz lista de extensiones de archivos a no incluir en la revisión y avisos.

Ajuste recomendado: Excluir extensiones de archivos de imagen y temporales

Mostrar aviso de cambio de archivos en la administración

Si, además del aviso por correo, o si no lo tienes activo, quires que al entrar en el admin de tu WordPress el plugin te avise de cambios para revisarlos y tomar medidas.

Podrás revisar los cambios en el registro, y ver los detalles del cambio.

Ajuste recomendado: Activo

Permisos de archivo

Esta herramienta solo lee los permisos de escritura de capetas y archivos de tu instalación de WordPress, para que tomes mediadas en caso necesario en el módulo de Ajustes del sistema que veremos más adelante.

Así que pulsa el botón para comprobar el estado actual.

Y si se necesita algún cambio, lo haremos después.

La herramienta nos dirá los valores sugeridos frente a los existentes.

Ocultar escritorio

Vital, imprescindible, obligatorio. Ocultas el acceso mediante wp-login o wp-admin cambiando la dirección por defecto para acceder a WordPress por una a tu elección.

Ocultar escritorio

Ajuste recomendado: Activo

Slug de Inicio de Sesión

Aquí cambias wp-admin y wp-login.php por tu dirección personalizada.

Ajuste recomendado: Lo que sea menos wp-login o wp-admin

Activar la redirección

Manda al usuario que trate de acceder a una dirección por defecto en vez de mostrar un error 403.

Ajuste recomendado: Activo

Slug de redirección

Ajuste recomendado: Un slug real

Acción de acceso personalizada

Ajuste recomendado: Solo si un plugin requiere una acción personalizada.

Activar protección contra fuerza bruta

Estos ajustes se suman e interactúan con los definidos en los Ajustes globales contra bloqueos. Aquí nos defenderemos contra uno de los ataques más comunes, el de las máquinas de adivinar usuarios y claves por fuerza bruta contra la pantalla de acceso.

Máximo número de intentos de conexión por host

¿Cuántas veces un servidor puede hacer intentos fallidos de acceso antes de bloquearlo?

Ajuste recomendado: 5

Máximo número de intentos de conexión por usuario

¿Y un usuario normal?

Ajuste recomendado: 10 (que los hay torpes)

Minutos a recordar un intento de inicio de sesión fallido

Importante. ¿Durante cuanto tiempo seguido fueron los intentos?

Ajuste recomendado: 5 minutos

Automáticamente bloquear al usuario “admin”

El usuario de nombre “admin” será el primero que intenten usar los crackers, así que una medida buena es bloquearlos automáticamente. Eso sí, antes mira que no tengas tú ese usuario. Y si lo tienes crea uno nuevo y borra ese usuario.

Ajuste recomendado: Activo (tras comprobar que no eres tú)

Protección contra fuerza bruta en la red

En ocasiones los ataques de fuerza bruta serán globales, y la red de iThemes puede bloquear atacantes globales. Pon tu correo para que se te asigne una API.

Lo que no es obligatorio es apuntarte a su lista de correo.

Ajuste recomendado: Activo

SSL

Este módulo, inactivo por defecto, permite evitar problemas de contenido mixto, forzando la redirección de todas tus URLs a su versión HTPS.

Si no tienes ya otro sistema o plugin (SG Optimizer por ejemplo) que lo  haga actívalo.

Redirigir todas las peticiones de páginas HTTP a HTTPS

Ajuste recomendado: Activo

También puedes activar el ajuste avanzado y decidir si lo activas solo en admin, solo en portada, en todas partes o decides en qué contenidos, con lo que en el editor aparecerá un selector para decidir en cada publicación para que decidas si irá en HTTP o HTTPS.

Refuerzo de la seguridad de la contraseña

Por defecto, WordPress permite usar contraseñas no seguras. Con este módulo desactivas esa posibilidad.

Ajuste recomendado: Administrador

Ajustes del sistema

Este módulo está inactivo por defecto y ya tardas en activarlo pues hay ajustes importantísimos para asegurar WordPress que debes activar sí o sí.

Aquí te hago resumen de lo que debes activar o no y el motivo:

  • Proteger los archivos del sistemaActivo: Protege los archivos de sistema mediante reglas de .htaccess.
  • Desactivar la navegación de directoriosActivo: Es una regla básica de seguridad que actualmente casi todos los hosting tienen pero por si acaso actívalo.
  • Filtrar métodos de petición – Activo: Si no usas la REST API, evitas métodos de rastreo y seguimiento que la API deja abiertos por defecto. Luego controlaremos la API REST.
  • Filtrar cadenas de petición sospechosas en la URL – Activo: Los hackers suelen usar este tipo de cadenas con URLs con variables. Si ves que algún plugin deja de funcionar desactiva este ajuste, algunos también usan este método.
  • Filtrar los caracteres no inglesesInactivo: Solo se debe activar en sitios en inglés.
  • Filtrar cadenas de URL largasActivo: Técnica muy habitual de los hackers.
  • Eliminar permisos de escritura de archivos – Activo: Quita los permisos de escritura los archivos de sistema que antes, en Permisos de archivos, vimos que tenían valores inseguros.
  • Desactivar PHP en uploads / plugins / temasActivo : Añade un archivo .htaccess a las carpetas de plugins, temas y uploads para que no se pueda ejecutar PHP desde ellas. Los plugins y temas siguen funcionando (pregunta habitual)

Salts de WordPress

Esta herramienta permite cambiar al instante los SALTs del archivo wp-config.php de WordPress, con el resultado de que se fuerza la desconexión de todos los usuarios conectados (tú incluido).

Útil cuando sospechas que ha habido accesos no deseados y necesitas echar a todos par aplicar alguna restricción temporal (como el Modo de reposo).

Si lo necesitas marca la casilla para cambiarlas y guarda los cambios.

Ajustes de WordPress

Ajustes de seguridad muy importantes. Como son muchos los listamos y te indico el ajuste recomendado:

  • Cabecera Windows Live WriterQuitar: Cabecera obsoleta. Es una posible brecha de seguridad y ralentiza la carga de WordPress.
  • Cabecera EditURIQuitar: Cabecera que usa la vulnerabilidad XML-RPC.
  • Comentarios spamQuitar: Bloquea comentarios automáticos de los bots.
  • Editor de archivosDesactivar: Desactiva el editor interno de WordPress de plugins y temas, además del editor de archivos de Yoast SEO y otros plugins. No desactiva el CSS Adicional del Personalizador. Es común que los hackers primero accedan y luego traten de escalar permisos para usar estos editores para inyectar código.
  • XML-RPCDesactivar : Si no usas la aplicación móvil de WordPress, JetPack o los pingbacks (recomendado) harás bien en desactivar esta vieja vulnerabilidad de WordPress.
  • Múltiples intentos de autenticación por petición XML-RPCDesactivar: Aunque tengas activo XML-RPC desactiva esto siempre.
  • REST APIAcceso restringido: Aunque alguna aplicación use la REST API restringe el acceso para que se requiera un usuario conectado.
  • Mensajes de error de inicio de sesiónDesactivar: No des pistas.
  • Forzar alias únicoForzar: Evita usar el nombre de usuario como alias y así no dar pistas a los hackers.
  • Desactivar archivos de usuario adicionalesDesactivar: Si un autor no tiene artículos publicados no genera su archivos de autor para no dar pistas a los hackers.
  • Protección contra el tabnappingActivo: Se evita esta vulnerabilidad añadiendo noopener noreferrer a los enlaces _blank.
  • Acceso con dirección de correo electrónico o nombre de usuarioSolo dirección de correo electrónico: Aunque WordPress permite acceder con el usuario o el correo es más seguro permitirlo solo con el correo electrónico, siempre tiene caracteres especiales y son más largos.que el nombre.

Reglas de configuración del servidor

Aquí se mostrará el contenido del archivo .htaccess, solo para consulta.

Reglas wp-config.php

Aquí se mostrará el contenido del archivo wp-config.php, solo para consulta.

Módulos de pago

Además de los módulos anteriores, gratuitos, también puedes acceder a módulos de pago desde 80$ al año, estos son los más interesantes:

  • Programación de escaneo de malware: (Interesante).
  • Caducidad de la contraseña: Muy interesante en entornos multiusuario.
  • Exportación e importación: Para compartir configuraciones en varios sitios. Una pena que no sea gratuito este módulo.
  • Identificación en dos factores: Mola, pero solo para sitios de un solo usuario y si no tienes la ocultación de escritorio, mucho mejor.

¿Es este el mejor plugin de seguridad par WordPress?

Aunque hay gustos para todo, yo siempre recomiendo iThemes Security por …

  • Está totalmente en español
  • Explica todo muy bien, con mucho texto para saber qué haces y por qué
  • Cuando algo es peligroso lo avisa muy bien
  • Tiene todo lo imprescindible
  • Lo hace todo bien
  • Es fácil de configurar (ahora más con esta guía)

Esto que lees es un contenido original de Ayuda WordPress - Recursos, themes, plugins y tutoriales en español y lo publicó Fernando Tellado primero aquí: Cómo configurar correctamente iThemes Security

¡Aprende WordPress mientras desayunas!

$
0
0

Siempre es un placer crear un nuevo producto, algo que se pueda consumir, y en mi línea, a ser posible gratis, como es el caso.

Y es que hoy tengo el orgullo de presentarte una nueva sección de mini video tutoriales que estoy grabando con la colaboración de SiteGround, en una serie a la que hemos llamado “Aprende WordPress mientras desayunas“.

Estos vídeos estarán disponibles cada semana, y son pequeñas piezas en 3 o 4 minutos como máximo en las que mostraré trucos de todos los niveles para que aprendas WordPress de un modo rápido, sencillo, y visual.

En el primer vídeo de la serie te explico en menos de 3 minutos cómo inhabilitar el editor de código de WordPress, una medida de seguridad básica que deberías implantar en todos tus sitios.

Pero lo mejor es que lo veas, aquí lo tienes…

El código que aplicamos a nuestro archivo wp-config.php es el siguiente:

define('DISALLOW_FILE_EDIT', true);

Y puedes ver la explicación completa y el anuncio de la nueva serie de vídeos en el blog de SiteGround. Pero lo mejor es que te suscribas al canal de SiteGround en YouTube, donde se subirán todos a esta lista de reproducción.

Esto que lees es un contenido original de Ayuda WordPress - Recursos, themes, plugins y tutoriales en español y lo publicó Fernando Tellado primero aquí: ¡Aprende WordPress mientras desayunas!

Google Chrome marcará como no seguras las webs HTTP, sin SSL ¿aún no tienes tu certificado gratis?

$
0
0

A ver, que no es por asustar, pero la realidad es que Google Chrome, desde julio de 2018, en la versión 68 de su navegador, ya ha anunciado que marcará como no segura toda web que aún funcione en HTTP, sin certificado SSL activo, que no sea HTTPS.

Y no será porque no he avisado, ni explicado lo fácil que es instalar un certificado SSL, pero ya puedes correr.

Es más, si me lees, sabrás que suelo recomendar los servicios de SiteGround, una empresa de hosting que fue la primera en ofrecer en España certificados SSL gratuitos del tipo Let’s Encrypt, así que no tienes excusa.

De hecho, Siteground ofrece certificados SSL gratis por defecto en todas las contrataciones, en todos los planes, no solo en los más caros como hacen algunas empresas, y no solo es que puedas instalarlo, sino que si contratas cualquiera de sus planes lo tendrás instalado y activo en tu dominio ¡más fácil imposible!

SSL Wildcard

Es más, recientemente ha añadido la nueva funcionalidad de certificados SSL Wildcard, también de Let’s Encrypt, o sea, gratis.

La diferencia frente a los SSL “normales” es que con los anteriores tenías que instalar un certificado para cada subdominio, pero con los SSL Wildcard los subdominios también usarán el mismo certificado que el dominio.

Para la mayoría de los webmasters es simplemente más simplicidad, eliminación de tareas repetitivas, aunque habrá casos – los menos – en los que no querrás un SSL Wildcard (subdominios con aplicaciones que no funcionen en https).

¿Cómo era lo de instalar el SSL gratis de Let’s Encrypt?

Ya te digo que en cada nueva contratación te lo encontrarás instalado y activo, pero si por algún motivo tienes aún algún dominio funcionando en HTTP en tu plan de SiteGround tienes que hacer lo siguiente…

Accede a tu panel de cliente de SiteGround

Ve a la web de SiteGround y haz clic en “Iniciar sesión”

Que te llevará a la pantalla de acceso, en la que poner tu nombre de usuario o correo electrónico y contraseña.

Accede a cPanel

Una vez en el panel de cliente accede a cPanel desde la pestaña “Hosting”

Ve a la herramienta Let’s Encrypt

Una vez en cPanel accede a la herramienta de Let’s Encrypt

Instala tus certificados SSL gratis

Nada más fácil…

En la ventana verás los ha instalados y su estado. Para instalar nuevos simplemente elige el dominio, el tipo de certificado y lo instalas, en unos segundos lo tienes activo.

Configura el certificado SSL

Antes de terminar, hay que realizar una acción, configurar el certificado, pues está creado, activo, pero tu web aún no funcionará en HTTPS por defecto.

Para ello, en instalaciones de certificados SSL nuevos (en los que instala por defecto SiteGround la redirección a HTTPS funciona sin hacer nada), debes abrir los ajustes HTTPS del certificado.

A continuación verás una ventana con 2 opciones:

  1. Aplicar HTTPS: Si no activas esto tu web seguirá funcionando en HTTP (por defecto) y HTTPS (forzando la URL), así que debes activarlo sí o sí.
  2. Reescribir enlaces externos: Precaución con esto. Lo que hace es redireccionar toda URL de tu web a su versión HTTPS. Es genial para evitar errores de contenido mixto pero antes asegúrate de que todas las URLS de tu sitio (incluidos códigos de analítica, publicidad, etc) tienen versión, funcionan, en HTTPS, sino podrías provocarte tú mismo un problema.

Y ya está, si lo prefieres también puedes ver cómo hacerlo en este vídeo de la serie “Aprende WordPress mientras desayunas“…

Si tienes más dudas sobre todo lo que ofrece SiteGround en todos sus planes de hosting compartido especializado en WordPress han creado esta nueva página en la que explican todas las características, y que te aconsejo visitar.

La entrada Google Chrome marcará como no seguras las webs HTTP, sin SSL ¿aún no tienes tu certificado gratis? la publicó primero Fernando Tellado en Ayuda WordPress. No copies contenido, no dice nada bueno de ti a tus lectores.

Aprende WordPress mientras desayunas: Evita la instalación y desinstalación de plugins y temas

$
0
0

En este nuevo vídeo de la serie creada con SiteGround te explico un maravilloso truco que llevo años aplicando a webs de clientes para evitar que te anden instalando o desinstalando plugins y temas.

¡Dentro vídeo!

El código del que se habla en el vídeo es nada menos que este:

define('DISALLOW_FILE_MODS', true);

¡Que lo disfrutes!

La entrada Aprende WordPress mientras desayunas: Evita la instalación y desinstalación de plugins y temas la publicó primero Fernando Tellado en Ayuda WordPress. No copies contenido, no dice nada bueno de ti a tus lectores.

Cómo detectar código obsoleto, erróneo o peligroso en tus plugins instalados

$
0
0

Está claro que una de las joyas de WordPress son los plugins. Son tantos, tan buenos, tan … gratis o baratos, que es difícil resistirse a probar todas esas maravillas en nuestra web.

Ahora bien, no siempre es buena idea instalar plugins a diestro y siniestro, porque debes tener en cuenta que no todos los desarrolladores son de confianza, o no siempre tienen los conocimientos suficientes para crear un código perfecto, o no siempre tienen buenas intenciones.

Incluso en el directorio oficial de WordPress te puedes encontrar plugins que usen código anticuado, con funciones obsoletas, o que use incorrectamente los estándares de código de WordPress. No digamos los que te descargues por ahí.

Afortunadamente, hay un modo estupendo de analizar todos los plugins que tengamos instalados (activos e inactivos), para comprobar y detectar cualquier código que:

  • Use funciones WordPress obsoletas
  • Utilice funciones inseguras como eval, base64_decode, system, exec, etc.
  • Tenga vulnerabilidades que pongan en riesgo tu web

Todo esto nos lo ofrece el denominado Plugin Inspector.

Una vez instalado y activo, crea un nuevo submenú en Plugins > Plugin Inspector para acceder a sus funcionalidades.

Una vez accedes a su pantalla verás una lista de los plugins instalados, activos o no, y un botón para comprobar su código (Check it).

Cuando hagas clic en el botón de comprobación de cualquier plugin se inicia la revisión automática del código del mismo y te mostrará una ventana de resultados.

En la misma se muestra un listado de cada uno de los archivos del plugin y si ha encontrado código con problemas o no, mostrándolo con un indicador de si está bien (OK), es inseguro (Unsafe) y otros posibles problemas.

Además, junto a cada resultado tienes un botón (view source) para abrir el archivo en cuestión y, si tiene algún problema, mostrarte las líneas afectadas por el mismo en una ventana emergente.

También te mostrará las funciones obsoletas con su ruta completa, número de línea, nombre de la función obsoleta y la nueva función recomendada que debería usar.

Es un plugin realmente útil, tanto para que los administradores responsables sepan qué tienen instalado y actuar en consecuencia, como para que los desarrolladores de plugins puedan comprobar fácil y rápidamente su propio código antes de hacerlo público.

Una vez termines de usarlo puedes desactivarlo y borrarlo sin problemas, cuando instales otro plugin, antes de activarlo, vuelve a instalar Plugin Inspector, lo revisas y decides.

Práctico ¿no?

La entrada Cómo detectar código obsoleto, erróneo o peligroso en tus plugins instalados la publicó primero Fernando Tellado en Ayuda WordPress. No copies contenido, no dice nada bueno de ti a tus lectores.


Seguridad O.W.A.S.P. y WordPress

$
0
0

Cuando hablamos de aplicar medidas de seguridad en WordPress solemos remitirnos al estándar de Hardening WordPress, alojado en el Codex, pero a poco que investigues te das cuenta de que es una información demasiado escasa.

Si de verdad quieres aplicar protocolos de seguridad activa y pasiva a instalaciones WordPress hace falta algo más, en realidad muchísimo más, no digamos si tienes que educar a administradores de sistemas, desarrolladores, incluso usuarios y empleados.

Pero la buena noticia es que no hace falta inventarse procedimientos, protocolos, o manuales de prevención, detección y solución de problemas de seguridad para WordPress, ¡ya está inventado!

O.W.A.S.P.

Me refiero a O.W.A.S.P., acrónimo de Open Web Application Security Projecto Proyecto abierto de seguridad en aplicaciones web.

O.W.A.S.P. ofrece una lista de los principales riesgos de cualquier aplicación web, y WordPress lo es, y cómo solucionarlos, principalmente de manera proactiva, antes de tener que arreglar el desastre.

Es un estándar del mercado, al que no somos ajenos, y que podemos aplicar.

O.W.A.S.P. Top 10

Una de las utilidades más conocidas de O.W.A.S.P. es la lista Top 10 de los principales riesgos para aplicaciones web, que en su última versión son estos:

  1. A1 – Inyección
  2. A2 – Pérdida de autentificación
  3. A3 – Exposición de datos sensibles
  4. A4 – Entidades externas XML (XXE)
  5. A5 – Pérdida del control de acceso
  6. A6 – Configuración de seguridad incorrecta
  7. A7 – Cross Site Scripting (XSS)
  8. A8 – Deserialización segura
  9. A9 – Uso de componentes con vulnerabilidades conocidas
  10. A10 – Registro y monitoreo insuficientes

Cómo aplicar O.W.A.S.P. en WordPress

Un modo fantástico, muy práctico, de aplicar O.W.A.S.P. en WordPress es empezar por analizar la lista de los riesgos Top 10 y ver cómo protegernos de ellos con WordPress.

A1 – Inyección

Las inyecciones SQL suelen ser vulnerabilidades provocadas por sanear incorrectamente los inputs de programación. Con ellas el atacante puede acceder a la base de datos e inyectar información.

Muchas de las medidas del riesgo A1 se aplican a otros riesgos, así que es la base de todo.

Medidas a aplicar para evitar este riesgo son las siguientes:

  • Siempre versiones seguras de WordPress
  • Plugins seguros y bien programados (no versiones piratas)
  • Temas seguros y bien programados (no versiones piratas)
  • Buenas contraseñas, sí
  • Nada “por defecto” (usuario admin, prefijo wp_, /?author=1)
  • Moderación de comentarios, un método más común de lo que se piensa de inyectar código
  • Hosting de calidad, con medidas específicas de seguridad para wordpress
  • Hosting con versiones seguras de software y WAF
  • Permisos 400 en archivos sensibles (.htaccess, wp-config.php)
  • Mueve el archivo wp-config.php al directorio superior
  • Desactiva ejecución php

Una aplicación práctica es este código en .htaccess, además de evitar el listado de archivos, evitamos scripts y cadenas GLOBALS o _REQUEST que pretendan inyectar código:

Options -Indexes
Options +FollowSymLinks
RewriteEngine On
RewriteCond %{QUERY_STRING} (<|%3C).*script.*(>|%3E) [NC,OR]
RewriteCond %{QUERY_STRING} GLOBALS(=|[|%[0-9A-Z]{0,2}) [OR]
RewriteCond %{QUERY_STRING} _REQUEST(=|[|%[0-9A-Z]{0,2})
RewriteRule ^(.*)$ index.php [F,L]

Con este otro código en tu archivo .htaccess y un .htaccess adicional en uploads, content, wp-includes, y carpetas de caché de plugins y temas, evitas la ejecución de php directamente, aunque el archivo no termine en .php sino, por ejemplo .php.jpg:

<FilesMatch “\.(php|php\.)$”>
Order Allow,Deny
Deny from all
</FilesMatch>

También, para evitar el uso de author=1 puedes evitar la enumeración de usuarios añadiendo este código a tu functions.php:

if (!is_admin()) {
	if (preg_match('/author=([0-9]*)/i', $_SERVER['QUERY_STRING'])) die();
	add_filter('redirect_canonical', 'shapeSpace_check_enum', 10, 2);
}
function shapeSpace_check_enum($redirect, $request) {
	if (preg_match('/\?author=([0-9]*)(\/*)/i', $request)) die();
	else return $redirect;
}

A2 – Pérdida de autentificación

Cualquier fallo de programación o ausencia de medidas de contención puede hacer que se rompa o se pierda la autentificación de tu WordPress.

Para ello es fundamental que tengas en cuenta lo siguiente:

  • Siempre versiones seguras de TODO (NO VERSIONES PIRATAS)
  • Buenas contraseñas, sí, siempre
  • Nada “por defecto”
  • Define las secret_keys de wordpress en wp-config.php
  • No mostrar errores de login
  • Solo 2 administradores, no para tareas habituales
  • Doble verificación

Para aplicar inmediatamente, este código en nuestro functions.php evitamos que WP muestre los errores de acceso:

add_filter('login_errors',create_function('$a', "return null;"));

Como wp-config.php tiene mucha información sensible con este código en .htaccess evitamos que se acceda al mismo. Lo mismo para cualquier archivo que empiece con . o sea, cualquier archivo de sistema, como .htaccess:

<files wp-config.php>
order allow,deny
deny from all
</files>
<FilesMatch "^\.">
Order allow, deny
Deny from all
</FilesMatch>

A3 – Exposición de datos sensibles

¿Cuántos datos tienes que guardar de los usuarios? ¿durante cuánto tiempo? ¿para qué? Lo mismo tu hosting.

Especialmente importante es que sea PCI compliance, unos estándares de seguridad para transacciones online.

Unas medidas casi de sentido común:

  • ¿Te acuerdas del RGPD?
  • Hosting RGPD
  • Hosting pci compliance
  • Aplica todo lo visto en A1 y A2
  • Buena gestión de permisos de usuarios
  • Borrado programado de datos sensibles
  • SSL = HTTPS

A4 – Entidades externas XML (XXE)

Las entidades XXE se combaten con software bien programado, que no use parsers (analizadores de sintaxis externos)

Un ejemplo de cómo evitar parsers en PHP sería con este código:

libxml_disable_entity_loader(true);

Aquí, las medidas a aplicar serían las siguientes:

  • Software original y de calidad (a1)
  • Evita la carga de extensiones externas (DOM, XMLWRITER, XMLREADER)
  • Evita cualquier parser XML
  • Evita parsers en PHP

A5 – Pérdida del control de acceso

Este es un riesgo de seguridad que no suele suceder mucho, y del que no debes preocuparte si aseguras tu WordPress con las medidas expuestas en los puntos A1 y A2.

Por resumir, haz esto:

  • Aplica las medidas para A1 y A2
  • Controla las llamadas de las APIs (JSON REST API especialmente)
  • Ten siempre a mano backups
  • Desactiva XML-RPC

Puedes quitar del todo XML-RPC añadiendo este código al archivo .htaccess:

<Files xmlrpc.php>
  <IfModule mod_authz_core.c>
    Require all denied
  </IfModule>
  <IfModule !mod_authz_core.c>
    Order allow,deny
    Deny from all
  </IfModule>
</Files>

O con este otro código, bastante más radical, también en .htaccess (no uses los dos, solo uno):

RewriteCond %{REQUEST_METHOD} ^(GET|POST|PUT|PATCH|DELETE) [NC]
RewriteCond %{REQUEST_URI} ^.*wp-json/wp/ [NC]
RewriteRule ^(.*)$ - [F]

Y si tu servidor es NGINX el código a utilizar en su archivo de configuración es este otro:

location = /xmlrpc.php {
 deny all;
 }

A6 – Configuración de seguridad incorrecta

Aquí volvemos a los básicos que hemos visto. Principalmente aplica todo lo anterior relativo a la protección de usuarios y archivos, y exposición de datos.

Algunas medidas concretas:

  • No uses nada por defecto, tampoco en tu router, móvil, ordenador
  • No uses permisos de archivos y carpetas incorrectos (650 para archivos, 750 para carpetas, 400 para .htaccess y wp-config.php)
  • Recuerda A1 y A2

A7 – Cross Site Scripting (XSS)

Un ataque XSS, básicamente, explota vulnerabilidades conocidas así que actualiza todo y aplica las medidas de protección del riesgo A1.

O sea…

  • Es la vulnerabilidad más común y extendida, así que tómatelo en serio
  • Software actualizado y con garantías = A1
  • Desarrollador: valida, sanea y escapa todo …

Desarrollador: Valida todo

  • is_numeric()
  • preg_match()
  • filter_var()
  • in_array()

Desarrollador: Sanea todo

  • sanitize_email
  • sanitize_file_name
  • sanitize_html_class
  • sanitize_text_field
  • sanitize_textarea_field
  • esc_url_raw
  • sanitize_option 
  • sanitize_meta
  • wp_kses
  • sanitize_key
  • sanitize_user
  • sanitize_mime_type
  • sanitize_title
  • wp_filter_post_kses

Desarrollador: Escapa todo

  • esc_html 
  • esc_url
  • esc_js
  • esc_attr
  • esc_textarea

A8 – Deserialización segura

La deserialización, o decodificación, debe ser segura, pues permite la comunicación insegura de datos y objetos.

Recuerda:

  • Afecta a cachés, bases de datos, tokens de APIs, a todo wordpress
  • Evita el uso de objetos  serializados desde fuentes inseguras
  • Mantén todo actualizado
  • Aplica A1 a muerte

A9 – Uso de componentes con vulnerabilidades conocidas

Esto lo podría resumir en:

  • No te alojes en hosting inseguros
  • No uses software con vulnerabilidades conocidas

Para estar al día de vulnerabilidades tienes estas webs, entre otras:

A10 – Registro y monitoreo insuficientes

Debes buscar de manera proactiva cualquier posible código vulnerable y exposiciones de información tanto en el código como en el sistema.

Por ejemplo…

  • Busca código ofuscado
  • Busca código base64
  • Busca llamadas al sistema (exec, passthru, system, shell_exec, etc.)
  • Busca ejecuciones de código PHP (eval, assert, preg_replace, etc.)
  • Busca exposiciones de información (phpinfo, getenv, getmygid/pid/uid, etc.)
  • Busca funciones del sistema de archivos (fopen, bz/gzopen, chgrp/own/mod, etc.)
  • ¿Te acuerdas del RGPD?: Este plugin te ayudará a vigilar la actividad: https://es.wordpress.org/plugins/wp-security-audit-log/

Hoja de ruta para desarrolladores

Si eres desarrollador, O.W.A.S.P. ofrece varios documentos, plantillas, de todo, una fantástica hoja de ruta de seguridad web, basada en estos pilares que todo desarrollador o responsable de un sistema web debe aplicar.

  • DEFINIR SEGURIDAD Y REQUISITOS DE SEGURIDAD: Para ofrecer aplicaciones web seguras es fundamental definir qué es seguro y qué no en tu sistema (o todos). Para eso OWASP ofrece el ASVS, un estándar de verificación de seguridad de aplicaciones, en su wiki
  • SEGURIDAD POR DISEÑO: Siempre es mejor, más seguro, incluso rentable, diseñar la seguridad desde el principio, y no tener luego que ir asegurando cada aplicación y API. Hay una hoja de seguimiento master que puedes usar como modelo.
  • CONTROLES ESTÁNDAR DE SEGURIDAD: Para establecer controles en cada framework, como WordPress, para verificaciones de seguridad en cada punto del sistema. Lo mejor son los controles proactivos, y OWASP ofrece una lista de 10 importantes:
    • Definir los requisitos de seguridad
    • Equilibrar la seguridad de frameworks y bibliotecas utilizadas
    • Asegurar el acceso a bases de datos
    • Validar todos los inputs
    • Implementar el control de la identidad digital
    • Reforzar los controles de acceso
    • Proteger los datos en todas partes
    • Implementar seguridad y monitorización en el acceso
    • Gestionar cualquier error o excepción

Como ves están alineados con las riesgos críticos de la lista OWASP Top 10.

  • CICLO DE VIDA DE DESARROLLO SEGURO: Hay que adaptar los modelos de seguridad a cada negocio y sus riesgos. Para  ello nos podemos ayudar de SAMM, un modelo de garantía de la madurez de sistemas de seguridad, que podemos aplicar y usar en nuestro negocio.
  • EDUCAR EN SEGURIDAD: Hay que educar a desarrolladores, testers y usuarios en los requisitos de seguridad de cada aplicación y API, a todos los niveles.

Resumiendo

O.W.A.S.P. ofrece al propietario, administrador y desarrollador WordPress un modelo estandarizado y preciso, hasta el más mínimo detalle, de seguridad preventiva y activa para aplicar desde un blog personal hasta redes de sitios profesionales.

Si tuviese que resumir todo lo que nos enseña O.W.A.S.P. en pocas palabras vendría a ser algo así:

  1. Seguridad preventiva
  2. Hosting de confianza
  3. Software de confianza
  4. Permisos adecuados
  5. Monitoreo constante

Lo importante es que con O.W.A.S.P. disponemos de un estándar de seguridad web, con instrucciones, manuales, guías y hojas de ruta detalladas para aplicar a WordPress y hacer más segura cualquier instalación.


Este artículo es una versión adaptada y ampliada de mi ponencia en WordCamp Pontevedra 2018, que puedes ver y descargar en este enlace

La entrada Seguridad O.W.A.S.P. y WordPress la publicó primero Fernando Tellado en Ayuda WordPress. No copies contenido, no dice nada bueno de ti a tus lectores.

¿Me han hackeado?

$
0
0

Cuando te hackean la web da igual que estrategia SEO, de contenidos, marketing o WPO tengas, estás a merced de las necesidades de los hackers, y más te vale echar el freno y solucionar el problema, dejar todo parado y ponerte a limpiar tu sitio, pero ¿cómo sé si me han hackeado la web?

Hay varios modos de saber si te han hackeado, tanto proactivos como pasivos.

Métodos proactivos para saber si te han hackeado

Verificación de seguridad de Google Search Console

En la consola de Google, antigua herramienta para webmasters, hay una página en la que comprobar de manera proactiva si tu web tiene algún problema de seguridad, y así no tener que esperar a la pantalla roja de la muerte.

Verificación de navegación segura

Otra comprobación que puedes/debes hacer de vez en cuando es si tu web ofrece una navegación segura.

Para ello ve a esta herramienta de Google y pon la URL de tu web para comprobar si tu web no está infectada con software malicioso o phishing.

En caso de detectar problemas la herramienta te ofrece instrucciones para limpiarla.

It is Hacked?

Me encanta la web It is Hacked? pues no solo te permite hacer una comprobación rápida de si tu sitio está hackeado, tiene iframes peligrosos o enlaces de spam, también comprueba tu web en los códigos de estado de Google y en las listas negras de Google Safe Browse y Phishtank.

Además puedes registrarte y recibir alertas cuando haya problemas.

Herramienta de recuperación de sitios comprometidos

Otra herramienta genial es la propia de Google para aplicar soluciones a sitios comprometidos o sospechosos.

Aunque tu sitio no esté comprometido a priori, te dará buenos consejos y comprobaciones que realizar para revisar si te han hackeado.

Ve contestando a las preguntas que te hace, y por supuesto haz las comprobaciones que te vaya sugiriendo.

Resultados extraños en site:tudominio.com

Un modo estupendo y sencillo de comprobar si te han hackeado es teclear site:tudominio.com en el buscador de Google.

Una vez cargue los resultados revisa si hay alguno extraño, con frases clave o contenido que no sea normal en tu web, y ya sabrás por dónde empezar a buscar.

Si de repente descubres que hablas de Viagra, vendes réplicas de relojes o cosas similares que no sean de tu negocio me temo que te han hackeado.

Mucho tráfico de China, India, Indonesia o Perú

Lo siento, pero está comprobado que, actualmente, los sitios del planeta que más software malicioso alojan son China, India, Indonesia y Perú.

En todos estos países más del 1% de sus webs se ha comprobado que alojan malware y otros tipos de software malicioso, así que si de repente empiezas a tener tráfico de estos países debes saber que te toca revisar tu web para detectar si te han colado algo.

Revisa la lista cada poco tiempo porque suele cambiar.

Aviso de cambio en archivos del plugin de seguridad

Si utilizas un plugin de seguridad que te avise de cambios en archivos activa este tipo de alertas.

Con iThemes Security, por ejemplo, puedes recibir avisos en la administración y por correo electrónico, y es un modo estupendo de analizar si los cambios han sido por actualizaciones conocidas o, por el contrario, por motivos no tan inocentes.

Analiza los cambios y, si no entran dentro de las tareas habituales de actualizaciones o cambios programados sospecha.

Métodos pasivos para saber si te han hackeado

La pantalla roja de la muerte

Si al abrir tu navegador tu sitio está comprometido o ha sido denunciado por contener malware, phising o problemas similares puede mostrar un mensaje de advertencia a toda pantalla, en color rojo, que frenará al más entusiasta de tus visitantes.

Estos son algunos ejemplos…

Es claro síntoma de que tu web tiene problemas, y con esa pantalla roja de la muerte nadie te visitará, yo no lo haría así que más te vale hacerle caso y tomar medidas siguiendo los enlaces que te propone esa sangrienta pantalla.

Sitio repentinamente lento

¿Tu web siempre ha cargado en 3 segundos y desde hace días que tarda más de 20 en mostrar su contenido? ¿A que es raro? Pues sí, lo es, y deberías revisar tu web porque tienes todas las papeletas de que te hayan hackeado.

¿Podría ser otra cosa? Sí, podrías haber llenado el disco duro de tu alojamiento, o instalado un plugin inadecuado, así que descarta primero el posible error humano y si no encuentras un motivo razonable empieza a revisar tu web porque es posible que estés sirviendo como web zombie para hackear otros sitios, minar criptomonedas o vete a saber.

Tu web se ve … distinta

Si tú o tus visitantes veis distinta tu web, con colores extraños, un logo que no es el tuyo, textos que no deberían estar ahí, páginas nuevas que no has creado o contenido en otros idiomas es claramente síntoma de que te han hackeado.

Y si ves dagas, calaveras, letras estilo Matrix y cosas así ya puedes correr 😀

Lo sé, es bastante obvio pero es que normalmente nos negamos a ver evidencias tan claras, y me he encontrado con clientes que, ante tales evidencias, no querían aceptar el hackeo y le echaban la culpa a un sobrino, un empleado descontento, una actualización del tema, etc.

Tu web muestra código roto

Los hackers también puede inyectar código que provoque que partes de tu web o toda entera muestre código o errores de código en vez de su contenido.

Sí, hay muchas cosas que pueden provocar errores de código en una web, desde plugins a una mala configuración, pero sé mal pensado por naturaleza, ya habrá tiempo para celebrar si solo ha sido una actualización del plugin de caché.

Tu web redirige a otro sitio

Si, de repente, tu web o parte de ella enlaza a sitios a donde no debiera empieza a sacar la artillería, alguien ha metido enlaces sin tu permiso, te han hackeado.

Da igual si es tu web completa o los enlaces del pié de página, si enlazas a sitios a los que tú voluntariamente no has decidido estás jodido, te han inyectado código y te toca hacer limpieza profunda.

No puedes acceder a tu web

No me refiero a si has olvidado tu contraseña, sino a que de repente WordPress no reconoce ni tu usuario, ni tu correo electrónico, y por supuesto tampoco tu contraseña.

En serio, es mala señal, te toca revisar la instalación y tu primera tarea será revisar la base de datos.

Nuevos usuarios

Si al pasar por la pantalla de usuarios de la administración de tu WordPress descubres que hay nuevas cuentas de usuario y en los ajustes generales tienes sin marcar la opción de que cualquiera pueda registrarse, ten por seguro que te han hackeado.

Es una inyección muy común.

Además, verás que los nombres y correos electrónicos siguen patrones aleatorios y pertenecen a servidores de email de sitios nada comunes para tu audiencia.

Repentino exceso de consumo de recursos del servidor

Si no has instalado nuevos plugins, tu tráfico natural no ha crecido de manera orgánica y no has hecho modificaciones de código pero, de repente, aumenta considerablemente el consumo de recursos de tu alojamiento, sospecha, no es normal.

Es bastante posible que un script inyectado esté consumiendo esos recursos y estés ayudando a generar ingresos a hackers que han encontrado en tu web un buen soldado para sus malas artes.

Te toca revisar las estadísticas del servidor y ver por dónde viene el exceso de consumo.

Repentino aumento de visitas

No empieces a dar saltos de alegría si de repente tu web multiplica por 100 tu tráfico y Google Analytics se sale del gráfico, no es normal.

A no ser que te hayas vuelto viral de repente, es bastante probable que ese tráfico provenga de tráfico spam. Muchos hacker usan sitios comprometidos para lanzar campañas de spam, que pueden estar generando tráfico de entrada también en tu web.

Lo siento, no es buena noticia, más bien lo contrario.

¡Anda, tengo un plugin nuevo!

No, los hados de WordPress no te han instalado un nuevo y maravilloso plugin de optimización o seguridad que promete mantener tu sitio a salvo o mejorar su rendimiento, sino todo lo contrario.

Si descubres un nuevo y maravilloso plugin que, además, te advierte que no lo desactives, es justo lo que debes hacer.

Un hacker ha conseguido meterte su plugin, para nada bueno. Lo más normal es que contenga código ofuscado que haga de todo menos lo que se supone que debería según la descripción.


Bueno, ya tienes por donde empezar a comprobar si te han hackeado. Si tienes la mala suerte de estar infectado por algún código de un maleante te tocará hacer limpieza.

Recuerda:

La entrada ¿Me han hackeado? la publicó primero Fernando Tellado en Ayuda WordPress. No copies contenido, no dice nada bueno de ti a tus lectores.

¿Qué hago si olvido mi acceso personalizado a WordPress configurado en iThemes Security?

$
0
0

Una de las muchas utilidades interesantes que tiene el maravilloso plugin iThemes Security es la de ocultar el escritorio, para cambiar el acceso por defecto a través de /wp-admin/ o wp-login.php por uno personalizado pero ¿y qué haces si lo olvidas?

La verdad es que la herramienta está genial, no solo te permite definir una URL personalizada de acceso. También puedes redirigir a los usuarios que intenten acceder por la URL por defecto a la dirección que quieras.

Ocultar escritorio (inactivo)

Ocultar escritorio (activo)

Además, todos los usuarios registrados en el sitio reciben un correo electrónico con la nueva dirección.

Vamos, que en teoría es difícil no acordarse … pero pasa, en las mejores casas.

Entonces ¿qué hago si me olvido de la nueva URL de acceso a WordPress?

Hay dos posibles métodos, a cual más fácil, los vemos.

Desactiva los módulos desde el archivo de configuración de WordPress

Afortunadamente, la gente de iThemes Security han pensado en todo, y también en esto.

Para ello han definido una constante que, añadida a tu archivo wp-config.php, desactiva todos los módulos del plugin, para que puedas acceder, y ya dentro cambiar la URL de acceso, ver la que había o lo que decidas.

La constante a añadir es esta:

define('ITSEC_DISABLE_MODULES', true);

Antes de cambiar nada en la configuración acuérdate de borrar la constante de tu archivo wp-config.php o, al menos, ponerla en false.

Desactiva el plugin a la brava

La otra opción es simplemente cambiar el nombre a la carpeta del plugin, por FTP o desde el administrador de archivos de tu hosting, a lo que estés acostumbrado. Haciendo esto lo desactivas de golpe.

Una vez accedas, renombra de nuevo la carpeta del plugin a su nombre original, vea la pantalla de plugins, activa el plugin y revisa la URL, cámbiala o lo que quieras.


Con cualquiera de estos métodos desactivas la URL personalizada, y en realidad toda la funcionalidad del plugin, así que recuerda luego volver a activarlo todo

La entrada ¿Qué hago si olvido mi acceso personalizado a WordPress configurado en iThemes Security? la publicó primero Fernando Tellado en Ayuda WordPress. No copies contenido, no dice nada bueno de ti a tus lectores.

Cambios que deberías hacer ya en tu web WordPress

$
0
0

Ante lo cambiante de todo lo que sucede en Internet, no quería dejar pasar más tiempo sin hacerte una serie de recomendaciones que todo sitio creado con WordPress debería aplicar desde ya.

Y es que, como ya sabrás, una web no es algo que se crea y ya, es un ente vivo, y como tal tiene sus ciclos de vida, y necesita mejoras, actualizaciones, adaptaciones a las nuevas tecnologías y mejoras que van surgiendo, y de eso se trata este artículo.

Así que vamos con los cambios imprescindibles y específicos que deberías aplicar ya a tu web para que esté preparada y al día.

Seguridad de verdad

De nada sirve todo lo que hagas en tu web si es insegura y te inyectan código o queda inservible, te quedas sin nada.

La seguridad en tu WordPress debe ser una prioridad, lo primero y lo último, la base para que todo siga como tú quieres. Así que apunta, guarda y aplica sin excusas los siguientes consejos:

Optimiza de verdad

Lo que hace unos años era una recomendación actualmente es una obligación. Google lo ha dejado claro, y con una mayoría aplastante de navegación móvil es absolutamente imprescindible ofrecer tiempos de carga rápidos para todo tipo de dispositivos y conexiones.

Los básicos de optimización que debes revisar que cumples obligatoriamente son los siguientes:

Primero móvil

Salvo contadas excepciones (este blog, por ejemplo) la mayoría de la navegación actualmente es móvil, y debes tenerlo siempre presente ¿he dicho siempre?

Por ello, grábate a fuego estos consejos:

  • Optimiza tu web a tope. Sigue los consejos del punto anterior, poniendo especial atención en los tiempos de respuesta en dispositivos móviles, para lo que puedes utilizar aplicaciones como LightHouse o Google PageSpeed Insights, que hacen especial hincapié en la optimización para móviles.
  • Instala y usa AMP, para ofrecer tus contenidos en un formato especialmente adaptado y optimizado para móviles, que además prima Google en los resultados de búsqueda móviles.
  • Usa un tema que ofrezca una experiencia de navegación móvil perfecta.
  • Evita la carga de códigos «above the fold», que impidan la visualización de las páginas. Utiliza plugins como SG Optimizer o Autoptimize para evitarlo.
  • Optimiza todas las imágenes y haz carga diferida de las mismas, para que solo se muestren a medida que el usuario hace scroll.
  • Acostúmbrate a analizar la legibilidad de tus contenidos, con especial detalle en la prueba Flesch.

Búsquedas por voz

busquedas voz wordpress

Aunque este tema lo trataré en detalle pronto, apunta lo que debes empezar desde ya a tener en cuenta para optimizar tus contenidos de cara a las búsquedas por voz, cada vez más utilizadas:

Usa un tema compatible con bloques Gutenberg

Es una realidad, y los bloques del editor Gutenberg de WordPress van a ser una de las modas más extendidas, con cada vez más utilidades en forma de bloques.

Usa un tema que ya venga preparado para bloques o adapta el actual si los vas a utilizar. Son unos pequeños cambios de CSS, fáciles de implementar.

Mantenimiento profesional

Si tu negocio depende de algún modo de tu web o tienda online no dejes que se ocupe de ella cualquiera, ni lo hagas tú mismo, contrata un servicio de mantenimiento WordPress profesional, igual que harías con cualquier otro sistema o instalación vital para tu empresa.

Aplica todo lo anterior a tu tienda online

Por supuesto, todo lo anterior es igualmente válido e importante, o incluso más, si es para una tienda online.

Manténte al día de las novedades

Y, como esto es un no parar, y seguirán saliendo novedades y mejoras que aplicar a nuestras webs no te olvides de suscribirte a las nuevas publicaciones de Ayuda WordPress para no perderte nada y estar siempre al día, recibiendo tu dosis diaria de WordPress en tu email.

La entrada Cambios que deberías hacer ya en tu web WordPress la publicó primero Fernando Tellado en Ayuda WordPress. No copies contenido, no dice nada bueno de ti a tus lectores.

WordPress 5.2: Gestor de bloques y más novedades interesantes

$
0
0

Ya está programado que el próximo 30 de abril esté disponible WordPress 5.2, con algunas novedades más que interesantes.

Gestor de bloques

Con la montaña de bloques y colecciones de bloques que van apareciendo ya iba siendo necesario algún modo de ocultar aquellos bloques que no usemos en el editor, sin tener que hacer apaños de código.

Y desde WordPress 5.2 tendremos un gestor de bloques, accesible desde el menú de «Más herramientas y opciones» situado en la parte superior derecha del editor.

Una vez en el gestor de bloques puedes desmarcar casillas de los bloques que no quieras que se muestren en el selector de bloques o incluso de secciones enteras.

Health Check & Troubleshooting

También está prevista la incorporación en WordPress del plugin Health Check & Troubleshooting, una herramienta de comprobación de seguridad para WordPress, algo que venía haciendo falta hace tiempo.

Estaba previsto para la primera beta de WordPress 5.2 pero aún no está disponible. Esperemos se incorpore antes del lanzamiento de la versión definitiva.

Las herramientas incorporadas en el plugin – y esperemos en WordPress – son las siguientes:

  • Modo de diagnóstico: Al activar este modo todos los plugins aparecerán inactivos y tu sitio cambiará al tema por defecto solo para ti. Todos los demás usuarios verán tu sitio como siempre. Un modo genial para detectar problemas con plugins o el tema.
  • Estado del sitio: Con información detallada del servidor y versiones del software instalado.
  • Informe de depuración: Información muy completa sobre todos los elementos y componentes de WordPress, con herramienta de copiado rápido para enviarla en caso de necesitar soporte en los foros o donde quieras.
  • Información de PHP: El conocido PHP info integrado en tu WordPress, con variables de PHP y el servidor.
  • Comprobación de integridad de archivos: La integridad de los archivos comprueba todos los archivos núcleo con las sumas de comprobación provistas por la API de WordPress para ver si están intactas. Si hay cambios, podrás hacer un Diff entre los archivos alojados en WordPress.org y tu instalación para ver qué se ha cambiado.
  • Comprobación del correo electrónico: La comprobación del correo electrónico llama a la función wp_mail() y comprueba si funciona correctamente. En principio se usa la dirección de correo electrónico que hayas establecido en los ajustes de WordPress, pero puedes cambiarla en esta misma herramienta si quieres.

Como ves, un montón de utilidades realmente prácticas y necesarias.

Protección de errores de PHP

Ya comenté este asunto, que es posible que por fin vea la luz en WordPress 5.2.

Firma del paquete de actualizaciones

Las actualizaciones automáticas serán uno de los 9 proyectos para 2019, pero para garantizar que se completen de forma segura y fiable, hay que seguir algunos pasos de antemano.

El primer paso consiste en implementar la firma de paquetes de actualización, lo que garantiza que los sitios hayan descargado un paquete de actualización válido.

Una vez que la firma de paquetes ha demostrado su eficacia en la ejecución de versiones de WordPress 5.2.x, los siguientes pasos incluyen la mejora de la detección de errores y los mecanismos de repliegue para el plugin y los actualizadores de temas, así como la disponibilidad de opciones de interfaz de usuario para activar las actualizaciones automáticas.

En espera del trabajo de WordPress.org y de la aprobación de los sistemas, la firma del paquete podría estar razonablemente lista para WordPress 5.2.

Resumiendo…

Una muy buena actualización, que pone orden en los bloques, y sobre todo enfocada en la seguridad, algo esperado hace tiempo.

La entrada WordPress 5.2: Gestor de bloques y más novedades interesantes la publicó primero Fernando Tellado en Ayuda WordPress. No copies contenido, no dice nada bueno de ti a tus lectores.

Viewing all 129 articles
Browse latest View live