WordPressのauthor抜き取り対策
2019年9月11日
私が管理しているWordPressサイトのAnalyticsをチェックしていたら
URL/?author=XX
というアドレスにアクセスがあり、これは何かと調べていたら
こう入力することでユーザー名が分かるようです。
もちろんユーザー名だけではログインは出来ませんが
あとはパスワードをブルートフォースアタックして割り出す気だったんですね。
怖い怖い。
通常のログイン画面はSiteGadeプラグインで「ひらがな入力」を入れてるので
外国人にはログイン出来ないでしょうけど。
ログイン履歴見たら「XMLRPC」でのアタックが頻繁にあり鳥肌たちました。
もともとログインロックで30秒以内に3回のログイン失敗があればロックする設定にしてましたが。
それでもロボットでしつこくアタックかけてたので
「XMLRPC」ごと禁止にしたらおとなしくなりました。
あと、「URL/?author=XX」自体を無効化するために
function.phpに下記コードも必須です。
// author抜き取り対策
if (!is_admin()) {
// default URL format
if (preg_match(‘/author=([0-9]*)/i’, $_SERVER[‘QUERY_STRING’])) die();
add_filter(‘redirect_canonical’, ‘shapeSpace_check_enum’, 10, 2);
}
function shapeSpace_check_enum($redirect, $request) {
// permalink URL format
if (preg_match(‘/\?author=([0-9]*)(\/*)/i’, $request)) die();
else return $redirect;
}