Во-первых, я относительно новичок в Web API/CORS и реализации безопасности.Обеспечение доступа в Интернет для моего собственного веб-api во внутренней сети. Угроза безопасности?
Этот вопрос конкретно касается безопасности. Веб-интерфейс API содержит чрезвычайно важные данные и предоставляет клиентам возможность выполнять транзакции онлайн.
Контекст:
- У меня есть веб-API самодостаточно как службы Windows с фиксированным портом.
- Веб-интерфейс находится за межсетевым экраном/DMZ во внутренней сети.
- Веб-API (с использованием CORS) позволяет только трафик с внешнего сервера.
- Внешний сервер размещает наш веб-сайт с использованием IIS.
- Веб-API использует аутентификацию Token (привязан к IP-адресу клиента, чтобы избежать привет-подъема).
- Как внешний веб-сайт, так и внутренний веб-API заставляют использовать SSL.
Проблема:
Веб-страница делает AJAX звонки через JavaScript в Web API. Тем не менее, веб-API напрямую не подвергается воздействию Интернета.
- Что может повлиять на безопасность при установке ниже?
- Какие уязвимости я буду подвергать своей сети тоже, делая это.
- Есть ли лучший способ реализации такой настройки !?
Например
https://test.mydomain.com
Пользователь вводит в браузер и подается страницу.Ajax вызов получает сделаны
https://test.mydomain.com/api/test/action
внешних серверов маршрутов
https://test.mydomain.com/api
сообщений на внутренний серверhttps://myInternalWebAPI/api/test/action
, который не подвергается общественности.
Это отличная статья (IMO) о защите общедоступных веб-сервисов REST: http: //www.thebuzzmedia.com/design-a-secure-rest-api-no-oauth-authentication/ – EkoostikMartin
@EkoostikMartin Спасибо за эту ссылку, однако, я уже использую 95% этих практик в своем дизайне. Мой вопрос заключается в том, будет ли администратор сети комфортно переадресовывать уже защищенный трафик ajax на внутренний webapi. –
Вы действительно заблуждаетесь (хотя это не так, я думаю). Веб-серверы в DMZ должны взаимодействовать с серверами приложений вне DMZ, это неизбежно за пределами самых простых систем. Обычно это не для архитекторов программного обеспечения, о которых нужно беспокоиться, но о администраторах сети/безопасности. Например, не знаете, зачем вам HTTPS на внутреннем сервере, если вы используете аутентификацию на основе токенов на основе IP-адреса. – EkoostikMartin