Possibly basic question from a developer, not a security expert.
AFAIK, a very common setup for web sites is to have 1 or more web servers behind a firewall and load balancer, with the web servers sending requests to a database server via an internal network (not accessible from the outside world).
I have now been told by a security consultant that this is not secure, because if a hacker gains access to a web server, they could then somehow send requests to the database server.
They recommend having an additional server between the web servers and the database server, where the web servers send requests to the additional server, which are then passed on to the database server. The database server would only take requests from the additional server, not from the web servers.
I'm a bit confused why this additional server is needed to make the system secure. Seeing that the web servers need to access the database to serve HTTP requests, how does having the additional server make a difference?