No estás registrado (Registrarse)

Vanilla 1.1.10 es un producto de Lussumo. Para más información: Documentación, Soporte.

    •  
      CommentAuthorJavi
    • CommentTimeAug 17th 2011 editado
     # 1
    Huola!

    Dentro de mi obsesión por la seguridad, pego unos tips muy interesantes que he encontrado en Sentido web para hacer un login lo más seguro posible :smile:

    Si alguno ve carencias o quiere ampliar información mejor que mejor :smile::smile:


    • Logitud de la contraseña y nombre de usuario: tiene que tener mínimo 6-8 caracteres.

    • Encriptar la contraseña: aunque casi todo el mundo usa MD5 o SHA-1, no está mal del todo usar SHA-2 (disponible en PHP5), ya que las anteriores ya no son tan seguras como hace tiempo.

    • Añade una semilla a la contraseña: cuando encriptes la contraseña es recomendable añadirle un texto para que el hash sea mas seguro.

    • No uses nombres sencillos para el administrador: evita usar nombres como “admin”, “root”, …


    • Registra los intentos de login: así se podrá detectar cuando estamos siendo atacados.

    • Maneja los errores: cuando se produce un login fallido, o evita que se produzca un error, o muestra un error personalizado, no muestres errores de código que puedan dar pistas al atacante.

    • Filtra la entrada: filtra lo que el usuario meta en su usuario para evitar inyecciones de código y no compruebes si la contraseña es correcta mediante SQL.

    • Usa LIMIT o WHERE 1: es importante para evitar comprometer muchas cuentas si sufrimos un ataque.

    • Usa nonce: nonce es un número único para la sesión, así nos aseguramos de que no se realicen ataques de fuerza bruta usando diccionario.


    • Usa sólo $_POST: $_GET es más sencillo de usar que $_POST, aunque no quita que usando $_POST no nos encontremos con problemas.

    • Cuentas MySQL: utiliza un usuario con permiso de select para realizar el login, así, si rompen tu seguridad, no podrán hacer deletes, updates o inserts.

    • Auto logout: Si quieres darle mayor seguridad, desconecta al usuario automáticamente pasado un cierto tiempo de inactividad. Aunque desde el punto de vista de la usabilidad no es muy recomendable.

    • Bloque la cuenta: si se han intentado varios logins consecutivos y han sido fallidos, se debería bloquear la cuenta.

    •  
      CommentAuthorignatius
    • CommentTimeAug 17th 2011
     # 2
    Gracias, casi todos los venía haciendo

    Posted By: JaviCuentas MySQL: utiliza un usuario con permiso de select para realizar el login, así, si rompen tu seguridad, no podrán hacer deletes, updates o inserts.


    Interesante!

    Posted By: JaviUsanonce:noncees un número único para la sesión, así nos aseguramos de que no se realicen ataques de fuerza bruta usando diccionario.


    Esto no termino de entenderlo bien del todo; ¿es como un token? y si así fuera ¿qué es exactamente un token? :dumb:
    • CommentAuthorproph
    • CommentTimeAug 17th 2011
     # 3
    Posted By: JaviUsa LIMIT o WHERE 1


    WHERE 1 no serviría de nada si no me equivoco...Mis cosas: Intercambio de enlaces | Tienda de setas
    •  
      CommentAuthorPichuco
    • CommentTimeAug 18th 2011
     # 4
    Muy bueno javi, gracias por esta info tan util :)
  1.  # 5
    :pop:
    no entendi nada...esto es para duenyos de sitios?:dumb:Make Domaining Great Again!
    •  
      CommentAuthornets
    • CommentTimeAug 18th 2011
     # 6
    Genial aportación.. :clap:Compramania Diseño web Barcelona | Desarrollo web de todos los niveles. SEO. Contáctame.
    •  
      CommentAuthordamefuego
    • CommentTimeAug 19th 2011 editado
     # 7
    Bienvenido los métodos de seguridad aunque algunos no entiendo ni papa de que se trata como estos dos

    Posted By: JaviUsanonce:noncees un número único para la sesión, así nos aseguramos de que no se realicen ataques de fuerza bruta usando diccionario.

    Usa sólo $_POST: $_GET es más sencillo de usar que $_POST, aunque no quita que usando $_POST no nos encontremos con problemas.
    •  
      CommentAuthorJavi
    • CommentTimeAug 19th 2011
     # 8
    Posted By: damefuegoUsa sólo $_POST: $_GET es más sencillo de usar que $_POST, aunque no quita que usando $_POST no nos encontremos con problemas.


    Se refiere que es mas fácil, ya que son modificaciones visuales (tocando la URL)