Как отправить безопасный запрос на уровень данных над брандмауэром

StackOverflow https://stackoverflow.com/questions/3627797

Вопрос

Меня попросили заполнить файл Flash с некоторыми данными из базы данных. Я сказал: «Отлично, я напишу немного PHP, который разговаривает с базой данных и выводит XML. SWF может вызвать этот файл».

Затем мой босс сказал мне, что это решение не сделало бы порезовать, и мне придется найти более безопасный способ сделать это. Фу!

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

У меня есть схемы, что я пытаюсь сделать, чтобы сделать это очень понятно:http://twitpic.com/2kj0tk.

Вот мои вопросы:

  1. Это решение соответствует лучшей практике в отрасли?
  2. Это будет работать?
  3. Какой код мне нужно написать в каждом уровне, чтобы установить безопасное соединение и передавать данные над этим брандмауэром? Я думал, что, возможно, я мог бы использовать завиток, но я не знаю, будет ли это через брандмауэр. Кто-нибудь возражал в сознании того, как они решат это, с образцами кода, если это возможно?
  4. Это может поработать, что в конечном итоге приходится писать решение в .NET. Как бы это изменило мой подход? 4.
  5. Что, если таковая имеется, другая информация вам нужна от меня, чтобы помочь решить эту проблему?

Спасибо ребята!

Это было полезно?

Решение

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

Ваш средний уровень бежит за вашим «основным» брандмауэром (здесь можно различить уровни, но у самых простых, но это брандмауэр, который находится между вашей сетью и Интернетом).

Ваши веб-серверы сидят в DMZ с этого «фронта» брандмауэра, чтобы весь трафик / из них (в том числе из Интернета) должен пройти через этот передний брандмауэр.

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

Мой вопрос к моему боссу будет «почему оригинальное решение плохое представление?». Они хотят, чтобы данные зашифрованы по внутренней сети? Или это просто веб-серверы -> DB Server Connection Service (который я согласен с)?

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top