Использование веб-службы для защиты базы данных - PullRequest
4 голосов
/ 11 декабря 2008

Ходят слухи, что команда моей компании скоро будет использовать веб-сервисы для всех будущих разработок приложений. Архитектура должна выглядеть примерно так:

Приложение -> Веб-сервис -> База данных

Заявленные причины этого - безопасность. Это звучит как огромная трата времени за небольшую пользу. У меня вопрос: каким образом веб-сервис делает ваши данные более безопасными, чем база данных? Я думаю, что если бы злоумышленник хотел получить все ваши данные и уже попал на сервер приложений, было бы довольно просто выяснить, как приложение получает его данные.

Пожалуйста, имейте в виду, что эти веб-сервисы были бы исключительно для данных, и имели бы небольшую, если бы была какая-либо бизнес-логика / логика проверки, а также были бы вне контроля разработчиков приложений (по крайней мере, так работали со всеми предыдущими приложениями, использовали веб-сервисы).

Ответы [ 4 ]

4 голосов
/ 11 декабря 2008

Одна важная вещь о веб-сервисах - это функциональная совместимость, позволяющая различным приложениям с разных платформ позднее использовать сервисы и данные. Ваша компания очень выиграет от этого. И вы правы в отношении безопасности, это определенно одна из веских причин использовать веб-сервис, а не предоставлять публичную конечную точку базы данных, это опасно!

Веб-сервисы обеспечивают доступность ваших данных. Например, ваши данные могут быть доступны в браузере с помощью javascript. Нет никакого способа получить доступ к базе данных на сервере непосредственно в Javascript.

В общем, дерзайте, это правильный подход.

4 голосов
/ 11 декабря 2008

Если это правда, что в веб-службах не будет бизнес-логики или проверки, тогда добавление дополнительного уровня абстракции дает лишь ограниченную выгоду для безопасности. Я говорю ограниченный, потому что интерфейс между вашим приложением и базой данных все еще более ограничен, чем если бы они напрямую общались друг с другом.

Если вы добавите в уравнение проверку и бизнес-логику, это обеспечит значительную выгоду для безопасности, поскольку любой, кто имеет доступ к учетной записи приложения, может делать только ту базу данных, которую может выполнять приложение. Кроме того, это лучший дизайн, поскольку он уменьшает связь между вашим приложением и деталями реализации того, как данные хранятся в базе данных. Если вы хотите изменить схему базы данных, вам нужно обновить только веб-службы, а не целые приложения.

1 голос
/ 11 декабря 2008

аргумент безопасности сомнителен; аутентификация в веб-сервисе ничем не отличается от аутентификации в базе данных

есть законные причины для переноса операций с БД в веб-сервисы и SOA в целом, но безопасность не входит в их число

0 голосов
/ 11 декабря 2008

Если вы используете веб-сервис, надеюсь, вы также будете использовать какую-то очередь при отправке данных в базу данных. Если вы используете веб-сервис и комбинированную очередь, то безопасность вступает в силу с меньшей вероятностью потери данных. Если у вас нет комбо-службы веб-службы и очереди, если вы отправляете данные в базу данных, и они никогда не попадают туда, у вас не осталось ни одного отправителя, он просто исчезает.

Вы правы, хотя, если кто-то хочет взломать вашу систему, веб-сервис не поможет, если что-то может ухудшить ситуацию, если вы сделаете веб-сервис общедоступным, и они найдут имя вашего веб-сервиса, потому что тогда они могут просто запросить вашу БД используя веб-сервис и любые функции безопасности на ваших серверах, вы будете думать, что информацию получают именно ваши приложения.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...