Security issues with authorization extensions/ja

From MediaWiki.org
Jump to: navigation, search

MediaWikiはCMSもしくは機密情報を保護するために設計されていません。反対に、可能な限りオープンであるように設計されました。ですので、本質的にはフル機能、プライベートな内容の緻密な保護をサポートしていません。しかし、企業イントラネット内でのMediaWikiの利用数の急激な増加と多くのCMSに似た機能の統合によって、より堅牢なセキュリティが求められるようになっています。

セキュリティ拡張機能の作者を手助けするために、拡張機能をテストできるように拡張機能フィールドで見つかるセキュリティフローのこのリストが維持されています。Category:Page specific user rights extensionsにおいていくつかの拡張機能の中にはページへの読み込み/書き込み権限を要求するものがあり、現在これらの多くがリストに示されているフローのいくつかを提示してします。

[edit] セキュリティ拡張機能をテストする

読み込みもしくは書き込みアクセスを実装しようとする場合、読み込み/書き込み権限のないユーザとしてログインをして下記のテーブルのリストに示されたフローについて拡張機能を確認して下さい。コードを変更するためにシスオペとして、テストをするためにアクセス権限のないユーザとしてログインとログアウトを繰り返すのはとても面倒なので、FirefoxとInternet Explorerといったそれぞれ独自のクッキーのセットを保存する異なるブラウザ間で実行することは良いアイディアです。シスオペとして通常のブラウザでログインすることと、2番目のブラウザで"nobody"として同時にログインすることが出来ます。

[edit] 共通のセキュリティ拡張機能制限のテーブル

機能/テスト 確認内容 コメント
インクルージョン/トランスクルージョン
  • {{:protected article}}経由で保護されたページにアクセスすることが出来ますか?複数のレベルを使用する場合はどうなりますか(トランスクルージョンの範囲内でのトランスクルージョン)?
  • 編集プレビューモードでトランスクルージョンを使用してトランスクルージョンの保護を回避することが出来ますか?
これはMW 1.10、rev:19934で導入された$wgNonincludableNamespaces設定によってaddressされます。
XML エクスポート (Special:Export) 保護されたページの内容をエクスポートすることは可能か? userCanフックを使用する拡張機能のために、これはMW 1.10 rev:19935で修正されました。そのまえに、Special:Exportへのアクセスを無効にしなければなりません。
Atom/RSS フィード 記事が配信されていますか?差分もしくは全文?
2つのフィードが存在し、一つは最近の更新のための特別ページ、もう一つはページの履歴です。追加フィードは拡張機能によって提供されます。
userCanフックを使用する拡張機能のために、これはMW 1.10、rev:19944で修正されました。その前にニュースフィードを無効にしなければなりません。
リスト & 検索
  • 読み込み出来ないページがSpecial:Searchページ上でリスト表示されるか?引用が表示されるか?(bugzilla:8825もご覧下さい)
  • 読み込み出来ないページがSpecial:RecentchangesもしくはSpecial:Allpages上にリスト表示されるか?
  • 読み込み出来ないページが孤立したページなどの他の特別ページにリスト表示されるか?
userCanフックを使用する拡張機能のために、MW 1.10, rev:21821でこれが追加されました: 検索ページは読み込みできないページ(しかしタイトルをリスト表示します)から抜粋をより長く表示することが出来ます。その前に、検索はすべてのページを読むべきではないユーザのために許可してはなりません。
差分 & リビジョンリンク
  • ページの差分への直接のリンクは保護されたページからのテキストを表示するために使用できますか?リビジョンIDを操作することで保護が解除されたリビジョンと保護されたページのリビジョンの差分はどうですか?
  • 読むことが出来ないページを読むために古いバージョンへのパーマネントリンク(リビジョンリンク)を使用することが出来ますか? URLを操作することで、リビジョンIDを持つリンクがタイトルを参照するものとは異なっているものに所属していますか?
userCanフックを使用する拡張機能のために、MediaWikiの最近のバージョンでこれはOKです。
アクションリンク
  • あなたが読むことが出来ないページを読むためにaction=rawもしくはaction=renderオプションを使用することが出来ますか?
  • あなたが読むことが出来ない印刷用バージョン(printable=yes)のページにアクセスすることが出来ますか?
  • 編集ページへの直接リンクが保護されたページの内容を閲覧するために使用できますか?
userCanフックを使用する拡張機能のために、これはMediaWikiの最近のバージョンではOKです。
関連した権限
  • 読み込み権限がないユーザが新しいページを作成することを拡張機能が防止するか?
  • 読み込み権限はあるが書き込み権限のないページを移動もしくはリネームすることが出来るか?
  • 読み込み権限がないページのノートページを読むことが出来ますか?特別に許可されたのでなければ、書き込み権限がないページのノートページを書き込むことが出来ますか?
 
作者のバックドア 拡張機能の中にはアクセス制限を無視して常にオリジナルの著者のページにアクセスすることを許可するものがあります。  
キャッシング $wgEnableParserCache(デフォルトで有効)はユーザ間の記事をキャッシュします。$wgEnableSidebarCache(デフォルトでは有効ではない)はサイドバーのために同じような機能を実行します。異なるページを異なるユーザに送ることが出来る場合、このキャッシングとは互換性がないかもしれません。 匿名ユーザへの記事のキャッシングを制限することで安全性を損なうことなく多くの匿名ユーザを持つサイト(Wikipediaなど)のためにパフォーマンスの恩恵を提供することが出来ます。
ファイル & 画像
  • 関連した記事への読み込みアクセス権限にもかかわらずファイルを直接ダウンロードすることが出来ますか?
  • 関連記事への読み込み権限にかかわらず画像ファイルのサムネイルを直接ダウンロードすることが出来ますか?
  • 関連記事への書き込み権限にかかわらず画像をアップロードもしくは削除することが出来ますか?
アップロードされたファイルは通常MediaWikiではなくウェブサーバによって提供されます。拡張機能のためにアクセスを防止することは簡単に出来ません。画像のためのアクセス制限に関するインストラクションはManual:Image Authorisation/jaをご覧下さい。

読み込み保護のシステムにおいておそらくもっと多くの"ホール"があります。ですので、読み込み権限を否定することは秘密の保証よりも"ここには何もありません、立ち去って下さい"と見なされます。

言語: English  • 日本語
Personal tools
Namespaces
Variants
Actions
Site
Support
Download
Development
Communication
Print/export
Toolbox