Confluence のセキュリティの概要とアドバイザリ
このドキュメントは、Confluence Web アプリケーションのセキュリティを評価するシステム管理者向けです。このページでは、全体的なアプリケーションセキュリティについて説明しています。また、Confluence 向けに発行されたセキュリティ勧告のリストもあります。一般向けの Web アプリケーションとして、Confluence のアプリケーションレベルのセキュリティは重要です。このドキュメントでは、弊社の製品のセキュリティに関してお客様からの問い合わせで一般的によくある質問に答えています。
お探しのその他のトピック
- ユーザー管理、グループと権限について詳細は、「内部セキュリティの概要」を参照してください。
- Confluence サイトのセキュリティの設定に関するガイドラインについては、管理者ガイドの Confluence セキュリティの設定を参照してください。
アプリケーションセキュリティ概要
パスワードの保存
Confluence の内部ユーザー管理が使用されている場合は、バージョン 3.5 以降の Confluence のパスワードはデータベースに保存される前に Embedded Crowd が提供するソルト付き PKCS5S2 実装によりハッシュされます。Confluence 内にはユーザーのパスワードを取得するメカニズムはありません。パスワードの復元が実行される場合、パスワードのリセット リンクが生成され、ユーザーの登録アドレスにメールされます。
外部ユーザー管理が有効になっている場合、パスワードの保存は外部システムが代行します。
On this page:
バッファーオバーフロー
Confluence は固有のコンポーネントがない 100% 純粋な Java アプリケーションです。このため、バッファーオーバーフロー脆弱性に対して強い耐性を持っています。起こり得るバッファーオーバーランはJava ランタイム環境自体にあるバグに限定されます。
SQL インジェクション
Confluence は Hibernate オブジェクト関係マッパーを介してデータベースと対話します。データベースクエリは、文字列連結ではなく、パラメーターを置換する標準の API を使用して生成されます。このため、Confluence は SQL インジェクション攻撃に強い耐性があります。
スクリプトインジェクション
Confluence は自己完結型の Java アプリケーションで、外部プロセスを起動しません。 このため、スクリプトインジェクション攻撃に対して強い耐性があります。
クロスサイトスクリプティング
ユーザー生成のコンテンツを Web 上に投稿できるコンテンツ管理システムとして、クロスサイトスクリプティング攻撃を防止するために、アプリケーション内で次の予防措置が取られてきました。
- Confluence の Wiki マークアップ言語では危険な HTML マークアップはサポートされていません。
- 未加工の HTML の挿入を許可するマクロは既定で無効化されています。
- ファイル添付としてアップロードされた HTMLは、ファイルのダウンロードが要求されると、インラインで表示されずに、コンテンツ タイプで提供されます。
- アプリケーションを HTML レベルでカスタマイズできるのは、システム管理者のみです。
クロスサイトスクリプティング脆弱性が Confluence Web アプリケーションで見つかった場合、可能な限り迅速にその脆弱性の修正に努めます。
トランスポート層のセキュリティ
Confluence は SSL/TLS を直接的にサポートしていません。トランスポート層のセキュリティを心配している管理者は、Java Web アプリケーションサーバーのレベルで SSL/TLS を設定するか、HTTP プロキシを Confluence アプリケーションの前に配置してください。
SSL を使用できるように Confluence を設定する方法の詳細は、「SSL または HTTPS による Confluence の実行」を参照してください。
セッション管理
Confluence はセッション管理をデプロイされた Java アプリケーションサーバーに代行させます。Confluence に同梱されている Tomcat アプリケーションサーバーに対して実行可能なセッションハイジャック攻撃は確認されていません。他のアプリケーションサーバーに Confluence をデプロイしている場合、セッションハイジャックに対して脆弱性がないことを確認する必要があります。
プラグインのセキュリティ
管理者はサードパーティ製のプラグインを自己責任でインストールします。プラグインは、Confluence サーバーと同じ仮想マシンで実行され、Java ランタイム環境や、Confluence サーバー API にアクセスできます。
管理者は、インストールするプラグインの供給元と、プラグインが信頼できるかどうかについて常に意識すべきです。
管理者信頼モデル
Confluence では、システム管理者権限が与えられているユーザーは信頼できるという想定の下にプログラムが記述されています。システム管理者は、直接、またはプラグインをインストールすることによって、Confluence アプリケーションで可能なあらゆる操作を実行できます。
あらゆるアプリケーションと同様、root / 管理者ユーザーとして Confluence を実行しないことをおすすえします。権限が必要なネットワーク ポートを Confluence でリッスンしたい場合、権限を追加して Confluence を実行するのではなく、ポート フォワーディングまたはプロキシを設定することを推奨します。chroot
jail 内での Confluence の実行もご検討ください。
スタックトレース
問題のデバッグに役立つよう、Confluence はエラーが発生すると Web インターフェイスを介してスタック トレースを提供します。これらのスタックトレースには、Confluence がエラー発生時に実行していた内容に関する情報と、ご使用のデプロイメントサーバーに関する一部の情報が含まれます。
これには、オペレーティングシステム、バージョン、Java のバージョンなどの情報が含まれます。適切なネットワークセキュリティでは、これは危険と見なされるのに十分な情報ではありません。現在のユーザーのユーザー名を含めることができます。
スレッドダンプには、デフォルトでユーザー名と URL が含まれます。この追加の診断情報を含めない場合は、スレッド診断を無効にすることができます。
セキュリティ脆弱性の発見と報告
アトラシアンでは、セキュリティ脆弱性を報告する方法について詳細を「セキュリティ問題を報告する方法」に記載しています。
Confluence セキュリティ勧告の公開
アトラシアンでは、セキュリティ勧告のリリース方法について詳細を「セキュリティ勧告公開ポリシー」に記載しています。
セキュリティレベル
アトラシアンでは、セキュリティ問題のランク付け方法について詳細を「セキュリティ問題の重大度」に記載しています。
セキュリティバグ修正ポリシー
セキュリティ問題のパッチのリリース方法について、詳細は「セキュリティバグ修正ポリシー」に記載されています。