WordPressサイトのログイン、管理画面にIP制限をかける方法
いつもご利用ありがとうございます。
この記事には広告が掲載されており、その広告費によって運営しています。
関連動画
質問やフィードバック
この記事や動画に関する質問やフィードバックあれば、動画のコメント欄にてお気軽にコメントしてください。
レンタルサーバーにアップしたワードプレスサイトのログイン画面と管理画面(ダッシュボード)に対して IP によるアクセス制限をする方法についてまとめました。
結論
.htaccess を開き、以下の内容を追記してください。
<FilesMatch "wp-login.php">
Require ip ***.**.***.***
</FilesMatch>
<If "%{REQUEST_URI} =~ /wp-admin/">
Require ip ***.**.***.***
</If>
***.**.***.***
には、許可をしたい IP を書いてください。
セキュリティについて
対策の必要性
管理画面などに侵入して、得られる情報量によって必要性は増してくると考えます。
例えば今アクセスしているこのサイトは、何も情報がないので、侵入されても痛くも痒くもありません。
逆に、顧客のサービスであったり、企業様のサイトが個人情報を取り扱っている場合は、被害にあうのはまずいので必要になってきます。
- 顧客情報の保全
- 記事の保全
- 被害時の復旧作業
- 復旧までの間の売上減
- リダイレクトなどの悪用
- (上記を原因とした)ドメイン評価の急落
セキュリティ対策の難しい点
時間をかければ掛けるだけ効果を生む可能性は増えますが、その分
- 実装コスト
- 管理コスト
が増えてしまうので、少ない労力で効果があるものをやるのが望ましいと考えています。
今回の IP 制限による方法は、
- リモートワーク、大人数でアクセスしている
- IP が変動する自宅またはオ フィスで作業する
といった状況下の人には特に、この変更作業をたびたび行わなければならないため、「管理コスト」が高くなってしまうのでオススメできません。
実装は簡単です。
IP 制限をしても 100%大丈夫というわけではない
セキュリティに関しては、多層防御でいくべきなので、これだけをやったら安心と言うわけではありません。
例えば VPN などで、IP を変えることは可能だったりするので、理論上は突破が可能です。
ただ、IP の偽装には工数がかかるので、任意の IP を無数の通り試行するのは大変だと思われますし、
加えて、通信の返却を受け取らないとダメなので、今回のケースだと、かなり効果はあると考えています。
.htaccess の場所
ConoHa WING を使用の場合
- 上のメニューから「WING」を選択
- 左のメニューから「サイト管理」を選択
- 左2段目のメニューから「サイト設定」を選択
- メイン画面の上メニューから「応用設定」を選択
- 「.htaccess 設定」を選択
- 編集マークで編集が可能
その他レンタルサーバー
その他のサーバーも管理画面から操作できるかもしれませんが、
調べられないので、以下の方法を載せておきます。
今回、編集するファイルは、ワードプレスのルートディレクトリの中にあります。
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 にはコントロールパネルでポチポチとセキュリティの設定が可能で便利です。
月額も安いので、レンタルサーバー何使うか悩んでいる人は選択肢に入れて良いかもしれません。
まとめ
セキュリティ対策でお悩みの方おりましたら、お気軽にご相談ください。