Пожалуйста, предложите безопасный способ передачи данных с одного компьютера на другой - PullRequest
0 голосов
/ 24 декабря 2009

Я хочу, чтобы компьютер «A» отвечал за выполнение команды, а компьютер «B» отправит команду на компьютер «A». У меня есть некоторые идеи по реализации.

Way1: Компьютер "A" имеет цикл while true, чтобы прослушивать команду компьютера "B", когда она получена, она выполняется.

Way2: Использование FTP-сервера, который хранит информацию о команде. На компьютере «А» есть цикл while true, чтобы проверить, загрузил ли компьютер «B» какую-либо новую информацию о команде. если да, восстановите команду и выполните. После выполнения файл на FTP-сервере будет удален. И храните копию «А» компьютера.

Way3: это похоже на way2, но для хранения используется база данных. После выполнения команды она будет выполнена как выполненная.

Что вы предлагаете об этих трех способах? Это достаточно безопасно?

Ответы [ 6 ]

2 голосов
/ 24 декабря 2009

Общий способ: ssh и scp .

Надежная безопасная база данных: зависит от платформы: Service Broker , Oracle AQ , MQSeries .

Не очень хорошая идея: написать программу для сокетов, не зная ничего о безопасности.

1 голос
/ 24 декабря 2009

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

С помощью WCF можно добиться всего, если вы находитесь в мире Microsoft. и есть другие библиотеки, если вы находитесь в мире Linux. (например, вы можете использовать пост https).

1 голос
/ 24 декабря 2009

Из ваших примеров видно, что вы не так заинтересованы в защите от вредоносных атак и манипуляций с битами, но вам нужна надежная доставка.

Посмотрите на решение для очереди сообщений, например MSMQ .

1 голос
/ 24 декабря 2009
  • 1 не имеет ничего общего с безопасностью.
  • 2 использует FTP, а не FTPS? Любой и их бабушка и дедушка могут прослушать имя пользователя / пароль. Не используйте.
  • 3 зависит от того, насколько безопасно вы подключаетесь к базе данных - на обоих концах. Кроме того, как вы можете быть уверены, что вставлено в базу данных от вашего доверенного лица?

Что вы действительно реализуете здесь? При всем уважении, звучит так, как будто вы должны взять хотя бы вступительную книгу по информационной безопасности.

1 голос
/ 24 декабря 2009

Без подробностей все, что я могу предложить для безопасности, это использовать SSL.

Использование FTP или сервера базы данных просто добавит ненужную сложность, потенциально без получения какого-либо реального значения.

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

Боитесь ли вы подделывать? Отказ в обслуживании? Раскрытие информации? Перехват?

1 голос
/ 24 декабря 2009

Вы принимаете доверительные отношения, не давая никаких подсказок о том, как вы знаете, что полезная нагрузка с компьютера A является доброкачественной. Как вы планируете запретить компьютеру А отправлять задание с надписью «переформатировать жесткий диск после разграбления его для всех банковских счетов и паролей?

  1. АКА записывает слушатель сокета на компьютер B и позволяет компьютеру А подключаться к нему. Здесь нет безопасности.
  2. FTP просто избавляет вас от необходимости писать транспортный протокол.
  3. База данных для сохранения, а не хранилище файлов - здесь ничего нового.

Ни один из ваших вариантов не имеет никакой защиты, поэтому трудно сказать, какой из них более безопасен. FTP требует, чтобы пользователь знал URL вашего FTP-сервера и, если вы не разрешаете анонимный доступ, имя пользователя и пароль. Это делает 2 более безопасным, чем 1. 2 и 3 одинаково (не) безопасны.

Все могут работать, но все рискованно. Я не вижу здесь никакой безопасности.

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