Contraseñas y DotNetNuke

Contraseñas y DotNetNuke

DotNetNuke ofrece cierta flexibilidad en la gestión de las contraseñas de usuarios. Ésta no es una cuestión baladí, pues nuestros preciosos portales web suelen contener datos personales, sujetos a la normativa vigente. Dependiendo de la naturaleza de esos datos podríamos ser especialmente estrictos con su custodia, y la configuración predeterminada de DotNetNuke no sería suficiente.

Tan didáctico como siempre Mitchel...

DotNetNuke ofrece cierta flexibilidad en la gestión de las contraseñas de usuarios. Ésta no es una cuestión baladí, pues nuestros preciosos portales web suelen contener datos personales, sujetos a la normativa vigente. Dependiendo de la naturaleza de esos datos podríamos ser especialmente estrictos con su custodia, y la configuración predeterminada de DotNetNuke no sería suficiente.

Tan didáctico como siempre Mitchel Sellers nos explica cómo funcionan las contraseñas en DNN y nos sugiere un par de cambios que reforzarán la seguridad de nuestro sistema.

Resumiendo, DNN viene de serie con las contraseñas de los usuarios encriptadas, en la base de datos, pero fácilmente recuperables aplicando un algoritmo matemático. Eso supone un riesgo pues, si alguien lograse acceder a nuestra base de datos, podría desencriptar esas contraseña (ojo, que podrían estar sin encriptar, algo que no recomendamos). Además, como cualquier usuario puede solicitar un recordatorio de contraseña por correo electrónico, que se envía como texto legible, ahí tenemos otro importante "agujero" de seguridad.

Una forma de evitar esto es guardar las contraseñas como "hashed", de forma que no sea posible su desencriptación; esto lo hacemos modificando el parámetro passwordFormat. Y si cambiamos el parámetro enablePasswordRetrieval será suficiente para evitar que se envíen los recordatorios de contraseña: el usuario que pierda la suya recibirá un mensaje con una temporal, que deberá cambiar la primera vez que acceda al portal.

Por si alguien está suficientemente despistado, estos cambios se hacen en el nodo system.web (os copio la configuración estándar):

<membership 
  defaultProvider="AspNetSqlMembershipProvider" 
  userIsOnlineTimeWindow="15">
  <providers>
    <clear />
    <add name="AspNetSqlMembershipProvider" 
         type="System.Web.Security.SqlMembershipProvider" 
         connectionStringName="SiteSqlServer" 
         enablePasswordRetrieval="true" 
         enablePasswordReset="true" 
         requiresQuestionAndAnswer="false" 
         minRequiredPasswordLength="7" 
         minRequiredNonalphanumericCharacters="0" 
         requiresUniqueEmail="false" 
         passwordFormat="Encrypted" 
         applicationName="DotNetNuke" />
  </providers>
</membership>
9242 Puntúe este artículo:
3.5

6 comentarios sobre el artículo "Contraseñas y DotNetNuke"

0
0
Avatar image

Excelente comentario para ponerlo en practica para los que recien iniciamos a usar esta herramienta.
Gracias


0
0
Avatar image

Hola, trabajo como programador y estoy creando un proceso que necesita saber la clave de un usuario de un portal dnn, pero estas están encriptadas, ¿qué algoritmo usa dnn para gestionar las contraseñas?, un saludo


0
0

0
0
Avatar image

Gracias, le he echado un vistazo pero no me sirve. Desde fuera de DotNetNuke, necesito encriptar una contraseña y compararla con la generada por DotNetNuke, ¿alguien sabe el método de encriptación y los datos que me hace falta conocer (password, passwordSalt,...)?


0
0
Avatar image

http://blog.xrmplatform.org/get-all-users-password-from-dotnetnuke-in-one-second/


0
0
Avatar image

Estimados. También necesitaría ver la contraseña que tienen los usuarios guardadas en dotnetnuke. Alguien logro leerlas? o saber como igualarlas? es decir, ingresando una contraseña en una caja de texto, saber si esa contraseña es igual a la que esta guardada en el sitio de dotnetnuke.

Gracias

Deje un comentario

Añadir comentario

Lo más leído