Sitio web de comercio electrónico con REST backend: ¿tengo que proteger las URL de Backend a las que se accede desde las páginas públicas de Front End?

0

Tengo un sitio web de comercio electrónico con un backend REST y un JS de página única como front-end. Tengo la intención de asegurar mi backend REST con OAuth2.

No quiero obligar al usuario a autenticarse cuando entra por primera vez en el sitio web, porque como sitio web de comercio electrónico, es normal que el usuario navegue para ver los productos, etc. (tal vez me equivoque). ..). Entonces, en estas páginas 'públicas', cuando realizo las llamadas Ajax por backend, ¿vale la pena asegurar estas URL en mi backend? Si no, ¿cuáles son los riesgos?

De hecho, si aseguro estas URL de mi backend, ¿qué puede impedir que cualquier usuario acceda a estas URL de backend seguras al realizar solicitudes desde el frontend?

Tal vez sea paranoico, pero creo que debería intentar proteger estas URL para evitar que algunos atacantes utilicen mi backend de forma gratuita u otra cosa.

Ya no habría ningún problema para mí si obligo al usuario a autenticarse. Por eso vuelvo a preguntar si es realmente el camino a seguir para el comercio electrónico ...

Muchas gracias.

    
pregunta rico 23.09.2013 - 00:24
fuente

2 respuestas

1

Sí. Usted es responsable de garantizar que solo se permita el acceso autorizado a su interfaz REST. Si se pretende que la interfaz se acceda solo desde el extremo frontal, usted es responsable de garantizar que esto sea exactamente lo que sucede.

¿Cuáles son los riesgos? Bueno, ¿qué funcionalidad ofrece su API REST? Si un cleint no autorizado puede conectarse, leer datos y enviar comandos, entonces puede usar su API REST para hacer lo que pueda hacer su API REST. Pueden eliminar lo que sea que su API les permita eliminar, modificar lo que su API les permita modificar, leer todo lo que les permita leer y crear nuevos espectadores que su API les permita crear. Y creo que hay otros problemas con la implementación de la API, como los desbordamientos de búfer, entonces esos también estarán expuestos al atacante.

    
respondido por el atk 23.09.2013 - 02:33
fuente
1

No hay una manera efectiva de asegurar su back-end REST por lo que solo su front-end de JavaScript puede acceder a él. Lo que debe hacer en su lugar es diseñar su back-end REST basándose en el conocimiento de que un usuario malintencionado puede acceder a él directamente.

Esto implica algunos controles técnicos, como validar el lado del servidor de entrada. También puede implicar algunas consideraciones de negocios. Por ejemplo, el back-end REST permitirá que un competidor "limpie" su sitio de manera muy efectiva. La mayoría de los sitios de comercio electrónico están satisfechos con este riesgo, aunque algunos implementan medidas contra el raspado.

¿Cómo planeas utilizar OAuth2 exactamente? ¿Haces que los usuarios se registren cuando van a la caja? Supongo que permitirá que cualquier persona en Internet se registre para una cuenta, por lo que incluso los puntos finales REST que están restringidos a usuarios registrados deben estar protegidos.

    
respondido por el paj28 23.10.2013 - 03:58
fuente

Lea otras preguntas en las etiquetas