ASA 本地 CA 实现 SSL VPN 证书认证 目录 一 配置说明二 将 ASA 配置为 CA 服务器三 在 ASA 配置身份证书四 配置 Local Users 用户验证五 配置 AnyConnect SSL VPN 访问六 生成用户数字证书七 Apple ios AnyConnect VPN 客户端验证八 Windows XP AnyConnect VPN 客户端验证附录 基于证书验证的扩展配置 一 配置说明 本文描述了在 ASA 设备上通过配置本地 CA 证书服务器, 实现 SSL VPN 以数字证书验证的具体配置步骤 在本例中,ASA 作为本地 CA 服务器, 所有用户端证书, 都通过 ASA 进行分发 配置环境 : ASA 8.4(1): 需要 SSL VPN License 和 AnyConnect for Mobile License ASDM 6.4(2) 或更高 Apple iphone ios 5.1.1: 需要安装 AnyConnect 2.5.5130 Apple ipad ios 5.1: 需要安装 AnyConnect 2.5.5130 Windows XP SP3: 建议安装 AnyConnect 3.0.5080 采用 ASA 作为 CA 服务器, 分发数字证书实现 SSL VPN 认证的方式, 一般适合用户没有外部 CA 服务器, 适用于小规模部署的应用环境 在大规模部署环境中, 建议采用 Windows Server 等服务器作为 CA 服务器 注 : 从 ASA 8.2 起,ASA 支持作为本地 CA 证书服务器的功能 二 将 ASA 配置为 CA 服务器 在 ASDM 中, 进入 Configuration > Remote Access VPN > Certificate Management > Local Certificate Authority > CA Server, 选中 Enable, 并填写以下内容 : 1) 选中 create certificate authority server 2) 输入一个密码, 用于保护 root certificate, 其余部分缺省不变 3) 在 SMTP Server 处, 填写邮件服务器 IP 地址, 用于发送获取证书的用户名和一
次性密码 (OTP) 给需要获取证书的用户 如果没有邮件服务器, 也可以在 ASDM 上直接查看用户名和 OTP 4) More options 的 publish-crl interface and port 选择 outside 5) 其他采用缺省值, 点击 Apply 三 在 ASA 配置身份证书 如果已经完成证书的申请, 则可以直接选中 Import the identity certificate from a file 在本实验中, 采用了 ASA 自签名的证书 在 ASDM 中, 进入 Configuration > Remote Access VPN > Certificate Management > Identity Certificates 1) 点击 Add 2) 在 TrustPoint Name 输入 ASDM_SSL_VPN ( 可选 ) 3) 选中 Add a new identity certificate 4) 点击 New, 并选中 Enter new key pair name, 输入 SSLVPN-RSA-Key, 点击 Generate Now 5) 确认 Certificate Subject DN 的内容为 : CN=asa5505 ( ASA 设备的 hostname ) 6) 点击 Advanced, 并在 IP Address 栏中输入 ASA 的 IP 地址 ( 在域名无法解析的环境中必须配置 本例中 IP 地址为 192.168.43.15), 并点击 OK 7) 选中 Generate self-signed certificate, 并点击 Add Certificate
四 配置 Local Users 用户验证 配置 Local Users 的目的, 是为了方便配置过程中的测试 在 ASDM 中, 进入 Configuration > Remote Access VPN > AAA/Local Users > Local Users, 点击 Add, 进行添加用户 ( 配置步骤略 ) 五 配置 AnyConnect SSL VPN 访问 在 ASDM 中, 进入 Configuration > Remote Access VPN >Network (Client) Access -> Anyconnect Connection Profile >, 在 Connection Files 下面点击 Add, 增加一个 Connection Profile, 配置如图所示 :
注意 : 建议先创建好 Group Policy:staff_GP 和 Client Address Pools:vpn_local_pool, 以方便 Connection Profile 的创建 在完成 Connection Profile 创建后, 需要在 outside 网络接口启用 VPN 的访问, 同时允许用户在 VPN 连接时自己选择 Connection Profile 六 生成用户数字证书 在 ASDM 中, 进入 Configuration > Remote Access VPN > Certificate Management > Local Certificate Authority > Manage User Database 1) 点击 Add 2) 分别输入 Username, Email ID 和 Subject(DN String), 点击 Add User
注意 : 这里的 Username 是用来获取证书的用户名,Subject 是使用证书连接 VPN 时, 在 ASA 上显示的用户名 3) 如果采用邮件方式获取证书, 点击 Email OTP ( 多个证书可以配置同样的邮件地址 ), 这样用户名和 OTP(One Time Password) 密码就发送到用户邮箱中 4) 如果采用手工方式获取证书, 点击 View/Re-generate OTP 来查看 OTP 这个 OTP 密码除了用于客户端访问时获取数字证书外, 在客户端安装证书时也需要输入这个密码 七 Apple ios AnyConnect VPN 客户端验证 适用于 iphone/ipad 的 AnyConnect 软件可以通过 Apple App Store 下载安装 安装成功后, 按照下列步骤获取数字证书, 并完成 VPN 连接的验证 1) 运行 AnyConnect, 点击 Add VPN Connection, 输入 Description 和 Server Address, Certificate 选择 Automatic:
2) 连接 VPN, 系统弹出窗口, 提示无法验证服务器身份 ( 因为证书是 ASA 自签名生 成 ), 选择 Continue 3) 在 Group 选择界面, 选中在 ASA 创建的 Connection Profile:staff_cert, 并点击 Get Certificate :
4) 在 Certificate Enrollment 界面, 输入发给用户名和 OTP(One Time Password) 密码, 并点击 Connect, 系统很快会提示证书导入成功, 并要求将该 Certificate 与 VPN Connection 进行关联 : 5) 进入 VPN Connection:Demo_cert 的编辑界面, 选中刚刚导入的证书, 再点即 Demo_cert 回到上一个页面, 并点击 Save 保存 :
6) 完成证书选择后, 当再进行 VPN 连接时, 就可以直接通过证书进行验证, 无需每次 输入用户名称和密码 八 Windows XP AnyConnect VPN 客户端验证 在 Windows XP 上安装客户端, 可以通过预先安装, 也可以通过 Clientless VPN 的方式 下载安装 安装成功后, 按照下列步骤获取数字证书, 并完成 VPN 连接的验证
用于 iphone/ipad 的 AnyConnect 软件可以通过 Apple App Store 下载安装 安装成功后, 按照下列步骤获取数字证书, 并完成 VPN 连接的验证 1) 运行 AnyConnect, 地址栏中输入 VPN 网关的地址 ( 在本例中为 192.168.43.15), 然后点击 Connect : 2) 接下来, 认证窗口会弹出, 提示选择 Group, 以及三个按钮选项 :Get Certificate( 获 取证书 ), OK( 进行 VPN 连接 ) 和 Cancel( 取消 VPN 连接 ): 3) 选择 Get Certificate, 并输入用户名和 OTP, 然后点击 OK : 4) 获取证书完成后, 再次按照步骤 1) 的操作进行 VPN 连接, 在弹出的认证窗口点击
OK, AnyConnect 使用证书完成认证并建立了 VPN 连接 : 5) 在 Windows XP 客户端上, 查看已经获得的客户端证书 : 6) 在 ASA 上查看 iphone 和 Windows XP 已经通过证书验证方式, 建立了 SSL VPN 连 接 :
附录 基于证书验证的扩展配置 1) 双因子验证在 Certificate 验证的基础上, 思科 SSL VPN 还可以实现双因子认证, 即 AAA+Certificate 的方式进行 其配置方式, 是在 Certificate 验证的基础上, 再增加 AAA 认证即可 2) On-Demand 按需连接在通过 Certificate 验证的基础上, 还可以结合 AnyConnect 客户端的 On-Demand 功能的支持, 在客户端访问某些具体的 Domain Name 时, 实现自动的 VPN 连接访问