3 ms·
How would this work for a public facing API? Or an API that serves a SPA? I'm interested in this approach
by pouta 7y ago
How would this work for a public facing API? Or an API that serves a SPA?
I'm interested in this approach
- objectified 7y agoI'm not sure I understand your question correctly, but I'm talking specifically about outbound network traffic. Your API's application servers (where such evil libraries could be deployed) should not be able to have any network connectivity towards the internet. So on that server, you should not be able to do even `curl www.google.com` for example.
- wil421 7y agoGP was asking how you would allow APIs to respond to requests if you are blocking outbound traffic. I’m assuming if you open a connection for a sync request you’d be fine. What about an async request? I’d imagine a scenario where your API needs to do some processing first, connect to another internal system, and then respond async to the outside system.
- zbentley 7y agoobjectified has it already, but to reiterate: you can block outbound traffic initiated on a host without blocking outbound traffic that is a response to externally initiated traffic. This is, for example, what haproxy, iptables, and AWS security group outbound rules do. I'm deliberately avoiding the term "connection" above because new UDP-first protocols require slightly different handling to determine who initiated what, but most routing/firewall software can deny-initiated-outbound for those protocols as well.