公司内有个内容管理平台,有些编辑同事想在公司外使用,目前的方式是先连 OpenVPN 。
但是多数的编辑同事都不是技术,使用 OpenVPN 对于他们来说有点麻烦,有什么办法可以提供类似于 OpenVPN 的安全性但又更简单使用方法吗?
内容管理平台本身有登录,也已经放在 WAF 后面了,期望的效果是类似于 VPN 一样,未连 VPN 的用户连内容管理平台登录页都发现不了。
1
alfawei 336 天前
我们是 web 远程桌面+ 手机身份验证
|
2
DIO 336 天前 3
openvpn 不已经几乎最简单了吗,双击连接然后访问网页就行了。webvpn 、vnc 之类的反而麻烦了呀
|
3
alfchin 336 天前 via iPhone 2
zero trust
|
4
helee9199 336 天前
使用 DDNS 把服务端口转出去可行?访问 DDNS+服务端口
|
5
laozhoubuluo 336 天前 1
HTTPS 双向认证,客户端必须装指定的客户端证书才能打开内容管理平台登录页,这种可以保证没有客户端证书的情况下触发不了业务漏洞。
|
6
dsb2468 336 天前 1
零信任
|
8
opengps 336 天前
如果你确定你系统足够安全,那直接暴露端口即可。
实际上太多人不懂网络安全,自己方面密码乱丢,系统方面权限验证不够等等太多情况了 |
10
luxor 336 天前
VPN != OpenVPN
|
11
Achophiark 336 天前
headscale+tailscale+hd-ui
|
12
Kinnice 336 天前 via Android
knock 外网白名单
|
13
tsanie 336 天前
异地组网 wireguard
|
14
nothingistrue 336 天前
在你们当前的框架下,比 VPN 还更方便的安全使用方式,无。
VPN 本身需要技术,但 OpenVPN 这种大众 VPN 软件的使用,不需要技术。不要被编辑骗,他们不是不会用,就是觉得用着麻烦。你们大概率公司内网还有访问控制,譬如不能用微信,而 OpenVPN 是全局 VPN ,编辑在外面的时候就需要频繁进出 OpenVPN 来适应不同的工作场景。 你需要的是跳出框架,既然有在外面编辑内容管理平台的需要,那就把内容管理平台,或者至少其中的外部编辑功能,放到公网上。 |
15
xingjue 336 天前
零信任
|
16
wjfz 336 天前
|
17
cndenis OP @nothingistrue 不是被编辑骗的问题,而且我们部门开发的新系统希望推广给别的部门用,要是太麻烦他们不想用的话,就很难推广了。大家是平级的,没法用行政命令强制别人使用,要把系统做得好用,别人才愿意用。
|
18
ZXCDFGTYU 336 天前
SSLVPN ,类似于深信服的那种 easy connect 的
|
19
arischow 336 天前
|
20
Masoud2023 336 天前
还有 VPN ,VPN 和 VPN
|
21
c5QzzesMys8FudxI 336 天前
ss
|
22
Masoud2023 336 天前
wireguard 配置好路由,发给同事,点一下就能连上,很难操作吗?
这都不会用建议解决不会用的人。 |
23
tomatocici2333 336 天前
既然只是访问资源,搞个堡垒机吧。jumpserver
|
24
arischow 336 天前
OpenVPN 算简单了,IT 想想怎么把它配置自动化和适合业务,再加上(原本应该有的) SSO 这样的鉴权
|
26
jurassic2long 336 天前
连 VPN 都觉得麻烦的话,就只能直接暴露在公网了,该做安全措施做好就行
|
27
limiter 336 天前
开放到外网
|
28
JamesR 336 天前
部署 FRP ,用 STCP 模式,STCP 是安全的 TCP 内网代理,不需要在服务端暴露端口。用户访问时候是用 localhost:XXXX 这种地址访问的。
|
29
loginv2 336 天前
无解,只要客户端系统不安全,那怎么都不安全,再不济可以录屏和保留新文件来盗取信息。还是要限定死设备,专人专用
|
30
D33109 336 天前
Netbird 自建
|
31
lifekevin 336 天前
简单的就是 vpn ,再折腾也就只是换一种 vpn 工具而已
或者去了解一下腾讯 IOA 这种零信任方案 |
32
Dawnnnnnn 336 天前 3
@cndenis 你应该想想你做的系统的目的到底是什么?是为了安全还是为了提高效率?如果是为了安全,它必须是一个行政命令才能推的动。如果是为了提高效率,你想在保证安全的情况下实现这个目标,应该对平台本身的安全性下功夫并且寻求安全部门的建议,根据他们的建议去做安全性的改进
|
33
coolcoffee 336 天前
你如果想要简单,就自己打包一个 openvpn 客户端,里面绑定上通过企业微信、飞书这类登录认证来自动获取 openvpn 的配置信息。
所以就看你们想要麻烦开发还是麻烦用户,没有两全其美的事情。 |
34
CheckMySoul 336 天前
用商业版的 SSLVPN 或者云桌面之类的,只需要打开网页,下载安装插件登录账号密码动态码即可。更方便就是不要安全远程桌面直连。
|
35
ysc3839 336 天前 via Android
OpenVPN 直接用一个配置文件就能连呀,难不成是连打开文件都不懂的人?
|
36
Puteulanus 336 天前
敲门加暴露端口的方式感觉可以,比如你们敲门单独用一个 web 页面,登陆之后把他的 IP 加到白名单半个小时
对他们来说就是两步,第一步在敲门的页面登陆自己的账号,第二步打开内容管理平台的网页 |
37
mantouboji 336 天前
如果你们公司没有什么特别的知识产权保护意识,没有什么商业机密保护的需求,通过 VPN 访问内部是可以的,至于具体用哪种 VPN 协议倒是可以讨论。一般用户肯定希望那种仅需要输入一个密码没有其他乱七八糟的方案。这种情况下不妨去调研一下 cisco 等品牌厂商的产品,不要用 OpenVPN 和 wireguard 等,免得给自己添麻烦。
|
38
Tumblr 336 天前
Best practice: 迁移到 SaaS 平台,开启 MFA ,开放公网访问
简单版: 部署一套 VDI |
40
noahhhh 336 天前 via Android
@coolcoffee 配个手机微信扫码过认证,现在大部分人都更习惯这样
|
41
jeremyl313 336 天前
自己在家 ssh 公司电脑用的是自己服务器的 frp
|
42
shangyu7 336 天前
不会用的开掉就是了,这么简单还不会,不长脑子吗
|
43
yufeng0681 336 天前
1 、买一台有公网 IP 的云主机, 把前端搭建在上面,和后台服务对接上 [仅仅能通过这个通道访问后台系统,其他业务系统无法访问]
2 、让同事们在外网访问这个前端,进行业务操作。 |
45
taro0822 336 天前
zerotier 开启后使用内网 ip 访问内网资源 免费的套餐有 100 个名额应该足够用了
配好网设置开机自启后 可能是最无感的方式之一了 |
46
cheng6563 336 天前
我司用的敲门砖,调用一个接口填入秘钥就将调用者的外网 IP 加入安全组白名单。秘钥由钉钉机器人申请。这样能保证基本的安全并且不用装那些奇奇怪怪的 VPN 客户端。
|
47
dode 336 天前
IP 白名单
|
48
clino 336 天前
citrix 也是一种可能的选择,不过客户端只支持 windows
|
49
cshlxm 336 天前 1
说个运行商级的方案,5G 随行专网,sim 卡开专门流量包套餐,公司拉条专线,即可享受,不拨 vpn 直接访问公司内网。
|
51
ryan4290 336 天前
不要自己做决定,要和上面沟通好。
我这边有一个开发,自己搞了一个 frp 穿透,在家里用。差点被开掉。 |
52
adoal 336 天前
最大的问题不是用什么技术方案,而是让管理层认可安全的重要性。
|
53
crac 336 天前
参考阿里云 防火墙白名单
|
54
wowpaladin 336 天前
ZTNA + SAML 单点登录
|
55
8355 336 天前
低权限普通人员短信验证码 扫码登陆 这样可以防止他们乱存乱发密码
业务系统危险权限需要 vpn 核心业务开关或设置 服务器 ssh 需要配置证书 3 个层级 |
56
simplove 336 天前
jumpserver 有个 web 的功能,就是在内网装一台 windows server2016 以上的机器,所有人通过 jumpserver 连接上来,它会创建 100 个随机账户,每人通过 jumpserver 连接上来会占用一个账户。断开后释放。
然后通过这个来连接内网资源,带监控的。很安全 |
57
yumusb 336 天前
开发一个浏览器插件,然后插件里面访问这个域名的时候做鉴权。需要访问的人就安装插件。服务端判断如果是内网 IP 或者通过鉴权的才允许访问。
|
58
yjd 336 天前
你这种需求确实 OpenVPN 不是很合适,整个网络走 vpn ,不走还得加静态路由表。
之前也有类似这种需求,写个批处理执行 ssh 客户端自动连接加端口转发,再打开网址。key 下发认证没做。 要更安全,需要套一层认证,微信扫码等等+公网 ip 限制通过后下发 key |
60
doveyoung 336 天前 10
专门登录上来回复一下。
看到楼上都在为 VPN 打抱不平,其实 OP 的问题我也遇到过…… 你说安装个 VPN 真的很难吗?不难,拿到配置后下一步下一步就好了; 你说安装个 VPN 很容易吗?不容易,“那你能帮帮我吗”。 根本问题不在 VPN ,而是客户端需要额外配置这一个动作,即使客户端是技术人员,也有那种不会不学不想的人。 如果换掉 VPN 用另外一个产品也需要客户端做配置的话,没什么意义,他们仍然不愿意。 幸好 OP 遇到了我,不然你就遇不到我了。 假设你的业务是 BS 架构 关键字:nginx + auth + vouch + OIDC nginx auth 模块先验证浏览器的 IP ,如果在白名单,直接请求到你的 web 如果不在白名单,auth 模块请求 vouch ,转给 OIDC 协议的产品; OIDC 可以用 okta ,auth0 ,站内有个老哥做了 logto 也很不错,认证方式支持邮箱验证码、用户名密码、短信验证码等等。建议用邮箱验证码,心智负担小; OIDC 认证完之后给浏览器发 token ,浏览器再到 nginx 验证 token 后放行,到业务界面,原来怎么登录还怎么登录; 如果你的 nginx 是付费版本的,可以不用 vouch ,免费版本的 nginx 无法对接 OIDC 所以才需要 vouch 客户端访问就变成了: 浏览器访问业务网站 --> 业务最外层的 nginx --> nginx auth --> vouch --> OIDC 登录验证 --> 验证通过 --> 业务登录页面 整个过程客户端只会看到浏览器多跳了几个网站,多输入一次验证码,我觉得推动起来没啥难度。 如果实际的业务也是你负责的,你可以做点改动,OIDC 验证完之后到业务那里就不用登录了,不过这是后话,不想改可以不改 |
61
LinePro 336 天前 2
除了楼上老哥说的 vouch ,oauth2-proxy 也可以实现相同功能
https://github.com/oauth2-proxy/oauth2-proxy https://github.com/vouch/vouch-proxy |
62
xz410236056 336 天前
度管家,使用如流扫码登录 [doge]
|
63
beyondstars 336 天前
我们一般都是让在办公室的同事“微信截图发我”的。
|
65
fengyaochen 335 天前
不能学习一下吗,谁说麻烦的就解雇谁,你不学有的是人学
|
66
alfawei 335 天前 via iPhone
@winterx 我们是 office365 , 用 rdweb…域名就可以登录 windows server 服务器,需要 office365 账号也就是邮箱账号密码登录,同时需要微软身份验证器批准
|
67
MC 335 天前
ZeroTier?
|
68
IDAEngine 335 天前
N2N
|
69
NatsumeMio 335 天前
个人使用我还是推荐 zerotier ,轻量化,快速(就算跨墙也可用,看线路质量)
|
70
Proxy233 335 天前
我们是直接把端口映射到公司的公网 ip 上,然后开放了一个认证页面,每次认证 10 小时有效期,过期了就再认证一下。每个人的认证信息每周一跟新一次。
|
71
ysmox 335 天前 2
其实前面有不少朋友都提到了“零信任”甚至“oauth2-proxy”,但只是提及个名词就作罢,实质上核心都是“访问控制”。
传统的 VPN 打通了局域网与内网,但如果 ACL (访问控制列表)没做好,一旦工作人员的设备被侵入,公司内网将面临危机,对于入侵者而言就是一览无余。 「零信任」的核心理念就是八个字:“永不信任、持续验证”。在业界,厂商的简单实现通常就是做好“访问控制”。 站在应用角度,主要分为以下两种应用场景: - Web 代理应用:“编辑想在公司外访问内容管理平台”,如果「内容管理平台」是一个 Web 应用,那么只需在 Web 应用前面的网关加上“认证”机制。当公网上访问 URL 时,未登录用户无访问权限,将被重定向到登录页面;登录后才能访问「内容管理平台」。这解决了「零信任」中的一种场景。 - 隧道应用:这种场景是将应用隐藏在公司防火墙后面,不对外暴露服务。通常的解决方式是安装厂商提供的客户端(适用于 Windows 、Mac 、Linux 、Android 、iOS ),用户登录后,设备只会和“被授权”的内网应用建立隧道连接。这样,只有授权的人才能知道内网应用的存在并访问到。因为这需要建立隧道才能访问,没有登录的人自然无法发现「内容管理平台」,即使登录了没有权限也是一样,这也是「零信任」能解决的另一种场景。 综上所述,对于暴露在公网的 Web 应用,我们应只允许“授权用户”访问,并通过网关为当前会话连接赋予“身份”;对于不想暴露在公网的应用,就像传统 VPN 一样,使用隧道技术,只允许与“授权应用”建立连接,当然要比传统的 VPN 做得更好。 类似 oauth2-proxy 、authelia 这样的开源组件,都是不错的解决方案,但不一定能提供最佳体验。例如,如果有一个 docs 应用隐藏在 authelia 的网关之后,未登录的用户会被重定向到 authelia 的登录页面,但由于 authelia 目前仅支持账号密码、LDAP 方式登录,并不支持主流的 OAuth2.0 、OIDC ,因此在公司层面可能难以推广,这毕竟只是一个开源项目。 当然还有很多其他方面值得注意,但先就这样吧。 |
72
cndenis OP @ysmox 谢谢你的详细回答。
想请教一下,Web 代理应用 有没有安全成熟好用的产品推荐?最好能满足体制内的安全要求。 我们系统本身是需要登录才能使用的,也就是未登录用户会跳转到登录页,但很难向别人证明这系统的登录机制足够安全没有漏洞,也很难说会不会被别人绕过登录攻击。所以希望在外面再套一层安全机制,但又不想用户用起来太麻烦。 |
73
ysmox 335 天前 2
@cndenis
你的业务场景其实不复杂,当前企业内部使用的系统通常都有身份认证这套系统,即“访问前登录”。但由于各种原因,内部开发的业务系统以及购买、订阅的第三方系统均无法证明足够安全。 业界通常如何解决这种问题呢?这里我讲一下我所知道的一种解决方案,即在业务系统前套一层「零信任」的网关。 先讲一下用户登录访问的流程,这里以本地用户(业务系统本身创建的用户)和 IAM 身份源举例: - 本地用户:访问 Web->未登录重定向业务系统登录页面->登录成功进入 Web 应用。 - IAM 身份源:1. 访问 Web->2. 未登录重定向业务系统登录页面->3. 重定向至 IAM 登录页->4. 登录成功重定向到业务登录页面->5. 进入 Web 应用 注:如果不清楚 IAM 是什么的话,你可以将上面的第 3 步的 IAM 登录页理解为“微信扫码登录”、“钉钉扫码登录”、“google 登录”、“github 登录”等登录方式。 这种情况下,发布在公网的业务系统在登录前是可以被爆破的,无法确保哪些 API 不会存在漏洞。 「零信任」是怎么做的呢,简单来讲就是在业务系统前加了个「零信任网关」,用户访问业务系统均由「零信任网关」代理访问业务系统。如果你熟悉 nginx ,可以将「零信任网关」想象为一个具有身份鉴权能力的增强版 nginx 。 任何访问业务系统请求的流量,均会经过「零信任网关」,未登录的流量均会被拦截。只要当用户在「零信任」上线后,被“授权”的用户才能顺利地经过「零信任网关」访问到业务系统。这是一种关键的安全机制,它在网关层面拦截所有不可信的访问请求。 使用「零信任」后的用户访问流程:1. 访问 Web -> 2. 「零信任网关」判断请求无“身份”信息重定向至「零信任」的登录页面 -> 3. 「零信任」登录后放通请求,重定向至业务系统登录页面 -> 4. 业务系统登录成功进入 Web 。 一般人看到这里会觉得第 3 步和第 4 步都要登录,用户用起来很麻烦需要登录两次,但绝大部分情况下只需要登录一次,怎么做到的呢?这里我讲两种常用的方案: 1. 上面提到过的 IAM 身份源,如果「零信任」和业务系统的身份源都是同一个 IAM 系统,那么登录一次后,当用户访问其他业务系统时,会重定向跳转至 IAM 页面,此时会自动完成登录再回到登录后的业务系统页面。例如:我们访问 A 服务用的是 google 的身份,第一次需要登录 google 账号,后面访问 B 服务、C 服务等,若业务系统本身默认使用 google 账号登录,那么访问时便自动完成这个登录动作。 2. 对业务系统进行简单改造,用「零信任」的身份登录系统。什么意思呢?当第 3 步完成后,用户已经成功上线「零信任」系统了,此时用户访问业务系统,业务系统本身并不知道当前用户是谁,但业务系统可以去请求「零信任」拿到身份信息,完成用户上线。 以上两种方案本质上其实是同一种,对于用户而言它只需要登陆一次即可,当然厂家提供的登录方式不止于此。 「零信任」是个理念,上述是「零信任」的一种实现、一种解决方案。 至于你问的有没有成熟好用的产品推荐,并且满足体制内的安全要求(例如等保、信创)。在网络安全厂商里是可以找到相应的「零信任」解决方案的,尤其是国内头部的网络安全厂商如“深信服”、“奇安信”,又或者其他互联网大厂,你可以直接联系他们了解更多。 |
74
yunisky 335 天前
搞个云桌面或者堡垒机,在访问层把内外网分开,这样还能阻断剪贴板复制粘贴盗取公司资源
|
75
datocp 335 天前 via Android
哎,别说了,公司里那些人就差喊我不会用电脑了。。。不会用电脑还有脸说这说那,人就是这么奇怪都是别人的错。他们要的是全自动化,最好哪天自动化的连他们都被优化了。
Openvpn 这种点一下都不会,浏览器挂 stunnel 估计也会叫,话说写个使用教程也不是长篇吧? |
77
knightgao2 335 天前
不论是啥方案,注意合规,不要自己做决定,这种涉及到重大风险的,请示领导
|
78
chaoschick 335 天前 via Android
向日葵吧
|
79
cndenis OP @knightgao2 领导不会给方案, 领导需要你给出解决方案, 并且证明方案的可行且合规
|
80
gogogo2000 335 天前
sstp vpn ,Windows 都自带,mac 没有……如果用 mac 就用 l2tp ,国内内部使用这类系统标准的 vpn 并不会有查水表的问题,而且比 openvpn 之类更方便
|
81
fishioon 335 天前
有企业微信或钉钉或其它办公软件吗?整成内网应用就好了,直接在浏览器打不开,但是企业微信内能打开
|
82
ladeo 335 天前
Fortigate SSL VPN, Tunnel split, FortiToken
|
83
RitterHi 335 天前
看了一圈,感觉最适合你的就是 jumpserver ,因为你要适应多端,Windows ,mac ,移动端,还有复杂人员管理,以后还有可能增加新的业务吧,如果有预算的话,购买 jumpserver 的企业版,可以使用第三方鉴权登陆,比如飞书钉钉企业微信,这样在用户哪里就是一条 web 链接,扫码或者输入密码登录,如果连链接和密码都不想记,那就接入办公软件来推送链接和用户名密码
|
84
xdzhang 335 天前
我部署的是 softether
|
85
perfectlife 335 天前
感觉靠自己无解,招投标 找供应商搞, 或者 改造 vpn 不用动态口令了,对接钉钉/微信 登录 openvpn
|
86
fengpan567 335 天前
自建 frp
|
87
CodeCodeStudy 335 天前
@loginv2 #29 可以使用两步验证,也就是多一个动态口令,有效期只有 30 秒
|
88
conglovely 335 天前
我们用零信任
|
89
huang86041 335 天前
看你们的需求,有安全问题,零信任
没有安全要求,直接开远程桌面 |
90
qq2511296 335 天前
我公司有公网固定 ip ,在局域网上架设了一台服务器用于 socket 代理,把这台服务器映射到了公网,我现在用 clash 客户端 链接上 socket 代理 指定内网 ip 走这个 socket 代理 ,直接可以在家里访问公司内部的局域网。
最开始我司也是采用 vpn 的方式,但是需要接管全部流量会导致本地访问网络比较卡,后面采取上面的方案后,只有局域网 ip 走 socket 代理,方便多了 |
91
cndenis OP @RitterHi JumpServer 性能怎么样, 适合大体积的视频上传下载吗? 我们需要满足做几 G 大小的视频上传下载的需求, 用 Jumpserver 会卡吗?
|
92
salmon5 335 天前
零信任就是个 VPN ,只不够套壳了下
|
93
ScepterZ 335 天前
各大公司都有这种东西吧,大量的非技术人员用着看起来没什么问题,抄一下大概逻辑就好了
|
94
retanoj 335 天前
不知道楼主是否找到了解决方案。
我个人想法有两个: 1 )不希望引入大的变更(比如新引入一整套解决方案) 2 )解决非技术同事使用体验问题 对于 1 ),保留 OpenVPN 。对于 2 )优化 OpenVPN 使用体验,比如,一键安装,一键拨入 |
95
cmj2010 335 天前
一种就是无客户端的方式,就是用反向代理加 SAML 认证的方案
另外一种还是继续用 VPN |
96
clino 335 天前
|
97
clino 335 天前
还有一种可能适合楼主这种需求的是把要暴露的内网 Web 服务反代到一个外网可访问的 https 服务上,但是这个 https 服务要求客户端 ssl 证书验证,客户端证书需要在内网申请安装好,而且客户端证书有时效限制需要定期到内网更新,但是有效期内就可以直接访问了
这种我认为安全上是可以的,客户端证书想当于多了一个密钥,安装方法你可以写个教程,或者让会的人帮忙需要的人搞定。 |
98
janus77 335 天前
既然你是给方案并证明合法合规性的人,那很简单,掏钱请商业公司搭。
你在网上随便问一个人然后按照他的方法自己部署,表面上看确实可靠,可给领导看的文档里面,他和上层的相关检查部门,真的会认为可靠吗? |
99
kkk9 314 天前
打开 github ,fork 一份 ss 客户端源码,把它们改造成微信扫码登录动态下发 config 。后面就非常符合你的要求了,可以动态白名单来源 ip ,动态加密,动态端口,一机一号一人等。
出事情 我不负责任😄 |
100
RitterHi 309 天前
等会,几个 G 的文件上传下载?你是商业宽带吗?上下对等吗? JumpServer 的性能是没问题的,如果要更细致的管理估计要上企业版,但是你的宽带能支持吗?
|