WordPressの脆弱性対応、その2です。
WordPressに限らずですが、CMSの脆弱性を保全するのに、パスワードの保護ともう一つ、そもそもパスワードの入力画面自体を見せない、という方法があります。
WordPressだけではなく、社内向けページなど特定のユーザーのみに公開したい場面は多々あります。
そんな場合はアクセス制限という方法を使いますが、その中でも特定のIPアドレスを持つ端末にしか見せないIP制限という方法があります。
こういった方法を使うと、WordPressの管理画面に社内からしか入れない、取引先からしか入れない、という仕組みにできます。
いつでもどこでも更新できるWordPressの利点を投げ捨ててますね。
閲覧する端末を特定するには前述のIPアドレスや、もしくはドメインを指定する方法があります。
多くの場合はIPアドレスを元にします。
ミドルウェアにApacheがあれば、httpd.confという設定ファイルを使う方法と、制限を設けたいディレクトリに「.htaccess」というファイルを設置する2種類があります。
htaccessについてはかなり以前にも触れた事があります。
なお、.htaccessは、そのディレクトリ配下のファイル全てに適用されます。
サーバの再起動はいりませんが、httpd.confは設定ファイルなので、変更するたびにサーバの再起動が必要が必要になります。
.htaccessファイルは
allowとdenyを組み合わせて使いますが、優先順位を決める事ができます。
deny(拒否)
allow(許可)
仮に
order deny,allow
とした場合
基本的にアクセスを許可し、denyに指定されたIPを拒否する事になります。
order deny,allow
allow from all
deny from web-design.link
などと記述します。
IPアドレスは実在すると怖いのでドメインにしましたが、基本的にはIPアドレスと思います。
WordPressに限った事を言うと、WordPressはフロント画面とダッシュボードが同じサーバにいるのが基本なので、ROOTで制限をかけてしまうとコンテンツ自体ユーザー制限がかかってしまいます。
こういった場合は、httpd.confよりもhtaccessでWordPressのダッシュボード以下に絞って制限をかけるのが適切なのではないかと思います。
僕は一人しか見たことは無いですが、世の中にはアク禁すると「ネットは自由なのにアクセス禁止にするなんておかしい!(意訳)」的な事を言う人もいるようなのですが、ネットが自由なのであれば閲覧を拒否する自由もある、という事ですね。
本当はぜんぜん自由なんかじゃないのですが・・・。