【问题标题】:Secure urls with very large random numbers具有非常大随机数的安全 url
【发布时间】:2018-08-14 18:42:15
【问题描述】:

如果我在线设置一个简单的网络服务器(例如nginx),并生成一个非常大的随机字符串(这样它是不可猜测的),并将该端点托管在我的域上,例如

example.com/<very-large-random-string>

我是否可以安全地说,在该端点托管一个 web 应用程序,无需身份验证来存储我的个人信息(如便签本或便笺之类的东西)?

我知道谷歌文档是这样做的,有什么特别需要做的(再次,例如对于 nginx)来阻止某人获取所有可用页面的列表吗?

我想我想问的是有没有办法让恶意行为者发现这样一个页面的存在,最好不管我使用什么网络服务器。

【问题讨论】:

    标签: http security nginx random


    【解决方案1】:

    如果我的网上银行开始使用此系统,我会非常担心,但它应该为您提供基本的安全性。请记住,这是security through obscurity,这是相当不受欢迎的,一旦有人发现隐藏的 URL,它就会立即变得没有安全性。

    为防止这种情况发生,您需要采取一些预防措施:

    1. Install an SSL certificate on your serveralways 通过 https 访问 url,从不 通过 http(否则 URL 路径将以普通视图发送并且对所有人可见一路走来)。

    2. 确保您的安全文档包含没有传出链接。这不仅包括超链接 (<a href="...">),还包括嵌入式图像、样式表、脚本、媒体文件等。否则 URL 将通过 Referer 请求标头泄漏到其他域。*1

    3. (有点简单,但是)确保此页面也有没有入站链接。虽然它们现在并不常见,但网络主机过去常常生成自动“网络统计”页面,显示每个网络域的流量。一些内容管理系统会自动生成站点地图。这同样糟糕。

    4. Disable directory browsing 在您的服务器上。换句话说,请确保访问隐藏目录之上的目录级别的人不会看到子目录列表。

    5. 请记住,该 URL 将始终在您的地址栏和浏览器历史记录中可见,并且可能在其他位置(例如浏览器的 cookie jar)中可见。当有人在您的地址栏中键入域时,您的浏览器可能会通过自动完成来提供 URL 的其余部分。

    *1:其实你的浏览器只会在你访问其他https页面的时候发送一个Referer头,但是还是...

    【讨论】:

    • 谢谢!更多的是假设。只是想看看其他人对此有什么看法。 . .现在想知道如何生成这些数字并在给定时间后使它们过期:)
    猜你喜欢
    • 2011-07-23
    • 1970-01-01
    • 2021-12-29
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-02-19
    • 1970-01-01
    相关资源
    最近更新 更多