Ich stimme Daniel Earwicker zu - die Sicherheitsfrage ist ziemlich fehlerhaft.
Wenn Sie ein Single-Box-Setup mit einem Webserver und nur der Datenbank für diesen Webserver haben, verlieren Sie sowohl den Webserver als auch nur die Datenbank für diese bestimmte Anwendung, wenn dieser Webserver kompromittiert ist.
Dies ist genau das Gleiche wie wenn Sie den Webserver bei einem 2-Server-Setup verlieren. Sie verlieren den Webserver und nur die Datenbank für diese bestimmte Anwendung.
Das Argument, dass bei einem Setup mit zwei Servern der Rest der Integrität des DB-Servers erhalten bleibt, ist irrelevant, da im ersten Szenario auch jeder andere Datenbankserver, der sich auf jede andere Anwendung bezieht (falls vorhanden), nicht betroffen ist - so wie sie sind, woanders gehostet werden.
Ähnlich wie bei der Frage von Kev: Was ist mit all den anderen Datenbanken, die sich auf dem DB-Server befinden? Sie haben nur eine Datenbank verloren. '
- Wenn Sie eine Anwendung und eine Datenbank auf einem Server hosten würden, würden Sie nur Datenbanken auf diesem Server hosten, die sich auf diese Anwendung beziehen. Daher würden Sie in einem einzelnen Server-Setup im Vergleich zu einem Setup mit mehreren Servern keine zusätzlichen Datenbanken verlieren.
Im Gegensatz dazu könnten in einem 2-Server-Setup, in dem der Angreifer Zugriff auf den Webserver hatte und durch Proxy eingeschränkte Rechte (im besten Fall) auf den Datenbankserver, die Datenbanken jeder anderen Anwendung durch das Tragen gefährdet werden langsame, speicherintensive Abfragen oder Maximierung des verfügbaren Speicherplatzes auf dem Datenbankserver. Indem Sie die Anwendungen ähnlich wie bei der Virtualisierung in ihre eigenen Belange aufteilen, isolieren Sie sie auch aus Sicherheitsgründen auf positive Weise.