Apache にクライアント IP とプロキシログインの両方を要求させる
Apache 2.4 でプロキシ認証とクライアントアドレス制限を組み合わせ、どちらか一方だけでアクセスを許可しないようにします。
Apache 2.4 のフォワードプロキシで、承認済みの送信元アドレスと有効なログインの両方を要求する場合は <RequireAll> を使います。
<Proxy "*">
AuthType Basic
AuthName "Private proxy"
AuthBasicProvider file
AuthUserFile /etc/apache2/private-proxy-users
<RequireAll>
Require ip 192.0.2.25
Require valid-user
</RequireAll>
</Proxy>この認可フラグメントを既存の制限付きプロキシに統合します。クライアントアドレスとアカウントファイルのパスを置き換え、認証/認可モジュールが利用可能で、ファイルに対象ユーザーがすでに含まれていることを確認します。これはリスナー全体のデプロイではありません。
ポリシーを決める要点は二つです。コンテナーは AND を表しますが、肯定的な要件を並べるだけでは必ずしもすべてを要求しません。Require valid-user は認証済みアカウントを受け入れ、Require user alice は一つのアカウントを指定します。Require user だけでは何も表しません。Apache のユーザー認可リファレンスを参照してください。
| 送信元 | ログイン | 必要な結果 |
|---|---|---|
| 許可範囲内 | 有効 | 意図した認可済みリクエストが許可されます。 |
| 許可範囲内 | 欠落または無効 | 認可された転送はありません。 |
| 許可範囲外 | 有効 | 認可された転送はありません。 |
このフラグメントを信頼する前に、外側の仮想ホストと他の一致する認可セクション; 認可境界をテスト;てください。より具体的な設定が実効結果を変えることがあります。Basic ログインにはクライアントからプロキシまでの保護されたトランスポートも必要です。宛先 HTTPS は後で始まるため、それ以前の平文資格情報交換は保護しません。