可能?需要同时基于证书和密码登录的OpenVPN服务器(通过Tomato路由器固件)


8

为了运行OpenVPN服务器,我一直在我的Asus N66U路由器上使用Shibby的Tomato(64k NVRAM版本)的版本。

我很好奇是否可以设置此OpenVPN服务器在允许用户访问之前同时要求证书用户名/密码。

我注意到在填写证书详细信息时有一个“挑战密码”条目,但是每个人都说将其留空“否则”。我不知道为什么,也找不到解释。另外,我曾在Google上发布过很多文章,并注意到人们在谈论针对OpenVPN的PAM模块,以便通过用户名/密码进行身份验证,但这似乎是一种选择。换句话说,我可以通过用户名/密码证书强制进行身份验证。我要两个都做。

这可能吗?如果是这样,怎么办?

Answers:


4

OpenVPN的功能,您正在寻找,这将允许服务器基于验证客户端其证书和凭证,是auth-user-pass-verify。此功能允许服务器将远程用户提供的用户名/密码传递给执行身份验证的脚本。此时,您可以针对所需的任何内容验证凭据-PAM,RADIUS,LDAP,冒烟信号等。

我对“番茄”固件一无所知,因此我什至不打算在这里逐步介绍您。我进行了一些快速搜索,我怀疑您可以使用OpenVPN的“自定义配置”选项来包含auth-user-pass-verify参考。您需要一个脚本来执行身份验证。

进行一些搜索,我怀疑您会发现“ Tomato”特定的参考。


2

质询密码是用于允许解密密钥的密码短语。这是您真正可以使用“密码”和密钥的唯一方法。

您实际上只能通过密码密钥来验证,而不能两者都通过。如果同时启用了这两种方法,它将首先尝试密钥身份验证,如果失败,则将退回到密码身份验证。

如果密钥上没有密码短语,那么如果有人碰巧掌握了该密钥,则他人可以更轻松地模仿您的身份。

我建议找出interwebz为什么说您不应该在密钥上使用密码短语,然后看看它是否确实是一个问题。


是的,这就是我一直难以回答的问题。希望其他人可以在这方面启发我们;这似乎是违反直觉的建议。
埃里克

同时,是否有一种量化方法可以将证书+要求的强度与仅用户名/密码组合进行比较?我假设很难破解几个数量级,但这只是基于我的情况知识而得出的假设。
埃里克

这是一个旧的答案,但是...挑战密码不是,也不是。您可以使用密码来保护密钥,如上所述,但是质询密码是无关的。它既不存储在证书中也不存储在密钥中,而是与CA一起保存。它用于在使用CA撤销密钥或发出替换密钥时使用。
杰克B,

2

auth-user-pass-verify是正确的做法。另外,您可以强制auth-user用户名必须是经过认证的CN,也可以强制openvpn一次仅使每个证书建立一个连接。

这样,与certc CN和正确的通行证相比,“模仿者”必须具有正确的用户,并且他必须在一次真实所有者登录时登录

另外,您可能会想到一个IDS,根据您选择的IDS,您甚至可以缩小IDS的范围,例如允许的外部ip范围,登录时间等。

任何暴露的证书应立即撤销。签名服务器应该是脱网的-通过USB传输密钥-这样您便拥有真正的紧密安全访问权限。

不,您不应该为证书添加密码。

  1. 易于暴力破解。
  2. 您不能锁定用户(证书通道仅处于脱机状态)。
  3. 人们总是会丢失密码,从而迫使您每次都撤消并重新创建证书-在您有时可能忘记撤消的地方拥有大量证书的巨大风险。

但是,如果您确实希望可以同时使用auth-user和cert密码,则不会出现任何后备问题。

首先,openvpn将使用cert密码解密私钥以建立连接-然后auth-user踢入serverid-如果凭据错误,则出局。

但是,如果攻击者获得常规凭据,则您已经很麻烦,并且很有可能他也获得了证书密码。

因此,我没有看到真正的好处,只是存在很多缺点和对安全性的错误理解。


0

我遵循了本教程(在我的Asus N66U上使用TomatoUSB Shibby 1.28):http ://www.dd-wrt.com/wiki/index.php/OpenVPN 这可能对您有很大帮助。


2
AndyZ-欢迎来到SF,但我们希望此处的答案所包含的内容不仅仅只是一个链接(随着年龄的增长可能会腐烂)。如果您可以对此答案进行全面检查,以包含所遵循的方法的重要内容以及文章的链接,那么它可能是一个非常好的答案。
MadHatter 2014年
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.