Mi cliente tiene un servidor que está siendo sometido a intentos de inicio de sesión por fuerza bruta desde una botnet. Debido a los caprichos del servidor y del cliente del cliente, no podemos bloquear fácilmente los intentos a través de un firewall, cambio de puerto o cambio de nombre de cuenta de inicio de sesión.
Se tomó la decisión de dejarlo abierto al ataque, pero encuentre un método para mantener segura la contraseña. La gerencia y algunos de los otros consultores han determinado que lo mejor que se puede hacer es instalar un software de rotación de contraseña para rotar la contraseña cada diez minutos y proporcionar la nueva contraseña a los usuarios que necesitan iniciar sesión.
Los intentos de fuerza bruta ocurren dos veces por segundo.
Necesito demostrar que implementar una contraseña segura con 12-15 caracteres es una solución más fácil y gratuita. Sé cómo probar esto con las matemáticas, pero estaría escribiendo algo así como "hay x muchas posibles permutaciones de nuestra contraseña, y el atacante solo puede intentar n intentos por día, por lo que esperamos que vayan x / 2 días en promedio antes de que adivinen nuestra contraseña ". ¿Existe una "prueba" más estándar de esto?
Además de fail2ban,
Si está ejecutando cualquier UNIX moderno, generalmente puede cambiar el tiempo de inactividad de entrada de contraseña incorrecta a hasta 5 segundos, disminuyendo la velocidad de ataque en un 2000%. [Solaris 10 lo tiene en / etc / default / login, busque SLEEPTIME] Lo que con las mismas tolerancias significaría que podría rotar la contraseña cada 3 horas y 20 minutos.
Además, los intentos de contraseña antes del bloqueo serían una opción viable, pero sospecho que no es para ti porque tienes varios usuarios compartiendo una cuenta y no quieres que se bloquee todo el tiempo.
Requerir una contraseña de 12-15 caracteres ayuda, pero si está siendo atacado continuamente, otra solución probablemente sea mejor. No sé cuál es la tolerancia presupuestaria de su empresa en esto, pero las tarjetas de clave RSA para todos los que necesiten iniciar sesión en esa cuenta también lo resolverían. La autenticación de dos factores empuja la probabilidad al tiempo de computación cuántica.
El enfoque de fuerza bruta que dura el tiempo suficiente para publicar en este foro es bastante sorprendente. En términos generales, es bastante sencillo y, en el mejor de los casos, es un relleno de registro mientras ocurre un ataque real.
fuente
¿Qué tal una apelación a la autoridad? Puede consultar las Pautas de implementación técnica de seguridad del Departamento de Defensa (iase.disa.mil/stigs/stig) y decir "Si es lo suficientemente bueno para el Departamento de Defensa, es lo suficientemente bueno para nosotros"
fuente
Algo a tener en cuenta: si tiene una contraseña que no cambia, y los ataques de fuerza bruta están probando un universo de contraseñas que incluye la suya, se garantiza que el ataque de fuerza bruta golpeará eventualmente y seguirá siendo vulnerable después de eso.
La "posibilidad" de que una selección aleatoria llegue a su contraseña se puede calcular, como ha sugerido, pero eso puede no contar toda la historia.
Si observa los intentos de fuerza bruta, por ejemplo, y ve que la contraseña más larga que intentan es de 10 caracteres, al elegir cualquier cosa a 12 se asegurará de que nunca sea golpeado.
Tenga mucho cuidado al intentar aplicar estadísticas a un caso particular; solo predicen el comportamiento general con una gran cantidad de muestras.
Aparte de eso, si las matemáticas no (o no pueden) convencer a alguien, trate de encontrar algo que tenga la misma posibilidad de ocurrir pero que sea familiar, como quizás loterías o accidentes automovilísticos o que caiga un rayo. Si puede decir "la posibilidad de que alguien acceda a esta contraseña es casi lo mismo que ganar la lotería seis semanas seguidas", puede darles una mejor sensación.
fuente
Una cosa que no se ha considerado es qué nombre de usuario está utilizando la botnet para Bruteforce. En todos los casos que he visto, las fuerzas brutas han sido por variaciones de administrador y raíz, y en un caso raro, los nombres de usuario se han eliminado del sitio web de corp.
También cambiaría las restricciones de inicio de sesión interactivo para que su cuenta raíz esté deshabilitada (preferida) o restringida a su subred local o rango de direcciones similar.
fuente
Dos veces por segundo no está mal. Solíamos ver miles de intentos por minuto, antes de implementar fail2ban , que bloqueará una IP particular fuera de la red durante un período de tiempo establecido después de tantos intentos fallidos (todos configurables).
Esto ha funcionado muy bien para nosotros.
fuente
En realidad, puede realizar un escaneo selectivo contra ataques ssh de fuerza bruta utilizando iptables, si esto funciona para usted.
Estas dos cadenas:
bloqueará el acceso a cualquier persona que intente conectarse a SSH más de 5 veces en un intervalo de 60 segundos. Puede cambiar el número "--hitcount" si desea que se permita un número mayor que 5 por segundo.
fuente
Estoy de acuerdo en que cambiar la contraseña cada 10 minutos parece un poco excesivo. En este punto, el problema es cómo transmitir de manera segura la nueva contraseña y mantener los sistemas sincronizados entre sí.
Este artículo tiene algunas estadísticas interesantes sobre las velocidades de craqueo:
fuente
Es sorprendente la cantidad de personas que no entienden las curvas exponenciales, pero todos saben la diferencia entre 10, 100 y 1000, por lo que podría ser un buen lugar para comenzar a hacer comparaciones.
Otra táctica podría ser mostrarle a la gente cuánto tiempo se tarda en forzar con fuerza bruta una contraseña de 6 caracteres. Si tiene algún conocimiento de programación, puede armar una herramienta rápida que lo haga.
fuente
También podría mostrarles con qué facilidad están disponibles las tablas de arco iris:
http://project-rainbowcrack.com/table.htm
fuente
Esto puede ser un poco extraño, pero estoy usando denyhosts y reduce considerablemente los intentos de fuerza bruta en mis cajas de Linux.
fuente