Loading [MathJax]/jax/output/CommonHTML/config.js
前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >译 | 在 App Service 上禁用 Basic 认证

译 | 在 App Service 上禁用 Basic 认证

作者头像
Edi Wang
发布于 2020-09-14 08:41:06
发布于 2020-09-14 08:41:06
2K0
举报
文章被收录于专栏:汪宇杰博客汪宇杰博客

原文:Jason Freeberg, Shubham Dhond

翻译:汪宇杰

导语

App Service 使用网站的发布配置文件中的基本身份验证凭据访问 FTP 和 WebDeploy。这些API非常适合浏览站点的文件系统,上传驱动和应用程序,以及通过MsBuild进行部署。但是,企业通常需要满足安全要求,而宁愿禁用此基本身份验证访问,以便员工只能通过由 Azure Active Directory(AAD)支持的API来访问公司的 App Services。

本文介绍如何禁用基本授权,监控任何登录尝试或成功的登录,以及如何使用Azure策略来确保所有新站点都禁用了基本身份验证。另外,禁用或启用基本身份验证的API由AAD和RBAC支持,因此您可以控制哪些用户或角色能够重新启用站点的基本身份验证。

禁用访问权限

以下各节假定您具有对该站点的所有者级别的访问权限。在编写本文时,相应的CLI命令集正在开发中。

FTP

要禁用对站点的FTP访问,请运行以下CLI命令。将占位符替换为您的资源组和站点名称。

az resource update --resource-group <resource-group> --name ftp --namespace Microsoft.Web --resource-type basicPublishingCredentialsPolicies --parent sites/<site-name> --set properties.allow=false

替换占位符后,选择文本,然后按 Ctrl + S(意思是发送)。在右侧面板上,您可以看到响应代码和正文。要确认FTP访问被阻止,您可以尝试使用FileZilla这样的FTP客户端进行身份验证。要检索发布凭据,请转到网站的欢迎页,然后单击“下载发布配置文件”。使用文件的FTP主机名,用户名和密码进行身份验证,您将得到 401 Unauthenticted 返回。

WebDeploy 和 SCM

要禁用对WebDeploy端口和SCM站点的基本身份验证访问,请运行以下CLI命令。将占位符替换为您的资源组和站点名称。

az resource update --resource-group <resource-group> --name scm --namespace Microsoft.Web --resource-type basicPublishingCredentialsPolicies --parent sites/<site-name> --set properties.allow=false

若要确认在WebDeploy上阻止了发布配置文件凭据,请尝试使用 Visual Studio 2019 发布 Web 应用程序。

https://docs.microsoft.com/visualstudio/deployment/quickstart-deploy-to-azure?view=vs-2019

创建自定义RBAC角色

上一节中的 API 支持基于 Azure 角色的访问控制(RBAC),这意味着您可以创建自定义角色来阻止用户使用该 API 并将权限较低的用户分配给该角色,这样他们就无法在任何网站上启用基本身份验证。要配置自定义角色,请按照以下说明进行操作。

  1. 打开Azure门户
  2. 打开您要在其中创建自定义角色的订阅
  3. 在左侧导航面板上,单击访问控制(IAM)
  4. 单击+添加,然后单击下拉列表中的添加自定义角色
  5. 提供角色的名称和说明。
  6. 对于基准权限,您可以克隆组织的现有角色之一,或默认角色之一
  7. 单击权限选项卡,然后单击排除权限
  8. 在上下文页面中,单击Microsoft Web Apps。这将打开App Service的所有RBAC操作的列表。
  9. 找到 microsoft.web/sites/basicPublishingCredentialsPolicies/ftp 和 microsoft.web/sites/basicPublishingCredentialsPolicies/scm,选中写复选框。这会将动作添加为角色的 NotActions。 你也可以在部署槽上关闭这项设置。参考 microsoft.web/sites/slots/basicPublishingCredentialsPolicies/ftp and microsoft.web/sites/slots/basicPublishingCredentialsPolicies/scm
  10. 点击底部的审核+创建。在权限下,您将看到basicPublishingCredentialsPolicies API列为NotActions。
  11. 最后,单击创建。您现在可以将此角色分配给组织的用户。

有关设置自定义RBAC角色的更多信息。

https://docs.microsoft.com/en-us/azure/role-based-access-control/custom-roles-portal#step-2-choose-how-to-start?WT.mc_id=AZ-MVP-5002809

使用Azure Monitor进行审计

所有成功和尝试的登录均记录为Azure Monitor AppServiceAuditLogs日志类型。这意味着您可以使用Azure Monitor的所有功能来根据日志内容存储,查询和警报。

Azure Monitor功能和服务的定价信息

https://azure.microsoft.com/pricing/details/monitor/

要审计 FTP 和WebDeploy 上的尝试登录和成功登录,请单击Web应用程序上的“诊断设置”选项卡。这将打开一个页面,以选择所需的日志类型以及日志的目的地。可以将日志发送到Log Analytics,存储帐户或事件中心

  1. 提供诊断设置的名称
  2. 选择您要捕获的日志类型
  3. 选择要将日志发送到的服务(服务必须已经创建,您无法从该页面创建它们)
  4. 单击保存

要确认日志已发送到您选择的服务,请尝试通过 FTP 或 WebDeploy 登录。下面显示了示例存储帐户日志。

{ "time": "2020-07-16T17:42:32.9322528Z", "ResourceId": "/SUBSCRIPTIONS/EF90E930-9D7F-4A60-8A99-748E0EEA69DE/RESOURCEGROUPS/FREEBERGDEMO/PROVIDERS/MICROSOFT.WEB/SITES/FREEBERG-WINDOWS", "Category": "AppServiceAuditLogs", "OperationName": "Authorization", "Properties": { "User": "

使用Azure Policy遵守规范

Azure Policy 可以帮助您强制执行组织标准并大规模评估合规性。使用Azure Policy,可以定义 JSON 格式的策略来更改或拒绝创建 Azure 服务。在这种情况下,您可以使用 Azure Policy 来确保所有新创建的站点都已禁用FTP和/或WebDeploy的发布配置文件身份验证。

请按照以下步骤执行以禁止在任何新创建的站点上发布配置文件身份验证的策略。

  1. 创建一个新的 Azure Policy 资源
  2. 单击 Authoring 下的 Definitions
  3. 点击 + Policy Definition
  4. 选择定义订阅,名称并提供描述
  5. 在策略规则下,粘贴以下JSON定义

{ "mode": "All", "policyRule": { "if": { "field": "Microsoft.Web/sites/basicPublishingCredentialsPolicies.ftp.allow", "equals": true }, "then": { "effect": "deny" } } }

最后,点击保存。

总结

在本文中,您学习了如何对站点的 FTP 和 WebDeploy 端口禁用基本身份验证。此外,您可以使用 Azure Monitor 审核任何尝试的登录,并使用 Azure Policy 确保任何新站点均符合企业的安全要求。

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2020-09-11,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 汪宇杰博客 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
k8s基于RBAC的认证、授权介绍和实践
在K8S中,当我们试图通过API与集群资源交互时,必定经过集群资源管理对象入口kube-apiserver。显然不是随随便便来一个请求它都欢迎的,每个请求都需要经过合规检查,包括Authentication(身份验证)、Authorization(授权)和Admission Control(准入控制)。通过一系列验证后才能完成交互。
你大哥
2022/03/14
2K0
k8s基于RBAC的认证、授权介绍和实践
在ASP.NET Core 中使用 .NET Aspire 消息传递组件
云原生应用程序通常需要可扩展的消息传递解决方案,以提供消息队列、主题和订阅等功能。.NET Aspire 组件简化了连接到各种消息传递提供程序(例如 Azure 服务总线)的过程。在本教程中,小编将为大家介绍如何创建一个 ASP.NET Core 应用并将提交的消息将发送到服务总线主题以供订阅者使用。
葡萄城控件
2023/11/24
4510
在ASP.NET Core 中使用 .NET Aspire 消息传递组件
重磅推荐!开源身份认证神器:KeyCloak!
安装&初始化 下载 http://www.keycloak.org/downloads.html 笔者下载的是“Standalone server distribution” 。 安装&启动 安装Keycloak非常简单,步骤如下: 解压下载下来的安装包 将目录切换到KEYCLOAK_PATH/bin ,其中KEYCLOAK_PATH是您Keycloak的根目录 执行./standalone.sh ,即可启动Keycloak,如需后台运行,则执行./standalone.sh & 。 初始化 启动后,访问
程序猿DD
2023/02/24
7.2K0
重磅推荐!开源身份认证神器:KeyCloak!
附005.Kubernetes身份认证
与Kubernetes交互通常有kubectl、客户端(Dashboard)、REST API请求。
木二
2019/07/01
1.4K0
附005.Kubernetes身份认证
k8s安全访问控制的10个关键
Kubernetes是一种用于管理容器化应用程序的自动化系统,它为开发人员提供了多种好处。它通过在现有 pod 崩溃时自动创建新 pod 来消除应用程序停机时间,并且它允许团队轻松扩展应用程序以适应流量的增加或减少。由于这些和其他功能,许多组织正在将其现有应用程序迁移到 Kubernetes。
iginkgo18
2022/03/15
1.7K0
在GitLab中集成Azure Kubernetes
Self-Hosted 的 GitLab 中可以集成 Kubernetes,但是官方只提供了 Amazon AWS 和 Google Cloud 的一键部署按钮,没有提供 Microsoft Azure 的一键集成。
凝神长老
2021/03/13
7670
在GitLab中集成Azure Kubernetes
你需要了解的Kubernetes RBAC权限
K8s RBAC 提供了三个具有隐藏权限的权限,这些权限可能会被恶意使用。了解如何控制其使用。
云云众生s
2024/05/23
3550
你需要了解的Kubernetes RBAC权限
绝了!这7种工具可以监控AD(Active Directory)的健康状况
全球大约72%的企业使用 Microsoft Windows 服务器操作系统 (OS),每台服务器都使用 Active Directory 将用户相关数据和网络资源存储在域中。
网络技术联盟站
2023/03/13
4.3K0
绝了!这7种工具可以监控AD(Active Directory)的健康状况
Kubernetes之RBAC权限管理
基于角色的权限控制。通过角色关联用户、角色关联权限的方式间接赋予用户权限。 在 Kubernetes 中,RBAC 是通过 rbac.authorization.k8s.io API Group 实现的,即允许集群管理员通过 Kubernetes API 动态配置策略。
聂伟星
2020/08/23
5.7K0
Azure Airflow 中配置错误可能会使整个集群受到攻击
网络安全研究人员在 Microsoft 的 Azure 数据工厂 Apache Airflow 中发现了三个安全漏洞,如果成功利用这些漏洞,攻击者可能会获得执行各种隐蔽操作的能力,包括数据泄露和恶意软件部署。
星尘安全
2025/01/02
1890
Azure Airflow 中配置错误可能会使整个集群受到攻击
EMQX Enterprise 5.3 发布:审计日志、Dashboard 访问权限控制与 SSO 一站登录
新版本带来多个企业特性的更新,包括审计日志,Dashboard RBAC 权限控制,以及基于 SSO(单点登录)的一站式登录,提升了企业级部署的安全性、管理性和治理能力。此外,新版本还进行了多项改进以及 BUG 修复,进一步提升了整体性能和稳定性。
EMQ映云科技
2024/02/28
1760
EMQX Enterprise 5.3 发布:审计日志、Dashboard 访问权限控制与 SSO 一站登录
国内账号部署Azure私有云,该如何搞定App Service?
可能您会说,前段时间不是已经写过一篇类似的文章了吗?(参考这里Azure Stack App Service部署测试),由于那篇文章介绍的是TP3 Refresh,而正式版略有些不同,二来有读者反馈希望能写得更加详细一些,所以借着这次正式版发布,再写篇长文章。
盆盆
2019/04/24
2.8K0
国内账号部署Azure私有云,该如何搞定App Service?
在GitLab中集成Azure Kubernetes
Self-Hosted 的 GitLab 中可以集成 Kubernetes,但是官方只提供了 Amazon AWS 和 Google Cloud 的一键部署按钮,没有提供 Microsoft Azure 的一键集成。
凝神长老
2021/03/26
8700
在GitLab中集成Azure Kubernetes
基于Dapr的 Azure 容器应用
微软在 Ignite 2021 大会上发布了预览版的Azure Container Apps,这是一个完全托管的无服务器容器运行时,用于大规模构建和运行现代应用程序。从2021 年 11 月 2 日起,Azure 容器应用程序可在公共预览中使用。虽在服务到达 GA 之前,Azure Container Apps 可能会发生变化。因此我们可以用来学习,不建议用于生产。
张善友
2021/11/08
1.2K0
基于Dapr的 Azure 容器应用
【网页】HTTP错误汇总(404、302、200……)
原贴:http://blog.sina.com.cn/s/blog_68158ebf0100wr7z.html
蛮三刀酱
2019/09/10
12.5K0
简介
       上一篇文章讲解了如何使用Azure DevOps持续部署应用到Azure Kubernetes上。但是部署是否成功?会不会遇到什么问题?项目运行中是否会出现问题?我们该怎么样查看这些问题,并且对问题进行针对性解决?这就是今天要讲的。
小世界的野孩子
2022/10/28
1.1K0
从上而下的死亡:从 Azure 到 On-Prem AD 的横向移动
Azure 攻击原语,以便更好地了解系统的工作原理、可以滥用哪些特权和权限、可能存在哪些限制以及在真实环境中存在哪些攻击路径。我一直对允许以下攻击的攻击保持警惕:
Khan安全团队
2022/01/19
2.7K0
从 Azure AD 到 Active Directory(通过 Azure)——意外的攻击路径
虽然 Azure 在某些方面利用 Azure Active Directory,但 Azure AD 角色通常不会直接影响 Azure(或 Azure RBAC)。本文详细介绍了一个已知配置(至少对于那些深入研究过 Azure AD 配置选项的人来说),Azure Active Directory 中的全局管理员(又名公司管理员)可以通过租户选项获得对 Azure 的控制权。这是“按设计”作为“打破玻璃”(紧急)选项,可用于(重新)获得 Azure 管理员权限,如果此类访问权限丢失。 在这篇文章中,我探讨了与此选项相关的危险,它当前是如何配置的(截至 2020 年 5 月)。 这里的关键要点是,如果您不仔细保护和控制全局管理员角色成员资格和关联帐户,您可能会失去对所有 Azure 订阅中托管的系统以及 Office 365 服务数据的积极控制。 注意: 围绕此问题的大部分研究是在 2019 年 8 月至 2019 年 12 月期间进行的,自那时以来,Microsoft 可能已经在功能和/或能力方面进行了更改。
Khan安全团队
2022/01/24
2.9K0
认证授权
Authentication(认证) 是验证您的身份的凭据(例如用户名/用户 ID 和密码),通过这个凭据,系统得以知道你就是你,也就是说系统存在你这个用户。
1neptune
2022/11/11
1.7K0
使用Jenkins来实现内部的持续集成流程(下)
注:如果“构建触发器”不存在此选项 请到Jenkins 插件管理安装插件Team Foundation Server Plug-in
心莱科技雪雁
2019/05/14
1.1K0
使用Jenkins来实现内部的持续集成流程(下)
相关推荐
k8s基于RBAC的认证、授权介绍和实践
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档