Proteger REST API

jenkins

Por ejemplo, en el layer HTTP le puedo hacer forge a absolutamente todo, Origin, Host, User Agent

o sea si yo le quiero bombardear con un script, le genero esos campos siempre diferentes y me voy a ver como un monton de usuarios

si, yo estaba pensando tipo el tamaño del request (pensando que eso es algo que se vería muy similar si uso el mismo mecanismo para los reqs)

pero pensandolo bien, eso es trivial de cambiar mandando más headers basura

y de fijo los de todos los navegadores deben ser muy parecidos en tamaño

jenkins

O en el caso del body agregó aleatoriamente agrego algo a los campo blah ( nombre, descripción,que de yo)

Inclusiva en los browser, se pueden usar peocies locales, extensión de navegador, o un navegador alterados en código (por ejemplo el campo origin)

si, pero yo me refería a que más bien si todos los navegadores tienen tamaños similares, no sirve de mucho ese dato porque no sirve para hacer “profiling”

en todo caso, supongo que limitar por IP tiene sentido, el único caso donde jode es si tenés varios usuarios detrás de un NAT (PAT, para ser más exactos) usando el API al mismo tiempo

porque todos los demás ejemplos de APIs públicas que se me ocurren usan el toque del pre-registro para lidiar con esto

(en el pre-registro te dan el token y a veces alguna otra cosa más que tenés que mandar con todos los reqs o que usás para obtener un cookie que teneś que mandar con todos los reqs)

Caro Aguilar
Se complica también si están proxeados por ejemplo detras de un load balancer

no entendí bien eso

(lo del load balancer, lo del proxy si, tenés razón, es un caso muy parecido al PAT)

alto, lo del load balancer fue lo que no entendi, lo del proxy si lo entendí y estoy de acuerdo

Caro Aguilar

Que algunos load balancers funcionan como un proxy, no todos pero si se da el caso

ah, ok ok, entiendo

si, en ese caso también sería un problema

pero solo quiere evitar DoS ?