자체 서명 된 PEM 인증서 신뢰


23
  1. PEM 인증서를 사용하여 SSL을 사용하여 프록시 서버를 설정했습니다. 이제 웹 브라우저가 불평하지 않고이 인증서를 자동으로 신뢰하고 싶은 두 대의 컴퓨터가 있습니다. 각 컴퓨터에 PEM ​​인증서를 어떻게 설치합니까?

  2. 또한 자체 권장 인증서를 생성하거나 snakeoil 인증서를 연결하는 것이 더 좋습니다.

답변:


10

브라우저에는 신뢰할 수있는 "인증 기관"(CA) 인증서 목록이 있습니다. 서버의 인증서가 해당 CA 인증서 중 하나에 의해 서명되고 올바르게 구성된 경우 SSL 경고가 표시되지 않습니다.

많은 브라우저에는 Verisign, Thawte 등과 같은 많은 공통 CA 인증서가 제공됩니다. 대부분의 브라우저를 사용하면이 신뢰할 수있는 CA 목록으로 새 CA를 가져올 수 있습니다.

자체 서명 된 서버 인증서를 만드는 것처럼 자체 서명 된 CA 인증서를 만들 수 있습니다. 그런 다음이를 사용하여 서버 인증서에 서명 할 수 있습니다. 잘 알려진 회사에서 CA를 제공하지 않으면 CA는 서버 측에서 명시 적으로 가져와야합니다.

나는 xca이것을 전에 사용 했다. CA 및 HTTP 서버용 템플릿이 있습니다. 절차는 다음과 같습니다.

  • CA의 개인 키 생성
  • "CA"템플리트를 사용하여이 키를 사용하여 자체 서명 된 CA 작성
  • 프록시 서버를위한 개인 키 생성
  • 방금 만든 CA를 참조하여 두 번째 키를 사용하여 "인증서 서명 요청"(CSR)을 만듭니다.
  • CSR에 "서명"하면 자신의 CA를 참조하는 프록시 서버 인증서가 제공됩니다.

그런 다음 xcaCA 인증서를 ( 사용하는 경우 파일로 ) 내 보내야합니다 (물론 개인 키는 포함하지 않음). A .pem가 생성되지만 확장자를로 변경할 수 있습니다 .crt. 사용자가이를 클릭하면 Firefox 및 Internet Explorer 및 기타 주요 브라우저에 설치되도록 제공됩니다. 이 .crt를 자동으로 설치하면 다음을 수행 할 수 있습니다.

  • IE에서 그룹 정책 사용
  • 경고를 피하려면 .crt를 다운로드 / 설치하도록 요청하는 소개 페이지로 사용자를 안내하십시오.

그런 다음 HTTP 서버 인증서의 내보내기 기능 (서버 측의 개인 키와 인증서 모두 내보내기)을 사용하여 프록시 서버에 넣을 수 있습니다.


17
  1. 인증서를 /etc/ssl/certs대상 시스템에 복사하십시오 . 그런 다음 인증서 이름으로 openssl x509 -noout -hash -in ca-certificate-file바꾸는 명령으로 생성 된 해시를 사용하여 심볼릭 링크를 만듭니다 ca-certificate-file. 그런 다음 자체 인증서 저장소없이 모든 프로그램에서 인증서를 승인해야합니다.

    자체 인증서 저장소 (브라우저, Java 및 기타)가있는 프로그램의 경우 인증서를 가져와야합니다.

  2. 자체 서명 또는 서명 된 인증서를 생성하는 것이 가장 좋습니다.

    tinyca2자체 인증 기관 을 설치 하고 생성 할 수 있습니다 . 위 단계에서 자세히 설명한대로 인증 기관 인증서를 가져올 수 있습니다. 애플리케이션에 대한 서명 된 인증서를 생성하고 배치하십시오.

    인증서를 신뢰해야하는 사용자에게 CA 인증서를 배포하십시오. 인증서를 인증서로 가져 오는 방법에 대한 정보를 제공해야 할 수도 있습니다. 경고 : 이렇게하면 다른 신뢰할 수있는 CA가되므로 CA를 적절히 보호하십시오.

    자체 서명 된 인증서 또는 신뢰할 수없는 CA의 인증서를 신뢰하도록 많은 도구를 구성 할 수도 있습니다. 이것은 일반적으로 한 번만 수행됩니다. 안전하지 않은 기관에서 CA 인증서를 수락하면 승인 된 인증서 만 신뢰할 수 있으므로 더 안전 할 수 있습니다.


좀 더 구체적으로 만들 수 있습니까? 예를 들어, 호스트 A는 호스트 B에게 메일을 보내고 B의 신원을 확인할 수 없다는 불만을 표시합니다. 호스트 B에서 자체 서명 된 인증서를 작성했습니다 /etc/ssl/certs/ssl-cert-snakeoil.pem(이것은 데비안 패키지 ssl-cert가 생성합니다). 우리는 그것을 호스트 A에 복사하고 호출합니다 /etc/ssl/certs/host-B.pem(이 호스트는 이미을 가질 수 있기 때문에 ssl-cert-snakeoil.pem). 그런 다음 실행 ln -s /etc/ssl/certs/host-B.pem $(openssl x509 -noout -hash -in /etc/ssl/certs/host-B.pem)합니다.
Alex Schröder

1
@ AlexSchröder 위에서 편집했습니다. 그들은 snakeoil 인증서를 가져 와서는 안되지만 자신의 CA를 설정 한 경우 CA를 가져 오는 것이 합리적입니다. SMTP 서버 간의 신뢰 문제를 아직 식별하지 못했습니다. 대부분의 클라이언트는 개별 인증서를 신뢰하도록 할 수 있습니다.
BillThor

감사. 내가 얻는 로그 항목에 대한 설명을 찾을 때이 질문을 찾았습니다. 내가 찾은 설명은 A가 B에게 메일을 보낼 때 A는 B의 신원을 확인할 수 없다고보고 할 것이라는 점이다.
Alex Schröder

이것이 바로 내가 찾던 것입니다! -- 고맙습니다! 이제 davfs를 사용하여 보안 웹 DAV를 많은 성가심없이 마운트 할 수 있습니다.
Wyatt8740 1

13

데비안과 우분투에서 당신은 복사 할 필요 certificate.pem/usr/local/share/ca-certificates/certificate.crt하고 실행 dpkg-reconfigure ca-certificates. /etc/ssl/certs해당 명령으로 관리됩니다.

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