どのような方法がありますか?ブラックリスト特定のユーザーにクライアント証明書が発行されましたか?
現在、一部の悪意のある行為者が私のウェブサイトのクライアント証明書を持っている状況に直面していますが、その証明書の使用を防ぐ方法がわかりません。
Apache2
現在CentOSシステムで実行されていますが、NGINX
必要に応じて移行できます。
答え1
証明書を発行したCAに証明書のキャンセルを依頼してください。 CA(必ず)定期的に公開する必要があります証明書失効リスト(CRL)は、基本的にすべての信頼当事者(この場合はApacheサーバー)が信頼してはならない証明書のブラックリストです。
CRL 配布ポイント拡張を見つけて、CA が CRL を発行していることを確認できます。
$ openssl x509 -noout -text -in example.crt | grep -A1 "Full Name"
Full Name:
URI:http://pki.example.test/cdp/example-CA.crl
このURLは、信頼当事者がCRLをダウンロードできる場所です。
または、CAは次のものを使用できます。OCSP失効情報を配布します。これは、特定の証明書の失効状態を回答者に照会することに依存する、より複雑なシステムです。以下を使用して見つけることができます。
$ openssl x509 -noout -text -in example.crt | grep "OCSP"
OCSP - URI:http://ocsp.example.test
これはOCSPレスポンダのURLです。
これらの何も表示されない場合、CAは失効情報を発行せず、おそらく幸運ではありません。
しかし、ApacheはSSLCA撤回文書オプションは、代替方法でダウンロードされたCRLを指すことができます。たとえば、CA が CRL を作成したが、上記のいずれかの方法で展開せずに電子メールで送信しようとする場合は、このオプションを使用してサーバーに保存し、Apache を指すことができます。可能性がないと提案したいです。
答え2
助けを受けた後garethTheRed
。クライアント証明書をキャンセルするのに役立つPythonスクリプトを作成しました。私は自分自身の認証局(CA)なので、CRLを更新するために必要なCA秘密鍵を簡単に取得できます。
同様の問題を抱えている人がいる場合は、あなたもできます。ここで私のコードを見つけることができます。ポイント