Descuento 20% Diciembre
Plugin Optimización de Imágenes Gratuito para WordPress
Martes, 23 Mayo 2017 01:58

Acceso de WordPress con email ¿cómo desactivarlo?

Escrito por 
CMS:  WordPress |  Versión:  4.7.x |  Nivel de dificultad:  Básico |  Tiempo estimado de lectura:  15 minutos


Acceso de WordPress


Desde que se pusieron de moda, ya hace algunos años, los accesos federados a determinados servicios, esto no ha hecho más que ir en aumento hasta el punto que a veces es más común loguearse en un servicio con los datos de acceso de otro sitio que con los del propio -no se si me explique- XD

El acceso de WordPress con email podría considerarse en cierta forma un acceso federado, pues se sirve de un servicio externo (cuenta de correo) para validar a un usuario en otro servicio.

No obstante de lo que va este artículo es de no facilitar datos a "los malos" y si usamos nuestro correo electrónico para loguearnos en nuestra web WordPress, de alguna forma estamos dejando huella de por medio, lo que supone el 50% del camino andado para usuarios malintencionados.


Formulario de acceso permite el uso de un correo electrónico para acceder

Haz clic en la imagen para ampliarla  

Uno de los inconvenientes que presenta este método de autenticación y que abre una puerta a nuevas brechas de seguridad si un usuario se loguea en WordPress habitualmente utilizando su cuenta de correo de Gmail (u otra), que comúnmente sería el username es que se está dejando constancia de ello.

Esto puede considerarse un problema de seguridad, ya que es lo mismo que usar en el campo "Usuario" (username) de acceso el clásico admin que tantas veces se ha comentado que es inseguro y muy deducible, pues lo mismo pasará si usas tu cuenta de email.

Si gestionas multisitios, sitios WordPress con BuddyPress o cualquier otro sitio en el que permitas que el email sea usado para el campo "username", puedes querer tener el control de los accesos deshabilitando esta funcionalidad nativa de WordPress.

Imagínate que tus usuarios en BuddyPress, o en tu tienda con WooCommerce deciden registrarse usando su cuenta de correo de Hotmail con la misma contraseña que usan en ese servicio. ¿Se te ha pasado por la cabeza lo que pasaría si sus datos de acceso a su servicio externo fuesen sustraídos? (Véase: Millones de cuentas en venta en la Dark Web).


Evitar que esta funcionalidad esté activa te ayudará a mejorar la seguridad de tu web reduciendo los puntos de fricción.

 

 Deshabilitar el acceso por email en WordPress

Hay algunas formas de hacer que no sea posible utilizar un email para el acceso de usuarios utilizando la función wp_mail() de WordPress.

Ya sea por medio de filtros o funciones o mediante algún plugin, es posible deshabilitarlo de forma global para toda la instalación.

 

Tip de seguridad:
Establece siempre un Mínimo Punto de Exposición (MPE) reduciendo así los puntos vulnerables de tu web.


Es cierto que hay funciones o filtros que añadidos al archivo functions.php permiten inhibir el uso de correos electrónicos en el campo 'username' del formulario de acceso al dashboard, pero enseguida me acordé de este artículo, escrito hace un tiempo, y me dije ¡¡ufff, mejor pongámoslo fácil, no sea que al final la líen parda metiendo mano a este tipo de archivos!! y opté por la solución fácil, usar un plugin.

 

Lectura recomendada:
functions.php en WordPress ¡restáuralo tras un desastre!

 

 Desactiva el acceso con un correo electrónico

La funcionalidad de utilizar como "username" una cuenta de correo electrónico está incorporada en WordPress desde la versión 4.5 y es posible deshabilitar esta forma de acceso al dashboard, o al frontal como usuario registrado utilizando el plugin No Login by Email Address (hay otros).

No Login by Email Address

Haz clic en la imagen para ir al enlace del plugin  

Cuando el plugin se instala y se activa la capacidad de iniciar sesión con la dirección de correo electrónico en lugar del nombre de usuario se elimina y la etiqueta del campo de entrada se cambia para reflejar esto.

La configuración de este plugin es tan sencilla ¡que no tiene! XD


Formulario de acceso no permite el uso de un correo electrónico para acceder

Haz clic en la imagen para ampliarla  

Ya no se mostrará el texto Nombre de usuario o dirección de correo electrónico y en su lugar solo será visible Nombre de usuario

Ya está, ¡no te compliques más la vida!, lo que viene a continuación es un BONUS por si te quedaste con ganas de más. ;)

 

 BONUS: Desactiva la notificación por email

Si no quieres inhabilitar la posibilidad de acceder usando un email como "username", si puedes deshabilitar la función wp_mail() para que no se envíen mensajes de correo de restablecimiento de contraseñas, notificaciones de administrador, registro de usuarios, etc.

Escenarios en los que deshabilitarlo:
  • Gestión de Multisitios (con diferentes usuarios y roles).
  • Sitios de pruebas o demos de temas, plugins u otros.
  • Sitios clonados para pruebas o testing.
  • Importación de datos mediante archivos .xml o .csv de forma masiva.
  • Sitios demostrativos con "modo freezing" (no guardan datos) que podrían enviar correos.

Evitarás que se envíen correos de notificación accidentalmente por configuraciones por defecto o programadas.

El plugin Disable Emails, te permite inhibir el envío de correos mediante la función anteriormente citada, de forma silenciosa y en segundo plano.

Disable Emails

Haz clic en la imagen para ir al enlace del plugin  

Una vez instalado y activado lo encuentras en Ajustes, Disable Emails, donde verás la siguiente configuración:


Configuración Disable Emails

Haz clic en la imagen para ampliarla  

Como ves en la captura incluye la opción para forzar el bloqueo en BuddyPress del uso de correos electrónicos.

El plugin sustituye la función estándar de WordPress wp_mail() con una función que no envía correos electrónicos. ¡No envía nada!

En segundo plano genera una copia privada de PHPMailer y permite al sistema interactuar con él suprimiendo de forma silenciosa la función de envío de correos.

Tras la activación, con la configuración por defecto del plugin, queda inhabilitada la posibilidad de introducir un correo electrónico en el campo "username" del formulario de acceso al dashboard, o al frontal del sitio como "Usuario Registrado" dependiendo de los roles que tenga cada usuario.

De esta forma los usuarios podrán seguir logueandose usando su correo electrónico pero no se enviarán correos de notificación para recuperación de contraseñas u otros habituales de wp_mail().

 

 Conclusiones

¡El mayor vector de ataque a un sitio web es el propio usuario! ..o el que administra el sitio web.

Promover medidas de seguridad encaminadas a reducir el número de puntos débiles en tu sitio web con WordPress debería ser una máxima en tus proyectos web.

     

¿Te ha resultado interesante este artículo?

Suscríbete para recibir consejos exclusivos para WordPress, Joomla y PrestaShop



Luis Méndez Alejo

Miembro del equipo técnico de Webempresa.
Coordinador de contenidos en el Blog y en Youtube.
Google+


Plugin Optimización de Imágenes Gratuito para WordPress