Extension:CheckUser

From mediawiki.org
Jump to navigation Jump to search
This page is a translated version of the page Extension:CheckUser and the translation is 86% complete.
Other languages:
Deutsch • ‎English • ‎Nederlands • ‎Türkçe • ‎dansk • ‎español • ‎français • ‎italiano • ‎magyar • ‎polski • ‎português do Brasil • ‎svenska • ‎русский • ‎فارسی • ‎বাংলা • ‎中文 • ‎日本語 • ‎한국어
MediaWiki 拡張機能マニュアル
OOjs UI icon advanced.svg
CheckUser
リリースの状態: 安定
CheckUser1.png
実装 特別ページ , 利用者識別
説明 チェックユーザー機能を使用すると、チェックユーザー権限を持つ利用者は、指定された利用者名で使用されているIPと、特定のIPで使用されている利用者名を手動で照会する必要がなくなります。
作者 Tim Starling, Aaron Schulz
最新バージョン 2.5 (continuous updates)
互換性ポリシー リリースブランチ
MediaWiki 1.27+
PHP 5.4+
データベースの変更 はい
テーブル cu_changes
cu_log
ライセンス GNU 一般公衆利用許諾書 2.0 以降
ダウンロード
  • $wgCheckUserCIDRLimit
  • $wgCheckUserMaxBlocks
  • $wgCheckUserCAMultiLock
  • $wgCheckUserLogSuccessfulBotLogins
  • $wgCheckUserForceSummary
  • $wgCheckUserEnableSpecialInvestigate
  • $wgCheckUserLogLogins
  • $wgCUPublicKey
  • $wgCheckUserCAtoollink
  • $wgCheckUserMaximumRowCount
  • $wgCheckUserLogAdditionalRights
  • $wgCheckUserGBtoollink
  • $wgCUDMaxAge

  • checkuser
  • checkuser-log
  • investigate
translatewiki.net で翻訳を利用できる場合は、CheckUser 拡張機能の翻訳にご協力ください
使用状況とバージョン マトリクスを確認してください。
問題点 未解決のタスク · バグを報告
このページは拡張機能そのものに関するものです。ウィキメディア財団のチェックユーザーのポリシーについては、m:チェックユーザーのポリシーを参照してください。

チェックユーザーは指定された利用者名で使用されている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 という名前のディレクトリ内に配置します。
  • 以下のコードを LocalSettings.php の末尾に追加します:
    wfLoadExtension( 'CheckUser' );
    
  • MediaWiki 1.27 以前を稼働させている利用者へ:
PuTTYなどのtelnet/sshクライアントプログラムを使用して、extensions/CheckUserフォルダに移動してphp install.phpを実行します。 もし、install.phpが移動先のフォルダに見つからない場合、この拡張機能の古いバージョンに切り替える必要があるときがあります。git checkout REL1_26のようなコマンドを利用してMediaWikiのバージョンにあわせます。 PHPバージョン5.xをインストールしていることを確認してください。そうしないと、このスクリプトは実行されません。 install.phpが存在しない場合は、php maintenance/update.phpを再度実行してください。 結果は次のようになります。
...cu_changes table added.
...doing rc_id from 368856 to 368955....
...
...cu_changes table added and populated.
...cu_log added
...logging disabled, skipping log import.
  • Yes 完了 – ウィキの「Special:Version」に移動して、拡張機能が正しくインストールされたことを確認します。

MediaWiki 1.24 以前を稼働させている利用者へ:

上記の手順では、wfLoadExtension() を使用してこの拡張機能をインストールする新しい方法を記載しています。 この拡張機能をこれらの過去のバージョン (MediaWiki 1.24 以前) にインストールする必要がある場合は、wfLoadExtension( 'CheckUser' ); の代わりに以下を使用する必要があります:

require_once "$IP/extensions/CheckUser/CheckUser.php";
コマンドプロンプトへのアクセスなしでのインストール

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

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

新しいウィキの場合

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

設定

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

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

MediaWiki 1.22以降ではCheckUser固有の設定$wgCheckUserCIDRLimitによって、1回の検証の最大範囲が決定します。書式は$wgBlockCIDRLimit と同等です。 さもなければ、(すべてのバージョンにおいて) 既定の制限はIPv6検証で /32、IPv4検証で /16になります。

Mozilla Firefoxを使用するチェックユーザーは .js ファイルにこのJS scriptを追加してください。 するとIP WHOISデータの取得が簡単になります。 applets.codebase.principleサポート (about:config) を有効にする必要があります。 (Firefox 3 でsigned.applets.codebase_principle_support)

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

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

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

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

チェックユーザのパーミッションの追加と削除に限定するには、代わりに以下を使用します。

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

設定

extension.jsonの設定
パラメーター 既定値 コメント
$wgCUDMaxAge 7776000 CUデータを保存する時間(秒単位) (既定値=3ヶ月)
$wgCheckUserMaxBlocks 200 一括ブロックの制限
$wgCheckUserForceSummary false チェックユーザがチェックするたび「特別:チェックユーザー」に理由を書かせるには、これを 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 アドレスを調べることができます。

特別:チェックユーザーの使い方

基本のインターフェイス

  1. Special:CheckUserを開きます。
  2. user欄に利用者名 (「利用者:」部分は除外), IPアドレスまたはCIDR範囲を入力。
    • IP: IPv4 または IPv6 のアドレス.
    • CIDR: IPアドレスの範囲を確認するには、CIDRプレフィックスを追加します (既定値は IPv4 (65,536 アドレス)が /16、revision 7352以前のIPv6 (~1.8446*1019 アドレス) が /64、IPv6 (~1.2089*1024 アドレスもしくはリビジョン7352以降の 65536 /64群 - 最新版では管理は$wgCheckUserCIDRLimitによる) 、/32 まで (65536 /48's) は /48。revision rECHU9d7c239bf88866eca577f3241194d440f94fa014). 表記は範囲ブロックのヘルプ Range Blocksを参照してください。
    • XFF: X-Forwarded-Forヘッダが提供するクライアントIPアドレスを知るには、/xffを追加 (例:127.0.0.1/xff).
  3. 取得したい情報を選択。
    • Get IPs: により登録利用者が使うIPアドレス群を取得。
    • Get edits from IP:によって特定のIPもしくはIP範囲からの利用者 (登録・秘匿の両方) による編集とログイン後の活動をすべて一覧にします。
    • Get users: 特定のIPもしくはIP範囲から編集を実行した利用者アカウント群を返します。
  4. reason 欄には、秘密のデータにアクセスした理由を記入します。状況をなるべく簡潔(たとえば「クロスウィキスパム」)に要約してください。 これは、checkuser-log許可を持つユーザーのみ閲覧できるログに記録されます。 状況の簡明なまとめに努めます(例:"ウィキ間スパム")。すると思うチェックユーザー・ログの権限保有者にのみ表示されるログに記録されます。

情報の戻り値

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

  • Example (Talk | contribs) (20:11, 20 10月 2020 -- 20:12, 20 10月 2020) [5]
    1. 127.0.0.37 XFF: 127.0.0.1, 127.0.0.5

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

  • 利用者名 (利用者リンク群) (特定の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) はウィキメディアのスクイッド (sq36.wikimedia.org) の1つです。
  • the third address (aaa.aaa.aaa.aaa) is the "public face" of the editor, usually a broadband or dialup ISP, a company gateway, (but possibly an anonymizer or a malware-compromised server),
  • the last address (208.80.152.46) is one of the Wikimedia squids (sq36.wikimedia.org).

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

個人的ツールのリンク

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

Special:Investigate usage

Basic usage

  1. Go to Special:Investigate.
  2. In the Usernames and IP addresses field, type in up to 10 targets, which may be usernames (without the 'user:' prefix), IP addresses, or CIDR ranges.
  3. In the Reason field, enter the reason you are accessing the confidential data, as described in the Special:CheckUser instructions above; this will be logged in a log visible only to users with the investigate permission.

For advanced feature usage, see Help:Special Investigate.

Customizing tool links

As with Special:CheckUser, links to external tools can be customized.

The links are defined in the checkuser-investigate-compare-toollinks message. This message is parsed to find links, which are added to the menu in the IPs and user agents tab.

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