Apache SSL 인증서와 개인 키를 별도의 파일에 저장하는 이유는 무엇입니까?


11

SSLCertificateFileSSLCertificateKeyFile 지시문에 대한 Apache mod_ssl 설명서 에는 개인 키와 SSL 인증서를 동일한 파일에 저장하는 것이 '권장하지 않습니다'라고 명시되어 있습니다.

이제 개인 키 파일을 안전하게 유지해야하지만, 그런 경우, 동일한 파일에 인증서를 저장하는 데 특정한 위험이 있습니까? 이 동작이 왜 지원되는지 궁금하지만 설명 없이는 권장하지 않습니다.

답변:


15

SSL 인증서 파일은 잠금입니다.
SSL 인증서 키 파일이 해당 키입니다.

두 개를 함께 보관하는 것은 현관의 자물쇠에 열쇠를 두는 것과 같습니다.
공격자가 단일 파일을 손상 시키면 웹 사이트 (인증서 및 개인 키)를 가장하는 데 필요한 모든 것이 있습니다.

SSL 키에 암호가없는 경우 (특히 웹 서버가 크래시 발생시 자동으로 시작되도록 허용하지 않는) 경우에 특히 그렇습니다.


파일을 분리하여 방어 SSLCertificateFile하는 것은 웹 클라이언트에 (공개적으로 제공되어야하는 것) 내용을 덤프하는 Apache 버그입니다 .
(내 지식으로는 그러한 버그가 존재하지 않았거나 존재하지 않았지만 Apache는 크고 복잡한 소프트웨어입니다. 전적으로 가능합니다.)

Apache가이 파일을 덤프하고 SSL 인증서 (잠금) 만 있으면 아무 문제가 없습니다. 어쨌든 서버에 SSL을 요청할 때 모든 사람이 해당 인증서의 사본을받습니다.
파일에 키가 포함되어 있으면 보안 가능성이 높아졌습니다. 전체 암호화 모델이 손상되어 키를 변경해야합니다.


고마워, 웹 서버가 공개 인증서와 함께 개인 키를 제공하게하는 이론적 인 버그도 내 추측이었습니다. 키와 인증서를 동일한 파일에 저장하는 것이 키를 현관에 두는 것과 동등하다는 데 동의하지 않지만, 똑같은 이유는 생각할 수 없습니다.
Vortura

1
그것은 문에 열쇠를 테이핑으로 나쁜으로 아마 아니다 - 어쩌면 가까이 문틀 상단의 키를 고집, 또는 :-) 그 숨기기 - 어 - 키 바위 중 하나를 사용하여
voretaq7을

7

이전 버전의 OpenSSL에는 두 개의 별도 파일 (공개 및 개인)이 필요했습니다. 이전 버전의 다른 암호화 엔진에는 단일 파일이 필요했습니다 (둘 다 동일한 파일에 있음). 호환성의 "정신"(일명 "불일치에 대해 관리자가 두 가지 인증서 세트를 유지해야 함")에서 대부분은 현재 두 가지를 모두 지원합니다.

서로 다른 인증서의 범위가 다르기 때문에 두 인증서 (키 체인도 모두)를 단일 파일에 저장하지 않는 것이 좋습니다. 공개 인증서가 공개적으로 읽을 수있는 파일 권한을 가져야하며 그 반대의 경우에는 공개 인증서에 기술적 인 문제보다 일관성 문제가 더 많습니다. 시스템에서 공개 인증서를 잠금 및 키 상태로 유지하는 데 위험은 없으며 그 목적과 일치하지 않습니다.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.