Confluence のセキュリティの概要とアドバイザリ
このドキュメントは、Confluence Web アプリのセキュリティを評価するシステム管理者向けです。このページでは、アプリのセキュリティ全般について説明しています。一般向けの Web アプリとして、Confluence のアプリレベルのセキュリティは重要です。このドキュメントでは、弊社の製品のセキュリティについてお客様からお問い合わせいただく際によくある質問への回答を説明しています。
お探しのその他のトピック
- ユーザー管理、グループ、および権限については、「内部セキュリティの概要」を参照してください。
- Confluence サイトのセキュリティの設定に関するガイドラインについては、管理者ガイドの Confluence セキュリティの設定を参照してください。
- Confluence (およびすべての Atlassian Server 製品と Data Center 製品) を対象に発行された一般向けのセキュリティ勧告と情報については、アトラシアンのセキュリティ勧告および情報を参照してください。
共同責任モデル
アトラシアンは、セキュリティを共同責任と捉えています。当社は、Data Center のお客様に安全な製品を提供する一方で、お客様もセキュリティのベスト プラクティスを適用することを期待しています。セキュリティのベスト プラクティスを適用しないと、セキュリティ インシデントの際に製品が影響を受ける可能性が高くなります。
Use the extensive security checklist developed by the Data Center team to understand your responsibilities as a customer.
アプリケーションセキュリティ概要
パスワードの保存
Confluence の内部ユーザー管理が使用されている場合は、バージョン 3.5 以降の Confluence のパスワードはデータベースに保存される前に Embedded Crowd が提供するソルト付き PKCS5S2 実装によりハッシュされます。Confluence 内にはユーザーのパスワードを取得するメカニズムはありません。パスワードの復元が実行される場合、パスワードのリセット リンクが生成され、ユーザーの登録アドレスにメールされます。
外部ユーザー管理が有効になっている場合、パスワードの保存は外部システムが代行します。
On this page:
バッファーオバーフロー
Confluence は固有のコンポーネントがない 100% 純粋な Java アプリケーションです。このため、バッファ オーバーフローの脆弱性に対して強い耐性を持っています。起こり得るバッファ オーバーランは Java ランタイム環境自体にあるバグに限定されます。
SQL インジェクション
Confluence は Hibernate オブジェクト関係マッパーを介してデータベースと対話します。データベースクエリは、文字列連結ではなく、パラメーターを置換する標準の API を使用して生成されます。このため、Confluence は SQL インジェクション攻撃に強い耐性があります。
スクリプトインジェクション
Confluence は自己完結型の Java アプリケーションで、外部プロセスを起動しません。 このため、スクリプトインジェクション攻撃に対して強い耐性があります。
クロスサイトスクリプティング
As a content management system that allows user-generated content to be posted on the web, precautions have been taken within the application to prevent cross-site scripting attacks:
- Confluence の Wiki マークアップ言語では危険な HTML マークアップはサポートされていません。
- 未加工の HTML の挿入を許可するマクロは既定で無効化されています。
- ファイル添付としてアップロードされた HTMLは、ファイルのダウンロードが要求されると、インラインで表示されずに、コンテンツ タイプで提供されます。
- アプリケーションを HTML レベルでカスタマイズできるのは、システム管理者のみです。
クロスサイトスクリプティング脆弱性が Confluence Web アプリケーションで見つかった場合、可能な限り迅速にその脆弱性の修正に努めます。
Cross-site Request Forgery
Confluence は、ユーザーのブラウザが悪意のあるアクションを意図せずに実行するようだまされるのを防ぐために、更新リクエストに XSRF トークンを要求します。
トランスポート層のセキュリティ
Confluence は SSL/TLS を直接的にサポートしていません。トランスポート層のセキュリティを心配している管理者は、Java Web アプリケーションサーバーのレベルで SSL/TLS を設定するか、HTTP プロキシを Confluence アプリケーションの前に配置してください。
SSL を使用できるように Confluence を設定する方法の詳細は、「SSL または HTTPS による Confluence の実行」を参照してください。
セッション管理
Confluence はセッション管理をデプロイされた Java アプリケーションサーバーに代行させます。Confluence に同梱されている Tomcat アプリケーションサーバーに対して実行可能なセッションハイジャック攻撃は確認されていません。他のアプリケーションサーバーに Confluence をデプロイしている場合、セッションハイジャックに対して脆弱性がないことを確認する必要があります。
アプリのセキュリティ
Administrators install third party apps (also known as plugins) at their own risk. Apps run in the same virtual machine as the Confluence server, and have access to the Java runtime environment, and the Confluence server API.
管理者は、インストールするアプリの提供元と、アプリが信頼できるかどうかについて常に把握しておく必要があります。
管理者信頼モデル
Confluence では、システム管理者権限が与えられているユーザーは信頼できるという想定の下にプログラムが記述されています。システム管理者は、直接、またはアプリをインストールすることによって、Confluence アプリケーションで可能なあらゆる操作を実行できます。
あらゆるアプリケーションと同様、root / 管理者ユーザーとして Confluence を実行しないことをおすすえします。権限が必要なネットワーク ポートを Confluence でリッスンしたい場合、権限を追加して Confluence を実行するのではなく、ポート フォワーディングまたはプロキシを設定することを推奨します。chroot
jail 内での Confluence の実行もご検討ください。
スタックトレース
問題のデバッグに役立つよう、Confluence はエラーが発生すると Web インターフェイスを介してスタック トレースを提供します。これらのスタックトレースには、Confluence がエラー発生時に実行していた内容に関する情報と、ご使用のデプロイメントサーバーに関する一部の情報が含まれます。
これには、オペレーティングシステム、バージョン、Java のバージョンなどの情報が含まれます。適切なネットワークセキュリティでは、これは危険と見なされるのに十分な情報ではありません。現在のユーザーのユーザー名を含めることができます。
スレッドダンプには、デフォルトでユーザー名と URL が含まれます。この追加の診断情報を含めない場合は、スレッド診断を無効にすることができます。
Finding and reporting a security vulnerability
アトラシアンでは、セキュリティ脆弱性を報告する方法について詳細を「セキュリティ問題を報告する方法」に記載しています。
Publication of Confluence security advisories
アトラシアンでは、セキュリティ勧告のリリース方法について詳細を「セキュリティ勧告公開ポリシー」に記載しています。
Severity levels
アトラシアンでは、セキュリティ問題のランク付け方法について詳細を「セキュリティ問題の重大度」に記載しています。
セキュリティバグ修正ポリシー
Our approach to releasing bugfixes for security issues is detailed in our Security Bugfix Policy.
公開済みのセキュリティ勧告
現在、Atlassian Server 製品と Data Center 製品に関するすべてのセキュリティ勧告は、atlassian.com/trust/security/advisories でのみ公開されています。