【WordPress】ログイン画面(wp-login.php)のセキュリティ対策

経緯

前回wp-config.phpのアクセス制限を行ったが、不正アクセス対策にあたっては不正ログインの対アs九も重要となる。
何もしてなかったので対策を行いたい。

IPアドレス制限

.htaccessへの記述内容

いろいろなプラグインもあるが、決定的な効果が期待できないこと、動作が重くなることから、シンプルにIPアドレスで制限をかける。
wp-login.phpを格納している場所と同じ場所(階層)に保存されている「.htaccess」ファイルに以下の記述を追記する。

<files wp-login.php>
order allow,deny
deny from all
allow from xxx.xxx.xx.xx
</files>

wp-config.phpのアクセス制限はdeny allで「全拒否」してしまえば良かったのですが、wp-login.phpはログイン画面を呼び出すのでこれを拒否すると管理者(自分自身)もログイン管理画面にログインできなくなってしまいます。

そこで5行目に記述されている

allow from xxx.xxx.xx.xx

で、「特定のIPからアクセスを許可」する設定を行います。ここがポイントです。

IPアドレスの調べ方

以下にパターンに応じた記載を入れているがよく分からなければ如何に記載している

allow from~

の記述を全部コピペしてください。

自宅サーバの場合

ローカル接続なので、ローカルIPを記述すれば良い。

allow from 192.168.xx.xx

自宅にサーバがあるくらいなら、IPも分かると思うが、
よく分からないとか、調べるのが面倒な場合は、

allow from 192.168.0.0 /16

でローカルIPを全指定すれば良い。

レンタルサーバの場合

ほとんどの人はレンタルサーバで運用していると思う。
この場合インターネットでサーバに接続するので、ローカルIPではなくグローバルIPの記述が必要になります。
ローカルIPは勝手に決めてよいければ、グローバルIPはかぶってはいけないので、割り当てを受ける必要があります。
要はIP利用の契約(=購入)が必要ということ。

もし固定のグローバルIPがあればIP情報を確認するサイトで調べることができます。
https://www.cman.jp/network/support/go_access.cgi

で、ほとんどの人は固定IPの契約なんてしていないはず。
光回線やWiMaxとかのポケットWi-Fiを使っていると思うが、その時のIPは
サービス提供者の都合で割り振られているもので、接続の度に変動する。
自宅でルーターの電源を切らなければ、ずっとIPが変わらなかったりもするが、確実ではない。

つまりIPが特定できないため、IPによるアクセス許可を行うことはできない。
しかし、日本に割り当てられているIPの一覧は以下サイトから入手できるので、このリストのIP全てを許可することで海外IPアドレスを制限することとしたい。
http://www.cgis.biz/tools/access/

4,000行くらいになるので詳細は省略するが

allow from 1.0.16.0/20



allow from 223.223.224.0/19

を全て許可することになる。

スポンサーリンク
google_ad
google_ad

シェアする

  • このエントリーをはてなブックマークに追加

フォローする

スポンサーリンク
google_ad