●Apacheのアクセス制御
Apacheではアクセス元のIPアドレス、ホスト名もしくはドメイン名を使用してアクセス制御を行うことが出来る。アクセス制御にはApacheの設定ファイルhttpd.confを用いる。
Apache2.2では、Order、Allow、Denyディレクティブを使用したが、Apache2.4では非推奨、Requireディレクティブを使う。
●Requireディレクティブの書式
Require [not] エンティティ 値
主なエンティティ
■mod_authz_coreモジュール
・all granted すべて許可
・all denied すべて拒否
・env 環境変数 指定した環境変数が設定されていると許可
・method httpメソッド 指定したhttpメソッドに合致すると許可
・expr 表現 指定した表現に合致すると許可
■mod_authz_hostモジュール
・ip IPアドレス(範囲) 指定したアドレス(範囲)を許可
・host ホスト名 指定したホスト名を許可
■mod_authz_userモジュール
・user ユーザ名 指定したユーザを許可
・group 指定したグループを許可
・valid-user 正常に認証されたユーザを許可
●ディレクティブの意味
・ すべての条件に合致したら真
・ いずれかの条件に合致したら真
・ すべての条件に合致しなかったら真
●アクセス制御をLimit、LimitExceptディレクティブ内に設定して、特定のHTTPメソッドに適用することもできます。
・Limitディレクティブ
指定したHTTPメソッドのみに、Limitディレクティブ内に設定したアクセス制御を適用。
・LimitExceptディレクティブ
指定したHTTPメソッド以外のメソッドに、LimitExceptディレクティブ内に設定したアクセス制御を適用