Преимущества безопасности уровня веб-службы между вашим веб-интерфейсом и базой данных в лучшем случае минимальны. Даже с сетевой инфраструктурой, предложенной Slugster, ваш злоумышленник не сможет получить доступ к веб-службам только со своего компьютера. Учитывая, что такой компромисс, скорее всего, также даст злоумышленнику некоторую форму удаленного доступа к самому веб-серверу, ограничения доступа на уровне сети совершенно бесполезны. Возможно, вам удастся предотвратить некоторые формы присоединения, но если кто-то заинтересован в получении доступа к ящику, как только он получит его, в вашей сети ничего не будет, что сможет отличить злоумышленника от легитимного пользователя.
Что еще хуже, это то, что вы застряли с дополнительным уровнем кода, который необходимо поддерживать для поддержки этого дополнительного уровня, что означает, что у вас будет больше ошибок, и для создания новых функций потребуется больше времени. .
Одним из подходов к этому было бы использование некоторых методов, описанных людьми, говорящими о CQRS в архитектурном контексте. В частности, в этой презентации Уди Дахана он однозначно предлагает разместить вашу базу данных на веб-сервере, и только для хранения данных на ней вам необходимо поддерживать веб-сайт. Другие данные, бизнес-данные, хранятся в другом месте, в отдельной базе данных. Вы также можете использовать базы данных NoSQL, такие как MongoDB или RavenDB для представления данных и вообще отказаться от реляционной базы данных.
Существует множество вариантов, и некоторые из них даже дадут вам уровень безопасности, который вы думаете , который вы получаете с вашей текущей архитектурой. Это всегда хорошая идея, чтобы придать критическое мышление таким решениям, и я нахожу отрадным, что вы задаете такие вопросы.
Удачи.