Alguien prueba claves en tu cuenta
Una contraseña segura es una clave larga y única que nadie puede adivinar. Protege tu correo, tus juegos y la cuenta del instituto de quien prueba claves una tras otra.
En un servidor, cada intento fallido queda escrito en un registro. Hoy verás cómo se ve ese rastro y pondrás tres defensas: longitud, bloqueo y segundo factor.
Al terminar esta lección
Nota
Puedo comprobar si las reglas de una cuenta la protegen bien.
La regla de este laboratorio
Importante
Trabaja solo con tu copia del laboratorio y solo con permiso. Nunca pruebes claves en la cuenta de otra persona. Aprendes cómo se ataca para saber cómo se defiende.
Palabras clave
| Palabra | Qué significa | Ejemplo |
|---|---|---|
| Contraseña | una clave secreta que demuestra quién eres | |
| Fuerza bruta | probar claves una tras otra hasta acertar | |
| Bloqueo de cuenta | parar los intentos tras varios fallos seguidos | |
| Doble factor | pedir dos pruebas de tipos distintos para entrar | clave y código del móvil |
| Registro | un archivo donde un programa anota lo que ocurre | |
| Cuenta | un usuario con sus permisos dentro de un sistema |
Las celdas que rellenan los estudiantes quedan en blanco en esta vista previa.
Cada letra más multiplica el trabajo del atacante
Con solo letras minúsculas hay 26 opciones por cada sitio de la clave. Cada letra que añades multiplica por 26 el número de claves posibles.
La tabla supone un atacante que prueba mil millones de claves por segundo. Eso solo pasa si roba la lista de claves guardadas, no si prueba en una web.
Cuánto tarda en acertarse una clave de letras
| Letras | Claves posibles | Tiempo a mil millones por segundo |
|---|---|---|
| 4 | 456.976 | menos de un segundo |
| 6 | 308.915.776 | menos de un segundo |
| 8 | 208.827.064.576 | unos 3 minutos y medio |
| 10 | 141.167.095.653.376 | unas 39 horas |
| 12 | 95.428.956.661.682.176 | unos 3 años |
Las celdas que rellenan los estudiantes quedan en blanco en esta vista previa.
Antes de empezar
Nota
Pulsa Iniciar el laboratorio en la barra superior y espera a que la máquina diga que está en marcha. Cada botón Ejecutar escribe su comando en el terminal de tu máquina.
El laboratorio trae un servidor atacado
Un servidor web llamado web01 sufrió un ataque. Sus registros y algunos archivos están copiados en la carpeta case, dentro de tu carpeta personal.
Hoy solo mirarás de qué está hecha esa carpeta. La investigación entera es el trabajo de la lección 4.
Ve a tu carpeta personal
cd ~Se muestra aquí y no se ejecuta. Crea una cuenta gratuita para pulsar Ejecutar y escribirlo en el terminal de tu propio laboratorio.
Mira qué hay en la carpeta del caso
ls caseSe muestra aquí y no se ejecuta. Crea una cuenta gratuita para pulsar Ejecutar y escribirlo en el terminal de tu propio laboratorio.
Enseña dos intentos fallidos del registro
grep -m 2 "Failed password" case/var/log/auth.logSe muestra aquí y no se ejecuta. Crea una cuenta gratuita para pulsar Ejecutar y escribirlo en el terminal de tu propio laboratorio.
Así se ve un intento de fuerza bruta
Cada línea empieza con la fecha y la hora, sigue con el nombre del servidor, web01, y con el programa que escribe, sshd. Después dice Failed password, que significa clave incorrecta.
Al final aparecen el nombre de la cuenta, la dirección desde la que llegó el intento y un número de puerto. Los números cambian de una línea a otra.
Un bloqueo frena los intentos de un atacante
Una web o un servidor puede contar los fallos seguidos. Tras cinco fallos, bloquea la cuenta o los intentos durante unos minutos.
El atacante no deja de poder probar claves, pero gana muchísimo menos tiempo. Un usuario real que se equivoca solo espera un poco.
Ejemplo: con bloqueo y sin bloqueo
| Situación | Intentos en un día | Cómo se calcula |
|---|---|---|
| Sin bloqueo, un intento por segundo | 86.400 | 60 por 60 por 24 |
| Con bloqueo: 5 fallos y 15 minutos de espera | 480 | 96 tandas de 15 minutos, por 5 intentos |
Las celdas que rellenan los estudiantes quedan en blanco en esta vista previa.
Cuenta las cuentas que pueden abrir una terminal
grep -c "/bin/bash" case/etc/passwdSe muestra aquí y no se ejecuta. Crea una cuenta gratuita para pulsar Ejecutar y escribirlo en el terminal de tu propio laboratorio.
Cuenta todas las cuentas del servidor
wc -l case/etc/passwdSe muestra aquí y no se ejecuta. Crea una cuenta gratuita para pulsar Ejecutar y escribirlo en el terminal de tu propio laboratorio.
Menos cuentas con terminal, menos puertas
El primer Run da 4: son las cuentas que pueden abrir una terminal. El segundo da 9, contando también las cuentas de servicio que no pueden entrar.
Cada cuenta que puede entrar es una puerta que hay que vigilar. Una regla simple: borra o bloquea la que ya nadie usa.
Un error frecuente
Advertencia
Mucha gente cree que cambiar la a por un 4 y la e por un 3 hace segura una clave. Los atacantes ya conocen esos cambios y los prueban primero. Lo que protege es la longitud y que la clave no se repita en otra cuenta.
El doble factor protege una clave robada
Imagina que alguien se entera de tu clave. Con solo la clave entra. Con doble factor, también necesita un código que cambia cada 30 segundos y que solo recibe tu móvil.
Dos pruebas del mismo tipo, como dos contraseñas, no valen. Tienen que ser de tipos distintos.
Para ir más lejos: tu gestor de contraseñas
Nadie puede recordar una clave larga y distinta para cada cuenta. Un gestor de contraseñas las guarda cifradas y tú solo recuerdas una frase larga.
Escribe tres frases largas que podrías recordar y que nadie adivinaría. ¿Por qué una frase de cuatro palabras sin relación vale más que una palabra con números?