мне понадобится SSL на сервере A и сервере B для обработки запроса cURL, или я просто должен иметь его на сервере B? - PullRequest
0 голосов
/ 21 января 2012

Мне нужно сделать запрос CURL с Сервер A на Сервер B .

Некоторая конфиденциальная информация будет проанализирована с Сервера A , которую мне нужно защитить.

Проблема в том, что Сервер A будет МНОГИМ различными серверами: Это будет реализовано в проекте, аналогичном WordPress, где пользователи загружают программное обеспечение и устанавливают его в свои домены (на каком бы сервере ни находился домен пользователей, это будет Сервер A ). Поэтому я надеюсь, что мне не нужно иметь SSL на сервере A , потому что это будет означать, что я должен заставить своих пользователей покупать SSL-сертификат.

Итак, понадобится ли мне SSL с обеих сторон при отправке конфиденциальной информации в запросе CURL, или мне просто не нужно иметь ее на сервере B , при этом она по-прежнему безопасна?

Добро пожаловать на любые альтернативные предложения тоже. :)

Ответы [ 3 ]

2 голосов
/ 21 января 2012

Что касается соединения от Сервер A до Сервер B , Сервер A не сервер , это клиент .Вам нужно, чтобы cURL был скомпилирован с библиотеками SSL / TLS для поддержки соединений HTTPS, но cURL (или любой другой, использующий libcurl) будет вести себя как клиент.

Я подозреваю, что большинство установок cURL в настоящее время скомпилированы с OpenSSL илиLibNSS.Предположительно, вы можете ссылаться на cURL через PHP, и в этом случае вы сможете проверить это в phpinfo.(Простая попытка установить соединение с URL-адресом https может также дать вам указание: если вы получаете сообщение об ошибке «это не скомпилировано с поддержкой SSL», возможно, вам придется обновить установку PHP / cURL.)

На стороне клиента может потребоваться настроить сертификаты CA, которым вы готовы доверять (как и для любого HTTPS-соединения).cURL в качестве параметров для установки файла CA / пути CA.

Кроме того, хотя нет строгих требований для включения HTTPS на Сервер A (клиент), вы можете рассмотретьэто зависит от того, отображается ли какая-либо конфиденциальная информация, полученная с сервера B на странице, обслуживаемой сервером A .Требуется ли это на самом деле, зависит от того, что вы делаете с этой информацией.(Обратите внимание, что в этом случае включение SSL на сервере A будет практически полностью отделено от настройки клиента.)

1 голос
/ 21 января 2012

SSL не "на" сервере;это способ безопасного соединения между серверами.Вам понадобится сертификат SSL на одном из них (в этом случае сервер B будет иметь сертификат).Затем сервер A будет просто использовать SSL-клиент / SSL-соединение с сервером B для передачи информации.В зависимости от настройки, соединение SSL может быть легко выполнено с помощью встроенных инструментов (таких как CURL или PHP, или почти все остальное позволит открыть соединение SSL)

1 голос
/ 21 января 2012

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

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

Сервер A -> Шифрование данных -> Отправка на сервер B -> Получение зашифрованных данных на сервере B -> Сервер B расшифровывает данные

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