Autoenchufe, puede consultar mi curso en Tuts + sobre esto.
Seguridad PHP OWASP
El ataque se llama “ataque de enumeración de cuenta”. Un usuario malicioso busca identidades en su sitio web y las compila. Luego hay dos ataques.
- ¿Puedo borrar / bloquear remotamente mi dispositivo Android?
- El sitio de mi cliente fue pirateado y no tengo una copia de seguridad de su sitio WP. Me ha estado llamando durante 3 días pero no pudo responder. ¿Qué le puedo decir?
- ¿Norton 2017 antivirus elimina Nova.rambler.ru?
- ¿Existe un equivalente de Zscaler para uso personal?
- ¿Cuáles son las repercusiones para las empresas que instalan malware de secuestro de búsqueda?
1.) Si bloquea cuentas después de tantos intentos, el usuario bloqueará a todos sus usuarios. Un amigo mío lo llamó “DDoS del hombre pobre”.
2.) Si no lo haces, seguirán forzando la fuerza bruta hasta que obtengan contraseñas. Si no aplica contraseñas seguras, es fácil ingresar.
La solución es estrangular los ataques. No use la función sleep () de php, ya que puede obtener un DDoS real si el atacante envía múltiples solicitudes.
Aquí hay un ejemplo, tendrá que dominar la lectura del código OOP.
PHP y Redis Throttler
Los pasos:
1.) Un usuario realiza una solicitud de nombre de usuario y contraseña. Registre la IP o el nombre de usuario o ambos intentados con Blacklister-> setSleeper ($ username).
El nombre de usuario es preferible a la IP ya que, como dicen los comentarios de mi código, un usuario malintencionado puede usar VPN o TOR para enmascarar su dirección y seguir saltando.
2.) Si usa la IP, una protección contra esto es usar mis clases de IPFilter e IPLookup, (requiere la base de datos MaxMind lite, necesitará configurar esto), y si la dirección IP está demasiado lejos de donde se registraron por última vez adentro, bloquéelo y envíe la solicitud al usuario si está utilizando la autenticación de dos factores observando la ciudad / país desde el que cree que intentó iniciar sesión.
Por lo tanto, si bien el uso de la IP como clave para dormir no es el mejor enfoque, es útil realizar un seguimiento para fines de registro.
3.) Si la solicitud se realiza correctamente, elimine el valor de durmiente. Si no, estrangularlos por un segundo. Dado que las solicitudes de fuerza bruta requieren la capacidad de emitir muchos comandos, esto dificultará la fuerza bruta de su sitio.
4.) Use un algoritmo de hash lento, como Bcrypt. PHP tiene esto por defecto desde PHP 5.5.