무단 액세스로부터 WMS를 보호 하시겠습니까?


21

프로젝트에서 고객은 WMS 이미지가 무단 액세스로부터 보호되기를 원합니다.

그것을 깨닫는 일반적인 해결책은 무엇입니까?

OGC 표준과 호환됩니까?

답변:


17

OGC 사양은 http를 사용해야합니다. 호환되는 http이면 괜찮습니다.

몇 가지 가능한 방법 :

  • HTTP 기본 인증 (일반 텍스트로 전송 된 비밀번호, 클라이언트 지원이 제한 될 수 있음)
  • HTTP 다이제스트 인증 (보다 안전하고 클라이언트 지원이 제한 될 수 있음)
  • 클라이언트의 필터 IP 주소 (구현하기 쉽지만 특히 안전하지는 않음).
  • 비밀 URL. GUID 를 사용하여 추측 할 수없는 URL을 생성 하십시오 . 클라이언트가 URL을 비밀로 유지한다고 가정합니다. 사용자가 비밀번호를 입력하는 것보다 훨씬 간단합니다. 보장 된 고객 지원.

11

2005 년 이 OGC 게시물 은 다음과 같이 말합니다.

OGC WMS / WFS / WCS 인터페이스 사양의 일부인 특정 보안 측면은 없습니다. 대신 보안 및 인증은 처리 스택의 다른 계층에서 가장 잘 처리됩니다.


4

모호성을 통한 보안이 목적에 충분하면 계층에 대해 잘못된 확장을 구성 할 수 있습니다.

지구 반대편의 좌표를 사용하십시오. 레이어는 여전히 레이어 목록에 표시되며 요청은 여전히 ​​가능하지만 사용자가 GIS 소프트웨어에서 해당 레이어를 선택하고 "확대 / 축소"를 선택하면 아무 것도 표시되지 않으며이 레이어가 단순히 비어 있거나 그렇지 않다고 생각할 수 있습니다 작업. 계층의 올바른 확장을 알고있는 응용 프로그램은 여전히 ​​계층에 액세스 할 수 있어야합니다.

이미이 솔루션이 일부 WMS 사이트에 적용되는 것을 보았지만 서버가 잘못된 확장을 반환하므로 OGC 표준을 완전히 준수하지 않을 수 있습니다.


3

VPN으로 보안 된 HTTP를 통한 WMS에 사용자가 연결하도록 요구할 수 있습니다. 보안 계층을 IP 네트워크 수준에 배치하지만 복잡성을 확실히 추가합니다.



2

다음이 있다고 가정합니다.

및 열이 있는 api_keys테이블을 만들 수 있습니다 . 그런 다음 querystring 매개 변수를 추가하십시오 . tileindex ( 예제 참조 ) 에 대한 맵 파일 다음과 같이 구성됩니다.access_tokenexpires_at&api_key=my_unique_key

DATA "geom FROM (
  SELECT
   my_table.geom,
   my_table.gid,
  api_keys.access_token
  FROM my_table
  CROSS JOIN api_keys
  WHERE ST_Intersects(geom, !BOX!) and api_keys.expires_at > now()
) AS subquery USING UNIQUE gid USING SRID=4326"
FILTER "access_token = '%api_key%'
VALIDATION
  'api_key' '^[a-zA-Z0-9\_\-]{33}$'
  'default_api_key' ''
END

아이디어는 데이터베이스에 대한 사용자를 인증하여 api_keys테이블을 업데이트하고 access_tokenmd5 해시로 설정 expires_at하고 향후 일정 시점으로 열을 업데이트하는 별도의 응용 프로그램입니다 .

또는 WMS / OWS 인증을 처리하고 권한이 부여 된 사용자를 내부 맵 서버로 프록시하는 별도의 프레임 워크로 트래픽을 프록시 할 수 있습니다. 다음은 게시물에서 mapserver-users 메일 링리스트 로 얻은 목록입니다.이 목록은 다른 사람들이이 질문에 답변 한 내용의 확장 / 요약 목록입니다.

Geoserver를 사용하기로 결정한 경우 AuthKey 모듈을 살펴보십시오 .


당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.