Restablecer automáticamente la clave de api si se envía a través de HTTP no seguro

3

Tengo una API donde los clientes se autentican a través de Http basic auth (cuenta: apikey). Los usuarios pueden generar (y revocar) muchos apikeys para la misma cuenta.

Actualmente solo acepto solicitudes HTTPS, pero estoy jugando con la idea de habilitar HTTP y, tras la autenticación exitosa de la cuenta: apikey, deshabilitar automáticamente esa apikey en la base de que fue enviado a través de un canal no cifrado.

¿Puede este esquema mejorar la seguridad de la autenticación en mi Api?

    
pregunta Victor 30.04.2018 - 17:37
fuente

1 respuesta

4

No creo que esto mejore la seguridad en absoluto. Si su punto final de API no tiene el puerto 80 / tcp abierto, nadie podrá iniciar una conexión, y mucho menos le enviará las claves de API.

Con un puerto 80 / tcp cerrado, tan pronto como alguien le envíe un paquete SYN , el punto final responderá con un RST , el protocolo de enlace nunca se completa y no se envían datos.

Si tiene la función "expirar desde HTTP" en el punto final, tendrá que abrir otro puerto, escuchar la autenticación, verificar que los detalles de inicio de sesión son válidos y revocarlos. Hasta que el usuario descubra que envió accidentalmente datos desde HTTP, lo frustrará y lo forzará a volver a iniciar sesión, volver a crear una clave, alterar todos los archivos de configuración y reiniciar la programación. Sin eso, y con el puerto 80 cerrado, el usuario intenta enviar datos, recibe un error connection refused , cambia de puerto y sigue felizmente programando.

    
respondido por el ThoriumBR 30.04.2018 - 20:20
fuente

Lea otras preguntas en las etiquetas