.well-known/openid-configuration 页面中的信息暴露在互联网上,是否存在安全问题?

问题描述

我正在对客户端进行安全扫描,并观察到他们已经实施了 OpenID。在阅读的过程中,我了解到这个 URL .well-kNown/openid-configuration,它有大量公开的信息(端点-{授权、连接、用户信息、jwks}、范围等)。

我有两个问题:

  1. 向公众公开这些信息是否存在安全问题?没有任何方法可以只提供给所需的用户
  2. 我是 OpenID 连接的新手,这是一篇实现自定义 OpenID 服务器的简单而优秀的文章

解决方法

  1. 在外部世界(例如移动应用)需要时公开元数据是非常标准的做法。它的主要用途是客户端应用中的安全库,用于查找其他端点、授权和令牌发布。

如果您没有 Internet 客户端,那么某些提供商将允许您关闭端点,或仅通过内部网络公开它。通常会避免暴露更敏感的数据,例如自定义声明和范围。

  1. 通常使用基于标准的免费服务器而不是实现 OpenID 服务器,然后专注于集成 UI 和 API。由于 OAuth 非常具有架构性,因此有很多工作要做。

在 Curity,我们有一个功能齐全的免费版本,快速入门是通过 docker tutorial。然后登录开发者门户并下载许可文件。

运行安装后,您可以浏览到这些 URL。然后专注于集成您的应用:,

  • http://localhost:6749/admin
  • http://localhost:8443/oauth/v2/oauth-anonymous/.well-known/openid-configuration

或者选择其他提供商 - 并遵循使用大型构建块的相同方法。