公開日:
「ブルートフォースアタック」もしくは「総当たり攻撃」というものをご存知でしょうか。これはパスワードを手当たり次第に打ち込み、サイトを乗っ取る行為を指します。
もし、あなたがWordPressで構築したホームページを初期設定のまま使用していた場合、こういった悪意のある攻撃に対して無防備である可能性が高いです。このページではその穴と対策について説明していきます。
ここでいうログインIDはWordPressログイン時に下の画面で聞かれるユーザ名のことです。
あなたのサイトがWordPressで作成されているなら、
あなたのサイトのURL/?author=1/
を開いてみてください。
開くとあなたのサイトのURLは以下に自動変換されます。
あなたのサイトのURL/author/ログインID/
このようにあなたのログインユーザー名を知ることができるのです。
危険1でログインIDを取得できることがわかりました。
しかし、ログインURLがわからなければログインを試すことができませんが、WordPressは初期の状態だと、
あなたのサイトのURL/wp-admin/
で必ずログイン画面に飛ぶようになっています。
よって危険1で取得したIDでログインを試すことができるようになってしまいます。
ハッカーに手当たり次第パスワードを試され、突破されてしまえばサイトが乗っ取られてしまいます。
これがブルーとフォースアタック(総当たり攻撃)です。
もしパスワードが強固である自信があったとしても、ハッカーがログインを試せる状況にあること自体が危険であることには変わりませんし、そのアクセスでサイトに負荷がかかる可能性もあります。
後述のセキュリティプラグインでもいいですが、単にログイン履歴だけを確認するのであれば、
以下のように「ユーザ」>「ログイン履歴」から履歴が確認できるようになります。
上の画像は筆者が実際にブルートフォースアタックを受けたものです。
毎回ログインIDを変えながらアクセスされていました。
サイトは構築して1ヶ月ほどでPV数もまだ少ないのですが既に攻撃を受けています。
幸いパスワードは突破されなかったためサイトは無事でした。。
危険1に対する対策です。
functions.phpに以下の記述を行います。
///?author=X/を404へリダイレクト add_filter( 'author_rewrite_rules', '__return_empty_array' ); function disable_author_archive() { if( $_GET['author'] || preg_match('#/author/.+#', $_SERVER['REQUEST_URI']) ){ wp_redirect( home_url( '/404.php' ) ); exit; } } add_action('init', 'disable_author_archive');
危険2に対する対策です。
インストールすると左のメニューから以下のページに飛べます。
一番上の管理者ページアクセス制限を有効にして、ログインURLを任意のものに変更しましょう。
対策は以上です!
大切なサイトを攻撃から守りましょう!