Cómo proteger su API de inicio de sesión de ataques de fuerza bruta
Primero, si está desarrollando una API, se recomienda agregar una configuración de frecuencia de acceso. Por ejemplo, si limita la frecuencia de acceso a 1000 veces por minuto (podría ser por puerto, por IP, etc.), si se excede este límite en un minuto, el servidor devolverá 429: Demasiados intentos.
En segundo lugar, respecto a la prevención de direcciones IP falsificadas. Puede enviar una solicitud a la dirección IP de la otra parte y no habrá respuesta de la dirección IP falsificada
Tanto los sitios web como las aplicaciones se desarrollan básicamente en función del modo de interfaz API, por lo que la seguridad de la API Esto parece particularmente importante. El método de ataque más común es el "bombardero SMS", porque la verificación de la interfaz por SMS es la forma más auténtica para que las aplicaciones y los sitios web verifiquen los números de teléfono móvil de los usuarios. Si bien el uso de códigos de verificación por SMS brinda comodidad, también se ha convertido en el objetivo de los ataques maliciosos de Huabei. Entonces, ¿cómo evitar llamadas maliciosas?
1. Código de verificación gráfico:
El código de verificación gráfico y el código de verificación del teléfono móvil están vinculados. Después de que el usuario ingresa el número de teléfono móvil, se debe ingresar el código de verificación gráfico. correctamente antes de que se pueda activar la verificación por SMS. Esto proporciona una protección más eficaz contra ataques maliciosos. Actualmente, la mayoría de las aplicaciones adoptan este enfoque.
2. Limitar el número de solicitudes:
Limitar el número de solicitudes del servidor a la interfaz con la misma IP, el mismo dispositivo y el mismo rango de tiempo. Por ejemplo, el intervalo de tiempo para la transmisión repetida del mismo número es generalmente de 60 o 120 segundos; establezca el volumen de transmisión diario máximo para cada IP;
3. Restricciones de las condiciones de procesamiento:
Coloque la verificación por SMS del teléfono móvil al final. Si es necesario, el usuario debe registrarse o el usuario no necesita completar ciertas condiciones antes. Se puede realizar la verificación por SMS.
4. La ubicación es consistente:
El servidor verifica si la ubicación IP del usuario coincide con la ubicación del número de teléfono móvil. Si no coinciden, se solicita al usuario un manual. operación, etc
5. Verificación de la interfaz del servidor:
Cuando el usuario inicia sesión correctamente, se devuelve una información de clave secreta generada por la firma del token (el token se puede codificar usando cifrado base64 y md5, y colocado en el encabezado de la solicitud), y luego genere una encapsulación de token para cada solicitud posterior y verifique si es el mismo en el lado del servidor para determinar si la solicitud se aprueba.
6. Utilice https:
Habilite el acceso https a través de la interfaz API en línea, de modo que será mucho más difícil para otros capturar paquetes, y https requiere el intercambio de claves secretas, lo cual se puede hacer hasta cierto punto. Identificar si la propiedad intelectual ha sido falsificada.
7. Solicitud de proxy del lado del servidor:
Para los sitios web, esta también es una solución entre dominios. El uso del proxy del servidor puede prevenir eficazmente la exposición de la dirección real de la interfaz.
8. Otros:
Cuando hay una gran cantidad de interfaces de ataque de pollos de engorde, el atacante también tiene la intención de exponerse. Podemos utilizar el algoritmo de análisis del sistema para evitar que el atacante lo haga. obtener datos válidos y mejorar los costos de ataque.
Resumen:
Los problemas de seguridad siempre han sido una batalla de ingenio y coraje entre atacantes. No existe una solución única, solo disputas constantes y crecimiento constante. ..