セキュリティの考慮事項

マスターパスワードが入力されると、APIは、Firefoxがどのように機能するかに似た認証データベースで認証のconfigsにアクセスするために開いています。しかし、初期の実装では、PyQGISアクセスに対しては壁が定義されていません。これは、ユーザーのダウンロードの問題につながる可能性/悪意のあるPyQGISプラグインまたは認証証明書へのアクセスを獲得するスタンドアロンアプリケーションをインストールします。

機能の最初のリリースのための迅速な解決策は、単に認証システムのための最もPyQGISバインディングを含めないことです。

Another simple, though not robust, fix is to add a combobox in Settings ‣ Options ‣ Authentication (defaults to “never”):

"Allow Python access to authentication system"
Choices: [ confirm once per session | always confirm | always allow | never]

このようなオプションの設定は、例えば、認証データベースのPythonへの非アクセスできる場所に保存し、マスターパスワードで暗号化する必要があろう。

  • 別のオプションは、ユーザーが特に持っているプラ​​グインを追跡することであってもよいです

  • 実際に電話をかけるされているプラ​​グインを推測するのが難しいかもしれないが、認証システムへのアクセスを許可します。

  • おそらく、自分の仮想環境でプラグインを、サンドボックス、許可されている別のプラグインから認証コンフィグの「クロス・プラグイン」ハッキングを低減するであろう。これは多分にのみ、サードパーティのプラグインとの間に、同様のクロスプラグインの通信を制限する意味するかもしれません。

  • もう一つの良い解決策を吟味プラグインの作者にコード署名証明書を発行することです。そして、ロード時にプラグインの証明書を検証。必要であればユーザーは、直接既存の証明書の管理ダイアログを使用してプラグインに関連付けられた証明書を信頼されていないポリシーを設定することができます。

  • また、Pythonのよりセンシティブ認証システムのデータへのアクセス

  • メインアプリの分野では、マスターパスワードと認証の設定負荷を維持しながら、認証の設定を持っているリソースで動作するようにプラグインを可能にする、許可されていない、とQGISコアウィジェットの使用のみ、または認証システム統合を複製することがない可能性があります。

単にPythonのと同じように削除するバインディング機能がないため、アクセスを制限することが困難になりますけれども、同じセキュリティ上の問題は、C ++のプラグインに適用されます。

制限事項

OpenSSLのに関連した混乱 `ライセンスやexporting`_問題が適用されます。QtはSSL証明書を使用して動作するためには、OpenSSLライブラリにアクセスする必要があります。Qtのがコンパイルされたかに応じて、デフォルトでは(輸出制限を回避するために)実行時に動的にOpenSSLのLIBSにリンクすることです。

QCAはQCA-OSSL(OpenSSLの)プラグインが実行時にロードされるためQCAにリンクすることは、何の制限を招きないことにより、同様の戦術を、次の。QCA-OSSLプラグインは、直接のOpenSSL LIBSにリンクされています。パッケージャは、彼らがプラグインを出荷する場合は、任意のOpenSSLの-リンクの制約が満たされていることを確認する必要なものだろう。多分。私は本当に知りません。私は弁護士ではありませんよ。

QCA-ossl``が実行時に見つからない場合、 ``認証システムは安全に自身を無効にします。