Является ли OLAP на стороне клиента (например, конструкция MDX на стороне клиента плюс xmla4js) вредной для безопасности? - PullRequest
3 голосов
/ 22 декабря 2011

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

  1. Моя первоначальная идея состояла в том, чтобы передать некоторое представление намерения пользователя на веб-сервер через AJAX, сделать так, чтобы веб-сервер выполнял много проверок ввода, и создать соответствующее выражение MDX для передачи на сервер OLAP и, наконец, прокси-сервер. результаты OLAP возвращаются в браузер. (Тангенциально, это, кажется, подход, принятый jpivot ; например, я просто щелкнул, чтобы развернуть таблицу в примере jpivot, и то, что было отправлено на сервер, было не MDX, а просто x- www-form-urlencoded string "wcf65768426.x = 3 & wcf65768426.y = 3".)

  2. В отличие от этого, проект xmla4js , похоже, основан на открытии порта брандмауэра и демонстрации вашего OLAP-сервера миру (или, по крайней мере, вашим конкретным клиентам) через XML / A, написание MDX запросы в клиентском javascript, и браузер напрямую подключается к серверу OLAP.

Моя внутренняя реакция заключается в том, что я довольно подозрительно отношусь ко второму подходу. Кажется, предполагается, что ничего плохого не произойдет, если кто-то выполнит произвольные операторы MDX на моем OLAP-сервере. Я еще не изучал особенно продвинутый MDX, но для меня не сразу очевидно, что это безрисковое предложение. По крайней мере, кто-то может запустить несколько очень дорогих запросов или загрузить большую часть своего набора данных, чем вы надеялись легко сделать доступной для людей. Это не то, что люди обычно делают с SQL-серверами, и я изначально склонен думать, что те же самые причины предполагают, что вы не должны делать это и с OLAP-серверами.

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

Все более опытные люди OLAP хотят прокомментировать мудрость, позволяющую людям напрямую стучать на ваш сервер OLAP, например, через XML / A?

Ответы [ 2 ]

1 голос
/ 22 декабря 2011

Интересный вопрос.Конечно, если вы думаете, что ваши пользователи могут взломать ваши веб-страницы, это источник риска, предлагающий прямой доступ к вашему datamart (здесь OLAP Server).Это опция xmla4js, она очень похожа на предоставление пользователям прямого доступа к rdbm.

  • Да, конечно, относительно легко создать запрос MDX, который занимает очень много времени (например, с использованиемрассчитанные участники).

  • В OLAP возможна детальная защита, поэтому пользователи могут не иметь доступа к деталям.Безопасность фактов и измерений.

Одна проблема с вариантом 1 - это стоимость (время и деньги).Вам потребуется больше времени для реализации, и вы не сможете использовать существующие виджеты и библиотеки (например, Библиотека GVI ).Насколько важны для вас безопасность и взлом по сравнению с временем доставки?

Одним из возможных решений является использование прокси-сервера http для XMLA, позволяющего выполнять только «известные» запросы.Но что такое известный запрос?

Некоторые OLAP-серверы позволяют лучше контролировать количество потоков, выделяемых запросом MDX, и количество запросов, которые могут выполняться параллельно.Но это только частично решает проблему.

Это действительно интересная проблема ... не тривиальная.Не повезло нам, вы не один из наших клиентов; -)

0 голосов
/ 03 апреля 2012

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

К сожалению, поставщики OLAP, похоже, не дают четких указаний по этому поводу.Например, сравнительно легко найти информацию, необходимую вам для настройки Sql Server Analysis Services для анонимного доступа, но сложнее найти явное заявление от Microsoft о том, насколько опасно открывать анонимный SSAS XML /Доступ к общедоступному интернету.

...