web-dev-qa-db-ja.com

Wp-login.phpをまったく使わずにログインする方法はありますか?

私はWPインストールを持っていますが、これはここ数日でブルートフォースログインの試みによって妨害されています。

このサイトには、ログイン試行回数制限プラグインがインストールされています。そして、私がロックアウトについての頻繁な通知を受け始めたとき、私はwp-login.phpを介してすべてのIPをブロックするために、1つの場所からwp-adminファイルと.htaccessにのみアクセスするので決定しました。私は例外リストから自分のIPアドレスを削除することによって.htaccessブロックをテストしました、そしてそれは確かにwp-login.phpへのアクセスをブロックします。したがって、それはその側面から機能するように見えます。

ただし、IPがブロックされている場合でも、[ログイン試行の制限]はIPからの(頻繁な)ロックアウトを報告し続けます。 .htaccessブロックが配置されていると、最初はwp-login.phpスクリプトに到達することは不可能であるべきであるように思われるので、私はこれが奇妙だと思いました。ログイン試行がプラグインによって処理される限りはもちろん。

それで私は別の実験を試みました:すでにWPにログインしている間、私はwp-login.phpの名前をwp-login.xyzに変えて、スクリプトが完全に実行されるのを無効にしました。ログインスクリプトが完全に無効になっていても、ログインが試行されIPがロックアウトされていることに気付きました。

それから私はおそらく誰かが認証クッキーを持っていると思いました。だから私は塩を変えました。それでも試みは来ます。

認証APIの助けとしてコーデックスを調べましたが、そこにある情報源の大部分は不完全であり、どのような場合でもwp-login.php以外でログインを試みることが可能であるかもしれない方法を私は見つけていません。

だから私の質問です:もしあれば、wp-login.phpスクリプトなしでログインを試みるための他の手段は何ですか?そして、そのような代替ログインルートをどのように無効にすることができますか?

編集:.htaccessコード(ファイルの最初の行):これはWPルートディレクトリ(wp-login.phpと同じ場所)にあります。

<FilesMatch wp-login.php>
order deny,allow
Deny from all

# Allow from this IP address
allow from xx.xxx.xxx.xx  #My IP
</FilesMatch>

ErrorDocument 401 "Sorry. No logins here!"
ErrorDocument 403 "Sorry. No logins here!"
1
Caspar

その答えは、モバイルWordPressアプリケーションとの通信に使用されているXML-RPCであり、新しいバージョンでは常に有効になっています。携帯アプリを使ってWPを管理していない場合は、私のプラグインを使用できます - http://wordpress.org/plugins/control-xml-rpc-publishing無効にするには/ を押します。

2
Mark Kaplun

@MarkKaplunが示唆しているように、問題は確かにXML-RPCでした。私はホスティング会社に連絡を取り、ログの読み出しを依頼しました。 xmlrpc.phpは、24時間以内に3500回以上ヒットしました(そしてこれは、誰もヒットする理由がない小さなサイトです)。

編集

これは私が起こっていたと思われるものです。 xmlrpc攻撃の軽減に関する Antti Vilpponenのブログ から:

私が実行したテストから、WordPressが認証情報を含むURLもサポートしていることがわかりました。そのため、攻撃者はhttp://admin:[email protected]/changeDNS.asp?newDNS=aaaaのようなURLを使用して内部ルーターを再構成することができます。

そのため、xmlrpc.phpを使用した場合と同じ効果があり、認証ルーチンに入るためにWPをトリガーしたwp-login.phpを使用して.htaccessをヒットしました。

/編集

プラグインを使用するのではなく(これは@MarkKaplanが答える前のものでした)、サーバーでxmlrpc.phpへのアクセスをすべて遮断することにしました。ここでもWPルートで<Files xmlrpc.php> Order allow,deny Deny from all </Files> を使用します。

__コード__

魅力のように働いた。私のログインは沈黙しています。

編集

Apacheディレクティブのファイル名がxlmrpc.phpのように間違っています。それを修正しようとしましたが、私がこの無用な段落を書くまでstackexchange文字編集制限は私をさせませんでした。今では正しいです。

1
Caspar