Использование веб-службы для защиты базы данных

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

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

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

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

11.12.2008 19:44:38
4 ОТВЕТА
РЕШЕНИЕ

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

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

4
11.12.2008 20:02:16

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

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

0
11.12.2008 19:48:31
в своем посте вы ничего не сказали о транзакции с базой данных. мой пост правильный, если вы используете веб-сервис с очередью. Я не вижу причин для отрицательного ответа только потому, что вам не нравится ответ.
Ironsides 11.12.2008 20:15:11

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

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

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

4
11.12.2008 20:01:22
Хотите уточнить, насколько безопаснее веб-сервис?
justin 11.12.2008 20:34:45
если вы выставите базу данных с необработанным потоком и публичным IP: портом, как вы думаете, что хакеры с ней сделают?
Ray Lu 11.12.2008 21:52:22
Никто ничего не сказал о том, что база данных может быть представлена ​​в виде необработанного потока и публичного IP: порта. Фактически предложенная выше архитектура показывает, что даже веб-сервис будет полностью отключен от Интернета.
justin 11.12.2008 21:59:27

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

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

1
11.12.2008 20:05:21