認証系(authn / auth)

  • mod_authn_core … 認証の土台。AuthType AuthName などのコア機能を提供。
  • mod_auth_basic … BASIC認証のフロントエンド(平文に近い、要HTTPS)。
  • mod_auth_digest … ダイジェスト認証のフロントエンド(チャレンジ/レスポンスで多少安全)。
  • mod_authn_fileAuthUserFile(htpasswdで作成)を使ったファイルベース認証。

認可系(authz)

  • mod_authz_core … 認可の土台。Require <RequireAll> などを提供。
  • mod_authz_host … IP・ホスト名による制御(Require ip / Require host)。
  • mod_authz_user … ユーザー単位の制御(Require user / Require valid-user)。
  • mod_access_compat … 2.2 時代の Order / Allow / Deny を 2.4 で使うための互換モジュール。

モジュール/拡張系

  • mod_so … DSO(Dynamic Shared Object)を LoadModule で動的に読み込む。これだけは静的組み込みが基本で、他モジュールを動的ロードする入口になる。
  • mod_ssl … SSL/TLS による暗号化通信(HTTPS)。
  • mod_perl … Perl 実行機能。
  • mod_php … PHP 実行機能。

authn と authz の違い

フロントエンド(basic/digest)が「認証方式」を担い、バックエンド(authn_file)が「ユーザー情報の格納先」を担う、という分業関係。

略語元の語意味問い
authnauthentication(認証)本人確認「あなたは誰か?」
authzauthorization(認可)アクセス制御「何が許されるか?」

認証で「誰か」を確認 → 認可で「アクセスして良いか」を判定、という順序。 名前の n / z で見分ける。