Архитектура безопасности для php-сайта, отправляющего REST-запросы в службу WCF на localhost - PullRequest
0 голосов
/ 28 апреля 2019

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

В этом случае веб-сервер PHP выступает в роли клиента и использует службу WCF, которая выступает в качестве сервера.

В данный момент PHP отправляет запрос POST с помощью curl на IP-адрес и номер порта (например, 1.2.3.4:5) и получает ответ. Однако любой может отправить то же сообщение на этот IP-адрес, а также получить ответ. Мне нужен какой-то способ проверить, что запрос POST пришел с веб-сервера PHP, а не кто-либо другой. Фактическое сообщение не содержит никакой конфиденциальной информации, поэтому шифрование не требуется, хотя я планирую добавить это в какой-то момент.

Я подумал, что это можно будет сделать с помощью SSL, так как веб-сервер имеет сертификат и POST-данные через https (https://1.2.3.4:5).). Я прочитал на веб-страницах, хотя это работает, только если У localhost также есть доверенный сертификат, поэтому я попытался создать его вручную с помощью MKCERT, но я не уверен, что сертификат на веб-сервере ему будет доверять.

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

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

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

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