秘密网址真的安全吗?

时间:2011-01-28 21:40:03

标签: security url

我从不在我的系统中留下后门,但出于好奇,我想知道我是否留下了像/ x52d23r这样的秘密URL,允许绕过某种安全性,这只是为了我个人使用---那是不知何故从第三方发现而没有得到我的信息?

例如,秘密端口可以进行端口扫描和指纹识别,但是对于秘密URL可以采用相同的策略吗?

9 个答案:

答案 0 :(得分:93)

使用“秘密URL”的原因通常是不安全的,不是因为它是“通过默默无闻的安全”。在信息理论中,秘密URL与密码或私钥没有区别。密码和私钥是否被认为是一种糟糕的做法,因为它们是“通过默默无闻的安全”?否。

那么难以猜测的网址和难以猜测的密码之间有什么区别?

区别在于无数的不安全地点以及存储,显示和传输URL的方式。例子:

  1. 在网络浏览器地址栏,历史记录和缓存*
  2. 发送到其他网站的HTTP Referer标头*
  3. 在Web服务器访问日志中*
  4. 在代理和第7层防火墙访问日志中
  5. 数据包转储
  6. 在网络统计信息流量报告中(例如AWStats,Google Analytics)*
  7. HTTPS可以保护其中的一部分,但不能保护所有部分(标有*的项目不受使用HTTPS的保护。)

    在高度受控制的环境中,难以猜测的URL可以是安全的。但是当使用常见的Web浏览器,Web服务器和Web框架时,除非不存在其他选项,否则不应依赖难以猜测的URL(即使这样您也应该仔细考虑)。

答案 1 :(得分:29)

原始答案:通过默默无闻的安全措施应该从不实践。


我想对此进行扩展,因为我发现仍然存在一些争论,即秘密URL与密码没有区别。我非常不同意这种比较。秘密网址和密码执行共享一个类似的特征:一个或多个特定的人/人都知道它们。这就是相似性结束的地方。

密码强度

  • 使用一系列随机字makes the password very strong and very hard to guess or brute force制作密码。

  • 密码必须与用户名相结合,如果用户名不常见,也可以提高安全性。

  • 用户名和密码组合不会静态显示在屏幕上,也不会存储在浏览器的任何位置(除非您选择让浏览器“保存”您的登录凭据)。

  • 在违规的情况下可以更改密码,而无需将入口点更改为系统。

  • 好的密码系统不会以明文形式存储在文件系统中。

秘密网址的弱点

  • 除非在“隐身”,“私人”等模式中使用,否则该网址将存储在您的本地历史记录/缓存中。

  • 网址显示在浏览器窗口中,可以让人眼花缭乱。

  • 如果秘密网址遭到入侵,您必须对其进行更改并通知使用该网址的任何人。

  • 网址在服务器的某个地方以纯文本形式存在,无论是作为真实目录/文件还是作为重写(但是,重写可能会在更高级别下降)。

  • @Mike Clark在his answer中提到的其他所有内容。

真正归结为:

  • 秘密网址只是通过默默无闻来实施安全措施。就是这样。

  • 根据定义,密码可能是模糊的信息,但围绕密码采取的额外努力,预防措施和保护措施可以在此基础上增加一定程度的安全性。换句话说,密码是分层的,除了模糊之外,还通过其他方式实施安全性。反过来,这使它们成为比简单的模糊URL更好的选择。

建议:同时使用“秘密”网址和非常强大的用户名/密码组合。不要依赖 JUST “秘密”网址。

从不使用默默无闻作为唯一的保护措施来实施安全措施。

答案 2 :(得分:10)

这不安全。

对于HTTP流量,您的秘密网址会在您使用后立即公开。在没有任何密码保护的情况下,收听网络流量的窃听者可以看到您发送的网址,然后访问同一页面。

答案 3 :(得分:8)

不太好主意,因为:

  1. 有人可能会透露您的网址是否可以获得对您的系统/数据库/应用程序的本地访问权
  2. 有一天,某些管理员会将您的访问日志文件公开,Google会找到它们。
  3. 您将在服务器设置中迁移/升级某些内容并忘记保护/隐藏这些网址

答案 4 :(得分:8)

我会说如果你小心他们可以安全。最大的安全漏洞是使用它的人。它将被无意中分享或发布到Google将其编入索引的地方。为此设计并适当使用它 - 例如Google文档“任何有此链接的人”共享方法。

  1. 使用HTTPS

    停止以纯文本格式发送的网址

    Doesn't set referrer headers如果他们点击HTTP链接

  2. 如果有人通过HTTP访问您的秘密网址,请提醒他们并立即更改

  3. 这是not security through obscurity - 这是对该短语正常使用的误解。

      

    “依靠安全的系统   默默无闻可能有理论或   实际的安全漏洞,但是   它的主人或设计师相信   这些缺陷是未知的   攻击者不太可能找到它们。“

    相比之下,您对实施和设计持开放态度。

    我没有看到,当使用长密码网址(任意64个字符?2000 - domain_length?)与tar-pit结合使用时,这不比普通密码安全。

    < / LI>

    我打算在一个应用程序中使用它,我觉得人们会认为简单性高于安全性。

答案 5 :(得分:7)

Waterken网络服务器是一个网络平台,由惠普的安全人员围绕秘密(特别是加密不可取的)网址进行设计。

基于它的应用程序因此具有一些非常有趣的安全属性。

如果做得好,加密强大的秘密网址可以提供高级别的安全性。

ACLs Don't是来自水务团队的论文,其安全架构。

  

将建议的防御与编译方案的基于功能的解决方案进行比较,并再次进行   假设一个类Unix系统:URL就像   科幻lename;而不可思议的令牌就像一个文件   描述符,近似于具有不可思议性的能力的不可伪造性。来自的合法页面   股票经纪人的网站首先打开股票购买   资源,收到一个不可饶恕的秘密。浏览器   然后使用这个不可思议的秘密写入股票   购买资源。

答案 6 :(得分:1)

  如果没有得到我的信息,第三方会以某种方式发现它吗?   例如,秘密端口可以进行端口扫描和指纹识别,但是对于秘密URL可以采用相同的策略吗?

是。您正在考虑将这种威胁视为坐在计算机上的人在其浏览器中键入URL。现实情况是,攻击者使用自动程序对系统进行侦察,并使用该信息尝试各种攻击。尝试随机URL对于自动化系统来说几乎没有成本,而不是每秒产生数百个HTTP请求。其他人已经注意到,一旦你使用了URL,它就不再是秘密了。这些自动程序会收听互联网流量并收集URL以尝试攻击。事实上,只有您知道URL意味着没有其他可以泄露其价值。它并不妨碍技术手段泄露价值。

答案 7 :(得分:1)

如果您使用大且随机生成的网址,这实际上是一个非常合理的想法。有许多系统实际上已经这样工作了。 例如,在Google文档中,您可以创建一个链接,任何拥有该链接的人都可以编辑该文档。这足够长,以至于你永远不可能猜测那个链接。此外,密码重置链接基本上是这样,除了它们(希望)只能使用一次。 (见下文)

您需要确保不会泄露秘密。这意味着使用https,不记录访问,或在其他api调用中返回密码。

也就是说,正如许多上述评论者所提到的,网址存储在您计算机上的各种不安全的地方,但如果攻击者可以访问您的计算机,那么您已经搞砸了。假设您的最终用户设备是安全的,这是非常典型的。

此外,任何秘密只有秘密与有多少人知道它成反比。与其他需要访问权限的人共享网址可能很诱人。一个更好的系统可能是让每个URL工作一次,但是向用户的浏览器添加一个cookie,这是实际的令牌。 基本上,就像密码重置流程/电子邮件确认流程一样,除了没有密码。

答案 8 :(得分:0)

猜测对应于16个字节的ascii十六进制字符串提出了猜测128位AES密钥的挑战-这被认为是不可能的。