スクリプトID:1213134「SSL/TLS Certificate Validation Failure」について、サーバー証明書、中間証明書、ルート証明書のいずれかが「CA/ブラウザフォーラムのベースライン要件2.0.7」に準拠していない場合にも検知されます。
上記を理由に検知している場合、指摘箇所の確認方法は以下になります。
①スクリプトID:1213134「SSL/TLS Certificate Validation Failure」の「収集情報」より「Chain ID」および「Chain Depth」を確認します。
②スクリプトID:200827「SSL/TLS Certificate Information」の「収集情報」より該当の「Chain ID」および「Chain Depth」の証明書ブロックを確認します。
③下記のコマンドを実行すると、サーバーが送信した証明書のみが表示されます。
(<HOST NAME>および<PORT NUMBER>については該当の対象に置き換えてください。)
該当の証明書ブロック(-----BEGIN CERTIFICATE----- から -----END CERTIFICATE-----)をコピーし、「certs.pem」というファイル名(任意のファイル名で問題ありません)で保存します。
※指摘されている証明書が表示されない場合は、お手数おかけしますが弊社にご連絡いただければと思います。
openssl s_client -showcerts -connect <HOST NAME>:<PORT NUMBER>
④以下のコマンドを実行することで、証明書の詳細が抽出できます。
openssl crl2pkcs7 -nocrl -certfile <certs.pem> | openssl pkcs7 -print_certs -text -noout
指摘されている箇所は、スクリプトID:1213134「SSL/TLS Certificate Validation Failure」の「収集情報」の「Reason」から確認します。
各項目の説明は以下の通りです。
InvalidKeyUsage |
証明書の「Key Usage」に「Certificate Sign」が含まれていません。 証明書の「Key Usage」に「CRL Sign」が含まれていません。 |
ConstraintViolation |
「Basic Constraints」拡張が「critical」として指定されていません。 証明書に「Key Usage」拡張が存在しません。 |
※Basic Constraints 拡張について
・ルート証明書または中間証明書には、「BasicConstraints」拡張が必須であり、「critical」として設定され、CAフィールドは「True」に設定される必要があります。
・サーバー証明書には「BasicConstraints」拡張が存在する場合がありますが、存在する場合は「critical」として設定され、拡張のCAフィールドは「False」に設定される必要があります。
ルート証明書及び中間証明書の理想的なパターンは以下になります。
X509v3 extensions:
X509v3 Basic Constraints: critical
CA:TRUE
X509v3 Key Usage: critical
Digital Signature, Certificate Sign, CRL Sign
X509v3 Subject Key Identifier:
9C:5F:00:DF:AA:01:D7:30:2B:38:88:A2:B8:6D:4A:9C:F2:11:91:83
X509v3 Authority Key Identifier:
BF:5F:B7:D1:CE:DD:1F:86:F4:5B:55:AC:DC:D7:10:C2:0E:A9:88:E7
Authority Information Access:
OCSP - URI:http://o.ss2.us/
CA Issuers - URI:http://x.ss2.us/x.cer
X509v3 CRL Distribution Points:
Full Name:
URI:http://s.ss2.us/r.crl
対応方法につきましては、証明書を取り替えてすべての拡張が正しく設定されているものを使用するか、証明書の取り換えが不可能と判断された場合はリスク受容として登録することを推奨いたします。
リスク受容の登録は下記をご参照ください。
コメント
0件のコメント
サインインしてコメントを残してください。