ホーム > Wordpress > WordPressサイトのログイン、管理画面にIP制限をかける方法
Wordpress

WordPressサイトのログイン、管理画面にIP制限をかける方法

いつもご利用ありがとうございます。
この記事には広告が掲載されており、その広告費によって運営しています。

関連動画

質問やフィードバック

この記事や動画に関する質問やフィードバックあれば、動画のコメント欄にてお気軽にコメントしてください。

レンタルサーバーにアップしたワードプレスサイトのログイン画面と管理画面(ダッシュボード)に対して IP によるアクセス制限をする方法についてまとめました。

結論

.htaccess を開き、以下の内容を追記してください。

<FilesMatch "wp-login.php">
    Require ip ***.**.***.***
</FilesMatch>

<If "%{REQUEST_URI} =~ /wp-admin/">
    Require ip ***.**.***.***
</If>

***.**.***.***

には、許可をしたい IP を書いてください。

セキュリティについて

対策の必要性

管理画面などに侵入して、得られる情報量によって必要性は増してくると考えます。

例えば今アクセスしているこのサイトは、何も情報がないので、侵入されても痛くも痒くもありません。

逆に、顧客のサービスであったり、企業様のサイトが個人情報を取り扱っている場合は、被害にあうのはまずいので必要になってきます。

  • 顧客情報の保全
  • 記事の保全
  • 被害時の復旧作業
  • 復旧までの間の売上減
  • リダイレクトなどの悪用
  • (上記を原因とした)ドメイン評価の急落

セキュリティ対策の難しい点

時間をかければ掛けるだけ効果を生む可能性は増えますが、その分

  • 実装コスト
  • 管理コスト

が増えてしまうので、少ない労力で効果があるものをやるのが望ましいと考えています。

今回の IP 制限による方法は、

  1. リモートワーク、大人数でアクセスしている
  2. IP が変動する自宅またはオフィスで作業する

といった状況下の人には特に、この変更作業をたびたび行わなければならないため、「管理コスト」が高くなってしまうのでオススメできません。

実装は簡単です。

IP 制限をしても 100%大丈夫というわけではない

セキュリティに関しては、多層防御でいくべきなので、これだけをやったら安心と言うわけではありません。

例えば VPN などで、IP を変えることは可能だったりするので、理論上は突破が可能です。

ただ、IP の偽装には工数がかかるので、任意の IP を無数の通り試行するのは大変だと思われますし、

加えて、通信の返却を受け取らないとダメなので、今回のケースだと、かなり効果はあると考えています。

.htaccess の場所

ConoHa WING を使用の場合

  1. 上のメニューから「WING」を選択
  2. 左のメニューから「サイト管理」を選択
  3. 左2段目のメニューから「サイト設定」を選択
  4. メイン画面の上メニューから「応用設定」を選択
  5. 「.htaccess 設定」を選択
  6. 編集マークで編集が可能

その他レンタルサーバー

その他のサーバーも管理画面から操作できるかもしれませんが、

調べられないので、以下の方法を載せておきます。

今回、編集するファイルは、ワードプレスのルートディレクトリの中にあります。

FTP ソフトなどを使って、この場所にある、.htaccess を編集すると同じようにできるはずです。

WordPress Root Directory
├── wp-admin/
├── wp-content/
├── wp-includes/
├── .htaccess ←これ
├── index.php
├── license.txt
//略

設定と解説

.htaccess を開くことができたら、以下の内容を追記してください。

<FilesMatch "wp-login.php">
    Require ip ***.**.***.***
</FilesMatch>

<If "%{REQUEST_URI} =~ /wp-admin/">
    Require ip ***.**.***.***
</If>

解説

Require ip ***.**.***.***

上記は、「この IP を許可する」という書き方です。

<FilesMatch "wp-login.php">
    Require ip ***.**.***.***
</FilesMatch>

上記は、ログインページのアクセスを拒否しています。

<If "%{REQUEST_URI} =~ /wp-admin/">
    Require ip ***.**.***.***
</If>

上記は、wp-admin/から始まる URL のアクセスを拒否しています。

複数 IP を許可したい時

何個かやり方はあると思いますが、縦に並べるのが見やすいと思います。

    Require ip ***.**.***.***
    Require ip ***.**.***.***

設定がうまく行った時

登録していない IP からの接続で以下のように表示されたら OK です。

Forbidden
You don’t have permission to access this resource.

その他セキュリティ対策について

考えられるものはたくさんありますが、ベースとなるのは「重要な情報は持たない」「持ってないように見せる」「ハッカー側の費用対効果を下げる」だと思います。

いかにめんどくさいと思わせるかどうか。

特に効果があると自分が考えているのは

  • ログインの二段階認証

です。

スマホアプリの Authenticator や電話番号を使ったショートメールなどによる二段階認証が普及してきましたね。

レンタルサーバーのコントロールパネル自体に入られたら根こそぎ行かれるので、レンタルサーバーのログイン・パスワードには細心の注意が必要だと思います。

自分が使っているレンタルサーバーの ConoHa WING にはコントロールパネルでポチポチとセキュリティの設定が可能で便利です。

月額も安いので、レンタルサーバー何使うか悩んでいる人は選択肢に入れて良いかもしれません。

まとめ

セキュリティ対策でお悩みの方おりましたら、お気軽にご相談ください。