Eu não - mas esse sou eu.
Depende do que está à sua frente (por exemplo, firewalls, balanceadores de carga, etc.) e quão "restritos" são, quais são os dados reais (ou seja, agora impactam dados disponíveis publicamente em uma extremidade, segredos nacionais na outra) , se há algum impacto no desempenho ao combiná-los, a força da rede entre eles (por exemplo, firewalls entre camadas) e a qualidade do fortalecimento do OS / aplicativo que será aplicado.
Se você não espera que este sistema tenha que lidar com muita carga, uma coisa que você poderia considerar seria virtualizar o sistema em duas VMs separadas; uma por função - possivelmente com uma terceira VM de firewall somente de software entre elas. Isso significa que, mesmo que alguém quebre o servidor da Web, ele precisará quebrar o servidor do banco de dados e, se incluído, uma VM de firewall intermediária. É claro que isso reduziria o desempenho geral do sistema, mas seria pelo menos até certo ponto mais seguro e também poderia ajudar se sua carga aumentasse para exigir um design de dois servidores, pois você poderia simplesmente mover uma VM para a segunda máquina. O produto ESXi gratuito do VMWare pode fazer isso com bastante facilidade e já existem VMs de firewall gratuitas pré-empacotadas prontas para implementação, se você quiser.