주:

OCI 인증서 서비스를 사용하여 IIS 서버에서 호스트된 웹 사이트에 대한 내부 인증서를 발행합니다.

소개

OCI(Oracle Cloud Infrastructure) 인증서는 TLS(전송 계층 보안) 인증서를 만들고 관리하기 위한 서비스입니다. 이 서비스를 통해 조직은 OCI 로드 밸런서 및 OCI API 게이트웨이와 같은 OCI 서비스와 통합되어 고객 테넌시에서 자동으로 배포 및 갱신할 수 있는 전용 CA(인증 기관) 계층 및 TLS 인증서를 생성할 수 있습니다. 이 서비스를 사용하여 IIS(Internet Information Services), Apache 또는 nginx에서 호스팅되는 내부 웹 서버에 대한 인증서를 생성할 수도 있습니다.

목표

이 자습서에서는 OCI 인증서를 사용하여 Windows IIS 서버에서 TLS/SSL 보호 웹 사이트를 호스트하는 데 사용할 내부 인증서를 발행하는 방법에 대해 설명합니다. 우리는 두 가지 옵션을 논의 할 것입니다.

필요 조건

참고: 기밀 정보를 입력하지 마십시오.

작업 1: 인증 기관 만들기

CSR을 사용하여 인증서를 발급하든 OCI 인증서 CA에서 직접 발급하든 CA를 생성해야 합니다. CA 구성 방법에 대한 자세한 내용은 Creating a Certificate Authority를 참조하십시오.

OCI 인증서를 사용하여 루트 CA 또는 하위 CA를 생성합니다. 하위 CA를 생성하려면 루트 CA가 있어야 합니다. 단일 계층 계층은 하나의 CA로 구성됩니다. 단일 CA는 루트 CA와 발행 CA입니다. 루트 CA는 PKI의 신뢰 앵커에 대한 용어입니다. 루트 CA를 신뢰하는 모든 응용 프로그램, 사용자 또는 컴퓨터는 CA 계층에서 발급한 인증서를 신뢰합니다. 발행 CA는 최종 엔티티에 인증서를 발행하는 CA입니다. 그러나 2계층 계층은 대부분의 기업의 요구를 충족하는 설계입니다. 이 디자인에는 루트 CA와 하위 CA가 있습니다. 루트 CA 및 발행 CA 역할이 분리되어 있으므로 보안 레벨이 향상됩니다. CA를 생성하려면 OCI Vault에서 기존 하드웨어로 보호되는 비대칭 암호화 키에 액세스할 수 있어야 합니다. 자세한 내용은 OCI Vault 개요를 참고하세요.

  1. 탐색 메뉴를 열고 ID 및 보안을 누릅니다.

  2. 인증서에서 인증서 기관을 누릅니다.

  3. Create Certificate Authority를 누릅니다.

  4. 구획을 누른 다음 CA를 생성할 구획을 선택합니다.

  5. 인증 기관 유형의 다음 옵션에서 CA 유형을 선택합니다.

    1. 루트 인증 기관: CA 체인의 계층 맨 위에 있는 CA입니다.

    2. 하위 인증 기관: 다른 CA를 포함하는 계층에서 루트 CA가 아닌 CA입니다.

  6. CA에 대한 표시 이름을 입력합니다. 이 이름은 관리 목적으로 CA를 식별하는 데 도움이 되지만 CA 인증서의 일부로 나타나지 않습니다.

  7. (선택 사항) 설명을 입력하여 CA를 식별하는 데 도움이 됩니다. 이 설명은 CA를 식별하는 데 도움이 되지만 CA 인증서의 일부로 나타나지 않습니다.

  8. (선택 사항) 태그를 적용하려면 태그 지정 표시를 누릅니다. 자세한 내용은 리소스 태그를 참조하고 다음을 누릅니다.

  9. CA 인증서의 소유자를 식별하기 위한 공통 이름 이상이 포함된 주체 정보를 입력합니다. 인증서의 용도에 따라 주체는 개인, 조직 또는 컴퓨터 끝점을 식별할 수 있습니다. 주제 정보의 형식은 RFC 5280 표준을 준수해야 합니다. 와일드카드를 사용하여 여러 도메인 또는 하위 도메인 이름에 대한 인증서를 발행할 수 있습니다.

  10. (선택 사항) CA 주체 정보를 더 입력하고 추가 필드 표시를 누릅니다. 주체 식별 이름의 각 값에 대한 자세한 내용을 보려면 다음을 누르십시오.

  11. (선택 사항) 다음 이전에 유효하지 않음을 누른 다음 CA 사용을 시작할 UTC 시간 및 날짜를 지정합니다. 날짜를 지정하지 않으면 CA 유효 기간이 즉시 시작됩니다.

  12. 다음 이후 유효하지 않음을 누른 다음 하위 CA 또는 인증서를 발급하거나 검증하는 데 CA를 더 이상 사용할 수 없는 일자를 지정합니다.

    참고: 유효 기간의 시작 일자보다 1일 이상 늦은 일자를 지정해야 합니다. 2037년 12월 31일 이후 날짜는 지정할 수 없습니다. 값은 가장 가까운 초 단위로 반올림됩니다.

  13. 하위 CA를 생성하는 경우 발행자 인증 기관에서 이 CA를 발행할 상위 CA를 지정합니다. 루트 CA를 만드는 경우 다음 단계를 진행합니다.

  14. 저장소에서 CA 인증서에 사용할 암호화 키가 포함된 저장소를 선택합니다. 선택적으로 구획 변경을 눌러 다른 구획을 지정합니다.

  15. 에서 사용할 저장소의 키를 선택합니다. 인증서가 비대칭 키만 지원하므로 목록에는 저장소에 있는 비대칭 키만 포함됩니다. RSA(Rivest-Shamir-Adleman) 키 중에서 2048비트 또는 4096비트 중에서 선택할 수 있습니다. 타원 곡선 ID가 NIST_P384인 타원 곡선 디지털 서명 알고리즘(ECDSA) 키를 선택할 수도 있습니다. 특히 이 목록에는 HSM(하드웨어 보안 모듈)으로 보호되는 이러한 유형의 비대칭 키만 포함됩니다. 인증서가 소프트웨어 보호 키 사용을 지원하지 않습니다.

  16. 서명 알고리즘에서 키 알고리즘 계열에 따라 다음 옵션 중 하나를 선택하고 다음을 누릅니다.

    • SHA256_WITH_RSA: SHA-256 해시 함수가 있는 RSA 키

    • SHA384_WITH_RSA: SHA-384 해시 함수가 있는 RSA 키

    • SHA512_WITH_RSA: SHA-512 해시 함수가 있는 RSA 키

    • SHA256_WITH_ECDSA: SHA-256 해시 함수가 있는 ECDSA 키

    • SHA384_WITH_ECDSA: SHA-384 해시 함수가 있는 ECDSA 키

    • SHA512_WITH_ECDSA: SHA-512 해시 함수가 있는 ECDSA 키

  17. 만료 규칙을 구성합니다. Maximum Validity Duration for Certificates (Days)에서 이 CA가 발행한 인증서가 유효할 수 있는 최대 일 수를 지정합니다. 유효 기간이 90일을 넘지 않는 것이 좋습니다.

  18. 하위 CA에 대한 최대 유효 기간(일)에서 이 CA가 발행한 CA가 다른 CA 또는 인증서를 발행하는 데 적합할 수 있는 최대 일수를 지정하고 다음을 누릅니다.

  19. 취소 구성 페이지에서 CRL(인증서 취소 목록)을 구성하지 않으려면 취소 건너뛰기 확인란을 선택합니다. 인증서 취소를 구성하려면 체크박스의 선택을 취소한 후 CRL을 저장할 전용 OCI Object Storage 버킷을 지정합니다.

  20. (선택사항) 구획 변경을 눌러 다른 구획의 버킷을 찾습니다.

  21. 객체 이름 형식에서 객체 이름을 지정합니다. 객체 이름에 중괄호를 포함하여 서비스가 발행 CA 버전 번호를 삽입할 수 있는 위치를 나타낼 수 있습니다. 이렇게 하면 다른 CA 버전을 만들 때마다 기존 CRL을 덮어쓰지 않도록 방지할 수 있습니다.

  22. (선택 사항) 사용자정의 형식이 지정된 URL에서 API와 함께 객체에 액세스하는 데 사용할 URL을 제공합니다. 이 URL의 이름은 인증서에서 CRL 배포 지점(CDP)으로 지정됩니다. URL에 중괄호를 포함하여 서비스가 발행 CA 버전 번호를 삽입할 수 있는 위치를 나타낼 수 있습니다. 이 추가 기능은 다른 CA 버전을 만들 때마다 기존 CDP를 덮어쓰지 않도록 도와줍니다. HTTPS 체인의 확인에 순환 종속성이 없는 경우에만 HTTPS URL을 지정할 수 있습니다.

  23. (선택 사항) 다른 CDP를 제공하려면 + 다른 URL을 누른 다음 사용자가 CRL에 액세스할 수 있는 다른 URL을 제공하고 다음을 누릅니다.

  24. 정보를 검토한 다음 인증 기관 생성을 누릅니다.

인증서 관련 리소스를 만드는 데 시간이 걸릴 수 있습니다. CA가 생성되면 다음 두 가지 방법 중 하나를 사용하여 IIS 서버에 대해 발급된 인증서를 가져올 수 있습니다.

작업 2: CSR을 사용하여 발행된 인증서 가져오기

IIS 서버에서 CSR을 만듭니다. 그러면 동일한 서버에서 개인 키도 만들어집니다. 이는 CA에 공개 키를 보내는 표준화된 방법과 회사 및 도메인 이름을 식별하는 일부 정보를 제공하는 권장 접근 방법입니다.

  1. IIS를 사용하여 CSR을 만듭니다. IIS(인터넷 정보 서비스) 관리자로 이동하고 연결 메뉴에서 서버 이름을 누른 다음 서버 인증서를 눌러야 합니다.

    이미지 1

  2. 작업 메뉴에서 인증서 요청 생성...을 누르고 아래와 같이 모든 세부정보를 입력한 다음 다음을 누릅니다.

    이미지 2

    이미지 3

  3. 암호화 서비스 제공자 속성에서 다음 정보를 입력하고 다음을 누릅니다.

    이미지 4

    암호화 공급자 유형은 데이터 형식 및 암호화 프로토콜을 공유하는 암호화 서비스 공급자의 계열입니다. 데이터 형식에는 알고리즘 패딩 체계, 키 길이 및 기본 모드가 포함됩니다.

    Microsoft RSA SChannel 암호화 제공자는 권장되는 CSP이므로 다른 값을 사용할 이유가 없는 경우 사용해야 합니다. 해싱, 데이터 서명 및 서명 확인을 지원합니다. 비트 길이는 인증서의 암호화 강도를 결정합니다. 길이가 클수록 보안이 강해집니다. 보안 향상을 위해 2048이 권장됩니다.

  4. 파일 이름 페이지의 인증서 요청에 대한 파일 이름 지정에서 ...을 눌러 현재 IIS 부분을 완료한 CSR을 저장할 위치를 찾아봅니다(파일을 .pem로 저장).

    이미지 5

  5. OCI 테넌시에 로그인하여 이 CSR을 임포트해야 합니다. CSR 파일을 .pem 형식으로 설정하면 OCI Certificates services, Certificate Authority, Certificates, Create Certificate로 이동하고 Issued by Internal CA, managed outsideally를 선택하고 아래와 같이 필요한 세부정보를 입력할 수 있습니다.

    이미지 6

  6. 인증서 구성 페이지에서 .pem 형식의 작업 2.5에서 생성된 CSR 파일을 업로드하고 다음을 누른 다음 인증서 생성을 눌러야 합니다.

    이미지 7

    이미지 8

  7. 이제 IIS 서버에서 CSR을 완료하는 데 사용할 수 있는 인증서의 .cer를 만들어야 합니다. .cer 파일은 OCI 콘솔에서 ID 및 보안, 인증서, 인증서에서 직접 얻을 수 있습니다. 내용 보기를 누르고 인증서 pemcertificate-chain-pem의 내용을 다운로드한 다음 파일 맨 위에 있는 certificate-pem와 파일 맨 아래에 있는 certificate-chain-pem의 내용을 결합하여 단일 파일을 생성합니다(결과 파일을 .cer로 저장해야 함).

  8. 완료되면 IIS 서버로 다시 이동하여 Complete Certificate Request를 누르고 위에서 만든 .cer 파일을 제공하고 친숙한 이름을 제공한 다음 Next를 누릅니다.

    이미지 9

    이미지 10

    이미지 100

  9. IIS의 서버 인증서에서 인증서를 볼 수 있으며 웹 사이트의 바인딩을 수정하여 IIS에 호스트된 웹 사이트에 사용할 수 있습니다. 사이트 바인딩을 편집하고 설치된 인증서를 선택합니다.

    이미지 11

작업 3: CSR 없이 OCI 인증서 서비스에서 인증서 생성

이 접근 방식에서는 개인 키 관리를 인증 기관에 전달합니다. 일반적으로 CSR은 CA에서 인증서를 가져오는 가장 권장되는 방법입니다. 어떤 이유로든 CSR을 확보할 수 없고 인증서를 발급받으려는 경우 이 방법을 사용할 수 있습니다. 위에서 만든 CA를 사용하여 IIS에서 호스팅되는 웹 사이트에 인증서를 발급합니다. 우리는 우리의 웹 사이트의 주체 이름 (내 경우 iistest.com), 인증서 프로필 유형, 키 알고리즘 및 사용할 CA와 같은 인증서를 발급하는 동안 몇 가지 중요한 정보를 제공 할 것입니다.

  1. OCI 콘솔로 이동하여 ID 및 보안을 누릅니다.

  2. 인증서에서 인증서, 인증서 생성 순으로 누릅니다.

  3. 구획에서 인증서를 생성할 구획을 선택합니다. 인증서는 CA와 동일한 구획 또는 다른 구획에 존재할 수 있습니다.

  4. 인증서 유형에서 인증서를 관리하는 OCI 인증서 CA에서 인증서를 발행하려면 내부 CA에서 발행을 누릅니다.

  5. 인증서의 표시 이름을 입력합니다.

  6. (선택 사항) 설명을 입력하여 인증서를 식별하는 데 도움이 됩니다.

  7. (선택 사항) 태그를 적용하려면 태그 지정 표시를 누르고 다음을 누릅니다.

  8. 인증서 소유자를 식별하는 공통 이름이 포함된 주체 정보를 입력합니다. 인증서의 용도에 따라 주체는 개인, 조직 또는 컴퓨터 끝점을 식별할 수 있습니다. 주체 정보에는 DNS 이름 또는 IP 주소가 인증서 지급자도 알려진 주체 대체 이름으로 포함될 수도 있습니다. 와일드카드를 사용하여 여러 도메인 또는 하위 도메인 이름에 대한 인증서를 발행할 수 있습니다. 인증서를 만드는 동안 SAN 아래에 있는 DNS 이름과 공통 이름을 모두 지정합니다. (일부 브라우저에서는 공통 이름을 무시하고 주체 이름 또는 SAN 이름을 사용하여 주체 정보를 평가합니다.)

  9. (선택 사항) 다른 주체 대체 이름을 추가하려면 + 다른 주체 대체 이름을 누르고 주소 유형을 선택한 다음 이름을 입력한 다음 다음을 누릅니다.

  10. 인증서의 용도에 따라 다음 프로파일에서 인증서 프로파일 유형을 선택합니다.

    • TLS 서버 또는 클라이언트: TLS/SSL 연결을 위해 서버 또는 클라이언트에서 제공합니다.

    • TLS 서버: TLS/SSL 연결을 위해 서버에서 제공합니다.

    • TLS 클라이언트: TLS/SSL 연결 중 클라이언트에서 제공합니다.

    • TLS Code Sign: 서명을 검증하기 위해 프로그램에서 제공합니다.

    서버에 대한 인증서를 발급하고 있으므로 여기서 TLS Server 프로파일 유형을 선택해야 합니다.

  11. 인증서를 발행하는 CA를 변경하려면 발행자 인증 기관을 누른 다음 CA를 선택합니다. 필요한 경우 구획 변경을 누르고 CA가 인증서에 대해 선택한 구획과 다른 구획에 있을 경우 다른 구획을 선택합니다.

  12. (선택 사항) 다음 이전에 유효하지 않음을 누른 다음 인증서를 사용하여 Bearer의 ID를 검증할 수 없는 날짜를 입력합니다. 날짜를 지정하지 않으면 인증서 유효 기간이 즉시 시작됩니다. 값은 가장 가까운 초 단위로 반올림됩니다.

  13. 다음 이후 부적합을 누른 다음 인증서가 더 이상 해당 Bearer의 신원을 증명할 수 없는 날짜를 변경합니다. 유효 기간의 시작 일자보다 1일 이상 늦은 일자를 지정해야 합니다. 일자는 발행 CA의 만료를 초과할 수 없습니다. 또한 2037년 12월 31일 이후의 날짜는 지정할 수 없습니다. 값은 가장 가까운 초 단위로 반올림됩니다. 일반적으로 인증서는 취소가 필요한 경우가 아니면 유효한 전체 기간 동안 사용됩니다.

  14. 키 알고리즘의 경우 다음 옵션에서 인증서 키 쌍에 필요한 알고리즘 및 키 길이 조합을 선택합니다.

    • RSA2048: RSA(Rivest-Shamir-Adleman) 2048비트 키

    • RSA4096: RSA 4096비트 키

    • ECDSA_P256: P256 곡선 ID가 있는 ECDSA 키

    • ECDSA_P384: P384 곡선 ID가 있는 ECDSA 키

  15. (선택 사항) 추가 필드 표시를 누른 다음 서명 알고리즘에서 키에 따라 다음 서명 알고리즘 중 하나를 선택하고 다음을 누릅니다.

    • SHA256_WITH_RSA: SHA-256 해시 함수가 있는 RSA(Rivest-Shamir-Adleman) 키

    • SHA384_WITH_RSA: SHA-384 해시 함수가 있는 RSA 키

    • SHA512_WITH_RSA: SHA-512 해시 함수가 있는 RSA 키

    • SHA256_WITH_ECDSA: SHA-256 해시 함수가 있는 ECDSA 키

    • SHA384_WITH_ECDSA: SHA-384 해시 함수가 있는 ECDSA 키

    • SHA512_WITH_ECDSA: SHA-512 해시 함수가 있는 ECDSA 키

  16. 인증서 자동 갱신을 구성하여 사용 중단을 방지하려면 다음 설정에 대해 0이 아닌 값을 지정한 다음 다음을 누릅니다.

    • 갱신 간격(일): 인증서가 갱신되는 빈도입니다.

    • Advance Renewal Period (Days): 인증서가 만료되기 전까지 갱신이 발생하는 일 수입니다.

      충분한 유연성을 얻으려면 유효 기간이 끝나기 전에 인증서를 갱신하고 실패할 경우 충분한 사전 갱신 시간을 갖습니다. 서비스가 성공적으로 갱신되기 전에 만료되는 인증서로 인해 서비스 중단이 발생할 수 있습니다.

      : IIS 서버에서 인증서가 자동으로 갱신되지 않습니다. 인증서가 만료되면 새 버전의 인증서를 확보하고 IIS 서버에서 다시 업로드해야 합니다.

  17. 모든 정보를 검토한 다음 인증서 생성을 누릅니다.

  18. 인증서가 생성된 후 IIS 서버에 설치할 수 있는 인증서의 .pem를 만들어야 합니다. .pem 파일을 만들려면 위에서 만든 인증서의 cert.pem 및 개인 key.pem를 가져와야 합니다. cert.pem는 OCI 콘솔에서 ID 및 보안, 인증서, 인증서, 콘텐츠 보기를 통해 직접 얻을 수 있으며, 인증서 pemcertificate-chain-pem의 콘텐츠를 다운로드하고, 파일 상단의 certificate-pem 및 하단의 certificate-chain-pem를 결합하여 단일 파일을 생성할 수 있습니다. 전용 키 확보를 위해 자체 OCI Cloud Shell의 OCI CLI를 사용하고 아래 명령을 실행할 수 있습니다.

    oci certificates certificate-bundle get --certificate-id=ocid1.certificate.XXXXXXX --bundle-type=CERTIFICATE_CONTENT_WITH_PRIVATE_KEY
    
  19. private-key-pem의 내용을 명령 출력의 데이터 섹션 아래에 복사하여 .pem 파일로 저장해야 합니다(예: private.pem). cert.pemprivate.pem 파일이 모두 있으면 OpenSSL를 사용하여 .pfx 파일을 생성할 수 있습니다. private-key-pem 파일의 콘텐츠를 복사하는 동안 일부 형식 지정 문제가 발생하므로 \n 문자를 제거해야 할 수 있습니다.

    참고: OCI CLI, OpenSSL 및 기타 많은 툴이 OCI Cloud Shell에 사전 설치되어 있어 이 작업을 손쉽게 수행하는 데 사용할 수 있습니다.

    개인 키 .pem 파일은 다음과 유사해야 합니다.

    이미지 12

  20. 다음 명령을 사용하여 .pem 파일을 확보할 수 있습니다. 기본 OCI Cloud Shell을 사용하여 이 모든 명령을 실행하고 전용 키에 대한 보안 비밀번호를 제공합니다. .pem를 임포트하는 동안 이 비밀번호가 필요합니다.

    openssl pkcs12 -inkey priv.pem -in cert.pem -export -out iis.pem
    

    iis.pem 파일을 IIS 서버에 복사해야 합니다. IIS 서버의 로컬 시스템 인증서 저장소에서 이 iis.pem를 가져와야 합니다. 이미 IIS를 설치하고 데모 웹 사이트를 만들었습니다. 인증서를 가져오면 IIS에 호스트된 내 웹 사이트로 이동하여 사이트 바인딩을 편집하고 설치된 인증서를 선택할 수 있습니다. 이제 https(secured http)를 사용하여 웹 사이트를 테스트할 준비가 되었습니다.

    이미지 13

작업 4: 보안 HTTP(https)를 사용하여 IIS 호스트 웹 사이트 테스트

이 데모를 소개하고 루트 CA 인증서(Certificate-chain-pem에서 내보낼 수 있음)를 이 웹 사이트에 액세스하는 데 사용되는 클라이언트 시스템의 로컬 시스템 인증서 저장소에 있는 Trusted Root Certification Authority 폴더에 배치하기 위해 기본 Hello World 사이트를 사용했습니다. 이 작업은 OCI 인증서에서 생성된 CA가 전용 CA이므로 브라우저에서 신뢰할 수 없기 때문에 웹 사이트에 액세스하려는 모든 로컬 시스템의 Trusted Root Store/Intermediate Store에 루트 CA 및 중간 CA(사용되는 경우)를 추가해야 합니다.

이미지 14

확인

추가 학습 자원

docs.oracle.com/learn에서 다른 실습을 살펴보거나 Oracle Learning YouTube 채널에서 더 많은 무료 학습 콘텐츠에 액세스하십시오. 또한 education.oracle.com/learning-explorer를 방문하여 Oracle Learning Explorer가 되십시오.

제품 설명서는 Oracle Help Center를 참조하십시오.