- ホーム
- Docs
- インストールと設定
- エンタープライズ
- Docker バージョン
- CSPを使用したプラグインの操作
CSPを使用したプラグインの操作
はじめに
コンテンツセキュリティポリシー(CSP)は、クロスサイトスクリプティング(XSS)攻撃などの脅威を防ぐためのセキュリティ標準です。CSPが有効な場合、承認されたソースからのみコンテンツを読み込むことができます。特に、明示的に許可されていないサードパーティのドメインへのリクエストを禁止します。
あなたのウェブソリューションに統合されたONLYOFFICE Docs(エンタープライズ版またはデベロッパー版)を使用していて、ウェブサーバーでCSPを有効にして安全性を向上させている場合、CSPのデフォルト設定が問題を引き起こす可能性があります。ONLYOFFICEオンラインエディターには、サードパーティのリソースを使用し、サードパーティのドメインにリクエストを行うプラグインがいくつか含まれています。例えば、YouTubeプラグインです。CSPはサードパーティのドメインへのリクエストを禁止するため、プラグインが正しく動作しない原因となります。例えば、YouTube動画の読み込みがブロックされることがあります。
許可されたソースのリストにサードパーティドメインを追加する
プラグインを正しく動作させるためには、特定のドメインへのリクエストを許可する必要があります(完全なドメインのリストは以下にあります)。これは、CSPを有効にするHTTPヘッダーを変更することで行うことができます。使用するソリューションによって、このヘッダーは異なるファイルに存在することがあります。この指示は基本的な原則を説明しており、個別のケースを示すものではありません。ヘッダーは次のようになります:
Header set Content-Security-Policy "default-src 'self'; script-src 'self'; connect-src 'self'; img-src 'self'; style-src 'self';" この文字列には、スクリプト、スタイルシート、フォント、画像、HTML5<audio>または<video>要素など、さまざまなタイプのコンテンツの許可されたソースを指定するディレクティブが含まれています。
default-srcディレクティブは、特定のリソースタイプに対するディレクティブが指定されていない場合に適用されます。
‘self’は、現在のドメインからのみコンテンツを読み込むことができることを意味します。
信頼できるドメインの値を追加してdefault-srcディレクティブを編集する必要があります:
default-src 'self' *.trusted1.com *.trusted2.com これにより、指定された信頼できるドメイン*.trusted1.comおよび*.trusted2.comとそのサブドメインからのコンテンツの読み込みが許可されます。
サードパーティドメインリスト
以下のプラグインはサードパーティのドメインにリクエストを行います:
| プラグイン | ドメイン |
|---|---|
clipart | https://openclipart.org |
speech | https://code.responsivevoice.org |
youtube | https://www.youtube.com |
thesaurus | https://words.bighugelabs.com |
translate | https://translate.yandex.net |
ocr | https://cdn.rawgit.com |
上記のプラグインのうち、ONLYOFFICEオンラインエディターにデフォルトで含まれているのは、ocr、speech、thesaurus、translate、youtubeです。
clipartプラグインはオンラインエディターには含まれていませんが、https://github.com/ONLYOFFICE/sdkjs-pluginsで利用可能で、手動でエディターに追加することができます。
すべての指定されたドメインを許可されたソースのリストに追加するには、HTTPヘッダーは次のようになります:
Header set Content-Security-Policy "default-src 'self' *openclipart.org *code.responsivevoice.org *www.youtube.com *words.bighugelabs.com *translate.yandex.net *cdn.rawgit.com; script-src 'self'; connect-src 'self'; img-src 'self'; style-src 'self';" wordpressおよびeasybibプラグインを有効にした場合は、*wordpress.comおよび*easybib.comドメインも指定する必要があります。