设置客户机到站点认证
为 VPN 服务器和 VPN 客户端配置身份验证设置。 证书通过 IBM Cloud® Secrets Manager进行管理。
创建 IAM 服务到服务授权
要为 VPN 服务器和IBM Cloud Secrets Manager 创建 IAM 服务到服务授权,请按照以下步骤操作:
您还可以在 VPN 服务器供应页面上设置 IAM 服务到服务授权,或者使用 编辑 授权侧面板。
- 从 IBM Cloud 控制台,转至“管理授权”页面,然后单击 创建。
- 从菜单中选择 VPC 基础架构服务。 然后,选择 基于所选属性的资源。
- 选择 资源类型 > 客户机 VPN for VPC。
- 对于目标服务,选择 Secrets Manager。
- 保持选中 所有资源。 然后,选择 SecretsReader 复选框。
- 单击授权。
管理 VPN 服务器和客户机证书
将证书导入 Secrets Manager
以下过程使用 OpenVPN easy-rsa 生成 VPN 服务器和客户机证书,然后将这些证书导入到 Secrets Manager。 有关更多信息,请参阅 Easy-RSA 3 Quickstart README。
-
将 Easy-RSA 3 存储库克隆到本地文件夹中:
git clone https://github.com/OpenVPN/easy-rsa.git cd easy-rsa/easyrsa3
-
创建公用密钥基础结构 (PKI) 和认证中心 (CA):
./easyrsa init-pki ./easyrsa build-ca nopass
请检查是否在路径
./pki/ca.crt
中生成了 CA 证书。 正如 下一节 所述,在将服务器或客户端证书导入Secrets Manager 时,需要将用于签署其他证书的证书作为中间证书。 -
生成 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
上。 -
生成 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
上。 -
如果需要创建更多 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中,请执行以下步骤:
-
如果您还没有 Secrets Manager 实例,请转至 Secrets Manager 页面。 然后,完成信息并单击 创建 以创建 Secrets Manager 实例。
有关更多信息,请参阅 Secrets Manager 的排序证书。
-
在控制台中,单击导航菜单图标
> 资源列表 > 安全
-
从服务列表中选择您的 Secrets Manager 实例。
-
在秘密表中,单击添加。
-
单击导入证书,然后单击下一步。
-
请按照以下步骤导入证书:
- 添加名称和描述,方便识别您的秘密。
- 选择要分配给密文的密文组。
- 可选:添加标签,帮助您搜索实例中的类似秘密。
- 可选:为秘密或秘密的特定版本添加元数据。
- 单击下一步,然后选择导入证书磁贴。
- 单击浏览并选择
./pki/issued/vpn-server.vpn.ibm.com.crt
作为证书文件。 - 单击 浏览 并选择
./pki/private/vpn-server.vpn.ibm.com.key
作为证书的专用密钥。 - 单击 浏览 并选择
./pki/ca.crt
作为中间证书。 - 单击下一步。
- 查看证书详细信息,然后单击添加。
有关更多信息,请参阅 导入现有证书。
重要注意事项
-
在此示例中,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.pem 和 https://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,请执行以下步骤:
- 在 IBM Cloud 控制台中,转至 导航菜单 图标
> 资源列表 * *。
- 单击以展开 安全性,然后选择要查找其 CRN 的 Secrets Manager。
- 选择证书表行中的任意位置以打开“证书详细信息”侧面板。 证书 CRN 列示在侧面板中。
配置用户标识和密码
要为 VPN 客户端用户配置认证,请执行以下步骤:
-
VPN 管理员邀请 VPN 客户端的用户访问 VPN 服务器所在的帐户。
-
VPN 管理员为 VPN 客户端用户分配 IAM 许可权。 此许可权允许此用户与 VPN 服务器连接。 有关更多信息,请参阅 创建 IAM 访问组并授予角色以连接到 VPN 服务器。
-
VPN 客户端用户打开以下 Web 站点以生成其用户标识的验证码:
https://iam.cloud.ibm.com/identity/passcode
-
VPN 客户端用户在其 openVPN 客户端上输入密码,并启动与 VPN 服务器的连接。 有关更多信息,请参阅 设置客户端 VPN 环境和连接 VPN 服务器。