Para las cuentas de administrador, tenías razón, requerir una VPN es la dirección correcta.
Mejor aún, requiere autenticación de múltiples factores para los usuarios de administración.
Estas son siempre buenas ideas.
Dicho esto, si por alguna razón no es factible, y está atascado con los inicios de sesión de contraseña públicos regulares, no todo está perdido.
Suponiendo que sus cuentas de administrador estén sujetas a una política de contraseña segura, la fuerza bruta directa requerirá muchos, muchos, muchos, muchos, muchos intentos. El intento de fuerza bruta de la contraseña a través de su formulario de inicio de sesión, a través de Internet, llevará mucho, muy, muy, mucho tiempo, y esto solo será factible si es posible ejecutar muchos intentos de inicio de sesión en paralelo, usando muchos computadoras.
El elemento clave aquí es velocidad .
Por lo tanto, la solución es ralentizar los intentos de inicio de sesión repetidos, sin detener realmente al usuario real (que intenta iniciar sesión con la misma cuenta al mismo tiempo que el bruteforce).
No, ni siquiera piense en probar CAPTCHA: si bien esto tiene un pequeño efecto, no está lo suficientemente cerca como para reducir la velocidad de los ataques, en un orden de magnitud (la mejor opción es probablemente alrededor del 20%, no lo suficientemente lenta) .
Una solución mucho más efectiva (y más simple) es limitación de velocidad .
Es decir. No más de 5 intentos de inicio de sesión en un minuto. O 50. O incluso 500.
Esto también se puede ver como un mecanismo de bloqueo de liberación automática, con un retraso de tiempo muy corto.
Los cálculos aún están a su favor (puede limitarlos a la velocidad que desee en función de sus amenazas esperadas), y aún puede dejar margen para que el usuario genuino inicie sesión.
Después de varios bloqueos, es posible que desee implementar bloqueos más largos por IP, pero tenga cuidado con ese enfoque, ya que las direcciones IP generalmente no se alinean con un usuario específico (ya sea por IP compartida, IP de roaming, etc.). Así que usa eso, si debes, pero gentilmente.
Además, asegúrese de alertar a un administrador, después de varios bloqueos, permitiendo una respuesta manual adicional.