![Apache2에서 클라이언트 인증서를 블랙리스트에 추가하시겠습니까?](https://linux55.com/image/118169/Apache2%EC%97%90%EC%84%9C%20%ED%81%B4%EB%9D%BC%EC%9D%B4%EC%96%B8%ED%8A%B8%20%EC%9D%B8%EC%A6%9D%EC%84%9C%EB%A5%BC%20%EB%B8%94%EB%9E%99%EB%A6%AC%EC%8A%A4%ED%8A%B8%EC%97%90%20%EC%B6%94%EA%B0%80%ED%95%98%EC%8B%9C%EA%B2%A0%EC%8A%B5%EB%8B%88%EA%B9%8C%3F.png)
어떤 방법이 있나요?블랙리스트특정 사용자에게 클라이언트 인증서가 발급되었나요?
현재 일부 악의적인 행위자가 내 웹사이트의 클라이언트 인증서를 가지고 있는 상황에 처해 있는데, 그 인증서 사용을 막는 방법을 모르겠습니다.
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 개인 키를 쉽게 얻을 수 있습니다.
비슷한 문제가 있는 사람이 있다면 당신도 할 수 있습니다. 여기에서 내 코드를 찾을 수 있습니다.요점