当前,我们在php应用程序中将 SimpleSAMLphp 用于SSO解决方案,其中OpenLDAP作为auth数据源,并且运行良好。
现在我们需要在登录过程中实现2FA,所以我想知道OpenLDAP中是否有对2FA的内置支持。
我发现 SimpleSAMLphp 允许使用 PrivacyIDEA 模块进行2FA,但是它使用了它自己的totp生成和验证机制,但是我们需要在SimpleSAMLphp和OpenLDAP中处理的一切甚至可能吗?
答案 0 :(得分:2)
privacyIDEA可以从OpenLDAP读取您的用户和所有需要的属性。 您可以定义一个attribute mapping来从OpenLDAP读取任意属性。
在privacyIDEA中,您可以define a policy,要求用户输入LDAP密码加 OTP值。
然后在simpleSAMLphp中,可以将 authsource 定义为privacyIDEA。
这样,用户可以在IdP上使用其LDAP密码和OTP进行身份验证。
如果需要,您甚至可以使用参数otpextra
来使用两步对话框,用户首先需要输入其LDAP密码,然后输入其OTP值。
使用mapping in the SAML privacyIDEA module或authproc过滤器进一步映射属性。
答案 1 :(得分:1)
在我的Æ-DIR中,我正在使用自己的解决方案OATH-LDAP,该解决方案将令牌数据添加为LDAP条目。当前,验证器仅支持基于计数器的HOTP(请参见RFC 4226)。可以使用例如通过 yubikey ,还可以使用一个注册脚本。
不幸的是,目前没有有关如何在任意OpenLDAP安装中独立使用OATH-LDAP的文档。
让我知道您是否想对此进行深入研究。
答案 2 :(得分:0)
看起来OpenLDAP确实支持带有扩展模块的TOTP(最通常称为Google Authenticator)。
OpenLDAP的模块可以是found here。描述它的文章可以be found here。该模块的文档似乎有点浅,但是该模块本身很小并且可读性很强。
答案 3 :(得分:0)
作为替代方案,您还可以使用privacyIDEA LDAP Proxy来仍然使用simpleSAMLphp的> d5 <- as.data.frame(diamond5)
> d5$cut.alt <- NA
> d5$cut.alt[d5$cut == "Fair"] <- 5
> d5$cut.alt[d5$cut == "Good"] <- 4
> d5$cut.alt[d5$cut == "Very Good"] <- 3
> d5$cut.alt[d5$cut == "Premium"] <- 2
> d5$cut.alt[d5$cut == "Ideal"] <- 1
> d5$cut.fac <- factor(d5$cut.alt)
> model2.1 <- lm(price ~ carat + cut.fac, data = d5)
> summary(model2.1)
Call:
lm(formula = price ~ carat + cut.fac, data = d5)
Residuals:
Min 1Q Median 3Q Max
-17541 -792 -38 522 12721
Coefficients:
Estimate Std. Error t value Pr(>|t|)
(Intercept) -2074.5 14.2 -145.8 <2e-16 ***
carat 7871.1 14.0 563.0 <2e-16 ***
cut.fac2 -361.8 16.7 -21.7 <2e-16 ***
cut.fac3 -290.8 17.2 -16.9 <2e-16 ***
cut.fac4 -680.6 24.0 -28.4 <2e-16 ***
cut.fac5 -1800.9 39.3 -45.8 <2e-16 ***
---
Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1
Residual standard error: 1510 on 53934 degrees of freedom
Multiple R-squared: 0.856, Adjusted R-squared: 0.856
F-statistic: 6.44e+04 on 5 and 53934 DF, p-value: <2e-16
> model2.2 <- lm(price ~ carat + cut, data = d5)
> summary(model2.2)
Call:
lm(formula = price ~ carat + cut, data = d5)
Residuals:
Min 1Q Median 3Q Max
-17541 -792 -38 522 12721
Coefficients:
Estimate Std. Error t value Pr(>|t|)
(Intercept) -2701.4 15.4 -175.06 < 2e-16 ***
carat 7871.1 14.0 563.04 < 2e-16 ***
cut.L 1239.8 26.1 47.50 < 2e-16 ***
cut.Q -528.6 23.1 -22.85 < 2e-16 ***
cut.C 367.9 20.2 18.20 < 2e-16 ***
cut^4 74.6 16.2 4.59 4.4e-06 ***
---
Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1
Residual standard error: 1510 on 53934 degrees of freedom
Multiple R-squared: 0.856, Adjusted R-squared: 0.856
F-statistic: 6.44e+04 on 5 and 53934 DF, p-value: <2e-16
身份验证源,但使用OTP值“丰富”它。