OpenVPN管理迎来终极形态:支持6种多因子认证,安全等级拉满,运维效率飙升!

好家伙,不得不佩服现在AI这执行能力,短短几天,就完成了过去我们一个团队一年多的开发工作量。
简单回顾一下,我最早写了一个一键部署openVPN服务器的脚本(在Ubuntu系统手撸一个自动搭建openVPN服务端的SHELL脚本),还可以配置使用用户名密码的方式进行登录(配置openVPN使用用户名密码认证)。再后来,我先用CodeBuddy开发了一个openVPN证书管理系统(告别命令行复杂的证书管理!可视化OpenVPN证书管理系统实战,一键发证、过期提醒全搞定),为了简化管理,又开发了openVPN服务管理系统(OpenVPN管理竟能如此简单?实时监控、固定IP、强制下线,运维效率翻倍)。
今天,支持多因子认证(MFA)的新版OpenVPN管理系统正式发布了!相比上一版本,它一共支持6种从简便到极高安全的认证方式:【仅证书】、【用户名+密码】、【用户名+证书+密码】+【用户名+密码+微软验证器】、【证书+微软验证器】、【用户名+证书+密码+微软验证器】。将OpenVPN的接入安全提升到了军工级水准,管理员可以根据不同用户的安全需求量体裁衣,实现安全与便捷的完美平衡,让运维管理如虎添翼!
接下来,我们一起揭开新系统的神秘面纱!
功能上,依旧分为【服务器管理】和【客户端管理】两部分,其中,【服务器管理】主要负责管理openVPN服务器的配置、启停服务、软件更新等工作;【客户端管理】主要负责管理客户端认证信息、配置文件、在线状态等工作。

相比上一版本,UI上最大的变化,就是在首页增加了系统状态监控面板。
首次使用时,需要先单击进入【服务器管理】页面。

建议先检查更新openVPN软件版本,更新至最新之后,单击【初始化PKI】按钮,生成根CA证书。

当PKI状态显示为【已初始化】之后,就可以单击【修改配置】按钮,调整服务器配置了。

在这里,我们可以设置服务器的公网IP地址、传输协议、端口号、客户端地址池等参数。最重要的,可以选择所需的认证方式。调整之后,单击【保存配置】生效。

现在,调整配置之后,会自动重启服务,无需手工操作重启。看到服务状态显示为【运行中】,就可以继续配置客户端账号了。

单击【新增客户端】来创建一个客户端账号,同样支持固定IP地址配置。

因为认证方式变化,配置文件下载仅提供ovpn文件下载,不再提供证书和私钥的下载链接。

客户端账号列表中,依旧支持展示客户端的在线状态,可以监控客户端的IP地址,可以展示账号证书的过期时间,支持证书续签、临时禁用/启用、删除账号等操作。同时,【禁用账号】合并了【下线】客户端功能,有效解决了客户端自动重连引入的下线失败问题。
当然,默认的【仅证书】认证方式比较简单,我们就不多做展示了,我们看一下【用户名+密码】认证方式。

在修改服务器配置页面,我们调整认证方式为【用户名+密码】,此时,系统会提示“该服务器下存在关联的客户端证书,修改后原OVPN配置文件将失效,需要重新下载”,也就是是说,客户端配置文件中的认证方式与服务器端的认证方式要匹配。
为了方便,我们今天创建6个账号来进行测试,分别对应6种认证方式,实际使用时,需要管理员做好记录,变更认证方式时及时删除旧的配置文件。

openVPN客户端的连接就更简单了,可以参考(OpenVPN全平台通关指南:Win/macOS/Linux/Android一键接入秘笈)。为了方便演示,我们今天用Windows系统来操作一下。

现在,在登录时,需要输入用户米和密码,再单击【connect】连接即可。

查看网卡信息,已经获取到了分配的固定IP地址10.8.0.22。

在客户端列表页面,可以看到客户端的在线状态,可以显示其获取到的IP地址,可以查看其连接所使用的公网IP地址信息。当然,将客户端强制踢下线的功能已经合并到【禁用】按钮了。

其实,如果修改服务器的认证方式为【用户名+证书+密码】,看到的页面跟【用户名+密码】认证是完全一样的,因为证书已经集成在了配置文件中了。
那接下来,我们试一下【证书+微软验证器】的认证方式。
需要说明的是,之所以选择微软验证器(Microsoft Authenticator),因为这个是国内各大应用商店和App Store都可以直接下载的工具,是代替谷歌验证器的不二之选。

当选择认证方式中包含微软验证器时,客户端列表中会多一列【MFA二维码】,需要点击缩略图预览二维码,或下载二维码分发给最终用户。

使用Microsoft Authenticator扫描二维码之后,会展示该账号对应的验证码,每30秒刷新一次。

当使用【证书+微软验证器】进行认证时,Username还是输入配置的用户名,Password则需要输入6位TOTP验证码。

上线后的客户端列表如下所示:

接下来,我们测试一下【用户名+密码+微软验证器】认证方式,其客户端登录页面与【用户名+证书+密码+微软验证器】也是一样的。不同的是,此时Username还是输入配置的用户名,而Password则需要输入【密码 + 6位TOTP验证码】,假如我的密码是test06,6位TOTP验证码387569,则Password需要输入test06387569。

上线后的客户端列表如下所示:

回顾控制面板页面,可以看到已配置客户端数量为6,在线客户端数量为1。

致辞,这套单机版openVPN管理系统基本上就完整了,我们实现了对openVPN服务器的实时状态监控,对客户端账号全生命周期的可视化管理,可以实时查看客户端的在线状态和IP地址。该系统将运维人员从复杂的命令行中彻底解放出来,让管理变得像点菜一样简单。
现在看来,像我这么优秀的产品经理,再加上CodeBuddy这位得力干将,开发这些系统还真是张飞吃菜芽——小菜一碟!让运维更简单,是我们不懈的追求!
对了,腾讯云体验CodeBuddy免费领Lighthouse轻量应用云主机的活动,
到月底12月31日就结束了,想体验的赶紧上车!官方活动链接如下:
https://cloud.tencent.com/act/pro/codebuddy-lighthouse
官方活动指导如下:
https://cloud.tencent.com/developer/article/2580199
领取后用来测试一下我这个项目,也是挺不错的!
不知道大家感觉这套系统怎么样?有什么意见和建议呢,欢迎评论区留言交流。对本项目感兴趣的,欢迎私聊我。

声明:来自铁军哥,仅代表创作者观点。链接:http://eyangzhen.com/4740.html

铁军哥的头像铁军哥

相关推荐

关注我们
关注我们
购买服务
购买服务
返回顶部