Apache2에서 클라이언트 인증서를 블랙리스트에 추가하시겠습니까?

Apache2에서 클라이언트 인증서를 블랙리스트에 추가하시겠습니까?

어떤 방법이 있나요?블랙리스트특정 사용자에게 클라이언트 인증서가 발급되었나요?

현재 일부 악의적인 행위자가 내 웹사이트의 클라이언트 인증서를 가지고 있는 상황에 처해 있는데, 그 인증서 사용을 막는 방법을 모르겠습니다.

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가 해지 정보를 발행하지 않으며 아마도 운이 좋지 않은 것입니다.

그러나 아파치는SSLCA 철회 문서옵션은 대체 방법을 통해 다운로드된 CRL을 가리킬 수 있습니다. 예를 들어, CA가 CRL을 생성했지만 위 방법 중 하나를 통해 배포하지 않고 이를 이메일로 보내려고 하는 경우 이 옵션을 사용하여 이를 서버에 저장하고 Apache를 가리킬 수 있습니다. 나는 가능성이 없다고 제안하고 싶습니다.

답변2

도움을 받은 후 garethTheRed. 클라이언트 인증서를 취소하는 데 도움이 되는 Python 스크립트를 작성했습니다. 나는 내 자신의 CA(인증 기관)이므로 CRL을 업데이트하는 데 필요한 CA 개인 키를 쉽게 얻을 수 있습니다.

비슷한 문제가 있는 사람이 있다면 당신도 할 수 있습니다. 여기에서 내 코드를 찾을 수 있습니다.요점

관련 정보