WordPress にアプリからログインできない

WordPressで作成したブログに公式のスマホアプリからログインしようとしたところ・・・できない。
さっそくGoogle先生に質問をしてみたところ、下記の2つの回答が得られました。

  • ログインID、パスワードが間違っている
  • URLが間違っている

これらの解決方法についてはGoogle先生がいくらでも教えてくれるのでこの記事では特に説明しません。
下記のリンクからGoogle先生に質問してみてください。
→ Google先生に質問する

結論から言うと、私の場合は上記のどちらでもなく、「xmlrpc.php」に対して行った不正アクセス対策が原因でした。

よくある原因が当てはまらなかったので、まずはアクセスが来ているかどうか確認するため Apache のログを確認しました。
ありました、何やら怪しいログが。

xxx.xxx.xxx.xxx - - [05/Jan/2017:09:17:52 +0900] "POST /xmlrpc.php HTTP/1.1" 403 212

どうやら「xmlrpc.php」へのアクセスが 403 (Forbidden) として弾かれているようです。

そこで思い出します。
確か、WordPress のインストール時に DDoS 攻撃への対策として、「xmlrpc.php」へのアクセスを完全に遮断する設定をしていたはず。

grep -A 3 xmlrpc.php /path/to/apache/conf*/*
/path/to/apache/conf.d/ssl.conf:<Files "xmlrpc.php">
/path/to/apache/conf.d/ssl.conf- order deny,allow
/path/to/apache/conf.d/ssl.conf- deny from all
/path/to/apache/conf.d/ssl.conf-</Files>

いました。
攻撃の標的になってしまうのは嫌ではありますが、アプリを利用できないのも困る・・・とりあえずこの場はいったん遮断設定を解除することにします。

# <Files "xmlrpc.php">
# order deny,allow
# deny from all
# </Files>

設定を変えたので Apache を再起動します。

service httpd restart

これで無事アプリからログインできるようになりました。

ただ、このままでは攻撃に対する対策が何もされていない状態となってしまっているので、早めに何かしらの対策をする必要がありそうです。