使用 ngrok 是安全的工具吗?我正在阅读一个教程,其中建议使用 ngrok 测试 API 响应,我使外部服务,需要连接到我的端点也。
我在这里找到了不错的评价,但是信息却是空洞的:
Http://www.scamadviser.com/is-ngrok.com-a-fake-site.html
对我来说最重要的是
Https://developer.atlassian.com/blog/2015/05/secure-localhost-tunnels-with-ngrok/
阿特拉斯人极力推荐的地方。
我想我要用它。
2.0版本没有可用的源代码,因为它是2014年开始的一个开源项目。我怀疑任何从云端打开通往本地主机的通道的代码。非常可怕的东西,尤其是没有源代码!
如果有人担心破坏他们的开发环境,您可以使用 Docker。有许多 ngrok/docker 项目,但这里是我选择的一个: https://github.com/gtriggiano/ngrok-tunnel
对于 macOS,使用“ TARGET _ HOST = docker.for.mac.localhost”
它打开了一个通向开发计算机的通道,这个通道部分由隐藏性(一个很难猜到的子域)保护,并且可以通过需要密码进一步保护。你仍然在向 ngrok 敞开心扉,而这家公司是 完全不透明(没有地址,没有员工,没有企业名称,没有 LinkedIn 存在; 我所能找到的就是它有1-10名员工,而且是私人的; 甚至不知道它的总部在哪个国家)。最重要的是,代码不是开源的。没有理由认为他们是不合法的,但没有很多信息可用来建立信任。
通过对流量进行加密,您可以使用具有更高安全性的 ngrok 和其他本地隧道服务。有关更多信息,请参见 https://security.stackexchange.com/questions/177280/end-to-end-encryption-for-localtunnel-ngrok-setup/177357#177357。
它们现在提供了一种服务,您只需在本地运行 ssh,不需要在您的机器上运行它们的任何代码。
你运行类似 ssh -R 80:localhost:8501 tunnel.us.ngrok.com http的东西。这将连接到它们的一个主机,并将它们接收到的连接转发回您的计算机和您在 localhost: 8501上运行的服务。
ssh -R 80:localhost:8501 tunnel.us.ngrok.com http
这对我来说似乎很安全,唯一的问题是你不知道他们收集了什么信息以及谁在连接你暴露的服务。他们打印所有的连接,但这是他们的二进制,这样做,有人很可能在你没有注意到的监听。您可以检查您这边的连接,但是不能确定是谁连接的。