Me pregunto si un punto final de API HTTPS sería tan seguro o más seguro que SSH.
API Endpoint
- El punto final de la API requeriría HTTPS
- La autenticación de API usaría una clave de API POST'd.
- La longitud mínima requerida de la clave API básicamente podría ser arbitrariamente larga
- El punto final de la API solo aceptaría conexiones de direcciones IP incluidas en la lista blanca.
- La URL del punto final de la API no estaría disponible públicamente o enlazada desde cualquier lugar. Solo la aplicación cliente sabría lo que era.
- La aplicación cliente que se conecta al punto final no aceptará cifrados SSL débiles.
Conexión SSH
Para los propósitos de esta pregunta, haremos las siguientes suposiciones acerca de la conexión SSH con la que nos estamos comparando.
- La longitud mínima requerida de la contraseña es de 8 caracteres con mayúsculas, minúsculas y el número requerido.
- El dominio al que se conecta es el dominio público (es decir, para enlace se conecta mediante ssh domain.com)
Consideraciones
Algunas consideraciones que he pensado que pueden afectar si una es más segura que la otra son:
- ¿Es la detección de la dirección IP de HTTPS tan confiable como SSH? Supongo que los dos solo miran lo que el cliente les envía y, por lo tanto, no se puede confiar al 100%, pero sin embargo proporcionan cierto nivel de seguridad.
- Creo que SSH tiene un mecanismo incorporado para evitar intentos de reintento rápidos. Sé que el HTTPS por sí solo no lo hace, pero en muchos casos donde la seguridad es primordial que se incorporó en la capa de servicio web.
Mi corazonada
Mi corazonada sería que el punto final de la API sería en realidad más seguro que SSH por las siguientes razones, pero no soy un experto en seguridad, por lo que me encantaría obtener una respuesta sólida:
- Con SSH, el atacante potencial sabe a qué dominio apuntar (es decir, ssh domain.com). Pero con la API, la URL no se conocería, por lo que incluso para comenzar a atacarla, primero tendrían que averiguar cuál era la URL.
- La fuerza de la contraseña de la API es mayor
Context
La razón por la que estoy preguntando esto es porque estoy considerando crear un punto final de API que permita a un usuario confiable y autenticado acceder a una gran cantidad de datos potencialmente confidenciales. Sería una herramienta poderosa que permitiría que la lógica de negocios de aplicaciones bien desacopladas se escribiera muy rápidamente.
El motivo por el que pregunto si es tan seguro como SSH es porque supongo que los posibles usuarios de esta aplicación tienen SSH habilitado con, como máximo, una lista blanca de direcciones IP como una capa adicional de seguridad.
Por lo que es decir, las capacidades de este punto final de API ya están presentes a través de SSH. Si el punto final no presentara un riesgo adicional por encima del riesgo que está presente con SSH, entonces consideraría que es un nivel de riesgo aceptable. Pero si fuera menos seguro, probablemente no lo consideraría aceptable.
ACTUALIZACIÓN: Se agregó una nota acerca de los cifrados débiles al punto final de la API.