在 CentOS 7 中保留多因素用户数据以进行自定义 pam 身份验证

在 CentOS 7 中保留多因素用户数据以进行自定义 pam 身份验证

我正在使用自定义 PAM 模块为 CentOS 7 设计 n 因素身份验证。当用户尝试使用 SSH 时,他们会收到一条 PIN 码短信,并提示输入 PIN 码。 我应该在哪里存储用户的手机号码? PAM 模块应该如何检索它?

我从定制开始此链接中显示的 2ndfactor.c 文件。链接中的示例使用 Web 服务的链接,但我的模块将调用 java 程序来发送文本。发送是一个单独的问题。在这个问题中,我想知道在CentOS 7中存储数据的位置以及如何检索它。它存储在操作系统中吗?在数据库中?我不想因为将电子邮件和电话号码暴露在某处而造成安全风险。

答案1

我应该在哪里存储用户的手机号码? PAM 模块应该如何检索它?

这完全是你的设计决定。

某些 PAM 模块将信息存储在本地文件中/etc,例如pam_access谷歌验证器模块。

其他模块可能会联系远程服务器,例如半径认证模块

可扩展的解决方案可能会涉及某种数据库或目录服务(如 LDAP),以便可以在多个服务器上使用相同的信息。一个简单的解决方案可能会将信息存储在本地文件中,并且使本地管理员在多个服务器之间同步这些文件成为一个问题。

相关内容