Consells per fer un login segur
Extret de http://sentidoweb.com/2009/10/09/consejos-para-realizar-un-login-seguro.php
- 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.
2 respostes a “Consells per fer un login segur”
Deixa un comentari



Lluís on October 9th, 2009
No he llegit el text original, per això em pregunto quin percentatge d’èxit té seguir aquests consells en cas d’un intent d’accés o d’un atac. Suposo que si el hacker és una mica hàbil podrà entrar allà on vulgui. Però bé, tota precaució és poca
Pitu Sabadí on November 2nd, 2009
Molt interessant l’article. Tots els passos tenen sentit. Alguns són més extesos, com encriptar les contrassenyes, utilitzar només variables $_POST, fer una consulta amb LIMIT.
D’altres però no són tan típics i crec que també són molt importants:
-Tenir un control i que per un mateix nom 5 intents d’entrada i després que s’hagi de desbloquejar l’usuari de la base de dades.
-Fer un usuari a la base de dades sense permisos per a usuaris no registrats és una molt bona idea i no se si hi ha gaires webs que ho facin.
La pàgina original (http://hungred.com/useful-information/php-secure-login-tips-and-tricks/) és molt bona per a seguir aquest consells ja que hi ha exemples de la seva implementació en PHP.