SSLCertificateFile 및 SSLCertificateKeyFile 지시문에 대한 Apache mod_ssl 설명서 에는 개인 키와 SSL 인증서를 동일한 파일에 저장하는 것이 '권장하지 않습니다'라고 명시되어 있습니다.
이제 개인 키 파일을 안전하게 유지해야하지만, 그런 경우, 동일한 파일에 인증서를 저장하는 데 특정한 위험이 있습니까? 이 동작이 왜 지원되는지 궁금하지만 설명 없이는 권장하지 않습니다.
SSLCertificateFile 및 SSLCertificateKeyFile 지시문에 대한 Apache mod_ssl 설명서 에는 개인 키와 SSL 인증서를 동일한 파일에 저장하는 것이 '권장하지 않습니다'라고 명시되어 있습니다.
이제 개인 키 파일을 안전하게 유지해야하지만, 그런 경우, 동일한 파일에 인증서를 저장하는 데 특정한 위험이 있습니까? 이 동작이 왜 지원되는지 궁금하지만 설명 없이는 권장하지 않습니다.
답변:
SSL 인증서 파일은 잠금입니다.
SSL 인증서 키 파일이 해당 키입니다.
두 개를 함께 보관하는 것은 현관의 자물쇠에 열쇠를 두는 것과 같습니다.
공격자가 단일 파일을 손상 시키면 웹 사이트 (인증서 및 개인 키)를 가장하는 데 필요한 모든 것이 있습니다.
SSL 키에 암호가없는 경우 (특히 웹 서버가 크래시 발생시 자동으로 시작되도록 허용하지 않는) 경우에 특히 그렇습니다.
파일을 분리하여 방어 SSLCertificateFile
하는 것은 웹 클라이언트에 (공개적으로 제공되어야하는 것) 내용을 덤프하는 Apache 버그입니다 .
(내 지식으로는 그러한 버그가 존재하지 않았거나 존재하지 않았지만 Apache는 크고 복잡한 소프트웨어입니다. 전적으로 가능합니다.)
Apache가이 파일을 덤프하고 SSL 인증서 (잠금) 만 있으면 아무 문제가 없습니다. 어쨌든 서버에 SSL을 요청할 때 모든 사람이 해당 인증서의 사본을받습니다.
파일에 키가 포함되어 있으면 보안 가능성이 높아졌습니다. 전체 암호화 모델이 손상되어 키를 변경해야합니다.
이전 버전의 OpenSSL에는 두 개의 별도 파일 (공개 및 개인)이 필요했습니다. 이전 버전의 다른 암호화 엔진에는 단일 파일이 필요했습니다 (둘 다 동일한 파일에 있음). 호환성의 "정신"(일명 "불일치에 대해 관리자가 두 가지 인증서 세트를 유지해야 함")에서 대부분은 현재 두 가지를 모두 지원합니다.
서로 다른 인증서의 범위가 다르기 때문에 두 인증서 (키 체인도 모두)를 단일 파일에 저장하지 않는 것이 좋습니다. 공개 인증서가 공개적으로 읽을 수있는 파일 권한을 가져야하며 그 반대의 경우에는 공개 인증서에 기술적 인 문제보다 일관성 문제가 더 많습니다. 시스템에서 공개 인증서를 잠금 및 키 상태로 유지하는 데 위험은 없으며 그 목적과 일치하지 않습니다.