前回の記事で報告した通り、自分が運営していたMediaWikiサイトがスパムに荒らされてしまいました。そこで、今回は新たにMediaWikiサイトを新しく作ることを考えて、スパム対策のための知識をメモしたいと思います。
前回の記事はこちらです。
blog.gelehrte.com
2019/01/13 追記:解決しました!
blog.gelehrte.com
MediaWikiの予備知識
対策
アカウントを作成する機能を制限するには?
これにはプラグインは必要なさそうです。下記のURLが参考になりました。
Manual:Preventing access/ja - MediaWiki
以下引用
アカウント作成を制限する
アカウント作成を制限するには、 Mediawikiをインストールしたルートパスにある LocalSettings.php を編集する必要があります。# 管理者による設定以外で新しい利用者の登録を制限する
$wgGroupPermissions['*']['createaccount'] = false;
これで管理者以外のアカウントを作れなくできそうです
有効そうなプラグイン
QuestyCapcha
Extension:QuestyCaptcha - MediaWiki
以下、プラグインの概要を引用
QuestyCaptcha is a plugin for the ConfirmEdit extension. Instead of using a math problem (trivially defeated) or an image (see below), QuestyCaptcha makes users answer a question. The site owner adds questions (and their answers!) in LocalSettings.php, and the extension picks from them randomly.
以下適当な和訳
QuestyCaptchaはConfirmEdit拡張機能のプラグインです。数字の問題やや画像による問題を使う代わりに、QuestyCaptchaはユーザーに質問に答えさせることができます。サイトの所有者はLocalSettings.phpに質問とその回答を追加し、それらから質問をランダムに選びます。
要するに日本語の質問・回答を設定すれば、外国からのスパム対策になるということですね。
ConfirmEdit
Extension:ConfirmEdit - MediaWiki
以下、プラグインの概要を引用
The ConfirmEdit extension lets you use various different CAPTCHA techniques, to try to prevent spambots and other automated tools from editing your wiki, as well as to foil automated login attempts that try to guess passwords.
以下適当な和訳
ConfirmEdit拡張機能を使用すると、スパムロボットやその他の自動化ツールがあなたのwikiを編集できないようにしたり、パスワードを推測しようとする自動ログインの試みを阻止することができます。
スパム対策の汎用的なもののようですね。
とりあえずこの2つを入れてみたいと思います。
旧MediaWikiからの移行作業
幸い、既存のWikiの元ページはほとんどスパムによる変更はされていないので、そのままコピペで移行作業を行いたいと思います。画像ファイルは幸いローカルPC上にあるので、それで再現。手作業になるけどしょうがない。
終わりに
今回のことで、MediaWikiは対策をしないとスパムにとても脆いことが分かりました。攻撃対象にされやすいことも。いい勉強だと思って粛々と対応したいと思います。