Secure LDAP 服务提供了一种将基于 LDAP 的应用程序和服务连接到 Cloud Identity 或 G Suite 的简单而安全的方法。
使用安全 LDAP,您可以将 Cloud Directory 用作基于云的 LDAP 服务器,进行身份验证、授权和目录查找。连接到 Secure LDAP 服务的基于 LDAP 的应用程序(例如 Atlassian Jira)和 IT 基础设施(例如 VPN 服务器),可以部署在本地或基础设施即服务平台(如 Google Compute Engine、AWS 或 Azure)上。
您可以使用 Secure LDAP 来减少传统目录服务器的占用空间,将应用程序直接指向 Secure LDAP。
Google Cloud Identity LDAP 服务 可用于在 pfSense 上对用户进行身份验证。
方法取决于防火墙上安装的 pfSense 软件版本。这是因为 Google Cloud Identity 需要客户端证书才能建立 Secure LDAP 连接。
运行 pfSense 2.4.4-RELEASE-p1 或更高版本的防火墙可以直接在 LDAP 身份验证源上使用客户端证书。
运行 pfSense CE 或 pfSense 2.4.4-RELEASE 的防火墙需要 stunnel 插件才能建立 Secure LDAP 连接。
配置运行 pfSense 软件以使用 GSuite LDAP 身份验证需要执行一些额外步骤,本文将逐一介绍。
配置步骤概览
- 在 GSuite 管理门户上配置 LDAP 应用程序
- 下载证书、密钥、用户名和密码
- 导入证书和密钥
- 安装 stunnel pfSense 插件(CE 或 2.4.4-RELEASE)
- 配置 stunnel 插件(CE 或 2.4.4-RELEASE)
- 在 pfSense 上配置 LDAP 身份验证
- 创建一个组
- 测试 GSuite 身份验证
- 使用 GSuite 进行 pfSense 管理登录
在 GSuite 管理门户上配置 LDAP 应用程序
按照 Google 的说明 配置和启用 GSuite LDAP 应用程序。
注意: 完全照做。pfSense 无需特殊规定,但请注意 LDAP 应用程序的凭据(用户名和密码)是必需的。
下载证书、密钥、用户名和密码
将证书、密钥、用户名和密码从 GSuite 下载到工作站上的本地目录。
导入证书和密钥
进入 pfSense 防火墙的 Web 界面:
- 导航到 系统 > 证书管理,证书 选项卡
- 单击
添加/签名 以显示证书导入界面 - 将 方法 更改为 导入现有证书
- 输入 描述性名称,例如
GSuite LDAP - 将下载的证书内容复制并粘贴到 证书数据 框中
- 将下载密钥的内容复制并粘贴到 私钥数据 框中
- 点击 保存
该证书现在可供防火墙使用。下一步取决于防火墙安装的 pfSense 软件版本。对于 pfSense CE 或 pfSense 2.4.4-RELEASE,需要 stunnel 插件进行 Secure LDAP 连接。对于 pfSense 2.4.4-RELEASE-p1 或更高版本,LDAP 身份验证源可以直接使用客户端证书。
安装 stunnel pfSense 软件包(CE 或 2.4.4-RELEASE)
从 pfSense 的 Web 界面:
- 导航到 系统 > 插件管理,已安装的插件 选项卡
- 检查 stunnel 是否已安装
- 如果插件已安装且版本为 5.37 或更高,则无需操作
如果插件已安装但已过期:
- 单击
更新插件 - 单击
确认更新
- 单击
如果没有安装 stunnel:
- 导航到 可用的插件 选项卡
- 在列表中找到 stunnel 插件,或使用搜索栏
- 单击
安装 stunnel 插件 - 单击
确认安装
配置 stunnel 插件(CE 或 2.4.4-RELEASE)
从 pfSense 的 Web 界面:
- 导航到 系统服务 > STunnel
- 单击
添加 以创建新配置文件 - 输入此连接的描述,例如
GSuite - 勾选 客户端模式
- 将 侦听 IP 设置为
127.0.0.1 - 将 侦听端口 设置为
1636 - 将 证书 设置为先前导入的条目,本例中为 GSuite LDAP
- 设置 重定向 IP 为
ldap.google.com - 设置 重定向端口 为
636 - 单击 保存
在 pfSense 上配置 LDAP 身份验证
从 pfSense 的 Web 界面:
- 选择 系统 > 用户管理器,验证服务器 选项卡
- 单击
添加 以创建新条目 - 输入此 LDAP 服务器的描述性名称,例如
GSuite - 将 类型 设置为
LDAP 服务器设置 取决于 pfSense 版本:
对于 pfSense 2.4.4-RELEASE-p1 或更高版本:
- 主机名或 IP 地址:
ldap.google.com - 端口值:
636 - 传送:
SSL – Encrypted - 对等证书颁发机构:
Global Root CA List - 客户端证书:先前导入的条目,本例中为 GSuite LDAP
- 主机名或 IP 地址:
对于使用 stunnel 插件的 pfSense CE 或 2.4.4-RELEASE:
- 主机名或 IP 地址:
127.0.0.1 - 端口值:
1636 - 传送:
TCP-Standard
- 主机名或 IP 地址:
- 协议版本:
3 - 服务器超时:
25 - 搜索范围:
整个树
接下来的几个设置 因域而异。本文以 example.com 为例。
警告:输入这些值时请替换为实际域名!
- Base DN:按 DN 格式填写域名,例如
dc=example,dc=com - 身份验证容器:Base DN 前的组织单位
Users,例如ou=Users,dc=example,dc=com - 取消选中 匿名绑定 框,以显示 绑定凭据 字段
- 绑定凭据:使用创建证书时对应的 GSuite LDAP 用户名和密码
其余属性与域无关,或为默认值:
- 用户命名属性:
uid - 组命名属性:
cn - 组成员属性:
memberOf
创建组
使用远程认证服务器管理 pfSense 上的服务管理登录时,认证源服务器和防火墙上都必须存在匹配的组。
可以使用现有 admins 组,但名称太通用,可能与 GSuite 中的其他权限冲突。
本例使用新组 fwadmins。
首先,在 GSuite 中创建 fwadmins 组并将用户分配进去。具体细节取决于域名和结构。
接下来,在运行 pfSense 软件的防火墙上创建一个组。不需要本地用户,只需要组条目,且必须拥有适当权限。
在 pfSense 上创建组:
- 导航到 系统 > 用户管理,组 选项卡
- 单击
添加 以创建新组 - 组名称:例如
fwadmins - 范围:
远程 - 说明:例如
远程防火墙管理员 - 单击 保存
现在为组分配权限:
- 在新创建的组所在行,单击

- 在 分配权限 部分,单击
添加 - 选择组所需的权限,例如
WebCfg – All pages。不要选择所有项目! - 同时选择会阻止该组成员更改配置的权限,例如
User - Config: Deny Config Write - 单击 保存 存储权限
测试 GSuite 认证
完成上述配置后,即可测试 Google GSuite LDAP 身份验证。
- 导航到 系统诊断 > 认证
- 将 认证服务器 设置为 LDAP 服务器条目的名称,例如
GSuite - 输入 GSuite 域中的已知用户名和密码。默认情况下,仅根据配置的 LDAP Base DN 检查登录名部分
- 如果使用包含域部分的用户名提交(如
user@example.com),@example.com部分将被忽略 - 单击
测试
用户应成功通过身份验证。如果用户是 GSuite 中 fwadmins 组的成员,测试输出中也会体现。
测试成功后,该服务即可使用。pfSense 可以将其用作 GUI、VPN 或任何需要用户认证的地方的身份验证源。
如果测试失败,请检查主系统日志中来自 LDAP 的错误消息。从本文档开头开始,逐一核对本文档、GSuite 和 pfSense 之间的所有设置。
最常见的问题是:参数输入错误,例如选错证书、LDAP 属性名称不正确,或绑定凭据有误。
使用 GSuite 进行 pfSense 管理登录
如果一切正常且用户按预期通过了身份验证:
- 导航到 系统 > 用户管理,设置
- 将 认证服务器 设置为 GSuite
- 单击 保存
保存后,防火墙用户将通过 Google Cloud Identity 进行身份验证。
注意: 如果所选 LDAP 服务器无法验证,pfSense 会自动回退到本地身份验证。
觉得内容不错?我要