HTML
 Computer >> コンピューター >  >> プログラミング >> HTML

WordPressの管理ディレクトリ(wp-admin)へのアクセスをIPアドレスで制限する方法

WordPressは世界で6,000万以上のサイトで利用されており、最も人気のあるCMSです。しかし、人気が高まるほど良くも悪くも注目を集めるもの。WordPressサイトは1分間に約9万件ものハッキング攻撃を受けていると言われています。残念ながら、サイトセキュリティにおいて「あらゆる脅威から守れる銀の弾丸」は存在しません。ハッカーからサイトを守るためには、複数の対策を組み合わせ、さまざまな層でセキュリティを実装する必要があります。この多層防御の考え方のもと、これまでHTTP認証、二要素認証、強力なユーザー名とパスワードの設定といった保護策をご紹介してきました。今回はその中でも「WordPress管理ディレクトリへのアクセス制限」という方法を解説します。

WordPress管理ディレクトリ(wp-admin)には、WordPressのコアファイルが格納されています。これらのファイルによって、管理者はさまざまな管理機能を実行できるのです。例えば、ダッシュボードにログインする際、WordPressは入力された認証情報が正しいかどうか、アクセスしたユーザーが管理者なのか、それとも権限が限定された投稿者なのかを判定します。こうした処理を担っているのがwp-adminフォルダ内のファイルです。

もしハッカーがサイトへのアクセスに成功すれば、独自の目的のためにファイルを改ざんする恐れがあります。誰がサイトにアクセスできるかを勝手に操作し始め、最悪の場合、管理者やサイトオーナー自身を締め出し、自分のサイトにアクセスできなくなることもあり得ます。だからこそ、事前の備えが不可欠です。管理ディレクトリへのアクセスを制限することで、ハッカーによるサイト乗っ取りを防げます。

仕組みをわかりやすく説明するために、家にたとえてみましょう。あなたのウェブサイトが「家」だとすると、WordPress管理ディレクトリはその「玄関の扉」にあたります。ここに警備員を配置すれば、家(サイト)の安全はさらに高まります。警備員は訪問者一人ひとりの身元(=IPアドレス)を確認し、家(サイト)への入場を許可または拒否します。この記事では、IPアドレスを使ってWordPress管理ディレクトリへのアクセスを制限する方法をご紹介します。つまり、特定の不正なIPアドレスだけをブロックし、管理ディレクトリへのアクセスを防ぐというわけです。

作業を始める前に、自分のIPアドレスが固定IPであることを必ず確認してください。IPアドレスについてよくわからない場合は、Googleで検索するか、契約しているインターネットプロバイダーに問い合わせることをおすすめします。

WordPress管理ディレクトリへのアクセスを制限する手順

まずは、ファイルマネージャーから.htaccessファイルをダウンロードする必要があります。以下の手順に従ってください。

ステップ1:レンタルサーバーのアカウントにログインし、cPanelというページを開きます。そこにある「File Manager(ファイルマネージャー)」を選択すると、次のような画面が表示されます。

WordPressの管理ディレクトリ(wp-admin)へのアクセスをIPアドレスで制限する方法

ステップ2:これは典型的なファイルマネージャーの画面です。左側にフォルダの一覧が表示されているので、public_htmlを選択してください。

WordPressの管理ディレクトリ(wp-admin)へのアクセスをIPアドレスで制限する方法

ステップ3:フォルダ一覧の中にwp-adminというフォルダがあります。このフォルダ内に.htaccessファイルが見つかるはずです。ディレクトリ内の他のファイルと違い、.htaccessには.htmlや.txt、.phpのような拡張子がないことに注目してください。

ステップ4:.htaccessファイルをダウンロードするには、ファイルマネージャー画面のダウンロードボタンを使用します。

WordPressの管理ディレクトリ(wp-admin)へのアクセスをIPアドレスで制限する方法

場合によっては、.htaccessファイルが非表示になっていて一覧に表示されないことがあります。その場合は、cPanelに戻りFile Managerをクリックします。ポップアップが表示されるので、「Show Hidden Files(隠しファイルを表示)」を選択してください。

WordPressの管理ディレクトリ(wp-admin)へのアクセスをIPアドレスで制限する方法

もしサイトに.htaccessファイルが存在しない場合は、新しく作成する必要があります。

.htaccessファイルをダウンロードしたら、開いてみましょう。次のような内容になっているはずです。

WordPressの管理ディレクトリ(wp-admin)へのアクセスをIPアドレスで制限する方法

ステップ5:.htaccessファイルの末尾に、以下のコードを追加します。

order deny, allow 
allow from 許可する.IPアドレス 
deny from all 

注意:「許可する.IPアドレス」の部分は、実際にアクセスを許可したいご自身のIPアドレスに置き換えてください。

ステップ6:編集が完了したら、ファイルマネージャーを使ってwp-adminディレクトリにファイルをアップロードします。ファイルマネージャー画面には「Upload(アップロード)」オプションがあります。

WordPressの管理ディレクトリ(wp-admin)へのアクセスをIPアドレスで制限する方法

アップロードが完了すると、指定した以外のIPアドレスからのアクセスはブロックされます。拒否されたIPアドレスからサイトにアクセスしようとすると、「403 Forbidden」エラーが表示されます。

編集・アップロードするのは必ず「wp-admin」ディレクトリ内の.htaccessファイルであり、WordPressのルートディレクトリ(public_html)にあるものではない点に注意してください。ルートディレクトリにも.htaccessファイルは存在しますが、こちらは一切変更しません。誤ってルートディレクトリの.htaccessを編集してしまうと、サイトへのすべての訪問者がブロックされてしまいます。作業の際は十分に注意してください。

IPアドレスで管理ディレクトリへのアクセスを制限する際に発生しうる問題がひとつあります。それは、フロントエンドのAjax機能が動作しなくなることです。Ajax機能により、Webページはリアルタイムの変化を表示できます。例えば、サイトにTwitterフィードを表示するプラグインを使っている場合、ツイートするたびに自動的にサイトへ反映されます。ページを再読み込みしなくてもツイートが表示されるのは、Ajax機能のおかげです。

フロントエンドのAjax機能を壊さないためには、まず使用中のプラグインがフロントエンドでAjaxを使っているかどうかを確認しましょう。使っている場合は、wp-adminディレクトリの.htaccessファイルに以下のコードを追加します。

<Files admin-ajax.php> 
order allow, deny 
allow from all 
satisfy any </Files>

以上で設定は完了です。

まとめ

WordPress管理ディレクトリへのアクセスを制限するには、WordPressファイルに関する多少の知識が必要です。この記事を読んで、あなたのサイトが以前より少し安全になったことを願っています。ご質問やフィードバックがあれば、お気軽にお問い合わせください。最後までお読みいただきありがとうございました。

  1. WordPressのXML-RPCを無効化する方法とは?リスクと正しいセキュリティ対策を徹底解説

    WordPressのXML-RPCを手っ取り早く無効化したいとお考えですか?その前に、なぜ無効化したいのか、その理由を一度立ち止まって考えてみましょう。おそらく、次のような疑問もお持ちではないでしょうか。xmlrpc.phpとは何か?どれほどのセキュリティリスクがあるのか?xmlrpc.phpを無効化すれば脅威は自動的に解消されるのか?この記事では、これらの質問にすべてお答えします。要点:WordPressでXML-RPCを無効化することは、根本的な解決策ではありません。遅かれ早かれ、ハッカーは別の脆弱性を見つけて攻撃してきます。ボットや悪意あるIPアドレスをブロックするためには、強力なWor

  2. ログファイルとは?基本知識と開き方・変換方法をわかりやすく解説

    WindowsのOS、アプリケーション、サービスのトラブルシューティングにおいて最も有効な手段のひとつが、アプリやサービスが起動時に生成するログファイルを確認することです。しかし、ログファイルとは何なのか、そしてどうやって確認すればよいのか、ご存じでしょうか? この記事では、ログファイルの基本知識とアクセス方法について詳しく解説します。それでは始めましょう! ログファイルとは? ログ(.log)は拡張子のひとつで、ソフトウェアやオペレーティングシステムの実行によってPC上で行われたイベントや、通信ソフトを介したユーザー間のやり取りを自動的に記録できるファイルを作成します。これらのファイルにはさ