不正アクセスからWMSを保護しますか?


21

プロジェクトで、顧客はWMSの画像を不正アクセスから保護することを望んでいます。

それを実現する一般的なソリューションは何ですか?

OGC規格と互換性がありますか?

回答:


17

OGC仕様では、httpの使用のみが義務付けられています。httpに準拠している場合は問題ありません。

いくつかの可能な方法:

  • HTTP基本認証(パスワードはプレーンテキストとして送信され、クライアントサポートが制限される場合があります)
  • HTTPダイジェスト認証(より安全で、クライアントサポートが制限されている場合があります)
  • クライアントのフィルターIPアドレス(実装は簡単ですが、特に安全ではありません)。
  • 秘密のURL。GUIDを使用して、推測できないURLを生成します。クライアントがURLを秘密にしておくと仮定します。ユーザーがパスワードを入力するよりもはるかに簡単に使用できます。クライアントサポートの保証。

11

2005年のこのOGCの投稿によると:

OGC WMS / WFS / WCSインターフェイス仕様の一部である特定のセキュリティの側面はありません。代わりに、セキュリティと認証は、処理スタックの別のレイヤーで最適に処理されます。


4

あいまいさによるセキュリティが目的に十分であれば、レイヤーのfalse extendを構成できます。

地球の反対側の座標を使用してください。レイヤーは引き続きレイヤーリストに表示され、リクエストは可能ですが、ユーザーがGISソフトウェアでレイヤーを選択して[レイヤーにズーム]を選択すると、何も表示されず、このレイヤーは単に空であるか、作業。レイヤーの正しい拡張を知っているアプリケーションは、引き続きアクセスできるはずです。

このソリューションが一部のWMSサイトに適用されているのを既に見てきましたが、サーバーが誤った拡張を返すため、OGC標準に完全に準拠していない可能性があります。


3

ユーザーがVPNで保護されたHTTP経由でWMSに接続するように要求できます。IPネットワークのレベルにセキュリティレイヤーを配置しますが、確かに複雑さが増します。



2

次のものがあると仮定します。

列と列を含むapi_keysテーブルを作成できます。次に、クエリ文字列パラメータを追加します。tileindexのMapfile(例を参照)は、次のように構成されます。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_tokenし、md5ハッシュに設定expires_atし、将来のある時点まで列を更新し続けます。

または、WMS / OWS認証を処理し、承認されたユーザーを内部Mapserverにプロキシする別のフレームワークにトラフィックをプロキシできます。mapserver-usersメーリングリストへの投稿から取得したリストを次に示します。これは、他の人がこの質問に回答した内容の拡張/要約リストです。

Geoserverを使用することに決めた場合は、AuthKeyモジュールをご覧ください


弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.