Лучший способ взаимодействия данных между двумя системами через сторонний брандмауэр? - PullRequest
0 голосов
/ 04 марта 2011

Я участвую в проекте, где мы в основном будем получать данные из двух или трех внутренних систем, которые находятся внутри брандмауэра школьного округа, и собирать и массировать данные для представления на веб-сайте, в который учащиеся / родители могут войти чтобы видеть только их конкретные данные. Внутренние системы предоставлены другим поставщиком программного обеспечения, с которым у нас хорошие рабочие отношения и с которым мы будем работать, чтобы предоставить нам API для данных. Мы будем получать снимок данных раз в день или около того. Школьному округу нужна наша система, но они обеспокоены безопасностью и конфиденциальностью своих внутренних данных. Мы не хотим размещать веб-приложение на их серверах (кошмар), и поэтому мы собираемся работать с «внутренним» поставщиком программного обеспечения, чтобы они предоставили нам безопасный доступ к данным через межсетевой экран района. Через несколько недель мы представим ИТ-директору округа предложение о том, как мы собираемся сделать это и обеспечить безопасность и конфиденциальность данных.

Так вот мой вопрос:

Может ли кто-то указать мне правильное направление, какие типы API обычно используются для этого типа защищенной, частной передачи данных между двумя системами (одна внутри, другая снаружи)? На данный момент поток данных будет однонаправленным (то есть мы будем только запрашивать, а не обновлять), и снимок всей базы данных один раз в день или около того может быть достаточно хорошим. Я бы предпочел, чтобы ИТ-отдел школьного округа требовал как можно меньше настроек и был бы максимально простым, но полезным. Я смотрел на SOAP, REST, SFTP, HTTPS и SSH / SOCKS, но у меня проблемы с этим. Я уверен, что есть стандартный способ сделать этот тип пакета данных, так что, если кто-то может указать мне правильное направление или предоставить какую-то перспективу, это будет очень цениться! Мой опыт в программировании и я не слишком углублялся в этот тип сетевого администрирования.

Кстати, мое приложение - Django / Python. , , но у нас большой опыт работы с Java, поэтому он должен обладать некоторой гибкостью и мощью.

1 Ответ

0 голосов
/ 06 марта 2011

Самый простой способ - использовать SFTP и сертификаты безопасности.

В источнике вы вводите в файл данные, которые вы должны передать. Вы берете этот файл и шифруете его открытым ключом сертификата.

Вы отправляете файл через SFTP.

Затем вы берете полученный зашифрованный файл, расшифровываете его своим закрытым ключом и используете его.

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

Так что самый простой способ - это передача файлов. Просто убедитесь, что соединение защищено, и что вы шифруете файл перед отправкой в ​​качестве дополнительной меры безопасности.

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