在pfSense中将Google Cloud Identity配置为身份认证的来源

Secure LDAP服务提供了一种将基于LDAP的应用程序和服务连接到Cloud Identity或G Suite的简单而安全的方法。

使用安全LDAP,您可以将Cloud Directory用作基于云的LDAP服务器,以进行身份验证、授权和目录查找。连接到Secure LDAP服务的基于LDAP的应用程序(例如,Atlassian Jira)和IT基础架构(例如,V-P-N服务器),可以是内部部署,也可以是基础架构即服务平台,例如Google Compute Engine ,AWS或Azure。

您可以使用Secure LDAP来减少传统的目录服务器占用空间 ,将应用程序仅指向Secure LDAP

Google Cloud Identity LDAP服务可用于在pfSense上对用户进行身份验证。

该方法取决于防火墙上安装的pfSense软件的版本。这是因为Google Cloud Identity需要客户端证书才能建立Secure LDAP连接。

运行pfSense2.4.4-RELEASE-p1或更高版本的防火墙可以直接在LDAP身份验证源上使用客户端证书。

运行pfSense CE或pfSense2.4.4-RELEASE的防火墙需要stunnel插件才能建立Secure LDAP连接。

配置运行pfSense软件以使用GSuite LDAP身份验证的防火墙需要执行一些额外的步骤,本文档将介绍所有这些步骤。

配置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界面:

  • 导航到系统>证书管理证书选项卡
  • 单击fa-plus 添加/签名”以显示证书导入界面
  • 更改方法导入现有证书
  • 输入描述性名称,例如GSuite LDAP
  • 将下载的证书的内容复制并粘贴到“ 证书”数据框中
  • 将下载密钥的内容复制并粘贴到私钥数据框中
  • 点击“保存”

这个证书现在可以供防火墙使用。下一步取决于防火墙上安装的pfSense软件的版本。对于pfSense CE或pfSense2.4.4-RELEASE,stunnel插件是进行Secure LDAP连接所必需的。对于pfSense2.4.4-RELEASE-p1或更高版本的用户,LDAP身份验证源可以直接使用客户端证书。

安装stunnel pfSense软件包(CE或2.4.4-RELEASE)

从pfSense的web界面:

  • 导航到系统>插件管理已安装的插件选项卡
  • 检查stunnel的列表以及它是否已列为已安装
  • 如果插件已安装且是最新的,版本为5.37或更高版本,则无需执行任何操作
  • 如果插件已安装但已过期
    • 通过单击更新插件刷新的安全通道进入
    • 单击 fa-check 确认插件的更新
  • 如果没有安装stunnel
    • 导航到“可用的插件”选项卡
    • 在列表中找到stunnel插件,或使用搜索栏
    • 单击fa-plus 安装stunnel插件
    • 单击fa-check确认来进行安装

配置stunnel插件(CE或2.4.4-RELEASE)

从pfSense的web界面:

  • 导航到系统服务> STunnel
  • 单击fa-plus 添加”以创建新配置文件
  • 输入此连接的描述,例如GSuite
  • 检查客户端模式
  • 将侦听IP设置为127.0.0.1
  • 将侦听端口设置为1636
  • 将证书设置为先前导入的条目,在本例中为GSuite LDAP
  • 设置重定向IPldap.google.com
  • 设置重定向端口636
  • 单击保存

在pfSense上配置LDAP身份验证

从pfSense的web界面:

  • 选择系统>用户管理器,验证服务器选项卡
  • 单击“  添加”以创建新条目
  • 输入此LDAP服务器的描述性名称,例如GSuite
  • 将类型设置为LDAP
  • 服务器设置取决于防火墙上安装的pfSense软件版本:
  • 对于pfSense2.4.4-RELEASE-p1或更高版本:
  • 将主机名或IP地址设置为ldap.google.com
  • 将端口值设置为636
  • 将传送设置为SSL – Encrypted
  • 将对等证书颁发机构设置为 Global Root CA List
  • 将客户端证书设置为先前导入的条目,在本例中为 GSuite LDAP
  • 对于使用stunnel插件的pfSense CE或2.4.4-RELEASE版本:
  • 将主机名或IP地址设置为127.0.0.1
  • 将端口值设置为1636
  • 将传送设置为TCP-Standard
  • 将协议版本设置为3
  • 设置服务器超时 =25
  • 将搜索范围设置为整个树

接下来的几个设置是UNIQUE TO THE DOMAIN。对于这个例子,假设example.com。

警告:输入这些值时替换实际域名!

例如,将Base DN设置为DN格式的域名 dc=example,dc=com

  • 将身份验证容器设置为组织单位前面的Base DNUsers,例如:ou=Users,dc=example,dc=com
  • 取消选中 “ 匿名绑定”框以显示“ 绑定凭据”字段
  • 将绑定凭证设置为使用证书和密钥创建的GSuite LDAP用户名和密码

其余属性不是特定于域,或者是默认值

  • 将用户命名属性设置为uid
  • 将组命名属性设置为cn
  • 将组成员属性设置为memberOf

创建组

使用远程认证服务器管理pfSense上服务的管理登录需要在认证源服务器和防火墙上都存在相匹配的组。

可以使用现有admins组,但由于名称如此通用,因此可能与GSuite中的其他所需权限冲突。

此示例使用一个新组fwadmins

首先,fwadmins在GSuite中创建组并将用户分配给该组。具体细节将根据域名及其组织而有所不同。

接下来,在运行pfSense软件的防火墙上创建一个组。这不需要本地用户,只需要一个组条目。组条目必须具有适当的权限。

要在pfSense上创建组:

  • 导航到系统>用户管理,组选项卡
  • 单击fa-plus 添加”以创建新组
  • 在此示例中输入组名称:fwadmins
  • 将范围设置为远程
  • 输入说明,例如远程防火墙管理员
  • 单击保存

现在该组需要特权:

  • 在新创建的组的行上单击铅笔
  • 在“分配权限”部分中单击fa-plus添加
  • 选择组的所需权限,例如: WebCfg – All pages。不要选择此列表中的每个项目!
  • 这样做还将选择阻止此组中的用户更改防火墙配置的权限。如:User - Config: Deny Config Write
  • 单击“ 保存”来保存权限

测试GSuite认证

通过上述完整配置,现在可以对Google GSuite LDAP进行身份验证。首先,测试身份验证以确保其正常工作。

  • 导航到系统诊断>认证
  • 将认证服务器设置为用于LDAP服务器条目的名称,例如GSuite
  • 在GSuite控制的域中输入已知的用户名和密码。默认情况下,仅根据配置的LDAP base DN检查登录的用户名部分。
  • ​如果使用域部分提交用户名,例如user@example.com,则会忽略@ example.com部分。
  • 单击fa-wrench 来进行测试

用户应该成功显示身份验证,如果用户输入的是GSuite中fwadmins组的成员,那么这也应反映在测试输出中。

如果测试成功,则该服务即可使用。 pfSense可以将其用作GUI,V-P-N或用户管理认证服务器工作的任何位置的身份验证源。

如果测试失败,请检查主系统日志中是否有来自LDAP的错误消息。从本文档的开头开始,比较本文档,GSuite和pfSense之间的所有设置。

最常见的问题是参数输入不正确,例如选择错误的证书,使用不正确的LDAP属性名称或不使用正确的绑定凭据。

使用GSuite进行pfSense管理登录

如果一切正常并且用户按预期进行了身份验证:

  • 导航到系统>用户管理设置
  • 认证服务器设置为GSuite
  • 单击保存

保存后,防火墙用户将通过Google Cloud Identity进行身份验证。

注意:如果无法使用所选的LDAP服务器进行身份验证,pfSense将自动回退到本地身份验证。

原文地址

发表评论

电子邮件地址不会被公开。 必填项已用*标注