LoginSignup
2
4

More than 3 years have passed since last update.

Apache 2.4 アクセス制御 チートシート

Last updated at Posted at 2020-08-16

Apache 2.4はauthz_host_moduleのRequireディレクティブでアクセス制御を実現している。

RequireAll, RequireAny, RequireNoneについて

  • RequireAll

    • 全ての条件にマッチすればTRUEと評価する (AND条件)
  • RequireAny

    • いずれかの条件にマッチすればTRUEと評価する (OR条件)
  • RequireNone

    • いずれの条件にもマッチしなければTRUEと評価する (NOT条件)

例)

<Location /admin>
    <RequireAll>
        <RequireAny>
        Require user admin
        Require ip 192.168.1
        </RequireAny>
        <RequireNone>
        Require group blacklist
        </RequireNone>   
    </RequireAll>
</Location>

この場合、adminユーザ あるいは 接続元IPが192.168.1のネットワークである かつ、
blacklistに記載されていない場合は /adminにアクセスできる。

RequireAll, RequireAny, RequireNone どれも記載がなければ、
デフォルトではRequireAnyが適用される模様。
Requireディレクティブはいろいろと設定値があるようなので、調べたいところ。

Requireディレクティブについて

  • mod_authz_core

    • Require all granted => 全て許可
    • Require all denied => 全て拒否
    • Require env <環境変数> => 環境変数で制御
    • Require method http => httpメソッドで制御
  • mod_authz_host

    • Require ip <IPアドレス> => IPアドレスで制御
    • Require host <ホスト名> => ホスト名で制御
  • mod_authz_user

    • Require user <ユーザ名>
    • Require group <グループ名>
    • Require valid_user => 認証ユーザを許可
2
4
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2
4