3 ms·
That's in some sense a "Swiss cheese security model". It's not that databases should, in principle, never be directly exposed. It's that they rarely are designe
by TeMPOraL 2y ago
That's in some sense a "Swiss cheese security model". It's not that databases should, in principle, never be directly exposed. It's that they rarely are designed for it security-wise[0]; meanwhile, adding whatever complex assembly of containers and applications written in random languages and frameworks, to sit between users and the database, introduces a swamp of better-secured systems that attackers also needs to get through. The more cruft you pile on, the more annoying it gets for attackers and users alike.
In fact, there are many benefits of directly exposed databases - many of which would remove the need for applications normally sitting on top of those databases, which are strictly inferior and less ergonomic and overall more shitty than a generic database browsing interface. But that's another reason for why things are the way they are: people wanna make money, and having your application be a toll booth between useful data you own and the rest of the world, is tried and true way of making money.
--
[0] - Because they're not normally exposed, because they're not designed for it, because... it's a self-reinforcing loop.