Zgadzam się z Danielem Earwickerem - pytanie zabezpieczające jest prawie błędne.
Jeśli masz konfigurację pojedynczego urządzenia z serwerem WWW i tylko bazą danych dla tego serwera WWW, jeśli ten serwer sieciowy zostanie naruszony, tracisz zarówno serwer WWW, jak i bazę danych tylko dla tej konkretnej aplikacji.
To jest dokładnie to samo, co dzieje się, jeśli stracisz serwer WWW w konfiguracji z dwoma serwerami. Utracisz serwer WWW i bazę danych dla tej konkretnej aplikacji.
Argument, że `` pozostała integralność serwera bazy danych jest zachowana '', gdy masz konfigurację z dwoma serwerami, jest nieistotny, ponieważ w pierwszym scenariuszu każdy inny serwer bazy danych powiązany z każdą inną aplikacją (jeśli istnieje) również pozostaje nienaruszony - przebywanie w obecnej postaci w innym miejscu.
Podobnie jak w przypadku pytania zadanego przez Keva: „A co ze wszystkimi innymi bazami danych znajdującymi się na serwerze DB? Straciłeś tylko jedną bazę danych.
- gdybyś hostował aplikację i bazę danych na jednym serwerze, udostępniałbyś tylko bazy danych na tym serwerze, które są powiązane z tą aplikacją. Dzięki temu nie stracisz żadnych dodatkowych baz danych w konfiguracji z jednym serwerem w porównaniu z konfiguracją z wieloma serwerami.
Z kolei w konfiguracji z dwoma serwerami, gdzie osoba atakująca miała dostęp do serwera internetowego i przez proxy, ograniczone prawa (w najlepszym przypadku) do serwera bazy danych, może narazić bazy danych każdej innej aplikacji na ryzyko, przenosząc wolne, wymagające dużej ilości pamięci zapytania lub maksymalizacja dostępnego miejsca na serwerze bazy danych. Rozdzielając aplikacje na ich własne problemy, podobnie jak w przypadku wirtualizacji, izolujesz je również ze względów bezpieczeństwa w pozytywny sposób.