如何使用WiKID的双因素身份验证来保护PostgreSQL

如何使用WiKID的双因素身份验证来保护Postgresql

本教程将演示如何通过Linux上的PAM从WiKID强认证服务器使用双因素身份验证来保护Postgresql数据库。 我们假设您有Postgresql并配置了WiKID Strong认证服务器。

配置Postgresql

配置Postgresql使用PAM认证是微不足道的。 编辑pg_hba.conf文件以使用PAM并为适当的网络添加PAM条目:

 host    all         all         192.168.0.0/24         pam postgresql

此条目指定来自本地lan(192.168.xx)的所有用户将使用PAM,特别是在/etc/pam.d中找到关于redhat风格的postgresql文件。 我们假设您有一个单独的行以供应用程序访问。 您不想破坏使用Postgres的任何应用程序。

配置PAM

如果您的系统没有pam_radius的软件包,您可以从Pam Radius网站下载源代码。 安装文档也可用。

安装后,编辑postgresql PAM文件以使用radius:

#%PAM-1.0 
 
auth sufficient /lib/security/pam_radius_auth.so
account include system-auth
password include system-auth
session include system-auth

PAM设置因linux风格而异,因此请参阅发行版的PAM文档。

现在编辑/ etc / raddb / server文件指向您的WiKID服务器:

# server[:port] shared_secret      timeout (s)
#127.0.0.1      secret             1
192.168.0.10    your_shared_secret  3     

配置WiKID强认证服务器

将域添加到WiKID服务器

WiKID认证系统采用认证域的概念。 认证域是认证授权的分段。 任何使用该系统的令牌客户端都可以参与任何数量的身份验证域。 这些域可能存在于单独的WiKID强认证服务器上,或者它们可能存在于单独的和离散的服务器上(或任何组合)上。 相反,WiKID强认证服务器可以为任何数量的离散域提供认证服务。 这些域可以是独占的或包含任何令牌客户端集合。

认证域最初由令牌客户端配置中使用的12位代码定义。 此代码允许任何未配置的,不相关的令牌客户端定位并注册特定的WiKID强身份验证服务器和域。 实际上,12位代码表示可以上网的零填充IP地址。 可选地,如果可以在wikidsystems.net域中指定前缀。 例如,公共IP地址为27.232.7.14的WiKID强认证服务器可以通过12位代码027232007014直接访问。使用wikidsystem.net服务,可以使用表示不可路由IP地址的代码,例如999888777666您还可以通过使用软件令牌部署自定义jw.properties文件来更改DNS设置。

选择[域名]头文件选项将显示此WiKID强身份验证服务器提供的当前域。 参见下面的图1。

图1 - 域配置屏幕

在此屏幕上选择[创建新域]将允许管理员为此服务器建立新的身份验证域。 新的域参数画面如图2所示。

所需的域配置选项有:

域名 - 这是此域的描述性标签,仅在管理系统中可见。

设备域名 - 这是将出现在令牌客户端的菜单选项中的域标签。 该标签应该相对较短,以便于在移动设备上观看。

最小PIN长度 - 这是此域的最小允许PIN长度。 任何设置比此值短的引脚的尝试将在客户端令牌客户端上产生错误。

密码生存期 - 此参数指定在此域中生成的一次性密码的最大生命周期。 经过N秒后,一次性密码将自动失效。

服务器代码 - 这是服务器的零填充IP地址或wikidsystems.net域中预先注册的前缀。 该值的长度必须是12位数。

最大错误PIN尝试 - 令牌禁用之前,此域中的令牌客户端尝试的错误PIN的最大数量。

最大错误密码尝试 - 在禁用用户名之前,为此域中注册的用户ID输入的错误密码的最大数量。

Max Sequential Offlines - 令牌客户端可以在需要在线验证之前使用脱机挑战/响应身份验证的最大次数。 当无线客户端超出网络覆盖范围时,此功能用于无线客户端的企业版。

使用TACACS +选择此选项可为此域使用TACACS +。

创建网络客户端

网络客户端是从WiKID强认证服务器请求一次密码验证的系统。 这些系统以代理身份行事,接受来自用户的可疑信息并与WiKID强认证服务器通信进行验证。 网络客户端利用其中一个已安装的协议模块。 必须先安装,初始化和启用协议模块,然后才能配置为其添加网络客户端。

必须在WiKID强认证服务器上配置每个网络客户端,然后才允许客户端请求验证。 图3显示了初始网络客户端屏幕。

初始网络客户端屏幕

选择 - 创建新的网络客户端 - 开始添加网络客户端。 您将看到一个类似于图4的屏幕。

网络客户端属性屏幕

这些是一般的网络客户端属性。 无论所选的协议如何,配置的每个网络客户端都需要这些值。 属性定义是:

名称 - 服务器的描述性名称。 这将是管理系统和系统日志和报告中的主要显示名称。 建议您使用主机名和WiKID域的组合来清楚。

IP地址 - 网络客户端的IP地址。

协议 - 此网络客户端使用的通信协议。 只有以前启用的协议才可用。 协议选择将指定必须为此客户端定义的附加属性。 在这种情况下,选择Radius。

- 这是该客户端要求凭证验证的WiKID认证域。 您的postgresql管理员将需要在其中注册其令牌。

半径流量由共享密钥编码,因此我们需要在Postgresql服务器的/ etc / raddb / server文件中输入相同的共享密码:

而已! 要从命令行或任何GUI界面访问Postgresql,需要WiKID强身份验证服务器的一次性密码。

赞(52) 打赏
未经允许不得转载:优客志 » 系统运维
分享到:

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

微信扫一扫打赏