IBM Cloud Docs
设置客户机到站点认证

设置客户机到站点认证

为 VPN 服务器和 VPN 客户端配置身份验证设置。 证书通过 IBM Cloud® Secrets Manager进行管理。

创建 IAM 服务到服务授权

要为 VPN 服务器和IBM Cloud Secrets Manager 创建 IAM 服务到服务授权,请按照以下步骤操作:

您还可以在 VPN 服务器供应页面上设置 IAM 服务到服务授权,或者使用 编辑 授权侧面板。

  1. 从 IBM Cloud 控制台,转至“管理授权”页面,然后单击 创建
  2. 从菜单中选择 VPC 基础架构服务。 然后,选择 基于所选属性的资源
  3. 选择 资源类型 > 客户机 VPN for VPC
  4. 对于目标服务,选择 Secrets Manager
  5. 保持选中 所有资源。 然后,选择 SecretsReader 复选框。
  6. 单击授权

管理 VPN 服务器和客户机证书

将证书导入 Secrets Manager

以下过程使用 OpenVPN easy-rsa 生成 VPN 服务器和客户机证书,然后将这些证书导入到 Secrets Manager。 有关更多信息,请参阅 Easy-RSA 3 Quickstart README

  1. 将 Easy-RSA 3 存储库克隆到本地文件夹中:

    git clone https://github.com/OpenVPN/easy-rsa.git
    cd easy-rsa/easyrsa3
    
  2. 创建公用密钥基础结构 (PKI) 和认证中心 (CA):

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

    请检查是否在路径 ./pki/ca.crt 中生成了 CA 证书。 正如 下一节 所述,在将服务器或客户端证书导入Secrets Manager 时,需要将用于签署其他证书的证书作为中间证书。

  3. 生成 VPN 服务器证书:

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

    请检查是否在路径 ./pki/issued/vpn-server.vpn.ibm.com.crt 上生成了 VPN 服务器公用密钥,以及专用密钥是否在路径 ./pki/private/vpn-server.vpn.ibm.com.key 上。

  4. 生成 VPN 客户机证书:

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

    请检查是否在路径 ./pki/issued/client1.vpn.ibm.com.crt 上生成了 VPN 客户机公用密钥,以及专用密钥是否在路径 ./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) 捆绑到单个文件中,并上载到中间证书文件。 此外,请记住,您可以使用同一 CA 以脱机方式创建多个客户机证书,而不必将证书上载到 Secrets Manager。

将 VPN 服务器证书导入到 Secrets Manager 中

要将 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 的证书,然后使用新的证书 CRN 更新 VPN 服务器。

  • 如果该证书用作 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> 部分。

有关 Let 's Encrypt 证书链的更多信息,请参阅 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 客户端,那么他们可以通过认证。
  • 无法创建证书撤销列表 (CRL) 来撤销具有公共 CA 的 VPN 客户机证书。

您必须创建自己的 CA,并将 CA 证书导入到 Secrets Manager 以认证 VPN 客户端。

使用专用证书

您可以在 VPN 服务器中使用 Secrets Manager 专用证书。 执行此操作时,请查看以下重要注意事项:

  • CA 链中的所有 CA 都必须包含在 Secrets Manager 实例中。 此外,必须在 Secrets Manager中创建根 CA。 选择中间 CA 时,需要 以下选项以确保在验证 VPN 服务器中专用证书的 CA 链时可以找到每个 CA:

    • 在“类型”部分中,必须选择 内部签名
    • 在类型部分,创建 CA 时必须启用 “编码 URL,以便在最终实体证书中编码颁发URL。 如果在创建CA后启用 URL,则无法正常工作。
  • 专用证书 CA 链中的最大 CA 数为 11 (根 CA 和最多 10 个中间 CA)。

  • 在“证书撤销列表”部分中,如果要使用专用证书的 CA CRL,请启用 CRL 构建CRL 分发点 开关。 在一小时后,应用程序不再信任已撤销的证书。

  • 仅当创建 VPN 服务器时未上载证书撤销列表时,CA CRL 才有效。 如果已上载 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 列示在侧面板中。

配置用户标识和密码

要为 VPN 客户端用户配置认证,请执行以下步骤:

  1. VPN 管理员邀请 VPN 客户端的用户访问 VPN 服务器所在的帐户。

  2. VPN 管理员为 VPN 客户端用户分配 IAM 许可权。 此许可权允许此用户与 VPN 服务器连接。 有关更多信息,请参阅 创建 IAM 访问组并授予角色以连接到 VPN 服务器

  3. VPN 客户端用户打开以下 Web 站点以生成其用户标识的验证码:

    https://iam.cloud.ibm.com/identity/passcode
    
  4. VPN 客户端用户在其 openVPN 客户端上输入密码,并启动与 VPN 服务器的连接。 有关更多信息,请参阅 设置客户端 VPN 环境和连接 VPN 服务器