Extension:CheckUser

This page is a translated version of the page Extension:CheckUser and the translation is 87% complete.
MediaWiki 拡張機能マニュアル
OOjs UI icon advanced-invert.svg
CheckUser
リリースの状態: 安定
CheckUser1.png
実装 特別ページ , 利用者識別 , API , フック , データベース
説明 チェックユーザー機能を使用すると、チェックユーザー権限を持つ利用者は、指定された利用者名で使用されているIPと、特定のIPで使用されている利用者名を手動で照会する必要がなくなります。
作者 Tim Starling, Aaron Schulz
最新バージョン 2.5 (continuous updates)
互換性の方針 MediaWikiとともにリリースされるスナップショット。 master には後方互換性がありません。
MediaWiki 1.27+
PHP 5.4+
データベースの変更 はい
テーブル cu_changes
cu_log_event
cu_private_event
cu_log
ライセンス GNU 一般公衆利用許諾書 2.0 以降
ダウンロード
  • $wgCheckUserGBtoollink
  • $wgCheckUserCAMultiLock
  • $wgCheckUserLogSuccessfulBotLogins
  • $wgCheckUserLogLogins
  • $wgCUPublicKey
  • $wgCheckUserCAtoollink
  • $wgCUDMaxAge
  • $wgCheckUserCIDRLimit
  • $wgCheckUserMaxBlocks
  • $wgCheckUserCommentMigrationStage
  • $wgCheckUserForceSummary
  • $wgCheckUserEnableSpecialInvestigate
  • $wgCheckUserLogAdditionalRights
  • $wgCheckUserInvestigateMaximumRowCount
  • $wgCheckUserActorMigrationStage
  • $wgCheckUserLogReasonMigrationStage
  • $wgCheckUserTemporaryAccountMaxAge
  • $wgCheckUserEventTablesMigrationStage
  • $wgCheckUserMaximumRowCount

  • checkuser
  • checkuser-log
  • investigate
Quarterly downloads 278 (Ranked 38th)
Public wikis using 4,936 (Ranked 20th)
translatewiki.net で翻訳を利用できる場合は、CheckUser 拡張機能の翻訳にご協力ください
問題点 未解決のタスク · バグを報告
このページは拡張機能そのものに関するものです。 ウィキメディア財団のチェックユーザーの方針については、m:チェックユーザーの方針を参照してください。

CheckUser (チェックユーザー) は、利用者 (checkuser 権限がある) がデータベースに対して手作業で直接クエリを実行することなく、特定の利用者名で使用されている IP と特定の IP で使用されている利用者名を確認できるようにする拡張機能です。 この拡張機能は、WikimediaのすべてのWikiで実行されています。

ダウンロード

拡張機能は、Git から直接取得できる場合があります [?]:

  • コードを参照
  • 一部の拡張機能には安定版リリースのタグがあります。
    • タグを参照
    • タグを選択します
    • 「スナップショット」をクリックします
  • 各ブランチは過去の MediaWiki リリースと関連付けられています。 最新のアルファ バージョンを含む「master」ブランチもあります (MediaWiki のアルファ バージョンが必要な場合用)。

スナップショットを展開して、MediaWiki インストレーション内の extensions/CheckUser/ ディレクトリに配置します。

git に馴染みがあり、かつサーバーにシェルでアクセスできる場合は、拡張機能を以下のようにして取得することもできます:

cd extensions/ git clone https://gerrit.wikimedia.org/r/mediawiki/extensions/CheckUser.git

インストール

拡張機能は、GNU General Public License 2.0以降でリリースされています。 ソフトウェアは現状のまま提供されます。 ウィキメディアのウィキのニーズに合わせて、または重大な脆弱性が発見された場所が更新されます。

既存のwiki

基本

  • php maintenance/update.php を実行せずに他の拡張機能をインストールした場合は、まずそれを実行してください。
  • ダウンロードして、ファイルをextensions/フォルダー内のCheckUserという名前のディレクトリ内に配置します。
  • Gitでのインストールの場合のみ、PHPの依存関係をインストールするためComposerを実行します。 (合併症の可能性についてはタスク T173141を参照。)
  • 以下のコードを LocalSettings.php の末尾に追加します:
    wfLoadExtension( 'CheckUser' );
    
  • 更新スクリプトを実行します。このスクリプトは、この拡張機能が必要とするデータベーステーブルを自動的に作成します。
  • Configure as required.
  •   完了 – ウィキの「Special:Version」に移動して、拡張機能が正しくインストールされたことを確認します。


When installing from Git, please note that this extension requires Composer .

So, after installation from Git change to the directory containing the extension e.g. "../extensions/CheckUser/" and run composer install --no-dev, or when updating: composer update --no-dev.

Alternatively as well as preferably add the line "extensions/CheckUser/composer.json" to the "composer.local.json" file in the root directory of your wiki like e.g.

{
	"extra": {
		"merge-plugin": {
			"include": [
				"extensions/CheckUser/composer.json"
			]
		}
	}
}

コマンドプロンプトへのアクセスなしでのインストール

多くのホスティングプロバイダはシェルへの直接アクセスを許可していませんが、cronジョブの作成を許可しています(例:cPanel Webインターフェイス経由)。 これらのホスティング プロバイダーでは、一時的な cron ジョブを php /path/to/install.php を実行するために使用できます (当然、/path/toinstall.php への完全なフルパスで置き換えるべきです)。 もしリモートサーバを利用しコマンドプロンプトの使用権限がない場合 (あるいはcronジョブによる解決策が自分向きではないと判断する場合)で、phpMyAdmin利用のアクセス権限はある場合は、上記の手順#2の代わりに以下の手順に従います。

  1. Choose and download the tables_generated.sql file from the CheckUser/schema folder. Navigate in to the folder of the DB you are running to find the files.
  2. phpMyAdminで、左側のmediawikiに使用しているデータベースをクリックします
  3. 次の画面で、上部にある「インポート」タブをクリックします。
  4. 「テキスト ファイルの場所」(Location of the text file) でファイルを 1 つ選択し、圧縮は「None」を選択してから一番下の「実行」ボタンをクリックします。
    ご利用の phpMyAdmin 画面にテキスト欄はあるのにテキスト ファイルの選択機能がない場合は、左欄の phpMyAdmin ロゴの下にある「SQL」ボタンを押して、新しく開いたウィンドウにある「import files」(ファイルをインポート) ボタンを押します。
  5. 2番目のファイルも同じ手順で処理します。

新しいウィキの場合

上記のステップ1に従い、その後、MediaWikiをインストールします。 MediaWikiインストーラでどの拡張期能を選ぶか尋ねられたとき、CheckUserをチェックすると自動でインストールを開始します。

Using Mediawiki-Docker

Follow the steps in MediaWiki-Docker/Extension/CheckUser to install this extension inside a MediaWiki Docker instance.

設定

このツールは「最近の更新」のデータを別のテーブルに移動し、新しい入力が追加されるたびに記入します。 $wgPutIPinRC があらかじめ false に設定してあると、検索対象のデータがない状態になり、拡張機能を設定したとたん、新規編集を取り込みます。

クエリの実行後、$wgRCMaxAge を減少すると checkuser に影響を与えずに recentchanges を短縮できます。 checkuser データが処理する深さを $wgCUDMaxAge で指定します (単位は秒)。

CheckUser 固有の設定 $wgCheckUserCIDRLimit によって、1 回の検証の最大範囲が決定します。 書式は $wgBlockCIDRLimit と同等です。 既定の制限は IPv6 検証で /32IPv4 検証で /16 です。

Special:Investigateを有効にするには、LocalSettings.phpに$wgCheckUserEnableSpecialInvestigateからtrueを設定します。

チェックユーザー権限の付与

チェックユーザー機能を利用する権限を付与するには、利用者権限管理の権限を有する利用者がSpecial:UserRightsにアクセスして記入欄に利用者名を入力、「利用者を確認」選択肢を選んでください。 この処理を行うと、当該の利用者のSpecial:SpecialPagesSpecial:CheckUserSpecial:CheckUserLogが表示されます。

システム管理者向けに利用者権限管理を有効にするには、LocalSettings.php に以下を追加します:

$wgGroupPermissions['sysop']['checkuser'] = true;
$wgGroupPermissions['sysop']['checkuser-log'] = true;
$wgGroupPermissions['sysop']['investigate'] = true;

checkuser 権限の追加と削除に限定するには、代わりに以下を使用します:

$wgAddGroups['sysop'][] = 'checkuser';
$wgRemoveGroups['sysop'][] = 'checkuser';

設定

extension.json での構成設定
パラメーター 既定値 コメント
$wgCUDMaxAge 7776000 CUデータを保存する時間(秒単位) (既定値=3ヶ月)
$wgCheckUserMaxBlocks 200 一括ブロックの制限
$wgCheckUserForceSummary false チェックユーザーがチェックするたび Special:CheckUser (特別:チェックユーザー) に理由を書かせるには、これに true を設定します。 (チェックユーザには要約欄に単に「チェックが必要」あるいは「気が向いたから」など書くことができ、ソフトウェアには判断できないため、あまり実効性はありません。)
$wgCheckUserCIDRLimit [ 'IPv4' => 16, 'IPv6' => 32 ] CIDRの最短の制限で、個別の範囲チェックを検証できる制限。
$wgCUPublicKey '' 後で読み取りが必要になりそうな個人データを暗号化する公開キー。 以下のように公開鍵を生成します:

openssl genrsa -out cu.key 2048; openssl rsa -in cu.key -pubout > cu.pub 次に cu.pub の内容をここに貼り付けます

$wgCheckUserCAMultiLock false これを使うと「特別:チェックユーザー」の一括ブロックフォームにCentralAuthによる「Special:MultiLock」へのリンクを追加できます。 実行するにはウィキに CentralAuth 拡張機能のインストールが必要です。 これを有効にするには、対象とする個別の配列をグローバルなグループ(複数可)の名称から選び、個別の配列に中央ウィキのデータベース名をつけると設定できます。 例えば:
$wgCheckUserCAMultiLock = [
    'centralDB' => 'metawiki',
    'groups' => [ 'steward' ]
];
$wgCheckUserCAtoollink false 77360f1cf1d2 以降。 これにより中央のウィキの「特別:CentralAuth」に「特別:チェックユーザー」の「Get users」出力結果へのリンクを追加します。 実行には CentralAuth 拡張機能をウィキにインストールする必要があります。 これを有効にするには、ホームwikiのデータベース名で設定します。 例:
$wgCheckUserCAtoollink = 'metawiki';
$wgCheckUserGBtoollink false 77360f1cf1d2 以降。 これにより中央のウィキの「特別:GlobalBlock」に「特別:チェックユーザー」の「Get users」出力結果へのリンクを追加します。 実行には GlobalBlocking 拡張機能をウィキにインストールする必要があります。 有効にするには、$wgConf が設定済みならこれを中央のウィキのデーベース名のついた配列と、リンク先のローカル(CentralAuth がインストール済みならグローバル)のグループ(複数可)を指定します。 例:
$wgCheckUserGBtoollink = [
	'centralDB' => 'metawiki',
	'groups' => [ 'steward', 'staff' ]
];
$wgCheckUserEnableSpecialInvestigate false 57dcfe46d2e4 以降。 すると Special:Investigate という更新版の Special:CheckUser が有効になり、1 回の究明で複数の利用者アカウントや IP アドレスを調査できます。
$wgCUPublicKey '' Used with an associated private key to encrypt certain data that is not shown to CUs but stored in the cu_changes or cu_private_event table. Currently this is only the recipients of emails. Without a valid public key the data will not be stored.
$wgCheckUserLogLogins false Whether CheckUser should log login attempts (both successful and not) in the checkUser table.
$wgCheckUserLogSuccessfulBotLogins true Whether CheckUser should store successful login attempts to accounts with the bot user group if $wgCheckUserLogLogins is set to true. Only is used if $wgCheckUserLogLogins is true
$wgCheckUserMaximumRowCount 5000 The maximum number of results that can be returned by Special:CheckUser. Before MediaWiki 1.39, in the 'Get edits' and 'Get IPs' results having over 5000 results would return the results in a different format. From MediaWiki 1.39 this is the maximum number of results to show by page and more can be generated using the paging links
$wgCheckUserInvestigateMaximumRowCount 25000 Similar to $wgCheckUserMaximumRowCount, but for Investigate

Special:CheckUser の使用法

基本のインターフェイス

  1. Special:CheckUser を開きます。
  2. user 欄に利用者名 (User: 接頭辞は除外), IP アドレスまたは CIDR 範囲を入力。
    • IP: IPv4 または IPv6 のアドレス.
    • CIDR: CIDRプレフィックスを付加することで、IPアドレスの範囲をチェックできます。既定値は以下の通り:
      • IPv4 では最大 /16 (65,536 アドレス)、
      • gerrit:7352 以前は、IPv6 は最大 /64 (約 1.8446*1019 アドレス)、
      • リビジョン 7352 以降は、IPv6 は最大 /48 (約 1.2089*1024 アドレスまたは 65536 個の /64 ブロック - 最新バージョンでは $wgCheckUserCIDRLimit で制御されています)
      • phab:rECHU9d7c239bf88866eca577f3241194d440f94fa014 以降は、IPv6 は最大 /32 (65536 個の /48 ブロック)。 表記は範囲ブロックのヘルプ Help:範囲ブロック を参照してください。
    • XFF: X-Forwarded-Forヘッダが提供するクライアントIPアドレスを知るには、/xff を追加 (例: 127.0.0.1/xff)。
  3. 取得したい情報を選択。
    • IPアドレスを取得 - 登録利用者が使用した IP アドレス群を返します。
    • 編集を取得 - returns all edits and logged actions made by users using an IP address or range specified in the target field, or if the target is a user all edits and logged actions by that user.
    • 利用者名を取得 - 特定の IP または IP 範囲から編集を実行した利用者アカウント群を返します。
  4. 「理由:」欄には、秘密のデータにアクセスした理由を記入します。 状況を簡潔に要約するようにしてください (例: "ウィキ間スパム")。これは checkuser-log 権限保有者にのみ表示されるログに記録されます。

情報の戻り値

CheckUserのエントリから引き出される利用者サマリの結果 ("get users") は以下のとおりです。


  1. Example user agent

これは特定の書式に大量の情報を盛り込むための書式で、リスト化や読み流しが非常に簡単にできるものの、提供された情報が何かを知らない限り、読むのは困難です。情報の配置は次のとおりです。 情報のレイアウトは以下のとおりです。

  • 利用者名 (利用者リンク群) (特定のIPもしくはIP範囲から編集を行った期間) [特定のIPもしくはIP範囲から実行された編集の回数]
    1. 編集を行ったIPアドレス XFF: 提供されたXFF情報 (なりすましは可能)

編集に使用したIP/XFF組み合わせごとに、使用順に一覧にしてあります。

特定のIPもしくはIP範囲から編集した最近の利用者ごとのUA10件 (ブラウザ、OS、システム言語、バージョン) のリストが続きます。

XFF フォーマット

XFF (X-Forwarded-For) ヘッダにより、利用者のコンピュータ (1番目) が使用した一連のIPアドレス群から最終プロキシサーバまで表示されます。ウィキメディアの場合、最近のプロキシサーバとはウィキメディアのプロキシ群のどれかに該当します ([$url Wikimedia configuration file]内の$1に表示。) ウィキメディアの場合には最新のプラキシサーバは Wikimedia プロキシのうちのどれかです(Wikimedia 設定ファイル内の$wgCdnServersNoPurge に一覧あり)。

このサンプルの場合:

aaa.aaa.aaa.aaa XFF: 10.4.46.42, 127.0.0.1, aaa.aaa.aaa.aaa, 208.80.152.46

  • 最初のアドレス 2 件 (10.4.46.42, 127.0.0.1) は発信元ネットワークに秘匿され、公開インターネットからの直接アクセスはできません。
  • 3番目のアドレス (aaa.aaa.aaa.aaa) は編集者の「一般公開」であり、通常はブロードバンドまたはダイアルアップ ISP 、企業のゲートウェイ (ただしアノニマイザーまたはマルウェアに感染したサーバー) を示します。
  • 最後のアドレス (208.80.152.46) はウィキメディアの squid サーバー (sq36.wikimedia.org) の1つです。

MediaWiki 環境設定の $wgUsePrivateIPs $wgCdnServers $wgCdnServersNoPurge および IsTrustedProxy フックを使用している拡張機能 (Extension:TrustedXFF など) は、編集を行った実際の IP アドレスの選択方法を変更させます。

個人的ツールのリンク

「Special:CheckUser」から結果を入手したら、個人的な利用者ツールを追加するには以下のインターフェイス メッセージ 2 つが使えます:

Special:Investigate の使用法

基本的な使用法

  1. Special:Investigate を開きます。
  2. 「利用者名とIPアドレス」の欄には、最大10個のターゲットを入力します。ターゲットは、利用者名(User:接頭辞なし)、IPアドレス、またはCIDRレンジです。
  3. 理由欄には、上述のSpecial:CheckUserの説明にあるように、機密データにアクセスする理由を入力します。この情報は、調査権限を持つ利用者のみが閲覧可能なログに記録されます。

高度な機能の使い方については、Help:Special Investigateを参照してください。

ツールリンクのカスタマイズ

Special:CheckUserと同様に、外部ツールへのリンクもカスタマイズ可能です。

リンクはcheckuser-investigate-compare-toollinksメッセージで定義されています。 このメッセージを解析してリンクを見つけ、「IPs and user agent」タブのメニューに追加します。

API

CheckUser は API も提供します。

api.php?action=query&list=checkuser&curequest=userips&cutarget=Jimbo_Wales
api.php?action=query&list=checkuser&curequest=edits&cutarget=127.0.0.1/16&xff=1&cureason=Some_check
api.php?action=query&list=checkuserlog&culuser=WikiSysop&cullimit=25
api.php?action=query&list=checkuserlog&cultarget=127.0.0.1&culfrom=20111015230000