Как обезопасить сервисы WFS?

13

В настоящее время мне поручено найти способ развертывания служб WFS на нескольких клиентах. Эти сервисы могут использоваться как программным обеспечением ГИС для настольных компьютеров, например, MapInfo / ArcGIS, так и решениями Web GIS.

Возможно ли для службы WFS определить, например, имя пользователя / пароль или токен для передачи для проверки прав доступа? (безопасность на высшем уровне не требуется)

Я искал в спецификации OGC WFS, но я не могу найти какую-либо соответствующую информацию по этому вопросу.

user2847
источник
1
Должен быть установлен на уровне сервера / домена. Обратный прокси-сервер также можно использовать для защиты важных серверов и служб - en.wikipedia.org/wiki/Reverse_proxy
Mapperz
Также смотрите ответы здесь: gis.stackexchange.com/questions/5686/…
mwalker

Ответы:

11

WFS не имеет безопасности как часть стандарта, но вы можете использовать HTTPS без проблем. Спецификация реализации OpenGIS Web Feature Service (WFS) (04-094) [с. 6.3.4] говорит:

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

Поэтому, по сути, все зависит от вас, чтобы реализовать любые функции HTTPS. Насколько я могу судить , Mapserver может справиться с HTTPS , но я никогда не пробовал. На самом деле мне было бы очень интересно посмотреть, что вы придумали.

MerseyViking
источник
Спасибо за ваш ответ MerseyViking. Я вернусь и выложу обновление с моими выводами.
user2847
7

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

Первая часть - это веб-сервис, который выступает посредником между WFS и пользователем. Этот веб-сервис будет управлять доступом пользователей к слоям WFS и выполнять необходимые перекрестные проверки с контролем доступа Active Domain или Kerberos Authentication. Эта служба передаст серверу WFS те запросы, которые аутентифицированы и разрешены. Это веб-сервис Marshaling.

Вторая часть заключается в том, чтобы заставить сервер WFS доверять только запросам от Marshaling Service. Это функция веб-сервера, которая ограничивает IP-адреса, с которых он будет принимать подключения / запросы.

Есть услуги Marshaling там для продажи. Я лично написал свой собственный, чтобы защитить экземпляр GeoServer, чтобы он мог интегрироваться в очень большой магазин Microsoft. Это позволило распределять пользователей по группам и управлять доступом к наборам данных через сервис Marshaling.

Гарантируется безопасность и не влияют на производительность связи.

Если вам нужны схемы этой инфраструктуры для более ясного понимания или имена некоторых поставщиков, сообщите мне (электронная почта). Я никак не связан с продавцами, я просто знаю их имена. Я предпочитаю писать свой;)

Это может быть хороший проект с открытым исходным кодом :) :)

OptimizePrime
источник
Абсолютно согласен, но, как и в 2018 году, никто не заботился об этом :(
Илья Евлампиев
единственно возможное решение - это защитить сервлет от gwt-openlayers-server, поставляемого с gwt-openlayers, и обеспечить в качестве защищенной базовой аутентификации от сервлета до wfs-t (но без oauth и других хороших [инструкций из мира докеризованных весенних облаков)
Илья Евлампиев