从 API 响应中删除技术信息
任何发布 API 的组织需要确保用户可以安全访问它,并且恶意用户无法成功实施攻击。
政府会保存大量与公民有关的个人数据。 人口普查数据披露了每个公民及其生活的许多相关信息。 此数据有可能遭受恶意利用,进而对相关人士造成伤害。 因此,当前的紧要之务是采用新标准为所有通过 API 终结点公开的数据提供保护。
作为首席开发人员,你需要了解如何设置安全的 API 网关,从而保护人口普查数据免受未经授权的访问。 它还将帮助保护终结点免受拒绝服务攻击。
Azure API 管理
Azure API 管理服务托管在 Azure 云中,位于 API 和 Internet 之间。 Azure API 网关是 Azure API 管理服务的实例。
API 的发布者可使用 Azure 门户或其他 Azure 工具来控制向使用者公开每个 API 的方式。 例如,你可能希望开发人员可出于演示目的自由使用某些 API,并希望严格控制其对其他 API 的访问权限。
响应标头
响应标头是与 HTTP 响应关联的元数据,提供响应的详细上下文。 它们可以公开有关正在使用的服务器和平台技术的信息。
在人口普查 API 示例中,务必移除以下标头:
标头 | 详细信息 |
---|---|
x-powered-by | 此标头允许调用方查看正在使用的技术堆栈。 它可能导致恶意用户利用堆栈中的 bug。 |
API 管理设置
要设置 API 管理,将执行以下任务:
- 创建 API 管理网关。 此步骤将在 Azure 门户中创建 API 管理资源。 还会向网关分配属性,例如 FQDN 和定价层。
- 使用网关注册现有 Web API。 此步骤将 Web API 添加到网关。 API 已有自己的 Azure 应用服务主机,但你必须将其添加到 API 管理中才能使用策略和其他 API 管理工具。
- 从响应中移除标头。 在此步骤中,你将应用一个策略,以移除所有响应中的不安全标头。