如何使用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强身份验证服务器的一次性密码。