Help us understand the problem. What is going on with this article?

ApacheでIP制限とクライアント認証をor条件で運用する

More than 3 years have passed since last update.

ApacheでIP制限とクライアント認証をor条件で運用する

あるIPから来たリクエストは無条件に許可し、それ以外のIPから来たリクエストについてはクライアント認証で許可不許可を判断したい。クライアント認証についての説明はよく見るが、上記のように併用する方法がなかなか見つからなかったのでメモ。
初めはsatisfy anyにすれば良いと思っていたが効かなかった。

httpd.confにて下記設定をする。

尚、DirectoryディレクティブやLocationディレクティブでも使用できる。
許可するクライアント認証のコモンネームは複数指定する事が可能。
SSLVerifyClientをoptionalで、SSLRequireをorで運用する事が肝。

SSLVerifyClientについて

意味
none クライアント証明書の検証を行わない。
optional クライアント証明書の提示があった場合は検証を行う。無い場合は処理を続行する
require かならずクライアント証明書の検証を行う。
optional_no_ca クライアント証明書の提示があった場合は検証を行う。また、クライアント証明書はCAに登録されていなくてもよい。
httpd.conf
        SSLCACertificateFile /etc/pki/CAフォルダ名/cacert.pem
        SSLCARevocationFile /etc/pki/CAフォルダ名/crl.pem
        SSLVerifyClient optional

        Order allow,deny
        allow from all
        SSLUserName SSL_CLIENT_S_DN_CN
        SSLRequire (%{SSL_CLIENT_S_DN_CN} in {"コモンネーム1", "コモンネーム2", "コモンネーム3"}) ¥
                      or ¥
                   (%{REMOTE_ADDR} =‾ m/^xxx¥.xxx¥.xxx¥.xxx$/)

クライアント認証について

クライアント認証については下記が参考になりました。
http://www.webtech.co.jp/blog/optpix_labs/server/1780/

kite_999
Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
Comments
No comments
Sign up for free and join this conversation.
If you already have a Qiita account
Why do not you register as a user and use Qiita more conveniently?
You need to log in to use this function. Qiita can be used more conveniently after logging in.
You seem to be reading articles frequently this month. Qiita can be used more conveniently after logging in.
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
ユーザーは見つかりませんでした