Eu não faria isso - mas sou eu.
Depende do que está na frente de sua caixa (por exemplo, firewalls, balanceadores de carga etc.) e de quão "apertados" eles são, quais são os dados reais (ou seja, dados públicos atualmente disponíveis em um fim, segredos nacionais em o outro), se há algum impacto no desempenho em combiná-los, a força da rede entre ambos (isto é, firewalls entre camadas) e a qualidade do endurecimento do sistema operacional / aplicativo que será aplicado.
Se você não espera que esse sistema tenha que lidar com muita carga, uma coisa que você poderia considerar seria virtualizar o sistema em duas VMs separadas; um por função - possivelmente com uma terceira VM de firewall somente de software entre eles. Isso significaria que, mesmo que alguém invadisse seu servidor da Web, ele teria que invadir o servidor de banco de dados e, se incluído, uma VM de firewall intermediário. É 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 crescesse exigindo um design de dois servidores, já que você poderia simplesmente mover uma VM para a segunda máquina. O produto ESXi gratuito da VMWare pode fazer tudo isso com bastante facilidade e já existem VMs de firewall livres pré-prontas para implementação, se você quiser.