클라이언트 대 사이트 인증 설정

VPN 서버 및 VPN 클라이언트에 대한 인증 설정을 구성하십시오. 인증서는 IBM Cloud® Secrets Manager을 통해 관리됩니다.

IAM 서비스 대 서비스 권한 작성

VPN 서버 및 IBM Cloud Secrets Manager 에 대한 IAM 서비스 간 인증을 만들려면 다음 단계를 따르세요:

VPN 서버 프로비저닝 페이지에서 IAM 서비스 간 인증을 설정하거나 인증 편집 사이드 패널을 사용할 수도 있습니다.

  1. IBM Cloud 콘솔에서 권한 관리 페이지로 이동하여 만들기를 클릭합니다.
  2. 메뉴에서 VPC 인프라 서비스를 선택합니다. 그런 다음 선택한 속성에 기반한 리소스를 선택하십시오.
  3. 리소스 유형 > Client VPN for VPC를 선택하십시오.
  4. Target 서비스의 경우 Secrets Manager.
  5. 모든 자원 을 선택된 상태로 유지하십시오. 그런 다음 SecretsReader 선택란을 선택하십시오.
  6. 권한 부여를 클릭하십시오.

VPN 서버 및 클라이언트 인증서 관리

Secrets Manager 로 인증서 가져오기

다음 절차는 OpenVPN easy-rsa를 사용하여 VPN 서버 및 클라이언트 인증서를 생성한 다음, 이러한 인증서를 Secrets Manager 으로 가져옵니다. 자세한 정보는 쉬운 RSA 3빠른 시작 README를 참조하십시오.

  1. 다음과 같이 Easy-RSA 3 저장소를 로컬 폴더에 복제하십시오.

    git clone https://github.com/OpenVPN/easy-rsa.git
    cd easy-rsa/easyrsa3
    
  2. PKI (Public Key Infrastructure) 및 CA (Certificate Authority) 를 작성하십시오.

    ./easyrsa init-pki
    ./easyrsa build-ca nopass
    

    CA 인증서가 ./pki/ca.crt 경로에서 생성되었는지 확인하십시오. 다음 섹션에서 설명한 대로 서버 또는 클라이언트 인증서를 Secrets Manager 가져올 때 다른 인증서에 서명하는 데 사용한 인증서를 중간 인증서로 요구합니다.

  3. VPN 서버 인증서를 생성합니다:

    ./easyrsa build-server-full vpn-server.vpn.ibm.com nopass
    

    VPN 서버 공개 키가 ./pki/issued/vpn-server.vpn.ibm.com.crt 경로에 생성되고 개인 키가 ./pki/private/vpn-server.vpn.ibm.com.key 경로에 있는지 확인하십시오.

  4. VPN 클라이언트 인증서를 생성합니다:

    ./easyrsa build-client-full client1.vpn.ibm.com nopass
    

    VPN 클라이언트 공개 키가 ./pki/issued/client1.vpn.ibm.com.crt 경로에 생성되고 개인 키가 ./pki/private/client1.vpn.ibm.com.key경로에 있는지 확인하십시오.

  5. VPN 클라이언트 인증서를 추가로 작성해야 하는 경우 4단계를 반복하십시오.

중요한 고려 사항:

  • 위의 예에서 VPN 서버 및 클라이언트 인증서는 동일한 CA로 서명됩니다. 다른 CA를 사용하여 클라이언트 인증서에 서명하려면 easyrsa3 폴더를 새 경로에 복사하고 2 및 4단계를 수행하십시오.

  • 다른 CA의 VPN 서버 인증서가 이미 있는 경우 인증서에 확장 키 사용법 ( TLS Web Client Authentication) 이 있는지 확인하십시오. cat YOUR-CERTIFICATE-FILE | openssl x509 -noout -text 명령을 사용하여 인코딩된 인증서 파일의 컨텐츠를 기반으로 인증서 정보를 확인할 수 있습니다.

  • 인증서를 VPN 클라이언트 인증서로 사용하여 클라이언트를 인증하는 경우, 인증서 파일과 중간 인증서 파일을 업로드해야 합니다. 예를 들어, 다른 클라이언트 인증서를 사용하여 다른 사용자를 인증하는 경우 이러한 인증서가 동일한 CA에서 서명되고 클라이언트 인증서 중 하나 (인증서 파일중간 인증서 파일 만) 를 Secrets Manager에 업로드했는지 확인하십시오.

    CA 체인을 사용하여 인증서 (중간 CA 1, 중간 CA 2및 루트 CA) 를 단일 파일로 번들화하고 중간 인증서 파일에 업로드할 수 있습니다. 또한 Secrets Manager에 인증서를 업로드하지 않고도 동일한 CA를 사용하여 오프라인으로 여러 클라이언트 인증서를 작성할 수 있습니다.

Secrets Manager 로 VPN 서버 인증서 가져오기

VPN 서버 인증서를 Secrets Manager 로 가져오려면 다음 단계를 따르세요:

  1. Secrets Manager 인스턴스가 아직 없는 경우 Secrets Manager 페이지로 이동하십시오. 그런 다음 정보를 입력하고 만들기를 클릭하여 Secrets Manager 인스턴스를 만듭니다.

    자세한 정보는 Secrets Manager 에 대한 인증서 주문을 참조하십시오.

  2. 콘솔에서 탐색 메뉴 아이콘 메뉴 아이콘 > 리소스 목록 > 보안을 클릭합니다

  3. 서비스 목록에서 Secrets Manager 인스턴스를 선택합니다.

  4. 시크릿 표에서 추가를 클릭하십시오.

  5. 가져온 인증서를 클릭한 후 다음을 클릭합니다.

  6. 인증서를 가져오려면 다음 단계를 따르세요:

    1. 시크릿을 쉽게 식별할 수 있도록 이름 및 설명을 추가하십시오.
    2. 시크릿에 지정할 시크릿 그룹을 선택하십시오.
    3. 선택사항: 인스턴스에서 유사한 시크릿을 검색하는 데 도움이 되는 레이블을 추가하십시오.
    4. 선택 사항입니다: 비밀 또는 특정 버전의 비밀에 메타데이터를 추가합니다.
    5. 다음을 클릭하고 인증서 가져오기 타일을 선택합니다.
    6. 찾아보기를 클릭하고 ./pki/issued/vpn-server.vpn.ibm.com.crt를 인증서 파일로 선택하십시오.
    7. 찾아보기를 클릭하고 ./pki/private/vpn-server.vpn.ibm.com.key를 인증서의 개인 키로 선택하십시오.
    8. 찾아보기를 클릭하고 ./pki/ca.crt를 중간 인증서로 선택하십시오.
    9. 다음 을 클릭하십시오.
    10. 인증서의 세부 정보를 검토하고 추가를 클릭합니다.

자세한 정보는 기존 인증서 가져오기 를 참조하십시오.

중요한 고려 사항:

  • 이 예에서는 VPN 서버와 클라이언트 인증서가 동일한 CA에 의해 서명되었으므로 VPN 서버 인증서만 업로드하면 됩니다. 또한 이 인증서를 VPN 서버 인증서로 사용하고 VPN 클라이언트를 인증해야 합니다. VPN 서버와 클라이언트 인증서가 서로 다른 CA에 의해 서명된 경우, 별도로 업로드해야 합니다.

  • Secrets Manager 에서 인증서를 업데이트한 경우 VPN 서버는 인증서 업데이트를 인식하지 못합니다. 다른 CRN으로 인증서를 다시 가져온 다음 VPN 서버를 새 인증서 CRN으로 업데이트해야 합니다.

  • 인증서를 VPN 서버 인증서로 사용하는 경우, 인증서 파일, 개인 키 파일중간 인증서 파일을 업로드해야 합니다. 인증서를 VPN 클라이언트 인증서로 사용하여 클라이언트를 인증하는 경우, 인증서 파일과 중간 인증서 파일을 업로드해야 합니다.

    CA 체인을 사용하여 인증서 (중간 CA 1, 중간 CA 2및 루트 CA) 를 단일 파일로 번들화하고 중간 인증서 파일에 업로드할 수 있습니다.

Secrets Manager 를 사용하여 공용 인증서 주문

Secrets Manager 를 사용하여 공용 SSL/TLS 인증서를 VPN 서버 인증서로 주문할 수 있습니다. 공용 CA 루트 인증서는 Secrets Manager에 저장되지 않으므로 Secrets Manager 는 중간 인증서만 저장합니다. Let's Encrypt에서 .pem 파일로 저장된 루트 인증서가 필요합니다. 필요한 두 파일은 https://letsencrypt.org/certs/lets-encrypt-r3.pemhttps://letsencrypt.org/certs/isrgrootx1.pem에 있습니다. 이러한 파일은 사용자의 편의를 위해 연결되었지만 보안상의 이유로 자신의 루트 인증서를 다운로드하여 파일로 연결할 것을 권장합니다. 또한 VPN 클라이언트 프로파일을 다운로드 및 업데이트할 때 이 루트 인증서를 사용하여 클라이언트 프로파일의 <ca> 섹션을 대체하십시오.

암호화하자 인증서 체인에 대한 자세한 내용은 다음을 참조하세요 https://letsencrypt.org/certificates/.

-----BEGIN CERTIFICATE-----
MIIFFjCCAv6gAwIBAgIRAJErCErPDBinU/bWLiWnX1owDQYJKoZIhvcNAQELBQAw
TzELMAkGA1UEBhMCVVMxKTAnBgNVBAoTIEludGVybmV0IFNlY3VyaXR5IFJlc2Vh
cmNoIEdyb3VwMRUwEwYDVQQDEwxJU1JHIFJvb3QgWDEwHhcNMjAwOTA0MDAwMDAw
WhcNMjUwOTE1MTYwMDAwWjAyMQswCQYDVQQGEwJVUzEWMBQGA1UEChMNTGV0J3Mg
RW5jcnlwdDELMAkGA1UEAxMCUjMwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEK
AoIBAQC7AhUozPaglNMPEuyNVZLD+ILxmaZ6QoinXSaqtSu5xUyxr45r+XXIo9cP
R5QUVTVXjJ6oojkZ9YI8QqlObvU7wy7bjcCwXPNZOOftz2nwWgsbvsCUJCWH+jdx
sxPnHKzhm+/b5DtFUkWWqcFTzjTIUu61ru2P3mBw4qVUq7ZtDpelQDRrK9O8Zutm
NHz6a4uPVymZ+DAXXbpyb/uBxa3Shlg9F8fnCbvxK/eG3MHacV3URuPMrSXBiLxg
Z3Vms/EY96Jc5lP/Ooi2R6X/ExjqmAl3P51T+c8B5fWmcBcUr2Ok/5mzk53cU6cG
/kiFHaFpriV1uxPMUgP17VGhi9sVAgMBAAGjggEIMIIBBDAOBgNVHQ8BAf8EBAMC
AYYwHQYDVR0lBBYwFAYIKwYBBQUHAwIGCCsGAQUFBwMBMBIGA1UdEwEB/wQIMAYB
Af8CAQAwHQYDVR0OBBYEFBQusxe3WFbLrlAJQOYfr52LFMLGMB8GA1UdIwQYMBaA
FHm0WeZ7tuXkAXOACIjIGlj26ZtuMDIGCCsGAQUFBwEBBCYwJDAiBggrBgEFBQcw
AoYWaHR0cDovL3gxLmkubGVuY3Iub3JnLzAnBgNVHR8EIDAeMBygGqAYhhZodHRw
Oi8veDEuYy5sZW5jci5vcmcvMCIGA1UdIAQbMBkwCAYGZ4EMAQIBMA0GCysGAQQB
gt8TAQEBMA0GCSqGSIb3DQEBCwUAA4ICAQCFyk5HPqP3hUSFvNVneLKYY611TR6W
PTNlclQtgaDqw+34IL9fzLdwALduO/ZelN7kIJ+m74uyA+eitRY8kc607TkC53wl
ikfmZW4/RvTZ8M6UK+5UzhK8jCdLuMGYL6KvzXGRSgi3yLgjewQtCPkIVz6D2QQz
CkcheAmCJ8MqyJu5zlzyZMjAvnnAT45tRAxekrsu94sQ4egdRCnbWSDtY7kh+BIm
lJNXoB1lBMEKIq4QDUOXoRgffuDghje1WrG9ML+Hbisq/yFOGwXD9RiX8F6sw6W4
avAuvDszue5L3sz85K+EC4Y/wFVDNvZo4TYXao6Z0f+lQKc0t8DQYzk1OXVu8rp2
yJMC6alLbBfODALZvYH7n7do1AZls4I9d1P4jnkDrQoxB3UqQ9hVl3LEKQ73xF1O
yK5GhDDX8oVfGKF5u+decIsH4YaTw7mP3GFxJSqv3+0lUFJoi5Lc5da149p90Ids
hCExroL1+7mryIkXPeFM5TgO9r0rvZaBFOvV2z0gp35Z0+L4WPlbuEjN/lxPFin+
HlUjr8gRsI3qfJOQFy/9rKIJR0Y/8Omwt/8oTWgy1mdeHmmjk7j1nYsvC9JSQ6Zv
MldlTTKB3zhThV1+XWYp6rjd5JW1zbVWEkLNxE7GJThEUG3szgBVGP7pSWTUTsqX
nLRbwHOoq7hHwg==
-----END CERTIFICATE-----

-----BEGIN CERTIFICATE-----
MIIFazCCA1OgAwIBAgIRAIIQz7DSQONZRGPgu2OCiwAwDQYJKoZIhvcNAQELBQAw
TzELMAkGA1UEBhMCVVMxKTAnBgNVBAoTIEludGVybmV0IFNlY3VyaXR5IFJlc2Vh
cmNoIEdyb3VwMRUwEwYDVQQDEwxJU1JHIFJvb3QgWDEwHhcNMTUwNjA0MTEwNDM4
WhcNMzUwNjA0MTEwNDM4WjBPMQswCQYDVQQGEwJVUzEpMCcGA1UEChMgSW50ZXJu
ZXQgU2VjdXJpdHkgUmVzZWFyY2ggR3JvdXAxFTATBgNVBAMTDElTUkcgUm9vdCBY
MTCCAiIwDQYJKoZIhvcNAQEBBQADggIPADCCAgoCggIBAK3oJHP0FDfzm54rVygc
h77ct984kIxuPOZXoHj3dcKi/vVqbvYATyjb3miGbESTtrFj/RQSa78f0uoxmyF+
0TM8ukj13Xnfs7j/EvEhmkvBioZxaUpmZmyPfjxwv60pIgbz5MDmgK7iS4+3mX6U
A5/TR5d8mUgjU+g4rk8Kb4Mu0UlXjIB0ttov0DiNewNwIRt18jA8+o+u3dpjq+sW
T8KOEUt+zwvo/7V3LvSye0rgTBIlDHCNAymg4VMk7BPZ7hm/ELNKjD+Jo2FR3qyH
B5T0Y3HsLuJvW5iB4YlcNHlsdu87kGJ55tukmi8mxdAQ4Q7e2RCOFvu396j3x+UC
B5iPNgiV5+I3lg02dZ77DnKxHZu8A/lJBdiB3QW0KtZB6awBdpUKD9jf1b0SHzUv
KBds0pjBqAlkd25HN7rOrFleaJ1/ctaJxQZBKT5ZPt0m9STJEadao0xAH0ahmbWn
OlFuhjuefXKnEgV4We0+UXgVCwOPjdAvBbI+e0ocS3MFEvzG6uBQE3xDk3SzynTn
jh8BCNAw1FtxNrQHusEwMFxIt4I7mKZ9YIqioymCzLq9gwQbooMDQaHWBfEbwrbw
qHyGO0aoSCqI3Haadr8faqU9GY/rOPNk3sgrDQoo//fb4hVC1CLQJ13hef4Y53CI
rU7m2Ys6xt0nUW7/vGT1M0NPAgMBAAGjQjBAMA4GA1UdDwEB/wQEAwIBBjAPBgNV
HRMBAf8EBTADAQH/MB0GA1UdDgQWBBR5tFnme7bl5AFzgAiIyBpY9umbbjANBgkq
hkiG9w0BAQsFAAOCAgEAVR9YqbyyqFDQDLHYGmkgJykIrGF1XIpu+ILlaS/V9lZL
ubhzEFnTIZd+50xx+7LSYK05qAvqFyFWhfFQDlnrzuBZ6brJFe+GnY+EgPbk6ZGQ
3BebYhtF8GaV0nxvwuo77x/Py9auJ/GpsMiu/X1+mvoiBOv/2X/qkSsisRcOj/KK
NFtY2PwByVS5uCbMiogziUwthDyC3+6WVwW6LLv3xLfHTjuCvjHIInNzktHCgKQ5
ORAzI4JMPJ+GslWYHb4phowim57iaztXOoJwTdwJx4nLCgdNbOhdjsnvzqvHu7Ur
TkXWStAmzOVyyghqpZXjFaH3pO3JLF+l+/+sKAIuvtd7u+Nxe5AW0wdeRlN8NwdC
jNPElpzVmbUq4JUagEiuTDkHzsxHpFKVK7q4+63SM1N95R1NbdWhscdCb+ZAJzVc
oyi3B43njTOQ5yOf+1CceWxG1bQVs5ZufpsMljq4Ui0/1lvh+wjChP4kqKOJ2qxq
4RgqsahDYVvTH9w7jXbyLeiNdd8XM2w9U/t7y0Ff/9yi0GE44Za4rF2LN9d11TPA
mRGunUHBcnWEvgJBQl9nJEiU0Zsnvgc/ubhPgXRR4Xq37Z0j4r7g1SgEEzwxA57d
emyPxgcYxn/eR44/KJ4EBs+lVDR3veyJm+kXQ99b21/+jh5Xos1AnX5iItreGCc=
-----END CERTIFICATE-----

주문된 인증서는 공인 SSL/TLS 인증서이며 VPN 서버 인증서로만 사용해야 합니다. 다음과 같은 이유로 인해 주문된 인증서를 사용하여 VPN 클라이언트를 인증할 수 없습니다.

  • 누구나 공인 CA에서 새 인증서를 주문할 수 있습니다. 그런 다음, 공인 SSL/TLS 인증서를 사용하여 VPN 클라이언트를 인증하는 경우 인증서가 통과될 수 있습니다.
  • 공개 CA를 사용하여 VPN 클라이언트 인증서를 해지하기 위한 CRL(인증서 해지 목록)을 만들 수 없습니다.

VPN 클라이언트를 인증하려면 자체 CA를 생성하고 CA 인증서를 Secrets Manager 으로 가져와야 합니다.

개인용 인증서 사용

VPN 서버에서 Secrets Manager 사설 인증서를 사용할 수 있습니다. 이를 수행할 때 다음과 같은 중요한 고려사항을 검토하십시오.

  • CA 체인의 모든 CA는 Secrets Manager 인스턴스에 포함되어야 합니다. 또한 Secrets Manager내에 루트 CA를 작성해야 합니다. 중간 CA를 선택하는 경우 VPN 서버에 있는 개인 인증서의 CA 체인이 확인되는 동안 모든 CA를 찾을 수 있는지 확인하기 위해 다음 옵션이 필수 입니다.

    • 유형 섹션에서 내부 서명을 선택해야 합니다.
    • 유형 섹션에서, URL 인코딩하기 위해 CA를 생성할 때 URL 활성화해야 합니다. CA를 만든 후에 URL 활성화하면 작동하지 않습니다.
  • 개인용 인증서 CA 체인의 최대 CA수는 11 (루트 CA및 최대 10개의 중간 CA) 입니다.

  • 개인용 인증서의 CA CRL을 사용하려는 경우 인증서 폐기 목록 섹션에서 CRL 빌드CRL 분배 지점 스위치를 둘 다 사용으로 설정하십시오. 취소된 인증서는 한 시간 후에 애플리케이션에서 더 이상 신뢰하지 않습니다.

  • CA CRL은 VPN 서버를 작성할 때 인증서 폐기 목록을 업로드하지 않는 경우에만 작동합니다. VPN 서버의 CRL이 이미 업로드된 경우에는 CA CRL을 사용으로 설정할 필요가 없습니다.

  • 중간 CA에 대한 템플리트를 작성하는 동안 인증서 역할 섹션에서 다음을 수행하십시오.

    • 작성된 CA가 VPN 서버에 대한 서버 인증서에 서명하는 경우 서버에 대한 인증서 사용 선택란을 선택하십시오.
    • 작성된 CA가 VPN 서버에 대한 클라이언트 인증서에 서명하는 경우 클라이언트에 대한 인증서 사용 선택란을 선택하십시오.
    • 작성된 CA가 VPN 서버에 대한 서버 및 클라이언트 인증서 모두에 서명하는 경우 서버에 대한 인증서 사용클라이언트에 대한 인증서 사용 선택란을 모두 선택하십시오.
  • Secrets Manager 에서 CA를 생성할 때, 모든 CA가 CA 체인에서 고유한 공통 이름을 갖도록 하십시오.

자세한 정보는 Secrets Manager 문서에서 개인 인증서 작성 을 참조하십시오.

인증서 CRN 찾기

UI를 사용하여 프로비저닝하는 동안 클라이언트-사이트 VPN 서버에 대한 인증을 구성할 때 Secrets Manager 및 SSL 인증서 또는 인증서의 CRN을 지정하도록 선택할 수 있습니다. 메뉴에서 Secrets Manager 을 볼 수 없는 경우, 즉 Secrets Manager 인스턴스에 액세스할 수 없는 경우 이 작업을 수행할 수 있습니다. API를 사용하여 클라이언트 대 사이트 VPN 서버를 작성하는 경우에는 CRN을 입력해야 합니다.

CRN을 얻으려면 Secrets Manager 인스턴스에 액세스할 수 있는 권한이 있어야 합니다.

인증서의 CRN을 찾으려면 다음 단계를 수행하십시오.

  1. IBM Cloud 콘솔에서 탐색 메뉴 아이콘 메뉴 아이콘 > 리소스 목록**으로 이동합니다.
  2. 클릭하여 보안을 확장한 다음 CRN을 찾으려는 Secrets Manager 을 선택합니다.
  3. 인증서의 테이블 행에서 임의의 위치를 선택하여 인증서 세부사항 측면 패널을 여십시오. 인증서 CRN이 측면 패널에 나열됩니다.

사용자 ID 및 패스코드 구성

VPN 클라이언트 사용자에 대한 인증을 구성하려면 다음 단계를 수행하십시오.

  1. VPN 관리자는 VPN 서버가 상주하는 계정에 VPN 클라이언트의 사용자를 초대합니다.

  2. VPN 관리자는 VPN 클라이언트 사용자에게 IAM 권한을 지정합니다. 해당 권한을 사용하면 이 사용자는 VPN 서버와 연결할 수 있습니다. 자세한 정보는 IAM 액세스 그룹 작성 및 VPN 서버에 연결하기 위한 역할 부여를 참조하십시오.

  3. VPN 클라이언트 사용자는 다음 웹 사이트를 열어 사용자 ID에 대한 패스코드를 생성합니다.

    https://iam.cloud.ibm.com/identity/passcode
    
  4. VPN 클라이언트 사용자는 openVPN 클라이언트에 패스코드를 입력하고 VPN 서버에 대한 연결을 시작합니다. 자세한 정보는 클라이언트 VPN 환경 설정 및 VPN 서버에 연결을 참조하십시오.