CS/네트워크

폐쇄망에서 브라우저가 SSL 인증서를 신뢰하는 방법

kyoulho 2025. 3. 5. 22:59
728x90

일반적으로 인터넷에서 웹사이트를 방문하면 브라우저는 해당 사이트의 SSL 인증서를 확인하고 신뢰할 수 있는지 판단합니다. 하지만 폐쇄망(Closed Network) 환경에서는 글로벌 인증 기관이 아닌 내부 인증 기관(Private CA)에서 발급한 인증서를 사용해야 합니다. 이때 브라우저가 내부 인증서를 신뢰하도록 설정하는 방법을 알아보겠습니다.


1. 브라우저가 SSL 인증서를 신뢰하는 방식

브라우저가 SSL 인증서를 신뢰하는 과정은 다음과 같습니다.

인증서 체인 검증 (Certificate Chain Validation)

SSL 인증서는 다음과 같은 체인 구조를 가집니다.

루트 인증서 (Root CA)
  └── 중간 인증서 (Intermediate CA)
        └── 서버 인증서 (Server Certificate)

브라우저는 다음 절차를 통해 SSL 인증서를 검증합니다.

  1. 서버에서 SSL 인증서를 제공
    • 웹사이트에 접속하면 서버는 SSL 인증서를 클라이언트(브라우저)에 전달합니다.
  2. 중간 인증서 검증
    • 서버 인증서가 신뢰할 수 있는 중간 CA 인증서에 의해 서명되었는지 확인합니다.
  3. 루트 인증서 확인
    • 최종적으로 중간 CA를 발급한 루트 CA 인증서가 브라우저의 "신뢰할 수 있는 인증서 저장소"에 있는지 확인합니다.
  4. 인증서 유효성 확인
    • 인증서의 유효 기간(Validity Period) 확인
    • CRL (Certificate Revocation List) 또는 OCSP (Online Certificate Status Protocol)을 통해 인증서 폐기 여부 확인

브라우저의 루트 CA 저장소

각 운영체제와 브라우저는 자체적인 신뢰할 수 있는 루트 CA 목록을 관리합니다.

  • Windows: "인증서 저장소(Certificate Store)"를 사용
  • Linux/macOS: /etc/ssl/certs 및 update-ca-certificates 명령어 활용
  • Chrome, Firefox: 자체적인 CA 저장소 사용 (Firefox는 OS와 별도로 관리됨)

2. 폐쇄망에서 SSL 인증서를 신뢰하는 방법

폐쇄망에서는 글로벌 인증 기관(예: DigiCert, Let's Encrypt)에서 발급한 인증서를 사용할 수 없습니다. 따라서 내부 CA를 구축하고 브라우저가 이를 신뢰하도록 설정해야 합니다.

내부 CA(Private CA) 생성 및 배포

조직 내부에서 자체적인 루트 CA를 생성하고, 이를 통해 서버 인증서를 발급해야 합니다. 내부 CA는 OpenSSL 또는 Microsoft Active Directory Certificate Services(AD CS) 등을 활용할 수 있습니다.

내부 CA 인증서를 클라이언트에 등록

각 클라이언트(PC, 서버)가 내부 루트 CA를 신뢰하도록 설정해야 합니다.

Windows에서 루트 CA 인증서 등록

  1. certmgr.msc 실행
  2. "신뢰할 수 있는 루트 인증 기관" → "인증서" 선택
  3. 내부 CA 인증서(ca.crt) 가져오기

Linux/macOS에서 루트 CA 인증서 등록

sudo cp ca.crt /usr/local/share/ca-certificates/
sudo update-ca-certificates

Chrome, Firefox에서 CA 인증서 수동 등록

  • chrome://settings/security → "보안 인증서 관리"
  • Firefox는 자체 저장소에서 수동으로 CA 추가 필요

웹 서버에 중간 인증서 포함하기

내부 서버에서 SSL 인증서를 사용할 때 중간 인증서도 포함하여 설정해야 합니다.

cat server.crt intermediate.crt > fullchain.pem

내부 OCSP 및 CRL 구축 (선택 사항)

폐쇄망에서는 OCSP(Online Certificate Status Protocol) 및 CRL(인증서 폐기 목록) 서비스가 외부에 연결되지 않기 때문에, 내부적으로 운영해야 합니다.


3. 폐쇄망에서 발생할 수 있는 문제 및 해결 방법

"신뢰할 수 없음" 오류 발생

원인: 내부 CA 인증서가 등록되지 않음
해결: 내부 루트 CA를 클라이언트 OS 및 브라우저에 등록

인증서 체인 불완전 오류

원인: 중간 인증서 누락
해결: 서버 인증서와 중간 인증서를 함께 제공 (Full Chain Certificate 적용)

3) CRL/OCSP 응답 없음

원인: 브라우저가 인증서 폐기 상태를 확인할 수 없음
해결: 내부적으로 CRL 및 OCSP 서버 운영

728x90