我读过有线护卫规范,看起来WireGuard本机不支持任何类型的用户身份验证(例如LDAP或类似的东西)。任何拥有服务器公钥并且其IP地址在服务器配置中被白化的客户端都可以连接。
有人知道提供用户身份验证的WireGuard扩展或实现吗?
发布于 2020-03-04 23:12:32
正如@Kamil所说,WireGuard的概念与其他VPN解决方案略有不同。不久之前,我也开始使用它,如果您想实现一些使用现有身份验证的东西,您可以像我在一些项目中看到的那样获得它:
当然,所有这些都可以在客户端和服务器端实现自动化。
发布于 2021-06-02 14:39:07
为了扩展@Securez的建议,把SSH和Wireguard这样的东西结合起来怎么样?这里的想法是,SSH提供所需的“身份验证”服务,而Wireguard在对等方成功身份验证后提供安全隧道。
例如(在linux机器上),
AuthenticationMethods "publickey,keyboard-interactive"
/etc/ssh/sshrc
配置为调用一个脚本,该脚本基于用户登录到SSH,向Wireguard添加了一个对等端(还可以为防火墙上的用户IP地址打开WG端口,例如iptables)。然后,用户按以下方式进行连接(可以使用简单的脚本实现自动化):
可以调度cron作业来检查自每个活动对等点的最新握手以来经过的时间,如果时间大于指定的间隔,例如180秒(意味着对等点不再连接),启动对等点(如果适用,关闭防火墙端口)。
如果您不需要连接的用户能够将SSH放到远程对等端,则可以将用户shell设置为/sbin/nologin
。此外,为了使在/etc/ssh/sshrc
中调用的脚本能够向Wireguard添加对等程序,脚本将需要sudo访问。这种风险可以通过类似于/etc/sudoers
中的以下内容加以限制:
%wireguard-users ALL=NOPASSWD: /path/to/add-wg-peer
其中,wireguard-users
是将所有Wireguard用户添加到的组。理想情况下,add-wg-peer
脚本不应接受任何参数,以限制误用。
这种设置的好处:
下边:
思想,观察,批评?我真的很想知道像这样的设置会导致什么潜在的陷阱。
https://serverfault.com/questions/948816
复制相似问题