2011-12-22 2 views
3

저는 OLAP 서버에 의해 부분적으로 작동 될 공용 웹 프로젝트에 참여하고 있습니다. 입력 검증의 많은 웹 서버가 수행클라이언트 측 OLAP (예 : 클라이언트 측 MDX 생성 + xmla4js)이 보안에 좋지 않습니까?

  1. 내 초기 아이디어는 AJAX를 통해 웹 서버에 사용자의 의도의 일부 표현을 통과했다 : 나는 보안 관점에서이 일을 몇 가지 방법을 비교하고 싶어 적절한 MDX 식을 구성하여 OLAP 서버에 전달하고 마지막으로 OLAP 결과를 다시 브라우저에 프록시 처리합니다. (접두사로,이 방법은 jpivot에 의해 취해진 접근법 인 것 같습니다. 예를 들어 jpivot 예제에서 테이블로 드릴 다운하기 위해 클릭 한 것입니다. 그리고 서버로 보내지는 것은 MDX가 아니라 간단히 x-www-form-urlencoded 문자열입니다 "wcf65768426.x = 3 & wcf65768426.y = 3".)

  2. 대조적으로, xmla4js 프로젝트는 개방 방화벽 포트 또는 적어도 특정 고객에 (세계에 OLAP 서버를 노출 전제 보인다) XML/A를 통해 클라이언트 측 javascript에 MDX 쿼리를 작성하고 브라우저가 OLAP 서버에 직접 도달하게합니다.

내 직감은 두 번째 접근법에 대해 상당히 의심 스럽습니다. OLAP 서버에 대해 임의의 MDX 문을 실행하면 아무런 문제가 발생하지 않는다고 가정합니다. 나는 아직 고급 MDX 학생은 아니지만 이것이 위험이없는 제안이라는 것은 나에게 즉시 명백하지 않습니다. 적어도 누군가는 매우 비싼 쿼리를 시작하거나 사람들이 쉽게 이용할 수 있기를 바라는 것보다 더 많은 데이터 세트를 다운로드 할 수 있습니다. 이것은 사람들이 SQL 서버로 일반적으로하는 일이 아니며, 나는 OLAP 서버로도하지 말아야한다는 동일한 이유가 있다고 생각하는 경향이 있습니다.

그러나 xmla4js 뒤에있는 사람들은 미친 보안 위험이 아니라는 것을 염두에두고 사용 사례가 있다고 가정하고 싶습니다. 잠재적으로 나는 이것에 대해 너무 조심스럽게 생각할 수 있다고 생각합니다.

경험 많은 OLAP 사람들은 사람들이 OLAP 서버에 직접적으로 뛰어 드는 지혜에 대해 의견을 말하고자합니다. XML/A를 통해?

+0

관심 대상 : xmla4js는 최근 node.js에 대한 지원을 추가했습니다. tody 현재 트렁크에서만 다운로드가 진행 중입니다. 그러나이 nodejs 지원을 사용하면 XML/A 서버의 프록시 역할을하는 node.js 애플리케이션을 빌드 할 수 있습니다. 이 node.js 응용 프로그램에서 OLAP 서버로 요청을 보호하거나 제한하는 논리를 작성할 수 있습니다. –

답변

1

흥미로운 질문입니다. 물론 사용자가 웹 페이지를 해킹 할 수 있다고 생각하면 데이터 마트 (여기 OLAP 서버)에 직접 액세스 할 수있는 위험의 원천이됩니다. 이것은 xmla4js 옵션으로 사용자에게 rdbm에 직접 액세스하는 것과 매우 유사합니다.

  • 예, 확실히 매우, 매우 시간 (예를 들어 계산 된 구성원을 사용)이 소요됩니다 MDX 쿼리를 생성하는 것은 상대적으로 쉽다.

  • OLAP에서는 세분화 된 보안이 가능하므로 사용자가 세부 정보에 액세스하지 못할 수 있습니다. 사실 및 차원 보안.

옵션 1의 한 가지 문제점은 비용 (시간 및 비용)입니다. 구현에 더 많은 시간이 필요하며 기존 위젯 및 라이브러리 (예 : GVI Library)를 사용할 수 없습니다. 보안 및 해킹 대 배달 시간 대 얼마나 중요한가요?

하나의 가능한 솔루션은 '알려진'요청 만 실행되도록 허용하는 XMLA 용 http 프록시를 사용하는 것입니다. 그러나 알려진 쿼리는 무엇입니까?

일부 OLAP 서버는 MDX 요청에 의해 할당 된 스레드 수와 병렬로 실행될 수있는 요청 수를보다 잘 제어 할 수 있도록합니다.그러나 이것은 부분적으로 만 문제를 해결합니다.

정말 흥미로운 문제입니다 ... 사소하지는 않습니다. 우리에게 불운이 우리 고객 중 하나가 아닙니다 ;-)

0

이것은 OLAP에 대한 일반적인 질문이 아니라 개별 OLAP 서버 제품에 대한 질문 일 것입니다. 예를 들어 OLAP 서버가 보안을 염두에두고 코딩되었고 읽기 전용, 관리자가 아닌 계정에 대한 지원을하고 너무 오래 걸리는 쿼리 시간이 초과 될 수 있다면 해당 서버를 공개적으로 노출하는 것이 유리할 수 있습니다 반대의 경우보다

불행히도 OLAP 공급 업체는 이에 대한 명시적인 지침을 제공하지 않는 것 같습니다. 예를 들어 the info you need은 익명 액세스를 위해 Sql Server Analysis Services를 설정하는 것이 비교적 쉽지만 공개 인터넷에 대한 익명 SSAS XML/A 액세스가 얼마나 위험한 지에 대한 Microsoft의 명시적인 성명을 찾는 것이 더 어렵습니다.