web-dev-qa-db-ja.com

管理者のユーザー名とパスワード

私は再び自分のサイトを悪意のある攻撃などから保護するceberセキュリティプラグインを使います。

今日チェックして、20以上のロックアウトがありました。私はIPアドレスを確認しましたが、選挙区はありませんでした、彼らは世界中から来ました。

彼らが共通して持っていた一つのことは彼らが入力したユーザー名、すなわち私の管理者ユーザー名の一つでした。

A)どうやってそれを手に入れたのでしょうか。ページの更新などから、ソースを調べることで見つける方法があるのでしょうか。

B)管理者のユーザー名が一般に公開されないようにする方法

また、フロントエンドとバックエンドを分離する方法はありますか。つまり、ログインした場合、バックエンドにアクセスして変更を加えることはできません。

どんな助けでも素晴らしいでしょう:-)

1
Paulmcf1987

ユーザー名を列挙する簡単な方法は次のとおりです(標準のWP installを使用)。このようなURLを使用するだけです。 https://www.example.com/?user= 1追加注: https://www.example.com/aのように、実際のページ/投稿URLを使用する必要があるかもしれません。 -real-page?user = 1 。)そのユーザーアカウントに関する情報(最初のユーザーアカウント、これは管理者レベルのユーザーになります)を取得したら、開始できます。強引なアクセス。 (WPインストールでは、最初に作成されたユーザーは管理者レベルのユーザーです。したがって、上記のURLから管理者のユーザー名がわかる可能性があります。

また、同じリクエストに対して複数のリクエストを許可するxmlrpc.prgを使用すると、さらに高速に実行できます。

ユーザー列挙を防ぐ方法は次のとおりです。

function redirect_to_home_if_author_parameter() {
      $is_author_set = get_query_var( 'author', '' );
      if ( $is_author_set != '' && !is_admin()) {
            wp_redirect( home_url(), 301 );
            exit;
      }
}
add_action( 'template_redirect', 'redirect_to_home_if_author_parameter' );

あなたがすでにadminとしてログインしているのでなければ、それはどんなユーザ列挙要求(私が言及したURL)もリダイレクトするでしょう。

また、もう1つの注意点はxmlrpc.prgを無効にすることです。そして、 'admin'という名前のユーザーを持たないようにします(または持っている場合は、管理者以外のレベルに変更します)。

これでxmlrpc.prg(あなたのサイトをハッキングする機会がたくさんあります)を無効にします。

add_filter('xmlrpc_enabled', '__return_false');

両方のコードを自分のfunctions.php(できればあなたの子テーマ)に置きます。あるいは上記のコードで簡単なプラグインを作成することもできます。

私のブログ のユーザー列挙問題の詳細はこちら

2
Rick Hellewell