Mejores Practicas Azure
Mejores Practicas Azure
Mejores Practicas Azure
Fundamentals Documentation
Overview
Introduction to Azure security
End-to-end security
Shared responsibility in the cloud
Detect and mitigate threats
Backup and restore plan for ransomware
Recovering from systemic identity compromise
Threat protection
Securing workloads in Azure
Security technical capabilities
Azure platform and infrastructure
Infrastructure security
Physical security
Availability
Components and boundaries
Network architecture
Production network
SQL Database
Operations
Monitoring
Integrity
Data protection
Platform integrity and security
Firmware security
Code integrity
Secure Boot
Measured boot & host attestation
Project Cerberus
Encryption at rest
Hypervisor security
Isolation in the Azure cloud
Identity management
Security overview
Best practices
Security checklist
Choose passwordless
Authentication
Network security
Security overview
Best practices
DDoS Protection best practices
DDoS Protection security baseline
Dangling DNS and subdomain takeover
Secure hybrid network architecture
IaaS security
Microsoft Antimalware
Microsoft Antimalware code samples
Virtual machine security overview
Best practices - IaaS workloads
Azure Marketplace images
Data security, encryption, and storage
Data security and encryption
Double encryption
TLS certificate changes
Disk encryption
Best practices
Data encryption at rest
Data encryption models
Azure Disk Encryption for virtual machines
Database security
Overview
Best practices
Security checklist
Storage security guide
Customer Lockbox
Security baseline for Customer Lockbox
Application
PaaS
Azure App Service for PaaS
Azure Storage for PaaS
DB best practices for PaaS
Azure Service Fabric security
Monitoring, auditing, and operations
Azure logging and auditing
Security management and monitoring
Enhance remote management
Operational security
Overview
Best practices
Security checklist
Resources
Azure security services
Feature availability for US Government clouds
Security white papers
Best practices
Cybersecurity consulting
Log a security event support ticket
Pen testing
Azure domains
Introduction to Azure security
12/12/2021 • 26 minutes to read • Edit Online
Overview
We know that security is job one in the cloud and how important it is that you find accurate and timely
information about Azure security. One of the best reasons to use Azure for your applications and services is to
take advantage of its wide array of security tools and capabilities. These tools and capabilities help make it
possible to create secure solutions on the secure Azure platform. Microsoft Azure provides confidentiality,
integrity, and availability of customer data, while also enabling transparent accountability.
This article provides a comprehensive look at the security available with Azure.
Azure platform
Azure is a public cloud service platform that supports a broad selection of operating systems, programming
languages, frameworks, tools, databases, and devices. It can run Linux containers with Docker integration; build
apps with JavaScript, Python, .NET, PHP, Java, and Node.js; build back-ends for iOS, Android, and Windows
devices.
Azure public cloud services support the same technologies millions of developers and IT professionals already
rely on and trust. When you build on, or migrate IT assets to, a public cloud service provider you are relying on
that organization’s abilities to protect your applications and data with the services and the controls they provide
to manage the security of your cloud-based assets.
Azure’s infrastructure is designed from facility to applications for hosting millions of customers simultaneously,
and it provides a trustworthy foundation upon which businesses can meet their security requirements.
In addition, Azure provides you with a wide array of configurable security options and the ability to control them
so that you can customize security to meet the unique requirements of your organization’s deployments. This
document helps you understand how Azure security capabilities can help you fulfill these requirements.
NOTE
The primary focus of this document is on customer-facing controls that you can use to customize and increase security
for your applications and services.
For information on how Microsoft secures the Azure platform itself, see Azure infrastructure security.
Operations
This section provides additional information regarding key features in security operations and summary
information about these capabilities.
Microsoft Defender for Cloud
Defender for Cloud helps you prevent, detect, and respond to threats with increased visibility into and control
over the security of your Azure resources. It provides integrated security monitoring and policy management
across your Azure subscriptions, helps detect threats that might otherwise go unnoticed, and works with a
broad ecosystem of security solutions.
In addition, Defender for Cloud helps with security operations by providing you a single dashboard that surfaces
alerts and recommendations that can be acted upon immediately. Often, you can remediate issues with a single
click within the Defender for Cloud console.
Azure Resource Manager
Azure Resource Manager enables you to work with the resources in your solution as a group. You can deploy,
update, or delete all the resources for your solution in a single, coordinated operation. You use an Azure
Resource Manager template for deployment and that template can work for different environments such as
testing, staging, and production. Resource Manager provides security, auditing, and tagging features to help you
manage your resources after deployment.
Azure Resource Manager template-based deployments help improve the security of solutions deployed in Azure
because standard security control settings and can be integrated into standardized template-based
deployments. This reduces the risk of security configuration errors that might take place during manual
deployments.
Application Insights
Application Insights is an extensible Application Performance Management (APM) service for web developers.
With Application Insights, you can monitor your live web applications and automatically detect performance
anomalies. It includes powerful analytics tools to help you diagnose issues and to understand what users
actually do with your apps. It monitors your application all the time it's running, both during testing and after
you've published or deployed it.
Application Insights creates charts and tables that show you, for example, what times of day you get most users,
how responsive the app is, and how well it is served by any external services that it depends on.
If there are crashes, failures or performance issues, you can search through the telemetry data in detail to
diagnose the cause. And the service sends you emails if there are any changes in the availability and
performance of your app. Application Insight thus becomes a valuable security tool because it helps with the
availability in the confidentiality, integrity, and availability security triad.
Azure Monitor
Azure Monitor offers visualization, query, routing, alerting, auto scale, and automation on data both from the
Azure subscription (Activity Log) and each individual Azure resource (Resource Logs). You can use Azure
Monitor to alert you on security-related events that are generated in Azure logs.
Azure Monitor logs
Azure Monitor logs – Provides an IT management solution for both on-premises and third-party cloud-based
infrastructure (such as AWS) in addition to Azure resources. Data from Azure Monitor can be routed directly to
Azure Monitor logs so you can see metrics and logs for your entire environment in one place.
Azure Monitor logs can be a useful tool in forensic and other security analysis, as the tool enables you to quickly
search through large amounts of security-related entries with a flexible query approach. In addition, on-
premises firewall and proxy logs can be exported into Azure and made available for analysis using Azure
Monitor logs.
Azure Advisor
Azure Advisor is a personalized cloud consultant that helps you to optimize your Azure deployments. It analyzes
your resource configuration and usage telemetry. It then recommends solutions to help improve the
performance, security, and reliability of your resources while looking for opportunities to reduce your overall
Azure spend. Azure Advisor provides security recommendations, which can significantly improve your overall
security posture for solutions you deploy in Azure. These recommendations are drawn from security analysis
performed by Microsoft Defender for Cloud.
Applications
The section provides additional information regarding key features in application security and summary
information about these capabilities.
Web Application vulnerability scanning
One of the easiest ways to get started with testing for vulnerabilities on your App Service app is to use the
integration with Tinfoil Security to perform one-click vulnerability scanning on your app. You can view the test
results in an easy-to-understand report, and learn how to fix each vulnerability with step-by-step instructions.
Penetration Testing
We don’t perform penetration testing of your application for you, but we do understand that you want and need
to perform testing on your own applications. That’s a good thing, because when you enhance the security of
your applications you help make the entire Azure ecosystem more secure. While notifying Microsoft of pen
testing activities is no longer required customers must still comply with the Microsoft Cloud Penetration Testing
Rules of Engagement.
Web Application firewall
The web application firewall (WAF) in Azure Application Gateway helps protect web applications from common
web-based attacks like SQL injection, cross-site scripting attacks, and session hijacking. It comes preconfigured
with protection from threats identified by the Open Web Application Security Project (OWASP) as the top 10
common vulnerabilities.
Authentication and authorization in Azure App Service
App Service Authentication / Authorization is a feature that provides a way for your application to sign in users
so that you don't have to change code on the app backend. It provides an easy way to protect your application
and work with per-user data.
Layered Security Architecture
Since App Service Environments provide an isolated runtime environment deployed into an Azure Virtual
Network, developers can create a layered security architecture providing differing levels of network access for
each application tier. A common desire is to hide API back-ends from general Internet access, and only allow
APIs to be called by upstream web apps. Network Security groups (NSGs) can be used on Azure Virtual Network
subnets containing App Service Environments to restrict public access to API applications.
Web server diagnostics and application diagnostics
App Service web apps provide diagnostic functionality for logging information from both the web server and
the web application. These are logically separated into web server diagnostics and application diagnostics. Web
server includes two major advances in diagnosing and troubleshooting sites and applications.
The first new feature is real-time state information about application pools, worker processes, sites, application
domains, and running requests. The second new advantages are the detailed trace events that track a request
throughout the complete request-and-response process.
To enable the collection of these trace events, IIS 7 can be configured to automatically capture full trace logs, in
XML format, for any particular request based on elapsed time or error response codes.
Storage
The section provides additional information regarding key features in Azure storage security and summary
information about these capabilities.
Azure role -based access control (Azure RBAC )
You can secure your storage account with Azure role-based access control (Azure RBAC). Restricting access
based on the need to know and least privilege security principles is imperative for organizations that want to
enforce Security policies for data access. These access rights are granted by assigning the appropriate Azure role
to groups and applications at a certain scope. You can use Azure built-in roles, such as Storage Account
Contributor, to assign privileges to users. Access to the storage keys for a storage account using the Azure
Resource Manager model can be controlled through Azure RBAC.
Shared Access Signature
A shared access signature (SAS) provides delegated access to resources in your storage account. The SAS means
that you can grant a client limited permissions to objects in your storage account for a specified period and with
a specified set of permissions. You can grant these limited permissions without having to share your account
access keys.
Encryption in Transit
Encryption in transit is a mechanism of protecting data when it is transmitted across networks. With Azure
Storage, you can secure data using:
Transport-level encryption, such as HTTPS when you transfer data into or out of Azure Storage.
Wire encryption, such as SMB 3.0 encryption for Azure File shares.
Client-side encryption, to encrypt the data before it is transferred into storage and to decrypt the data
after it is transferred out of storage.
Encryption at rest
For many organizations, data encryption at rest is a mandatory step towards data privacy, compliance, and data
sovereignty. There are three Azure storage security features that provide encryption of data that is “at rest”:
Storage Service Encryption allows you to request that the storage service automatically encrypt data
when writing it to Azure Storage.
Client-side Encryption also provides the feature of encryption at rest.
Azure Disk Encryption allows you to encrypt the OS disks and data disks used by an IaaS virtual machine.
Storage Analytics
Azure Storage Analytics performs logging and provides metrics data for a storage account. You can use this data
to trace requests, analyze usage trends, and diagnose issues with your storage account. Storage Analytics logs
detailed information about successful and failed requests to a storage service. This information can be used to
monitor individual requests and to diagnose issues with a storage service. Requests are logged on a best-effort
basis. The following types of authenticated requests are logged:
Successful requests.
Failed requests, including timeout, throttling, network, authorization, and other errors.
Requests using a Shared Access Signature (SAS), including failed and successful requests.
Requests to analytics data.
Enabling Browser-Based Clients Using CORS
Cross-Origin Resource Sharing (CORS) is a mechanism that allows domains to give each other permission for
accessing each other’s resources. The User Agent sends extra headers to ensure that the JavaScript code loaded
from a certain domain is allowed to access resources located at another domain. The latter domain then replies
with extra headers allowing or denying the original domain access to its resources.
Azure storage services now support CORS so that once you set the CORS rules for the service, a properly
authenticated request made against the service from a different domain is evaluated to determine whether it is
allowed according to the rules you have specified.
Networking
The section provides additional information regarding key features in Azure network security and summary
information about these capabilities.
Network Layer Controls
Network access control is the act of limiting connectivity to and from specific devices or subnets and represents
the core of network security. The goal of network access control is to make sure that your virtual machines and
services are accessible to only users and devices to which you want them accessible.
Network Security Groups
A Network Security Group (NSG) is a basic stateful packet filtering firewall and it enables you to control access
based on a 5-tuple. NSGs do not provide application layer inspection or authenticated access controls. They can
be used to control traffic moving between subnets within an Azure Virtual Network and traffic between an
Azure Virtual Network and the Internet.
Route Control and Forced Tunneling
The ability to control routing behavior on your Azure Virtual Networks is a critical network security and access
control capability. For example, if you want to make sure that all traffic to and from your Azure Virtual Network
goes through that virtual security appliance, you need to be able to control and customize routing behavior. You
can do this by configuring User-Defined Routes in Azure.
User-Defined Routes allow you to customize inbound and outbound paths for traffic moving into and out of
individual virtual machines or subnets to insure the most secure route possible. Forced tunneling is a
mechanism you can use to ensure that your services are not allowed to initiate a connection to devices on the
Internet.
This is different from being able to accept incoming connections and then responding to them. Front-end web
servers need to respond to requests from Internet hosts, and so Internet-sourced traffic is allowed inbound to
these web servers and the web servers can respond.
Forced tunneling is commonly used to force outbound traffic to the Internet to go through on-premises security
proxies and firewalls.
Virtual Network Security Appliances
While Network Security Groups, User-Defined Routes, and forced tunneling provide you a level of security at the
network and transport layers of the OSI model, there may be times when you want to enable security at higher
levels of the stack. You can access these enhanced network security features by using an Azure partner network
security appliance solution. You can find the most current Azure partner network security solutions by visiting
the Azure Marketplace and searching for “security” and “network security.”
Azure Virtual Network
An Azure virtual network (VNet) is a representation of your own network in the cloud. It is a logical isolation of
the Azure network fabric dedicated to your subscription. You can fully control the IP address blocks, DNS
settings, security policies, and route tables within this network. You can segment your VNet into subnets and
place Azure IaaS virtual machines (VMs) and/or Cloud services (PaaS role instances) on Azure Virtual Networks.
Additionally, you can connect the virtual network to your on-premises network using one of the connectivity
options available in Azure. In essence, you can expand your network to Azure, with complete control on IP
address blocks with the benefit of enterprise scale Azure provides.
Azure networking supports various secure remote access scenarios. Some of these include:
Connect individual workstations to an Azure Virtual Network
Connect on-premises network to an Azure Virtual Network with a VPN
Connect on-premises network to an Azure Virtual Network with a dedicated WAN link
Connect Azure Virtual Networks to each other
Azure Private Link
Azure Private Link enables you to access Azure PaaS Services (for example, Azure Storage and SQL Database)
and Azure hosted customer-owned/partner services privately in your virtual network over a private endpoint.
Setup and consumption using Azure Private Link is consistent across Azure PaaS, customer-owned, and shared
partner services. Traffic from your virtual network to the Azure service always remains on the Microsoft Azure
backbone network.
Private Endpoints allow you to secure your critical Azure service resources to only your virtual networks. Azure
Private Endpoint uses a private IP address from your VNet to connect you privately and securely to a service
powered by Azure Private Link, effectively bringing the service into your VNet. Exposing your virtual network to
the public internet is no longer necessary to consume services on Azure.
You can also create your own private link service in your virtual network. Azure Private Link service is the
reference to your own service that is powered by Azure Private Link. Your service that is running behind Azure
Standard Load Balancer can be enabled for Private Link access so that consumers to your service can access it
privately from their own virtual networks. Your customers can create a private endpoint inside their virtual
network and map it to this service. Exposing your service to the public internet is no longer necessary to render
services on Azure.
VPN Gateway
To send network traffic between your Azure Virtual Network and your on-premises site, you must create a VPN
gateway for your Azure Virtual Network. A VPN gateway is a type of virtual network gateway that sends
encrypted traffic across a public connection. You can also use VPN gateways to send traffic between Azure
Virtual Networks over the Azure network fabric.
Express Route
Microsoft Azure ExpressRoute is a dedicated WAN link that lets you extend your on-premises networks into the
Microsoft cloud over a dedicated private connection facilitated by a connectivity provider.
With ExpressRoute, you can establish connections to Microsoft cloud services, such as Microsoft Azure,
Microsoft 365, and CRM Online. Connectivity can be from an any-to-any (IP VPN) network, a point-to-point
Ethernet network, or a virtual cross-connection through a connectivity provider at a co-location facility.
ExpressRoute connections do not go over the public Internet and thus can be considered more secure than VPN-
based solutions. This allows ExpressRoute connections to offer more reliability, faster speeds, lower latencies,
and higher security than typical connections over the Internet.
Application Gateway
Microsoft Azure Application Gateway provides an Application Delivery Controller (ADC) as a service, offering
various layer 7 load balancing capabilities for your application.
It allows you to optimize web farm productivity by offloading CPU intensive TLS termination to the Application
Gateway (also known as “TLS offload” or “TLS bridging”). It also provides other Layer 7 routing capabilities
including round-robin distribution of incoming traffic, cookie-based session affinity, URL path-based routing,
and the ability to host multiple websites behind a single Application Gateway. Azure Application Gateway is a
layer-7 load balancer.
It provides failover, performance-routing HTTP requests between different servers, whether they are on the
cloud or on-premises.
Application provides many Application Delivery Controller (ADC) features including HTTP load balancing,
cookie-based session affinity, TLS offload, custom health probes, support for multi-site, and many others.
Web Application Firewall
Web Application Firewall is a feature of Azure Application Gateway that provides protection to web applications
that use application gateway for standard Application Delivery Control (ADC) functions. Web application firewall
does this by protecting them against most of the OWASP top 10 common web vulnerabilities.
SQL injection protection
Common Web Attacks Protection such as command injection, HTTP request smuggling, HTTP response
splitting, and remote file inclusion attack
Protection against HTTP protocol violations
Protection against HTTP protocol anomalies such as missing host user-agent and accept headers
Prevention against bots, crawlers, and scanners
Detection of common application misconfigurations (that is, Apache, IIS, etc.)
A centralized web application firewall to protect against web attacks makes security management much simpler
and gives better assurance to the application against the threats of intrusions. A WAF solution can also react to a
security threat faster by patching a known vulnerability at a central location versus securing each of individual
web applications. Existing application gateways can be converted to an application gateway with web
application firewall easily.
Traffic Manager
Microsoft Azure Traffic Manager allows you to control the distribution of user traffic for service endpoints in
different data centers. Service endpoints supported by Traffic Manager include Azure VMs, Web Apps, and Cloud
services. You can also use Traffic Manager with external, non-Azure endpoints. Traffic Manager uses the Domain
Name System (DNS) to direct client requests to the most appropriate endpoint based on a traffic-routing
method and the health of the endpoints.
Traffic Manager provides a range of traffic-routing methods to suit different application needs, endpoint health
monitoring, and automatic failover. Traffic Manager is resilient to failure, including the failure of an entire Azure
region.
Azure Load Balancer
Azure Load Balancer delivers high availability and network performance to your applications. It is a Layer 4 (TCP,
UDP) load balancer that distributes incoming traffic among healthy instances of services defined in a load-
balanced set. Azure Load Balancer can be configured to:
Load balance incoming Internet traffic to virtual machines. This configuration is known as public load
balancing.
Load balance traffic between virtual machines in a virtual network, between virtual machines in cloud
services, or between on-premises computers and virtual machines in a cross-premises virtual network.
This configuration is known as internal load balancing.
Forward external traffic to a specific virtual machine
Internal DNS
You can manage the list of DNS servers used in a VNet in the Management Portal, or in the network
configuration file. Customer can add up to 12 DNS servers for each VNet. When specifying DNS servers, it's
important to verify that you list customer’s DNS servers in the correct order for customer’s environment. DNS
server lists do not work round-robin. They are used in the order that they are specified. If the first DNS server on
the list is able to be reached, the client uses that DNS server regardless of whether the DNS server is functioning
properly or not. To change the DNS server order for customer’s virtual network, remove the DNS servers from
the list and add them back in the order that customer wants. DNS supports the availability aspect of the “CIA”
security triad.
Azure DNS
The Domain Name System, or DNS, is responsible for translating (or resolving) a website or service name to its
IP address. Azure DNS is a hosting service for DNS domains, providing name resolution using Microsoft Azure
infrastructure. By hosting your domains in Azure, you can manage your DNS records using the same credentials,
APIs, tools, and billing as your other Azure services. DNS supports the availability aspect of the “CIA” security
triad.
Azure Monitor logs NSGs
You can enable the following diagnostic log categories for NSGs:
Event: Contains entries for which NSG rules are applied to VMs and instance roles based on MAC
address. The status for these rules is collected every 60 seconds.
Rules counter: Contains entries for how many times each NSG rule is applied to deny or allow traffic.
Defender for Cloud
Microsoft Defender for Cloud continuously analyzes the security state of your Azure resources for network
security best practices. When Defender for Cloud identifies potential security vulnerabilities, it creates
recommendations that guide you through the process of configuring the needed controls to harden and protect
your resources.
Compute
The section provides additional information regarding key features in this area and summary information about
these capabilities.
Antimalware & Antivirus
With Azure IaaS, you can use antimalware software from security vendors such as Microsoft, Symantec, Trend
Micro, McAfee, and Kaspersky to protect your virtual machines from malicious files, adware, and other threats.
Microsoft Antimalware for Azure Cloud Services and Virtual Machines is a protection capability that helps
identify and remove viruses, spyware, and other malicious software. Microsoft Antimalware provides
configurable alerts when known malicious or unwanted software attempts to install itself or run on your Azure
systems. Microsoft Antimalware can also be deployed using Microsoft Defender for Cloud
Hardware Security Module
Encryption and authentication do not improve security unless the keys themselves are protected. You can
simplify the management and security of your critical secrets and keys by storing them in Azure Key Vault. Key
Vault provides the option to store your keys in hardware Security modules (HSMs) certified to FIPS 140-2 Level
2 standards. Your SQL Server encryption keys for backup or transparent data encryption can all be stored in Key
Vault with any keys or secrets from your applications. Permissions and access to these protected items are
managed through Azure Active Directory.
Virtual machine backup
Azure Backup is a solution that protects your application data with zero capital investment and minimal
operating costs. Application errors can corrupt your data, and human errors can introduce bugs into your
applications that can lead to security issues. With Azure Backup, your virtual machines running Windows and
Linux are protected.
Azure Site Recovery
An important part of your organization's business continuity/disaster recovery (BCDR) strategy is figuring out
how to keep corporate workloads and apps up and running when planned and unplanned outages occur. Azure
Site Recovery helps orchestrate replication, failover, and recovery of workloads and apps so that they are
available from a secondary location if your primary location goes down.
SQL VM TDE
Transparent data encryption (TDE) and column level encryption (CLE) are SQL server encryption features. This
form of encryption requires customers to manage and store the cryptographic keys you use for encryption.
The Azure Key Vault (AKV) service is designed to improve the security and management of these keys in a
secure and highly available location. The SQL Server Connector enables SQL Server to use these keys from
Azure Key Vault.
If you are running SQL Server with on-premises machines, there are steps you can follow to access Azure Key
Vault from your on-premises SQL Server instance. But for SQL Server in Azure VMs, you can save time by using
the Azure Key Vault Integration feature. With a few Azure PowerShell cmdlets to enable this feature, you can
automate the configuration necessary for a SQL VM to access your key vault.
VM Disk Encryption
Azure Disk Encryption is a new capability that helps you encrypt your Windows and Linux IaaS virtual machine
disks. It applies the industry standard BitLocker feature of Windows and the DM-Crypt feature of Linux to
provide volume encryption for the OS and the data disks. The solution is integrated with Azure Key Vault to help
you control and manage the disk-encryption keys and secrets in your Key Vault subscription. The solution also
ensures that all data on the virtual machine disks are encrypted at rest in your Azure storage.
Virtual networking
Virtual machines need network connectivity. To support that requirement, Azure requires virtual machines to be
connected to an Azure Virtual Network. An Azure Virtual Network is a logical construct built on top of the
physical Azure network fabric. Each logical Azure Virtual Network is isolated from all other Azure Virtual
Networks. This isolation helps insure that network traffic in your deployments is not accessible to other
Microsoft Azure customers.
Patch Updates
Patch Updates provide the basis for finding and fixing potential problems and simplify the software update
management process, both by reducing the number of software updates you must deploy in your enterprise
and by increasing your ability to monitor compliance.
Security policy management and reporting
Defender for Cloud helps you prevent, detect, and respond to threats, and provides you increased visibility into,
and control over, the security of your Azure resources. It provides integrated Security monitoring and policy
management across your Azure subscriptions, helps detect threats that might otherwise go unnoticed, and
works with a broad ecosystem of security solutions.
A Z URE A C T IVE
DIREC TO RY JO IN –
F REE / C O M M O N P REM IUM P 1 P REM IUM P 2 W IN DO W S 10 O N LY
F EAT URES B A SIC F EAT URES F EAT URES F EAT URES REL AT ED F EAT URES
A Z URE A C T IVE
DIREC TO RY JO IN –
F REE / C O M M O N P REM IUM P 1 P REM IUM P 2 W IN DO W S 10 O N LY
F EAT URES B A SIC F EAT URES F EAT URES F EAT URES REL AT ED F EAT URES
Directory Objects, Group-based access Self-Service Group Identity Protection, Join a device to
User/Group management / and app Privileged Identity Azure AD, Desktop
Management provisioning, Self- Management/Self- Management SSO, Microsoft
(add/update/delete)/ Service Password Service application Passport for Azure
User-based Reset for cloud users, additions/Dynamic AD, Administrator
provisioning, Device Company Branding Groups, Self-Service BitLocker recovery,
registration, Single (Logon Pages/Access Password MDM auto-
Sign-On (SSO), Self- Panel customization), Reset/Change/Unlock enrollment, Self-
Service Password Application Proxy, with on-premises Service BitLocker
Change for cloud SLA 99.9% write-back, Multi- recovery, Additional
users, Connect (Sync Factor Authentication local administrators
engine that extends (Cloud and On- to Windows 10
on-premises premises (MFA devices via Azure AD
directories to Azure Server)), MIM CAL + Join
Active Directory), MIM Server, Cloud
Security / Usage App Discovery,
Reports Connect Health,
Automatic password
rollover for group
accounts
Cloud App Discovery is a premium feature of Azure Active Directory that enables you to identify cloud
applications that are used by the employees in your organization.
Azure Active Directory Identity Protection is a security service that uses Azure Active Directory anomaly
detection capabilities to provide a consolidated view into risk detections and potential vulnerabilities that
could affect your organization’s identities.
Azure Active Directory Domain Services enables you to join Azure VMs to a domain without the need to
deploy domain controllers. Users sign in to these VMs by using their corporate Active Directory
credentials, and can seamlessly access resources.
Azure Active Directory B2C is a highly available, global identity management service for consumer-facing
apps that can scale to hundreds of millions of identities and integrate across mobile and web platforms.
Your customers can sign in to all your apps through customizable experiences that use existing social
media accounts, or you can create new standalone credentials.
Azure Active Directory B2B Collaboration is a secure partner integration solution that supports your
cross-company relationships by enabling partners to access your corporate applications and data
selectively by using their self-managed identities.
Azure Active Directory joined enables you to extend cloud capabilities to Windows 10 devices for
centralized management. It makes it possible for users to connect to the corporate or organizational
cloud through Azure Active Directory and simplifies access to apps and resources.
Azure Active Directory Application Proxy provides SSO and secure remote access for web applications
hosted on-premises.
Next Steps
Understand your shared responsibility in the cloud.
Learn how Microsoft Defender for Cloud can help you prevent, detect, and respond to threats with
increased visibility and control over the security of your Azure resources.
End-to-end security in Azure
12/12/2021 • 7 minutes to read • Edit Online
One of the best reasons to use Azure for your applications and services is to take advantage of its wide array of
security tools and capabilities. These tools and capabilities help make it possible to create secure solutions on
the secure Azure platform. Microsoft Azure provides confidentiality, integrity, and availability of customer data,
while also enabling transparent accountability.
The following diagram and documentation introduces you to the security services in Azure. These security
services help you meet the security needs of your business and protect your users, devices, resources, data, and
applications in the cloud.
Microsoft Defender for Cloud A unified infrastructure security management system that
strengthens the security posture of your data centers, and
provides advanced threat protection across your hybrid
workloads in the cloud - whether they're in Azure or not - as
well as on premises.
SERVIC E DESC RIP T IO N
Azure Active Directory (AD) Microsoft’s cloud-based identity and access management
service.
Azure AD Identity Protection A tool that allows organizations to automate the detection
and remediation of identity-based risks, investigate risks
using data in the portal, and export risk detection data to
third-party utilities for further analysis.
Azure DDoS Protection Standard Provides enhanced DDoS mitigation features to defend
against DDoS attacks. It is automatically tuned to help
protect your specific Azure resources in a virtual network.
Azure Front Door A global, scalable entry-point that uses the Microsoft global
edge network to create fast, secure, and widely scalable web
applications.
Azure Key Vault A secure secrets store for tokens, passwords, certificates, API
keys, and other secrets. Key Vault can also be used to create
and control the encryption keys used to encrypt your data.
SERVIC E DESC RIP T IO N
Key Vault Managed HSM A fully managed, highly available, single-tenant, standards-
compliant cloud service that enables you to safeguard
cryptographic keys for your cloud applications, using FIPS
140-2 Level 3 validated HSMs.
Azure Private Link Enables you to access Azure PaaS Services (for example,
Azure Storage and SQL Database) and Azure hosted
customer-owned/partner services over a private endpoint in
your virtual network.
Azure Application Gateway An advanced web traffic load balancer that enables you to
manage traffic to your web applications. Application
Gateway can make routing decisions based on additional
attributes of an HTTP request, for example URI path or host
headers.
Azure Service Bus A fully managed enterprise message broker with message
queues and publish-subscribe topics. Service Bus is used to
decouple applications and services from each other.
Azure Storage Service Encryption Automatically encrypts data before it is stored and
automatically decrypts the data when you retrieve it.
API Management A way to create consistent and modern API gateways for
existing back-end services.
Azure confidential computing Allows you to isolate your sensitive data while it's being
processed in the cloud.
Customer Access
Azure AD External Identities With External Identities in Azure AD, you can allow people
outside your organization to access your apps and
resources, while letting them sign in using whatever identity
they prefer.
SERVIC E DESC RIP T IO N
You can share your apps and resources with external users
via Azure AD B2B collaboration.
Detect threats
Microsoft Defender for Cloud Brings advanced, intelligent, protection of your Azure and
hybrid resources and workloads. The workload protection
dashboard in Defender for Cloud provides visibility and
control of the cloud workload protection features for your
environment.
Microsoft 365 Defender A unified pre- and post-breach enterprise defense suite that
natively coordinates detection, prevention, investigation, and
response across endpoints, identities, email, and applications
to provide integrated protection against sophisticated
attacks.
Azure AD Identity Protection Sends two types of automated notification emails to help
you manage user risk and risk detections: Users at risk
detected email and Weekly digest email.
Microsoft Defender for IoT A unified security solution for identifying IoT/OT devices,
vulnerabilities, and threats. It enables you to secure your
entire IoT/OT environment, whether you need to protect
existing IoT/OT devices or build security into new IoT
innovations.
Azure Network Watcher Provides tools to monitor, diagnose, view metrics, and
enable or disable logs for resources in an Azure virtual
network. Network Watcher is designed to monitor and repair
the network health of IaaS products which includes virtual
machines, virtual networks, application gateways, and load
balancers.
Azure Policy audit logging Helps to enforce organizational standards and to assess
compliance at-scale. Azure Policy uses activity logs, which are
automatically enabled to include event source, date, user,
timestamp, source addresses, destination addresses, and
other useful elements.
Microsoft Defender for container registries Includes a vulnerability scanner to scan the images in your
Azure Resource Manager-based Azure Container Registry
registries and provide deeper visibility into your images'
vulnerabilities.
Microsoft Defender for Kubernetes Provides cluster-level threat protection by monitoring your
AKS-managed services through the logs retrieved by Azure
Kubernetes Service (AKS).
Microsoft Defender for Cloud Apps A cloud access security broker (CASB) that operates on
multiple clouds. It provides rich visibility, control over data
travel, and sophisticated analytics to identify and combat
cyberthreats across all your cloud services.
Microsoft Sentinel Powerful search and query tools to hunt for security threats
across your organization's data sources.
Azure Monitor logs and metrics Delivers a comprehensive solution for collecting, analyzing,
and acting on telemetry from your cloud and on-premises
environments. Azure Monitor collects and aggregates data
from a variety of sources into a common data platform
where it can be used for analysis, visualization, and alerting.
Azure AD reports and monitoring Azure AD reports provide a comprehensive view of activity
in your environment.
SERVIC E DESC RIP T IO N
Azure AD PIM audit history Shows all role assignments and activations within the past
30 days for all privileged roles.
Microsoft Defender for Cloud Apps Provides tools to gain a deeper understanding of what's
happening in your cloud environment.
Next steps
Understand your shared responsibility in the cloud.
Understand the isolation choices in the Azure cloud against both malicious and non-malicious users.
Shared responsibility in the cloud
12/12/2021 • 2 minutes to read • Edit Online
As you consider and evaluate public cloud services, it’s critical to understand the shared responsibility model
and which security tasks are handled by the cloud provider and which tasks are handled by you. The workload
responsibilities vary depending on whether the workload is hosted on Software as a Service (SaaS), Platform as
a Service (PaaS), Infrastructure as a Service (IaaS), or in an on-premises datacenter
Division of responsibility
In an on-premises datacenter, you own the whole stack. As you move to the cloud some responsibilities transfer
to Microsoft. The following diagram illustrates the areas of responsibility between you and Microsoft, according
to the type of deployment of your stack.
For all cloud deployment types, you own your data and identities. You are responsible for protecting the security
of your data and identities, on-premises resources, and the cloud components you control (which varies by
service type).
Regardless of the type of deployment, the following responsibilities are always retained by you:
Data
Endpoints
Account
Access management
In the cloud-enabled approach, you are also able to leverage cloud-based security capabilities for more
effectiveness and use cloud intelligence to improve your threat detection and response time. By shifting
responsibilities to the cloud provider, organizations can get more security coverage, which enables them to
reallocate security resources and budget to other business priorities.
Next steps
For more information on the division of responsibility between you and Microsoft in a SaaS, PaaS, and IaaS
deployment, see Shared responsibilities for cloud computing.
Backup and restore plan to protect against
ransomware
12/12/2021 • 18 minutes to read • Edit Online
Ransomware attacks deliberately encrypt or erase data and systems to force your organization to pay money to
attackers. These attacks target your data, your backups, and also key documentation required for you to recover
without paying the attackers (as a means to increase the chances your organization will pay).
This article addresses what to do before an attack to protect your critical business systems and during an attack
to ensure a rapid recovery of business operations.
NOTE
Preparing for ransomware also improves resilience to natural disasters and rapid attacks like WannaCry & (Not)Petya.
What is ransomware?
Ransomware is a type of extortion attack that encrypts files and folders, preventing access to important data
and systems. Attackers use ransomware to extort money from victims by demanding money, usually in the form
of cryptocurrencies, in exchange for a decryption key or in exchange for not releasing sensitive data to the dark
web or the public internet.
While early ransomware mostly used malware that spread with phishing or between devices, human-operated
ransomware has emerged where a gang of active attackers, driven by human attack operators, target all
systems in an organization (rather than a single device or set of devices). An attack can:
Encrypt your data
Exfiltrate your data
Corrupt your backups
The ransomware leverages the attackers’ knowledge of common system and security misconfigurations and
vulnerabilities to infiltrate the organization, navigate the enterprise network, and adapt to the environment and
its weaknesses as they go.
Ransomware can be staged to exfiltrate your data first, over several weeks or months, before the ransomware
actually executes on a specific date.
Ransomware can also slowly encrypt your data while keeping your key on the system. With your key still
available, your data is usable to you and the ransomware goes unnoticed. Your backups, though, are of the
encrypted data. Once all of your data is encrypted and recent backups are also of encrypted data, your key is
removed so you can no longer read your data.
The real damage is often done when the attack exfiltrates files while leaving backdoors in the network for future
malicious activity—and these risks persist whether or not the ransom is paid. These attacks can be catastrophic
to business operations and difficult to clean up, requiring complete adversary eviction to protect against future
attacks. Unlike early forms of ransomware that only required malware remediation, human-operated
ransomware can continue to threaten your business operations after the initial encounter.
Impact of an attack
The impact of a ransomware attack on any organization is difficult to quantify accurately. Depending on the
scope of the attack, the impact could include:
Loss of data access
Business operation disruption
Financial loss
Intellectual property theft
Compromised customer trust or tarnished reputation
Legal expenses
NOTE
There are two types of vaults in Azure Backup. In addition to the Recovery Services vaults, there are also Backup vaults
that house data for newer workloads supported by Azure Backup.
TA SK DETA IL
Identify the important systems that you need to bring back To get back up and running as quickly as possible after an
online first (using top five categories above) and immediately attack, determine today what is most important to you.
begin performing regular backups of those systems.
Migrate your organization to the cloud. Reduce your on-premises exposure by moving data to cloud
services with automatic backup and self-service rollback.
Consider purchasing a Microsoft Unified Support plan or Microsoft Azure has a robust set of tools to help you backup
working with a Microsoft partner to help support your move your business-critical systems and restore your backups
to the cloud. faster.
Move user data to cloud solutions like OneDrive and User data in the Microsoft cloud can be protected by built-in
SharePoint to take advantage of versioning and recycle bin security and data management features.
capabilities.
It's good to teach users how to restore their own files but
Educate users on how to recover their files by themselves to you need to be careful that your users do not restore the
reduce delays and cost of recovery. For example, if a user’s malware used to carry out the attack. You need to:
OneDrive files were infected by malware, they can restore
their entire OneDrive to a previous time. Ensure your users don't restore their files until you are
confident that the attacker has been evicted
Consider a defense strategy, such as Microsoft 365
Defender, before allowing users to restore their own files. Have a mitigation in place in case a user does restore some
of the malware
Implement Azure Security Benchmark. Azure Security Benchmark is Azure’s own security control
framework based on industry-based security control
frameworks such as NIST SP800-53, CIS Controls v7.1. It
provides organizations guidance on how to configure Azure
and Azure services and implement the security controls. See
Backup and Recovery.
TA SK DETA IL
Regularly exercise your business continuity/disaster recovery Ensures rapid recovery of business operations by treating a
(BC/DR) plan. ransomware or extortion attack with the same importance
as a natural disaster.
Simulate incident response scenarios. Exercises you perform
in preparing for an attack should be planned and conducted Conduct practice exercise(s) to validate cross-team processes
around your prioritized backup and restore lists. and technical procedures, including out of band employee
and customer communications (assume all email and chat is
Regularly test ‘Recover from Zero’ scenario to ensure your down).
BC/DR can rapidly bring critical business operations online
from zero functionality (all systems down).
Consider creating a risk register to identify potential risks A risk register can help you prioritize risks based on the
and address how you will mediate through preventative likelihood of that risk occurring and the severity to your
controls and actions. Add ransomware to risk register as business should that risk occur.
high likelihood and high impact scenario.
Track mitigation status via Enterprise Risk Management
(ERM) assessment cycle.
Backup all critical business systems automatically on a Allows you to recover data up to the last backup.
regular schedule (including backup of critical dependencies
like Active Directory).
Protect (or print) supporting documents and systems Attackers deliberately target these resources because it
required for recovery such as restoration procedure impacts your ability to recover.
documents, CMDB, network diagrams, and SolarWinds
instances.
Ensure you have well-documented procedures for engaging Third-party contacts may be useful if the given ransomware
any third-party support, particularly support from threat variant has known weaknesses or decryption tools are
intelligence providers, antimalware solution providers, and available.
from the malware analysis provider. Protect (or print) these
procedures.
Ensure backup and recovery strategy includes: Backups are essential for resilience after an organization has
been breached. Apply the 3-2-1 rule for maximum
Ability to back up data to a specific point in time. protection and availability: 3 copies (original + 2 backups), 2
storage types, and 1 offsite or cold copy.
Multiple copies of backups are stored in isolated, offline (air-
gapped) locations.
Protect backups against deliberate erasure and encryption: Backups that are accessible by attackers can be rendered
unusable for business recovery.
Store backups in offline or off-site storage and/or immutable
storage. Offline storage ensures robust transfer of backup data
without using any network bandwidth. Azure Backup
Require out of band steps (such as MFA or a security PIN) supports offline backup, which transfers initial backup data
before permitting an online backup to be modified or erased. offline, without the use of network bandwidth. It provides a
mechanism to copy backup data onto physical storage
Create private endpoints within your Azure Virtual Network devices. The devices are then shipped to a nearby Azure
to securely back up and restore data from your Recovery datacenter and uploaded onto a Recovery Services vault.
Services vault.
Online immutable storage (such as Azure Blob) enables you
to store business-critical data objects in a WORM (Write
Once, Read Many) state. This state makes the data non-
erasable and non-modifiable for a user-specified interval.
Protect against a phishing attempt: The most common method used by attackers to infiltrate an
organization is phishing attempts via email. Exchange Online
Conduct security awareness training regularly to help users Protection (EOP) is the cloud-based filtering service that
identify a phishing attempt and avoid clicking on something protects your organization against spam, malware, and other
that can create an initial entry point for a compromise. email threats. EOP is included in all Microsoft 365
organizations with Exchange Online mailboxes.
Apply security filtering controls to email to detect and
minimize the likelihood of a successful phishing attempt. An example of a security filtering control for email is Safe
Links. Safe Links is a feature in Defender for Office 365 that
provides URL scanning and rewriting of inbound email
messages in mail flow, and time-of-click verification of URLs
and links in email messages and other locations. Safe Links
scanning occurs in addition to the regular anti-spam and
anti-malware protection in inbound email messages in EOP.
Safe Links scanning can help protect your organization from
malicious links that are used in phishing and other attacks.
TA SK DETA IL
Early in the attack, engage third-party support, particularly These contacts may be useful if the given ransomware
support from threat intelligence providers, antimalware variant has a known weakness or decryption tools are
solution providers and from the malware analysis provider. available.
Contact your local or federal law enforcement agencies. If you are in the United States, contact the FBI to report a
ransomware breach using the IC3 Complaint Referral Form.
Take steps to remove malware or ransomware payload from You can use Windows Defender or (for older clients)
your environment and stop the spread. Microsoft Security Essentials.
Run a full, current antivirus scan on all suspected computers An alternative that will also help you remove ransomware or
and devices to detect and remove the payload that's malware is the Malicious Software Removal Tool (MSRT).
associated with the ransomware.
Restore business-critical systems first. Remember to validate At this point, you don’t need to restore everything. Focus on
again that your backup is good before you restore. the top five business-critical systems from your restore list.
If you have offline backups, you can probably restore the To prevent future attacks, ensure ransomware or malware is
encrypted data after you've removed the ransomware not on your offline backup before restoring.
payload (malware) from your environment.
Identify a safe point-in-time backup image that is known not To prevent future attacks, scan backup for ransomware or
to be infected. malware before restoring.
Use a safety scanner and other tools for full operating Microsoft Safety Scanner is a scan tool designed to find and
system restore as well as data restore scenarios. remove malware from Windows computers. Simply
download it and run a scan to find malware and try to
reverse changes made by identified threats.
TA SK DETA IL
Ensure that your antivirus or endpoint detection and An EDR solution, such as Microsoft Defender for Endpoint, is
response (EDR) solution is up to date. You also need to have preferred.
up-to-date patches.
After business-critical systems are up and running, restore Telemetry data should help you identify if malware is still on
other systems. your systems.
Next steps
In this article, you learned how to improve your backup and restore plan to protect against ransomware. For
best practices on deploying ransomware protection, see Rapidly protect against ransomware and extortion.
Key industry information:
Microsoft Digital Defense Report (see pages 22-24)
Microsoft Azure:
Help protect from ransomware with Microsoft Azure Backup (26 minute video)
Recovering from systemic identity compromise
Advanced multistage attack detection in Microsoft Sentinel
Microsoft 365:
Recover from a ransomware attack
Malware and ransomware protection
Protect your Windows 10 PC from ransomware
Handling ransomware in SharePoint Online
Microsoft 365 Defender:
Find ransomware with advanced hunting
Microsoft Security team blog posts:
Becoming resilient by understanding cybersecurity risks: Part 4, navigating current threats (May 2021). See
the Ransomware section
Human-operated ransomware attacks: A preventable disaster (March 2020). Includes attack chain analysis of
actual human-operated ransomware attacks
Ransomware response — to pay or not to pay? (December 2019)
Norsk Hydro responds to ransomware attack with transparency (December 2019)
Recovering from systemic identity compromise
12/12/2021 • 20 minutes to read • Edit Online
This article describes Microsoft resources and recommendations for recovering from a systemic identity
compromise attack against your organization, such as the Nobelium attack of December 2020.
The content in this article is based on guidance provided by Microsoft's Detection and Response Team (DART),
which works to respond to compromises and help customers become cyber-resilient. For more guidance from
the DART team, see their Microsoft security blog series.
Many organizations have transitioned to a cloud-based approach for stronger security on their identity and
access management. However, your organization may also have on-premises systems in place and use varying
methods of hybrid architecture. This article acknowledges that systemic identity attacks affect cloud, on-
premises, and hybrid systems, and provides recommendations and references for all of these environments.
IMPORTANT
This information is provided as-is and constitutes generalized guidance; the ultimate determination about how to apply
this guidance to your IT environment and tenant(s) must consider your unique environment and needs, which each
Customer is in the best position to determine.
Investigate your environment After you have secured communications on your core
investigation team, you can start looking for initial access
points and persistence techniques. Identify your indications
of compromise, and then look for initial access points and
persistence. At the same time, start establishing continuous
monitoring operations during your recovery efforts.
Improve security posture Enable security features and capabilities following best
practice recommendations for improved system security
moving forward.
Regain / retain control You must regain administrative control of your environment
from the attacker. After you have control again and have
refreshed your system's security posture, make sure to
remediate or block all possible persistence techniques and
new initial access exploits.
IMPORTANT
Make sure that you do not communicate about your new tenant on your existing, and potentially compromised, email
accounts.
For more information, see Best practices for securely using Microsoft 365.
NOTE
If you find that one or more of the listed logging sources is not currently part of your security program, we recommend
configuring them as soon as possible to enable detections and future log reviews.
Make sure to configure your log retention to support your organization’s investigation goals going forward. Retain
evidence as needed for legal, regulatory, or insurance purposes.
All cloud environments - Review any privileged access rights in the cloud and
remove any unnecessary permissions
- Implement Privileged Identity Management (PIM)
- Set up Conditional Access policies to limit administrative
access during hardening
All Enterprise applications Review for delegated permissions and consent grants that
allow any of the following actions:
Microsoft 365 environments Review access and configuration settings for your Microsoft
365 environment, including:
- SharePoint Online Sharing
- Microsoft Teams
- Power Apps
- Microsoft OneDrive for Business
Review user accounts in your environments - Review and remove guest user accounts that are no longer
needed.
- Review email configurations for delegates, mailbox folder
permissions, ActiveSync mobile device registrations, Inbox
rules, and Outlook on the Web options.
- Review ApplicationImpersonation rights and reduce any
use of legacy authentication as much as possible.
- Validate that MFA is enforced and that both MFA and self-
service password reset (SSPR) contact information for all
users is correct.
IMPORTANT
If your investigation finds evidence of administrative permissions acquired through the compromise on your system,
which have provided access to your organization's global administrator account and/or trusted SAML token-signing
certificate, we recommend taking action to remediate and retain administrative control.
M ET H O D DESC RIP T IO N
Analyze risky sign-in events Azure Active Directory and its Identity Protection platform
may generate risk events associated with the use of
attacker-generated SAML tokens.
Detect domain authentication proper ties Any attempt by the attacker to manipulate domain
authentication policies will be recorded in the Azure Active
Directory Audit logs, and reflected in the Unified Audit log.
Detect credentials for OAuth applications Attackers who have gained control of a privileged account
may search for an application with the ability to access any
user's email in the organization, and then add attacker-
controlled credentials to that application.
Detect e-mail access by applications Search for access to email by applications in your
environment. For example, use the Microsoft 365 Advanced
Auditing features to investigate compromised accounts.
Detect non-interactive sign-ins to ser vice principals The Azure Active Directory sign-in reports provide details
about any non-interactive sign-ins that used service
principal credentials. For example, you can use the sign-in
reports to find valuable data for your investigation, such as
an IP address used by the attacker to access email
applications.
NOTE
The Exchange Team is planning to disable Basic Authentication for the EAS, EWS, POP, IMAP, and RPS protocols in
the second half of 2021.
As a point of clarity, Security Defaults and Authentication Policies are separate but provide complementary
features.
We recommend that customers use Authentication Policies to turn off Basic Authentication for a subset of
Exchange Online protocols or to gradually turn off Basic Authentication across a large organization.
The following sections include the following types of recommendations for remediating and retaining
administrative control:
Removing trust on your current servers
Rotating your SAML token-signing certificate, or replacing your ADFS servers if needed
Specific remediation activities for cloud or on-premises environments
Remove trust on your current servers
If your organization has lost control of the token-signing certificates or federated trust, the most assured
approach is to remove trust, and switch to cloud-mastered identity while remediating on-premises.
Removing trust and switching to cloud-mastered identity requires careful planning and an in-depth
understanding of the business operation effects of isolating identity. For more information, see Protecting
Microsoft 365 from on-premises attacks.
Rotate your SAML token-signing certificate
If your organization decides not to remove trust while recovering administrative control on-premises, you'll
have to rotate your SAML token-signing certificate after having regained administrative control on-premises,
and blocked the attackers ability to access the signing certificate again.
Rotating the token-signing certificate a single time still allows the previous token-signing certificate to work.
Continuing to allow previous certificates to work is a built-in functionality for normal certificate rotations, which
permits a grace period for organizations to update any relying party trusts before the certificate expires.
If there was an attack, you don't want the attacker to retain access at all. Make sure to use the following steps to
ensure that the attacker doesn't maintain the ability to forge tokens for your domain.
Cau t i on
The last step in this procedure logs users out of their phones, current webmail sessions, and any other items that
are using the associated tokens and refresh tokens.
TIP
Performing these steps in your ADFS environment creates both a primary and secondary certificate, and automatically
promotes the secondary certificate to primary after a default period of 5 days.
If you have Relying Party Trusts, this may have effects 5 days after the initial ADFS environment change, and should be
accounted for in your plan. You can also resolve this by replacing the primary certificate a third time, using the Urgent
flag again, and removing the secondary certificate or turning off automatic certificate rotation.
To fully rotate the token-signing cer tificate, and prevent new token forging by an attacker
1. Check to make sure that your AutoCer tificateRollover parameter is set to True :
Connect-MsolService
3. Run the following command and make a note of your on-premises and cloud token signing certificate
thumbprint and expiration dates:
For example:
...
[Not Before]
12/9/2020 7:57:13 PM
[Not After]
12/9/2021 7:57:13 PM
[Thumbprint]
3UD1JG5MEFHSBW7HEPF6D98EI8AHNTY22XPQWJFK6
4. Replace the primary token signing certificate using the Urgent switch. This command causes ADFS to
replace the primary certificate immediately, without making it a secondary certificate:
5. Create a secondary Token Signing certificate, without the Urgent switch. This command allows for two
on-premises token signing certificates before synching with Azure Cloud.
6. Update the cloud environment with both the primary and secondary certificates on-premises to
immediately remove the cloud published token signing certificate.
IMPORTANT
If this step is not performed using this method, the old token signing certificate may still be able to authenticate
users.
7. To ensure that these steps have been performed correctly, verify that the certificate displayed before in
step 3 is now removed:
8. Revoke your refresh tokens via PowerShell, to prevent access with the old tokens.
For more information, see:
Revoke user access in Azure Active Directory
Revoke-AzureADUserAllRefreshToken PowerShell docs
Replace your ADFS servers
If, instead of rotating your SAML token-signing certificate, you decide to replace the ADFS servers with clean
systems, you'll need to remove the existing ADFS from your environment, and then build a new one.
For more information, see Remove a configuration.
Cloud remediation activities
In addition to the recommendations listed earlier in this article, we also recommend the following activities for
your cloud environments:
Restrict privileged access accounts Ensure that service and user accounts with privileged access
are cloud-only accounts, and do not use on-premise
accounts that are synced or federated to Azure Active
Directory.
Review / reduce delegated permissions and consent Review and reduce all Enterprise Applications delegated
grants permissions or consent grants that allow any of the
following functionalities:
Rebuild affected systems Rebuild systems that were identified as compromised by the
attacker during your investigation.
Remove unnecessar y admin users Remove unnecessary members from Domain Admins,
Backup Operators, and Enterprise Admin groups. For more
information, see Securing Privileged Access.
Reset passwords to privileged accounts Reset passwords of all privileged accounts in the
environment.
Reset the krbtgt account Reset the krbtgt account twice using the New-KrbtgtKeys
script.
Schedule a system restar t After you validate that no persistence mechanisms created
by the attacker exist or remain on your system, schedule a
system restart to assist with removing memory-resident
malware.
Reset the DSRM password Reset each domain controller’s DSRM (Directory Services
Restore Mode) password to something unique and complex.
Next steps
Get help from inside Microsoft products , including the Microsoft 365 Defender portal, Microsoft
365 compliance center, and Office 365 Security & Compliance Center by selecting the Help (? ) button in
the top navigation bar.
For deployment assistance , contact us at FastTrack
If you have product suppor t-related needs , file a Microsoft support case.
IMPORTANT
If you believe you have been compromised and require assistance through an incident response, open a Sev A
Microsoft support case.
Azure threat protection
12/12/2021 • 21 minutes to read • Edit Online
Azure offers built in threat protection functionality through services such as Azure Active Directory (Azure AD),
Azure Monitor logs, and Microsoft Defender for Cloud. This collection of security services and capabilities
provides a simple and fast way to understand what is happening within your Azure deployments.
Azure provides a wide array of options to configure and customize security to meet the requirements of your
app deployments. This article discusses how to meet these requirements.
Identity Protection uses adaptive machine learning algorithms and heuristics to detect anomalies and risk
detections that might indicate that an identity has been compromised. Using this data, Identity Protection
generates reports and alerts so that you can investigate these risk detections and take appropriate remediation
or mitigation action.
Azure Active Directory Identity Protection is more than a monitoring and reporting tool. Based on risk
detections, Identity Protection calculates a user risk level for each user, so that you can configure risk-based
policies to automatically protect the identities of your organization.
These risk-based policies, in addition to other Conditional Access controls that are provided by Azure Active
Directory and EMS, can automatically block or offer adaptive remediation actions that include password resets
and multi-factor authentication enforcement.
Identity Protection capabilities
Azure Active Directory Identity Protection is more than a monitoring and reporting tool. To protect your
organization's identities, you can configure risk-based policies that automatically respond to detected issues
when a specified risk level has been reached. These policies, in addition to other Conditional Access controls
provided by Azure Active Directory and EMS, can either automatically block or initiate adaptive remediation
actions including password resets and multi-factor authentication enforcement.
Examples of some of the ways that Azure Identity Protection can help secure your accounts and identities
include:
Detecting risk detections and risky accounts
Detect six risk detection types using machine learning and heuristic rules.
Calculate user risk levels.
Provide custom recommendations to improve overall security posture by highlighting vulnerabilities.
Investigating risk detections
Send notifications for risk detections.
Investigate risk detections using relevant and contextual information.
Provide basic workflows to track investigations.
Provide easy access to remediation actions such as password reset.
Risk-based, conditional-access policies
Mitigate risky sign-ins by blocking sign-ins or requiring multi-factor authentication challenges.
Block or secure risky user accounts.
Require users to register for multi-factor authentication.
Azure AD Privileged Identity Management
With Azure Active Directory Privileged Identity Management (PIM), you can manage, control, and monitor
access within your organization. This feature includes access to resources in Azure AD and other Microsoft
online services, such as Microsoft 365 or Microsoft Intune.
You collect data into the repository from connected sources by configuring data sources and adding solutions to
your subscription.
Data sources and solutions each create separate record types with their own set of properties, but you can still
analyze them together in queries to the repository. You can use the same tools and methods to work with a
variety of data that's collected by various sources.
Most of your interaction with Azure Monitor logs is through the Azure portal, which runs in any browser and
provides you with access to configuration settings and multiple tools to analyze and act on collected data. From
the portal, you can use:
Log searches where you construct queries to analyze collected data.
Dashboards, which you can customize with graphical views of your most valuable searches.
Solutions, which provide additional functionality and analysis tools.
Solutions add functionality to Azure Monitor logs. They primarily run in the cloud and provide analysis of data
that's collected in the log analytics repository. Solutions might also define new record types to be collected that
can be analyzed with log searches or by using an additional user interface that the solution provides in the log
analytics dashboard.
Defender for Cloud is an example of these types of solutions.
Automation and control: Alert on security configuration drifts
Azure Automation automates administrative processes with runbooks that are based on PowerShell and run in
the cloud. Runbooks can also be executed on a server in your local data center to manage local resources. Azure
Automation provides configuration management with PowerShell Desired State Configuration (DSC).
You can create and manage DSC resources that are hosted in Azure and apply them to cloud and on-premises
systems. By doing so, you can define and automatically enforce their configuration or get reports on drift to help
ensure that security configurations remain within policy.
Microsoft security researchers are constantly on the lookout for threats. They have access to an expansive set of
telemetry gained from Microsoft’s global presence in the cloud and on-premises. This wide-reaching and
diverse collection of datasets enables Microsoft to discover new attack patterns and trends across its on-
premises consumer and enterprise products, as well as its online services.
Thus, Defender for Cloud can rapidly update its detection algorithms as attackers release new and increasingly
sophisticated exploits. This approach helps you keep pace with a fast-moving threat environment.
Microsoft Defender for Cloud automatically collects security information from your resources, the network, and
connected partner solutions. It analyzes this information, correlating information from multiple sources, to
identify threats.
Security alerts are prioritized in Defender for Cloud along with recommendations on how to remediate the
threats.
Defender for Cloud employs advanced security analytics, which go far beyond signature-based approaches.
Breakthroughs in big data and machine learning technologies are used to evaluate events across the entire
cloud. Advanced analytics can detect threats that would be impossible to identify through manual approaches
and predict the evolution of attacks. These security analytics types are covered in the next sections.
Threat intelligence
Microsoft has access to an immense amount of global threat intelligence.
Telemetry flows in from multiple sources, such as Azure, Microsoft 365, Microsoft CRM online, Microsoft
Dynamics AX, outlook.com, MSN.com, the Microsoft Digital Crimes Unit (DCU), and Microsoft Security Response
Center (MSRC).
Researchers also receive threat intelligence information that is shared among major cloud service providers, and
they subscribe to threat intelligence feeds from third parties. Microsoft Defender for Cloud can use this
information to alert you to threats from known bad actors. Some examples include:
Harnessing the power of machine learning : Microsoft Defender for Cloud has access to a vast
amount of data about cloud network activity, which can be used to detect threats targeting your Azure
deployments.
Brute force detection : Machine learning is used to create a historical pattern of remote access
attempts, which allows it to detect brute force attacks against Secure Shell (SSH), Remote Desktop
Protocol (RDP), and SQL ports.
Outbound DDoS and botnet detection : A common objective of attacks that target cloud resources is
to use the compute power of these resources to execute other attacks.
New behavioral analytics ser vers and VMs : After a server or virtual machine is compromised,
attackers employ a wide variety of techniques to execute malicious code on that system while avoiding
detection, ensuring persistence, and obviating security controls.
Azure SQL Database Threat Detection : Threat detection for Azure SQL Database, which identifies
anomalous database activities that indicate unusual and potentially harmful attempts to access or exploit
databases.
Behavioral analytics
Behavioral analytics is a technique that analyzes and compares data to a collection of known patterns. However,
these patterns are not simple signatures. They are determined through complex machine learning algorithms
that are applied to massive datasets.
The patterns are also determined through careful analysis of malicious behaviors by expert analysts. Microsoft
Defender for Cloud can use behavioral analytics to identify compromised resources based on analysis of virtual
machine logs, virtual network device logs, fabric logs, crash dumps, and other sources.
In addition, patterns are correlated with other signals to check for supporting evidence of a widespread
campaign. This correlation helps to identify events that are consistent with established indicators of
compromise.
Some examples include:
Suspicious process execution : Attackers employ several techniques to execute malicious software
without detection. For example, an attacker might give malware the same names as legitimate system
files but place these files in an alternate location, use a name that is similar to that of a benign file, or
mask the file’s true extension. Defender for Cloud models process behaviors and monitor process
executions to detect outliers such as these.
Hidden malware and exploitation attempts : Sophisticated malware can evade traditional
antimalware products by either never writing to disk or encrypting software components stored on disk.
However, such malware can be detected by using memory analysis, because the malware must leave
traces in memory to function. When software crashes, a crash dump captures a portion of memory at the
time of the crash. By analyzing the memory in the crash dump, Microsoft Defender for Cloud can detect
techniques used to exploit vulnerabilities in software, access confidential data, and surreptitiously persist
within a compromised machine without affecting the performance of your machine.
Lateral movement and internal reconnaissance : To persist in a compromised network and locate
and harvest valuable data, attackers often attempt to move laterally from the compromised machine to
others within the same network. Defender for Cloud monitors process and login activities to discover
attempts to expand an attacker’s foothold within the network, such as remote command execution,
network probing, and account enumeration.
Malicious PowerShell scripts : PowerShell can be used by attackers to execute malicious code on
target virtual machines for various purposes. Defender for Cloud inspects PowerShell activity for
evidence of suspicious activity.
Outgoing attacks : Attackers often target cloud resources with the goal of using those resources to
mount additional attacks. Compromised virtual machines, for example, might be used to launch brute
force attacks against other virtual machines, send spam, or scan open ports and other devices on the
internet. By applying machine learning to network traffic, Defender for Cloud can detect when outbound
network communications exceed the norm. When spam is detected, Defender for Cloud also correlates
unusual email traffic with intelligence from Microsoft 365 to determine whether the mail is likely
nefarious or the result of a legitimate email campaign.
Anomaly detection
Microsoft Defender for Cloud also uses anomaly detection to identify threats. In contrast to behavioral analytics
(which depends on known patterns derived from large data sets), anomaly detection is more “personalized” and
focuses on baselines that are specific to your deployments. Machine learning is applied to determine normal
activity for your deployments, and then rules are generated to define outlier conditions that could represent a
security event. Here’s an example:
Inbound RDP/SSH brute force attacks : Your deployments might have busy virtual machines with many
logins each day and other virtual machines that have few, if any, logins. Microsoft Defender for Cloud can
determine baseline login activity for these virtual machines and use machine learning to define around the
normal login activities. If there is any discrepancy with the baseline defined for login related characteristics,
an alert might be generated. Again, machine learning determines what is significant.
Continuous threat intelligence monitoring
Microsoft Defender for Cloud operates with security research and data science teams throughout the world that
continuously monitor for changes in the threat landscape. This includes the following initiatives:
Threat intelligence monitoring : Threat intelligence includes mechanisms, indicators, implications, and
actionable advice about existing or emerging threats. This information is shared in the security
community, and Microsoft continuously monitors threat intelligence feeds from internal and external
sources.
Signal sharing : Insights from security teams across the broad Microsoft portfolio of cloud and on-
premises services, servers, and client endpoint devices are shared and analyzed.
Microsoft security specialists : Ongoing engagement with teams across Microsoft that work in
specialized security fields, such as forensics and web attack detection.
Detection tuning : Algorithms are run against real customer data sets, and security researchers work
with customers to validate the results. True and false positives are used to refine machine learning
algorithms.
These combined efforts culminate in new and improved detections, which you can benefit from instantly. There’s
no action for you to take.
Protections include:
SQL injection protection.
Cross site scripting protection.
Common Web Attacks Protection, such as command injection, HTTP request smuggling, HTTP response
splitting, and remote file inclusion attack.
Protection against HTTP protocol violations.
Protection against HTTP protocol anomalies, such as missing host user-agent and accept headers.
Prevention against bots, crawlers, and scanners.
Detection of common application misconfigurations (that is, Apache, IIS, and so on).
Configuring WAF at your application gateway provides the following benefits:
Protects your web application from web vulnerabilities and attacks without modification of the back-end
code.
Protects multiple web applications at the same time behind an application gateway. An application
gateway supports hosting up to 20 websites.
Monitors web applications against attacks by using real-time reports that are generated by application
gateway WAF logs.
Helps meet compliance requirements. Certain compliance controls require all internet-facing endpoints
to be protected by a WAF solution.
Anomaly Detection API: Built with Azure Machine Learning
The Anomaly Detection API is an API that's useful for detecting a variety of anomalous patterns in your time
series data. The API assigns an anomaly score to each data point in the time series, which can be used for
generating alerts, monitoring through dashboards, or connecting with your ticketing systems.
The Anomaly Detection API can detect the following types of anomalies on time series data:
Spikes and dips : When you're monitoring the number of login failures to a service or number of
checkouts in an e-commerce site, unusual spikes or dips could indicate security attacks or service
disruptions.
Positive and negative trends : When you're monitoring memory usage in computing, shrinking free
memory size indicates a potential memory leak. For service queue length monitoring, a persistent
upward trend might indicate an underlying software issue.
Level changes and changes in dynamic range of values : Level changes in latencies of a service
after a service upgrade or lower levels of exceptions after upgrade can be interesting to monitor.
The machine learning-based API enables:
Flexible and robust detection : The anomaly detection models allow users to configure sensitivity
settings and detect anomalies among seasonal and non-seasonal data sets. Users can adjust the anomaly
detection model to make the detection API less or more sensitive according to their needs. This would
mean detecting the less or more visible anomalies in data with and without seasonal patterns.
Scalable and timely detection : The traditional way of monitoring with present thresholds set by
experts' domain knowledge are costly and not scalable to millions of dynamically changing data sets. The
anomaly detection models in this API are learned, and models are tuned automatically from both
historical and real-time data.
Proactive and actionable detection : Slow trend and level change detection can be applied for early
anomaly detection. The early abnormal signals that are detected can be used to direct humans to
investigate and act on the problem areas. In addition, root cause analysis models and alerting tools can
be developed on top of this anomaly-detection API service.
The anomaly-detection API is an effective and efficient solution for a wide range of scenarios, such as service
health and KPI monitoring, IoT, performance monitoring, and network traffic monitoring. Here are some popular
scenarios where this API can be useful:
IT departments need tools to track events, error code, usage log, and performance (CPU, memory, and so
on) in a timely manner.
Online commerce sites want to track customer activities, page views, clicks, and so on.
Utility companies want to track consumption of water, gas, electricity, and other resources.
Facility or building management services want to monitor temperature, moisture, traffic, and so on.
IoT/manufacturers want to use sensor data in time series to monitor work flow, quality, and so on.
Service providers, such as call centers, need to monitor service demand trend, incident volume, wait
queue length, and so on.
Business analytics groups want to monitor business KPIs' (such as sales volume, customer sentiments, or
pricing) abnormal movement in real time.
Defender for Cloud Apps
Defender for Cloud Apps is a critical component of the Microsoft Cloud Security stack. It's a comprehensive
solution that can help your organization as you move to take full advantage of the promise of cloud
applications. It keeps you in control, through improved visibility into activity. It also helps increase the protection
of critical data across cloud applications.
With tools that help uncover shadow IT, assess risk, enforce policies, investigate activities, and stop threats, your
organization can more safely move to the cloud while maintaining control of critical data.
Next steps
Responding to today’s threats: Helps identify active threats that target your Azure resources and provides
the insights you need to respond quickly.
Azure SQL Database Threat Detection: Helps address your concerns about potential threats to your
databases.
Azure security technical capabilities
12/12/2021 • 26 minutes to read • Edit Online
This article provides an introduction to security services in Azure that help you protect your data, resources, and
applications in the cloud and meet the security needs of your business.
Azure platform
Microsoft Azure is a cloud platform comprised of infrastructure and application services, with integrated data
services and advanced analytics, and developer tools and services, hosted within Microsoft’s public cloud data
centers. Customers use Azure for many different capacities and scenarios, from basic compute, networking, and
storage, to mobile and web app services, to full cloud scenarios like Internet of Things, and can be used with
open-source technologies, and deployed as hybrid cloud or hosted within a customer’s datacenter. Azure
provides cloud technology as building blocks to help companies save costs, innovate quickly, and manage
systems proactively. When you build on, or migrate IT assets to a cloud provider, you are relying on that
organization’s abilities to protect your applications and data with the services and the controls they provide to
manage the security of your cloud-based assets.
Microsoft Azure is the only cloud computing provider that offers a secure, consistent application platform and
infrastructure-as-a-service for teams to work within their different cloud skillsets and levels of project
complexity, with integrated data services and analytics that uncover intelligence from data wherever it exists,
across both Microsoft and non-Microsoft platforms, open frameworks and tools, providing choice for
integrating cloud with on-premises as well deploying Azure cloud services within on-premises datacenters. As
part of the Microsoft Trusted Cloud, customers rely on Azure for industry-leading security, reliability,
compliance, privacy, and the vast network of people, partners, and processes to support organizations in the
cloud.
With Microsoft Azure, you can:
Accelerate innovation with the cloud.
Power business decisions & apps with insights.
Build freely and deploy anywhere.
Protect their business.
Subscriptions also have an association with a directory. The directory defines a set of users. These can be users
from the work or school that created the directory, or they can be external users (that is, Microsoft Accounts).
Subscriptions are accessible by a subset of those directory users who have been assigned as either Service
Administrator (SA) or Co-Administrator (CA); the only exception is that, for legacy reasons, Microsoft Accounts
(formerly Windows Live ID) can be assigned as SA or CA without being present in the directory.
Security-oriented companies should focus on giving employees the exact permissions they need. Too many
permissions can expose an account to attackers. Too few permissions mean that employees can't get their work
done efficiently. Azure role-based access control (Azure RBAC) helps address this problem by offering fine-
grained access management for Azure.
Using Azure RBAC, you can segregate duties within your team and grant only the amount of access to users that
they need to perform their jobs. Instead of giving everybody unrestricted permissions in your Azure
subscription or resources, you can allow only certain actions. For example, use Azure RBAC to let one employee
manage virtual machines in a subscription, while another can manage SQL databases within the same
subscription.
NOTE
You can learn more about Azure RMS by reading the article Getting Started with Azure Rights Management.
Secure your application
While Azure is responsible for securing the infrastructure and platform that your application runs on, it is your
responsibility to secure your application itself. In other words, you need to develop, deploy, and manage your
application code and content in a secure way. Without this, your application code or content can still be
vulnerable to threats.
Web application firewall
Web application firewall (WAF) is a feature of Application Gateway that provides centralized protection of your
web applications from common exploits and vulnerabilities.
Web application firewall is based on rules from the OWASP core rule sets 3.0 or 2.2.9. Web applications are
increasingly targets of malicious attacks that exploit common known vulnerabilities. Common among these
exploits are SQL injection attacks, cross site scripting attacks to name a few. Preventing such attacks in
application code can be challenging and may require rigorous maintenance, patching and monitoring at
multiple layers of the application topology. A centralized web application firewall helps make security
management much simpler and gives better assurance to application administrators against threats or
intrusions. A WAF solution can also react to a security threat faster by patching a known vulnerability at a central
location versus securing each of individual web applications. Existing application gateways can be converted to a
web application firewall enabled application gateway easily.
Some of the common web vulnerabilities which web application firewall protects against includes:
SQL injection protection
Cross site scripting protection
Common Web Attacks Protection such as command injection, HTTP request smuggling, HTTP response
splitting, and remote file inclusion attack
Protection against HTTP protocol violations
Protection against HTTP protocol anomalies such as missing host user-agent and accept headers
Prevention against bots, crawlers, and scanners
Detection of common application misconfigurations (that is, Apache, IIS, etc.)
NOTE
For a more detailed list of rules and their protections see the following Core rule sets:
Azure also provides several easy-to-use features to help secure both inbound and outbound traffic for your app.
Azure also helps customers secure their application code by providing externally provided functionality to scan
your web application for vulnerabilities.
Setup Azure Active Directory authentication for your app
Secure traffic to your app by enabling Transport Layer Security (TLS/SSL) - HTTPS
Force all incoming traffic over HTTPS connection
Enable Strict Transport Security (HSTS)
Restrict access to your app by client's IP address
Restrict access to your app by client's behavior - request frequency and concurrency
Scan your web app code for vulnerabilities using Tinfoil Security Scanning
Configure TLS mutual authentication to require client certificates to connect to your web app
Configure a client certificate for use from your app to securely connect to external resources
Remove standard server headers to avoid tools from fingerprinting your app
Securely connect your app with resources in a private network using Point-To-Site VPN
Securely connect your app with resources in a private network using Hybrid Connections
Azure App Service uses the same Antimalware solution used by Azure Cloud Services and Virtual Machines. To
learn more about this refer to our Antimalware documentation.
If you need basic network level access control (based on IP address and the TCP or UDP protocols), then you can
use Network Security Groups. A Network Security Group (NSG) is a basic stateful packet filtering firewall and it
enables you to control access based on a 5-tuple.
Azure networking supports the ability to customize the routing behavior for network traffic on your Azure
Virtual Networks. You can do this by configuring User-Defined Routes in Azure.
Forced tunneling is a mechanism you can use to ensure that your services are not allowed to initiate a
connection to devices on the Internet.
Azure supports dedicated WAN link connectivity to your on-premises network and an Azure Virtual Network
with ExpressRoute. The link between Azure and your site uses a dedicated connection that does not go over the
public Internet. If your Azure application is running in multiple datacenters, you can use Azure Traffic Manager to
route requests from users intelligently across instances of the application. You can also route traffic to services
not running in Azure if they are accessible from the Internet.
Azure also supports private and secure connectivity to your PaaS resources (for example, Azure Storage and
SQL Database) from your Azure Virtual Network with Azure Private Link. PaaS resource is mapped to a private
endpoint in your virtual network. The link between private endpoint in your virtual network and your PaaS
resource uses Microsoft backbone network and does not go over the public Internet. Exposing your service to
the public internet is no longer necessary. You can also use Azure Private Link to access Azure hosted customer-
owned and partner services in your virtual network. In addition, Azure Private Link enables you to create your
own private link service in your virtual network and deliver it to your customers privately in their virtual
networks. Setup and consumption using Azure Private Link is consistent across Azure PaaS, customer-owned,
and shared partner services.
Azure Operational Security is built on a framework that incorporates the knowledge gained through a various
capabilities that are unique to Microsoft, including the Microsoft Security Development Lifecycle (SDL), the
Microsoft Security Response Center program, and deep awareness of the cybersecurity threat landscape.
Microsoft Azure Monitor
Azure Monitor is the IT management solution for the hybrid cloud. Used alone or to extend your existing System
Center deployment, Azure Monitor logs gives you the maximum flexibility and control for cloud-based
management of your infrastructure.
With Azure Monitor, you can manage any instance in any cloud, including on-premises, Azure, AWS, Windows
Server, Linux, VMware, and OpenStack, at a lower cost than competitive solutions. Built for the cloud-first world,
Azure Monitor offers a new approach to managing your enterprise that is the fastest, most cost-effective way to
meet new business challenges and accommodate new workloads, applications and cloud environments.
Azure Monitor logs
Azure Monitor logs provides monitoring services by collecting data from managed resources into a central
repository. This data could include events, performance data, or custom data provided through the API. Once
collected, the data is available for alerting, analysis, and export.
This method allows you to consolidate data from a variety of sources, so you can combine data from your Azure
services with your existing on-premises environment. It also clearly separates the collection of the data from the
action taken on that data so that all actions are available to all kinds of data.
Microsoft Defender for Cloud
Microsoft Defender for Cloud helps you prevent, detect, and respond to threats with increased visibility into and
control over the security of your Azure resources. It provides integrated security monitoring and policy
management across your Azure subscriptions, helps detect threats that might otherwise go unnoticed, and
works with a broad ecosystem of security solutions.
Defender for Cloud analyzes the security state of your Azure resources to identify potential security
vulnerabilities. A list of recommendations guides you through the process of configuring needed controls.
Examples include:
Provisioning antimalware to help identify and remove malicious software
Configuring network security groups and rules to control traffic to VMs
Provisioning of web application firewalls to help defend against attacks that target your web applications
Deploying missing system updates
Addressing OS configurations that do not match the recommended baselines
Defender for Cloud automatically collects, analyzes, and integrates log data from your Azure resources, the
network, and partner solutions like antimalware programs and firewalls. When threats are detected, a security
alert is created. Examples include detection of:
Compromised VMs communicating with known malicious IP addresses
Advanced malware detected by using Windows error reporting
Brute force attacks against VMs
Security alerts from integrated antimalware programs and firewalls
Azure monitor
Azure Monitor provides pointers to information on specific types of resources. It offers visualization, query,
routing, alerting, auto scale, and automation on data both from the Azure infrastructure (Activity Log) and each
individual Azure resource (Diagnostic Logs).
Cloud applications are complex with many moving parts. Monitoring provides data to ensure that your
application stays up and running in a healthy state. It also helps you to stave off potential problems or
troubleshoot past ones.
In
addition, you can use monitoring data to gain deep insights about your application. That knowledge can help
you to improve application performance or maintainability, or automate actions that would otherwise require
manual intervention.
Auditing your network security is vital for detecting network vulnerabilities and ensuring compliance with your
IT security and regulatory governance model. With Security Group view, you can retrieve the configured
Network Security Group and security rules, as well as the effective security rules. With the list of rules applied,
you can determine the ports that are open and ss network vulnerability.
Network watcher
Network Watcher is a regional service that enables you to monitor and diagnose conditions at a network level
in, to, and from Azure. Network diagnostic and visualization tools available with Network Watcher help you
understand, diagnose, and gain insights to your network in Azure. This service includes packet capture, next hop,
IP flow verify, security group view, NSG flow logs. Scenario level monitoring provides an end to end view of
network resources in contrast to individual network resource monitoring.
Storage analytics
Storage Analytics can store metrics that include aggregated transaction statistics and capacity data about
requests to a storage service. Transactions are reported at both the API operation level as well as at the storage
service level, and capacity is reported at the storage service level. Metrics data can be used to analyze storage
service usage, diagnose issues with requests made against the storage service, and to improve the performance
of applications that use a service.
Application Insights
Application Insights is an extensible Application Performance Management (APM) service for web developers on
multiple platforms. Use it to monitor your live web application. It will automatically detect performance
anomalies. It includes powerful analytics tools to help you diagnose issues and to understand what users do
with your app. It's designed to help you continuously improve performance and usability. It works for apps on a
wide variety of platforms including .NET, Node.js and Java EE, hosted on-premises or in the cloud. It integrates
with your DevOps process, and has connection points to a various development tools.
It monitors:
Request rates, response times, and failure rates - Find out which pages are most popular, at what
times of day, and where your users are. See which pages perform best. If your response times and failure
rates go high when there are more requests, then perhaps you have a resourcing problem.
Dependency rates, response times, and failure rates - Find out whether external services are
slowing you down.
Exceptions - Analyze the aggregated statistics, or pick specific instances and drill into the stack trace and
related requests. Both server and browser exceptions are reported.
Page views and load performance - reported by your users' browsers.
AJAX calls from web pages - rates, response times, and failure rates.
User and session counts.
Performance counters from your Windows or Linux server machines, such as CPU, memory, and
network usage.
Host diagnostics from Docker or Azure.
Diagnostic trace logs from your app - so that you can correlate trace events with requests.
Custom events and metrics that you write yourself in the client or server code, to track business
events such as items sold, or games won.
The infrastructure for your application is typically made up of many components – maybe a virtual machine,
storage account, and virtual network, or a web app, database, database server, and 3rd party services. You do
not see these components as separate entities, instead you see them as related and interdependent parts of a
single entity. You want to deploy, manage, and monitor them as a group. Azure Resource Manager enables you
to work with the resources in your solution as a group.
You can deploy, update, or delete all the resources for your solution in a single, coordinated operation. You use a
template for deployment and that template can work for different environments such as testing, staging, and
production. Resource Manager provides security, auditing, and tagging features to help you manage your
resources after deployment.
The benefits of using Resource Manager
Resource Manager provides several benefits:
You can deploy, manage, and monitor all the resources for your solution as a group, rather than handling
these resources individually.
You can repeatedly deploy your solution throughout the development lifecycle and have confidence your
resources are deployed in a consistent state.
You can manage your infrastructure through declarative templates rather than scripts.
You can define the dependencies between resources, so they are deployed in the correct order.
You can apply access control to all services in your resource group because Azure role-based access
control (Azure RBAC) is natively integrated into the management platform.
You can apply tags to resources to logically organize all the resources in your subscription.
You can clarify your organization's billing by viewing costs for a group of resources sharing the same tag.
NOTE
Resource Manager provides a new way to deploy and manage your solutions. If you used the earlier deployment model
and want to learn about the changes, see Understanding Resource Manager Deployment and classic deployment.
Next step
The Azure Security Benchmark program includes a collection of security recommendations you can use to help
secure the services you use in Azure.
Azure infrastructure security
12/12/2021 • 2 minutes to read • Edit Online
Microsoft Azure runs in datacenters managed and operated by Microsoft. These geographically dispersed
datacenters comply with key industry standards, such as ISO/IEC 27001:2013 and NIST SP 800-53, for security
and reliability. The datacenters are managed, monitored, and administered by Microsoft operations staff. The
operations staff has years of experience in delivering the world’s largest online services with 24 x 7 continuity.
Next steps
Understand your shared responsibility in the cloud.
Learn how Microsoft Defender for Cloud can help you prevent, detect, and respond to threats with
increased visibility and control over the security of your Azure resources.
Azure facilities, premises, and physical security
12/12/2021 • 5 minutes to read • Edit Online
This article describes what Microsoft does to secure the Azure infrastructure.
Datacenter infrastructure
Azure is composed of a globally distributed datacenter infrastructure, supporting thousands of online services
and spanning more than 100 highly secure facilities worldwide.
The infrastructure is designed to bring applications closer to users around the world, preserving data residency,
and offering comprehensive compliance and resiliency options for customers. Azure has 58 regions worldwide,
and is available in 140 countries/regions.
A region is a set of datacenters that is interconnected via a massive and resilient network. The network includes
content distribution, load balancing, redundancy, and data-link layer encryption by default for all Azure traffic
within a region or travelling between regions. With more global regions than any other cloud provider, Azure
gives you the flexibility to deploy applications where you need them.
Azure regions are organized into geographies. An Azure geography ensures that data residency, sovereignty,
compliance, and resiliency requirements are honored within geographical boundaries.
Geographies allow customers with specific data-residency and compliance needs to keep their data and
applications close. Geographies are fault-tolerant to withstand complete region failure, through their connection
to the dedicated, high-capacity networking infrastructure.
Availability zones are physically separate locations within an Azure region. Each availability zone is made up of
one or more datacenters equipped with independent power, cooling, and networking. Availability zones allow
you to run mission-critical applications with high availability and low-latency replication.
The following figure shows how the Azure global infrastructure pairs region and availability zones within the
same data residency boundary for high availability, disaster recovery, and backup.
Geographically distributed datacenters enables Microsoft to be close to customers, to reduce network latency
and allow for geo-redundant backup and failover.
Physical security
Microsoft designs, builds, and operates datacenters in a way that strictly controls physical access to the areas
where your data is stored. Microsoft understands the importance of protecting your data, and is committed to
helping secure the datacenters that contain your data. We have an entire division at Microsoft devoted to
designing, building, and operating the physical facilities supporting Azure. This team is invested in maintaining
state-of-the-art physical security.
Microsoft takes a layered approach to physical security, to reduce the risk of unauthorized users gaining physical
access to data and the datacenter resources. Datacenters managed by Microsoft have extensive layers of
protection: access approval at the facility’s perimeter, at the building’s perimeter, inside the building, and on the
datacenter floor. Layers of physical security are:
Access request and approval. You must request access prior to arriving at the datacenter. You're
required to provide a valid business justification for your visit, such as compliance or auditing purposes.
All requests are approved on a need-to-access basis by Microsoft employees. A need-to-access basis
helps keep the number of individuals needed to complete a task in the datacenters to the bare minimum.
After Microsoft grants permission, an individual only has access to the discrete area of the datacenter
required, based on the approved business justification. Permissions are limited to a certain period of time,
and then expire.
Facility’s perimeter. When you arrive at a datacenter, you're required to go through a well-defined
access point. Typically, tall fences made of steel and concrete encompass every inch of the perimeter.
There are cameras around the datacenters, with a security team monitoring their videos at all times.
Building entrance. The datacenter entrance is staffed with professional security officers who have
undergone rigorous training and background checks. These security officers also routinely patrol the
datacenter, and monitor the videos of cameras inside the datacenter at all times.
Inside the building. After you enter the building, you must pass two-factor authentication with
biometrics to continue moving through the datacenter. If your identity is validated, you can enter only the
portion of the datacenter that you have approved access to. You can stay there only for the duration of
the time approved.
Datacenter floor. You are only allowed onto the floor that you're approved to enter. You are required to
pass a full body metal detection screening. To reduce the risk of unauthorized data entering or leaving the
datacenter without our knowledge, only approved devices can make their way into the datacenter floor.
Additionally, video cameras monitor the front and back of every server rack. When you exit the
datacenter floor, you again must pass through full body metal detection screening. To leave the
datacenter, you're required to pass through an additional security scan.
Microsoft requires visitors to surrender badges upon departure from any Microsoft facility.
Equipment disposal
Upon a system's end-of-life, Microsoft operational personnel follow rigorous data handling and hardware
disposal procedures to assure that hardware containing your data is not made available to untrusted parties. We
use a secure erase approach for hard drives that support it. For hard drives that can’t be wiped, we use a
destruction process that destroys the drive and renders the recovery of information impossible. This destruction
process can be to disintegrate, shred, pulverize, or incinerate. We determine the means of disposal according to
the asset type. We retain records of the destruction. All Azure services use approved media storage and disposal
management services.
Compliance
We design and manage the Azure infrastructure to meet a broad set of international and industry-specific
compliance standards, such as ISO 27001, HIPAA, FedRAMP, SOC 1, and SOC 2. We also meet country- or
region-specific standards, including Australia IRAP, UK G-Cloud, and Singapore MTCS. Rigorous third-party
audits, such as those done by the British Standards Institute, verify adherence to the strict security controls these
standards mandate.
For a full list of compliance standards that Azure adheres to, see the Compliance offerings.
Next steps
To learn more about what Microsoft does to help secure the Azure infrastructure, see:
Azure infrastructure availability
Azure information system components and boundaries
Azure network architecture
Azure production network
Azure SQL Database security features
Azure production operations and management
Azure infrastructure monitoring
Azure infrastructure integrity
Azure customer data protection
Azure infrastructure availability
12/12/2021 • 2 minutes to read • Edit Online
This article provides information about what Microsoft does to secure the Azure infrastructure and provide
maximum availability of customers' data. Azure provides robust availability, based on extensive redundancy
achieved with virtualization technology.
Disaster recovery
Azure keeps your data durable in two locations. You can choose the location of the backup site. In both locations,
Azure constantly maintains three healthy replicas of your data.
Database availability
Azure ensures that a database is internet accessible through an internet gateway with sustained database
availability. Monitoring assesses the health and state of the active databases at five-minute time intervals.
Storage availability
Azure delivers storage through a highly scalable and durable storage service, which provides connectivity
endpoints. This means that an application can access the storage service directly. The storage service processes
incoming storage requests efficiently, with transactional integrity.
Next steps
To learn more about what Microsoft does to help secure the Azure infrastructure, see:
Azure facilities, premises, and physical security
Azure information system components and boundaries
Azure network architecture
Azure production network
Azure SQL Database security features
Azure production operations and management
Azure infrastructure monitoring
Azure infrastructure integrity
Azure customer data protection
Azure information system components and
boundaries
12/12/2021 • 8 minutes to read • Edit Online
This article provides a general description of the Azure architecture and management. The Azure system
environment is made up of the following networks:
Microsoft Azure production network (Azure network)
Microsoft corporate network (corpnet)
Separate IT teams are responsible for operations and maintenance of these networks.
Azure architecture
Azure is a cloud computing platform and infrastructure for building, deploying, and managing applications and
services through a network of datacenters. Microsoft manages these datacenters. Based on the number of
resources you specify, Azure creates virtual machines (VMs) based on resource need. These VMs run on an
Azure hypervisor, which is designed for use in the cloud and is not accessible to the public.
On each Azure physical server node, there is a hypervisor that runs directly over the hardware. The hypervisor
divides a node into a variable number of guest VMs. Each node also has one root VM, which runs the host
operating system. Windows Firewall is enabled on each VM. You define which ports are addressable by
configuring the service definition file. These ports are the only ones open and addressable, internally or
externally. All traffic and access to the disk and network is mediated by the hypervisor and root operating
system.
At the host layer, Azure VMs run a customized and hardened version of the latest Windows Server. Azure uses a
version of Windows Server that includes only those components necessary to host VMs. This improves
performance and reduces attack surface. Machine boundaries are enforced by the hypervisor, which doesn’t
depend on the operating system security.
Azure management by fabric controllers
In Azure, VMs running on physical servers (blades/nodes) are grouped into clusters of about 1000. The VMs are
independently managed by a scaled-out and redundant platform software component called the fabric
controller (FC).
Each FC manages the lifecycle of applications running in its cluster, and provisions and monitors the health of
the hardware under its control. It runs autonomic operations, such as reincarnating VM instances on healthy
servers when it determines that a server has failed. The FC also performs application-management operations,
such as deploying, updating, and scaling out applications.
The datacenter is divided into clusters. Clusters isolate faults at the FC level, and prevent certain classes of errors
from affecting servers beyond the cluster in which they occur. FCs that serve a particular Azure cluster are
grouped into an FC cluster.
Hardware inventory
The FC prepares an inventory of Azure hardware and network devices during the bootstrap configuration
process. Any new hardware and network components entering the Azure production environment must follow
the bootstrap configuration process. The FC is responsible for managing the entire inventory listed in the
datacenter.xml configuration file.
FC -managed operating system images
The operating system team provides images, in the form of Virtual Hard Disks, deployed on all host and guest
VMs in the Azure production environment. The team constructs these base images through an automated
offline build process. The base image is a version of the operating system in which the kernel and other core
components have been modified and optimized to support the Azure environment.
There are three types of fabric-managed operating system images:
Host: A customized operating system that runs on host VMs.
Native: A native operating system that runs on tenants (for example, Azure Storage). This operating system
does not have any hypervisor.
Guest: A guest operating system that runs on guest VMs.
The host and native FC-managed operating systems are designed for use in the cloud, and are not publicly
accessible.
Host and native operating systems
Host and native are hardened operating system images that host the fabric agents, and run on a compute node
(runs as first VM on the node) and storage nodes. The benefit of using optimized base images of host and native
is that it reduces the surface area exposed by APIs or unused components. These can present high security risks
and increase the footprint of the operating system. Reduced-footprint operating systems only include the
components necessary to Azure.
Guest operating system
Azure internal components running on guest operating system VMs have no opportunity to run Remote
Desktop Protocol. Any changes to baseline configuration settings must go through the change and release
management process.
Azure datacenters
The Microsoft Cloud Infrastructure and Operations (MCIO) team manages the physical infrastructure and
datacenter facilities for all Microsoft online services. MCIO is primarily responsible for managing the physical
and environmental controls within the datacenters, as well as managing and supporting outer perimeter
network devices (such as edge routers and datacenter routers). MCIO is also responsible for setting up the bare
minimum server hardware on racks in the datacenter. Customers have no direct interaction with Azure.
A UT H O RIZ ED
P RIVIL EGES A N D
IN T ERN A L O R F UN C T IO N S
RO L E EXT ERN A L SEN SIT IVIT Y L EVEL P ERF O RM ED A C C ESS T Y P E
Azure deployment Internal Access to customer Deploy and upgrade Just-in-time access to
engineers data platform the environment,
components, with limited
software, and persistent access to
scheduled non-customer
configuration systems.
changes in support
of Azure.
Azure customer Internal Access to customer Debug and diagnose Just-in-time access to
outage support data platform outages and the environment,
(tenant) faults for individual with limited
compute tenants and persistent access to
Azure accounts. non-customer
Analyze faults. Drive systems.
critical fixes to the
platform or customer,
and drive technical
improvements across
support.
Azure live site Internal Access to customer Diagnose and Just-in-time access to
engineers data mitigate platform the environment,
(monitoring health by using with limited
engineers) and diagnostic tools. persistent access to
incident Drive fixes for volume non-customer
drivers, repair items systems.
resulting from
outages, and assist
outage restoration
actions.
Azure uses unique identifiers to authenticate organizational users and customers (or processes acting on behalf
of organizational users). This applies to all assets and devices that are part of the Azure environment.
Azure internal authentication
Communications between Azure internal components are protected with TLS encryption. In most cases, the
X.509 certificates are self-signed. Certificates with connections that can be accessed from outside the Azure
network are an exception, as are certificates for the FCs. FCs have certificates issued by a Microsoft Certificate of
Authority (CA) that is backed by a trusted root CA. This allows FC public keys to be rolled over easily.
Additionally, Microsoft developer tools use FC public keys. When developers submit new application images, the
images are encrypted with an FC public key in order to protect any embedded secrets.
Azure hardware device authentication
The FC maintains a set of credentials (keys and/or passwords) used to authenticate itself to various hardware
devices under its control. Microsoft uses a system to prevent access to these credentials. Specifically, the
transport, persistence, and use of these credentials is designed to prevent Azure developers, administrators, and
backup services and personnel access to sensitive, confidential, or private information.
Microsoft uses encryption based on the FC’s master identity public key. This occurs at FC setup and FC
reconfiguration times, to transfer the credentials used to access networking hardware devices. When the FC
needs the credentials, the FC retrieves and decrypts them.
Network devices
The Azure networking team configures network service accounts to enable an Azure client to authenticate to
network devices (routers, switches, and load balancers).
Next steps
To learn more about what Microsoft does to help secure the Azure infrastructure, see:
Azure facilities, premises, and physical security
Azure infrastructure availability
Azure network architecture
Azure production network
Azure SQL Database security features
Azure production operations and management
Azure infrastructure monitoring
Azure infrastructure integrity
Azure customer data protection
Azure network architecture
12/12/2021 • 2 minutes to read • Edit Online
The Azure network architecture provides connectivity from the Internet to the Azure datacenters. Any workload
deployed (IaaS, PaaS, and SaaS) on Azure is leveraging the Azure datacenter network.
Network topology
The network architecture of an Azure datacenter consists of the following components:
Edge network
Wide area network
Regional gateways network
Datacenter network
Network components
A brief description of the network components.
Edge network
Demarcation point between Microsoft networking and other networks (for example, Internet,
Enterprise network)
Provides Internet and ExpressRoute peering into Azure
Wide area network
Microsoft intelligent backbone network covering the globe
Provides connectivity between Azure regions
Regional gateway
Point of aggregation for all of the datacenters in an Azure region
Provides massive connectivity between datacenters within an Azure region (for example, multi
hundred terabits per datacenter)
Datacenter network
Provides connectivity between servers within the datacenter with low oversubscribed bandwidth
The above network components are designed to provide maximum availability to support always-on, always-
available cloud business. The redundancy is designed and built into the network from the physical aspect all the
way up to control protocol.
Next steps
To learn more about what Microsoft does to help secure the Azure infrastructure, see:
Azure facilities, premises, and physical security
Azure infrastructure availability
Azure information system components and boundaries
Azure production network
Azure SQL Database security features
Azure production operations and management
Azure infrastructure monitoring
Azure infrastructure integrity
Azure customer data protection
The Azure production network
12/12/2021 • 7 minutes to read • Edit Online
The users of the Azure production network include both external customers who access their own Azure
applications and internal Azure support personnel who manage the production network. This article discusses
the security access methods and protection mechanisms for establishing connections to the Azure production
network.
Next steps
To learn more about what Microsoft does to secure the Azure infrastructure, see:
Azure facilities, premises, and physical security
Azure infrastructure availability
Azure information system components and boundaries
Azure network architecture
Azure SQL Database security features
Azure production operations and management
Azure infrastructure monitoring
Azure infrastructure integrity
Azure customer data protection
Azure SQL Database security features
12/12/2021 • 6 minutes to read • Edit Online
Azure SQL Database provides a relational database service in Azure. To protect customer data and provide
strong security features that customers expect from a relational database service, SQL Database has its own sets
of security capabilities. These capabilities build upon the controls that are inherited from Azure.
Security capabilities
Usage of the TDS protocol
Azure SQL Database supports only the tabular data stream (TDS) protocol, which requires the database to be
accessible over only the default port of TCP/1433.
Azure SQL Database firewall
To help protect customer data, Azure SQL Database includes a firewall functionality, which by default prevents all
access to SQL Database, as shown below.
The gateway firewall can limit addresses, which allows customers granular control to specify ranges of
acceptable IP addresses. The firewall grants access based on the originating IP address of each request.
Customers can achieve firewall configuration by using a management portal or programmatically using the
Azure SQL Database Management REST API. The Azure SQL Database gateway firewall by default prevents all
customer TDS access to Azure SQL Database. Customers must configure access by using access-control lists
(ACLs) to permit Azure SQL Database connections by source and destination internet addresses, protocols, and
port numbers.
DoSGuard
Denial of service (DoS) attacks are reduced by a SQL Database gateway service called DoSGuard. DoSGuard
actively tracks failed logins from IP addresses. If there are multiple failed logins from a specific IP address within
a period of time, the IP address is blocked from accessing any resources in the service for a pre-defined time
period.
In addition, the Azure SQL Database gateway performs:
Secure channel capability negotiations to implement TDS FIPS 140-2 validated encrypted connections when
it connects to the database servers.
Stateful TDS packet inspection while it accepts connections from clients. The gateway validates the
connection information and passes on the TDS packets to the appropriate physical server based on the
database name that's specified in the connection string.
The overarching principle for network security of the Azure SQL Database offering is to allow only the
connection and communication that is necessary to allow the service to operate. All other ports, protocols, and
connections are blocked by default. Virtual local area networks (VLANs) and ACLs are used to restrict network
communications by source and destination networks, protocols, and port numbers.
Mechanisms that are approved to implement network-based ACLs include ACLs on routers and load balancers.
These mechanisms are managed by Azure networking, guest VM firewall, and Azure SQL Database gateway
firewall rules, which are configured by the customer.
Next steps
To learn more about what Microsoft does to secure the Azure infrastructure, see:
Azure facilities, premises, and physical security
Azure infrastructure availability
Azure information system components and boundaries
Azure network architecture
Azure production network
Azure production operations and management
Azure infrastructure monitoring
Azure infrastructure integrity
Azure customer data protection
Management and operation of the Azure
production network
12/12/2021 • 3 minutes to read • Edit Online
This article describes how Microsoft manages and operates the Azure production network to secure the Azure
datacenters.
Next steps
To learn more about what Microsoft does to secure the Azure infrastructure, see:
Azure facilities, premises, and physical security
Azure infrastructure availability
Azure information system components and boundaries
Azure network architecture
Azure production network
Azure SQL Database security features
Azure infrastructure monitoring
Azure infrastructure integrity
Azure customer data protection
Azure infrastructure monitoring
12/12/2021 • 2 minutes to read • Edit Online
Vulnerability management
Security update management helps protect systems from known vulnerabilities. Azure uses integrated
deployment systems to manage the distribution and installation of security updates for Microsoft software.
Azure is also able to draw on the resources of the Microsoft Security Response Center (MSRC). The MSRC
identifies, monitors, responds to, and resolves security incidents and cloud vulnerabilities around the clock,
every day of the year.
Vulnerability scanning
Vulnerability scanning is performed on server operating systems, databases, and network devices. The
vulnerability scans are performed on a quarterly basis at minimum. Azure contracts with independent assessors
to perform penetration testing of the Azure boundary. Red-team exercises are also routinely performed and the
results are used to make security improvements.
Protective monitoring
Azure security has defined requirements for active monitoring. Service teams configure active monitoring tools
in accordance with these requirements. Active monitoring tools include the Microsoft Monitoring Agent (MMA)
and System Center Operations Manager. These tools are configured to provide time alerts to Azure security
personnel in situations that require immediate action.
Incident management
Microsoft implements a security incident management process to facilitate a coordinated response to incidents,
should one occur.
If Microsoft becomes aware of unauthorized access to customer data that's stored on its equipment or in its
facilities, or it becomes aware of unauthorized access to such equipment or facilities resulting in loss, disclosure,
or alteration of customer data, Microsoft takes the following actions:
Promptly notifies the customer of the security incident.
Promptly investigates the security incident and provides customers detailed information about the security
incident.
Takes reasonable and prompt steps to mitigate the effects and minimize any damage resulting from the
security incident.
An incident management framework has been established that defines roles and allocates responsibilities. The
Azure security incident management team is responsible for managing security incidents, including escalation,
and ensuring the involvement of specialist teams when necessary. Azure operations managers are responsible
for overseeing the investigation and resolution of security and privacy incidents.
Next steps
To learn more about what Microsoft does to secure the Azure infrastructure, see:
Azure facilities, premises, and physical security
Azure infrastructure availability
Azure information system components and boundaries
Azure network architecture
Azure production network
Azure SQL Database security features
Azure production operations and management
Azure infrastructure integrity
Azure customer data protection
Azure infrastructure integrity
12/12/2021 • 3 minutes to read • Edit Online
Software installation
All components in the software stack that are installed in the Azure environment are custom built following the
Microsoft Security Development Lifecycle (SDL) process. All software components, including operating system
(OS) images and SQL Database, are deployed as part of the change management and release management
process. The OS that runs on all nodes is a customized version of Windows Server 2008 or Windows Server
2012. The exact version is chosen by the fabric controller (FC) according to the role it intends for the OS to play.
In addition, the host OS does not allow installation of any unauthorized software components.
Some Azure components are deployed as Azure customers on a guest VM running on a guest OS.
Web protocols
Role instance monitoring and restart
Azure ensures that all deployed, running roles (internet-facing web, or back-end processing worker roles) are
subject to sustained health monitoring to ensure that they effectively and efficiently deliver the services for
which they’ve been provisioned. If a role becomes unhealthy, by either a critical fault in the application that's
being hosted or an underlying configuration problem within the role instance itself, the FC detects the problem
within the role instance and initiates a corrective state.
Compute connectivity
Azure ensures that the deployed application or service is reachable via standard web-based protocols. Virtual
instances of internet-facing web roles have external internet connectivity and are reachable directly by web
users. To protect the sensitivity and integrity of the operations that worker roles perform on behalf of the
publicly-accessible web role virtual instances, virtual instances of back-end processing worker roles have
external internet connectivity but cannot be accessed directly by external web users.
Next steps
To learn more about what Microsoft does to secure the Azure infrastructure, see:
Azure facilities, premises, and physical security
Azure infrastructure availability
Azure information system components and boundaries
Azure network architecture
Azure production network
Azure SQL Database security features
Azure production operations and management
Azure infrastructure monitoring
Azure customer data protection
Azure customer data protection
12/12/2021 • 4 minutes to read • Edit Online
Access to customer data by Microsoft operations and support personnel is denied by default. When access to
data related to a support case is granted, it is only granted using a just-in-time (JIT) model using policies that are
audited and vetted against our compliance and privacy policies. The access-control requirements are established
by the following Azure Security Policy:
No access to customer data, by default.
No user or administrator accounts on customer virtual machines (VMs).
Grant the least privilege that's required to complete task; audit and log access requests.
Azure support personnel are assigned unique corporate Active Directory accounts by Microsoft. Azure relies on
Microsoft corporate Active Directory, managed by Microsoft Information Technology (MSIT), to control access to
key information systems. Multi-factor authentication is required, and access is granted only from secure
consoles.
All access attempts are monitored and can be displayed via a basic set of reports.
Data protection
Azure provides customers with strong data security, both by default and as customer options.
Data segregation : Azure is a multi-tenant service, which means that multiple customer deployments and VMs
are stored on the same physical hardware. Azure uses logical isolation to segregate each customer’s data from
the data of others. Segregation provides the scale and economic benefits of multi-tenant services while
rigorously preventing customers from accessing one another’s data.
At-rest data protection : Customers are responsible for ensuring that data stored in Azure is encrypted in
accordance with their standards. Azure offers a wide range of encryption capabilities, giving customers the
flexibility to choose the solution that best meets their needs. Azure Key Vault helps customers easily maintain
control of keys that are used by cloud applications and services to encrypt data. Azure Disk Encryption enables
customers to encrypt VMs. Azure Storage Service Encryption makes it possible to encrypt all data placed into a
customer's storage account.
In-transit data protection : Microsoft provides a number of options that can be utilized by customers for
securing data in transit internally within the Azure network and externally across the Internet to the end user.
These include communication through Virtual Private Networks (utilizing IPsec/IKE encryption), Transport Layer
Security (TLS) 1.2 or later (via Azure components such as Application Gateway or Azure Front Door), protocols
directly on the Azure virtual machines (such as Windows IPsec or SMB), and more.
Additionally, "encryption by default" using MACsec (an IEEE standard at the data-link layer) is enabled for all
Azure traffic travelling between Azure datacenters to ensure confidentiality and integrity of customer data.
Data redundancy : Microsoft helps ensure that data is protected if there is a cyberattack or physical damage to
a datacenter. Customers may opt for:
In-country/in-region storage for compliance or latency considerations.
Out-of-country/out-of-region storage for security or disaster recovery purposes.
Data can be replicated within a selected geographic area for redundancy but cannot be transmitted outside it.
Customers have multiple options for replicating data, including the number of copies and the number and
location of replication datacenters.
When you create your storage account, select one of the following replication options:
Locally redundant storage (LRS) : Locally redundant storage maintains three copies of your data. LRS is
replicated three times within a single facility in a single region. LRS protects your data from normal hardware
failures, but not from a failure of a single facility.
Zone-redundant storage (ZRS) : Zone-redundant storage maintains three copies of your data. ZRS is
replicated three times across two to three facilities to provide higher durability than LRS. Replication occurs
within a single region or across two regions. ZRS helps ensure that your data is durable within a single
region.
Geo-redundant storage (GRS) : Geo-redundant storage is enabled for your storage account by default
when you create it. GRS maintains six copies of your data. With GRS, your data is replicated three times
within the primary region. Your data is also replicated three times in a secondary region hundreds of miles
away from the primary region, providing the highest level of durability. In the event of a failure at the
primary region, Azure Storage fails over to the secondary region. GRS helps ensure that your data is durable
in two separate regions.
Data destruction : When customers delete data or leave Azure, Microsoft follows strict standards for
overwriting storage resources before their reuse, as well as the physical destruction of decommissioned
hardware. Microsoft executes a complete deletion of data on customer request and on contract termination.
Records management
Azure has established internal records-retention requirements for back-end data. Customers are responsible for
identifying their own record retention requirements. For records that are stored in Azure, customers are
responsible for extracting their data and retaining their content outside of Azure for a customer-specified
retention period.
Azure allows customers to export data and audit reports from the product. The exports are saved locally to
retain the information for a customer-defined retention time period.
Next steps
To learn more about what Microsoft does to secure the Azure infrastructure, see:
Azure facilities, premises, and physical security
Azure infrastructure availability
Azure information system components and boundaries
Azure network architecture
Azure production network
Azure SQL Database security features
Azure production operations and management
Azure infrastructure monitoring
Azure infrastructure integrity
Platform integrity and security overview
12/12/2021 • 2 minutes to read • Edit Online
The Azure fleet is composed of millions of servers (hosts) with thousands more added on a daily basis.
Thousands of hosts also undergo maintenance on a daily basis through reboots, operating system refreshes, or
repairs. Before a host can join the fleet and begin accepting customer workloads, Microsoft verifies that the host
is in a secure and trustworthy state. This verification ensures that malicious or inadvertent changes have not
occurred on boot sequence components during the supply chain or maintenance workflows.
Next steps
Learn how Microsoft actively partners within the cloud hardware ecosystem to drive continuous
firmware security improvements.
Understand your shared responsibility in the cloud.
Firmware security
12/12/2021 • 2 minutes to read • Edit Online
This article describes how Microsoft secures the cloud hardware ecosystem and supply chains.
NOTE
An example of our contribution to the OCP Security Project is the Hardware Secure Boot specification.
Next steps
To learn more about what we do to drive platform integrity and security, see:
Platform code integrity
Secure boot
Measured boot and host attestation
Project Cerberus
Encryption at rest
Hypervisor security
Platform code integrity
12/12/2021 • 4 minutes to read • Edit Online
A significant challenge in operating a complex system like Microsoft Azure is ensuring that only authorized
software is running in the system. Unauthorized software presents several risks to any business:
Security risks such as dedicated attack tools, custom malware, and third-party software with known
vulnerabilities
Compliance risks when the approved change management process isn't used to bring in new software
Quality risk from externally developed software, which may not meet the operational requirements of the
business
In Azure, we face the same challenge and at significant complexity. We have thousands of servers running
software developed and maintained by thousands of engineers. This presents a large attack surface that cannot
be managed through business processes alone.
Build process
As discussed above, the Azure build system has a rich set of tests to ensure software changes are secure and
compliant. Once a build has progressed through validation, the build system signs it using an Azure build
certificate. The certificate indicates the build has passed through the entire change management process. The
final test that the build goes through is called Code Signature Validation (CSV). CSV confirms the newly built
binaries meet the code integrity policy before we deploy to production. This gives us high confidence that we
won't cause a customer impacting outage because of incorrectly signed binaries. If CSV finds a problem, the
build breaks and the relevant engineers are paged to investigate and fix the issue.
Incident response
Even with this layered protection, it's still possible that some server in the fleet may block properly authorized
software and cause a customer facing issue, one of our worst-case scenarios. Our final layer of defense is human
investigation. Each time code integrity blocks a file, it raises an alert for the on-call engineers to investigate. The
alert allows us to start security investigations and intervene, whether the issue is an indicator of a real attack, a
false positive, or other customer-impacting situation. This minimizes the time it takes to mitigate any code
integrity related issues.
Next steps
Learn how Windows 10 uses configurable code integrity.
To learn more about what we do to drive platform integrity and security, see:
Firmware security
Secure boot
Measured boot and host attestation
Project Cerberus
Encryption at rest
Hypervisor security
Secure Boot
12/12/2021 • 3 minutes to read • Edit Online
Secure Boot is a feature of the Unified Extensible Firmware Interface (UEFI) that requires all low-level firmware
and software components to be verified prior to loading. During boot, UEFI Secure Boot checks the signature of
each piece of boot software, including UEFI firmware drivers (also known as option ROMs), Extensible Firmware
Interface (EFI) applications, and the operating system drivers and binaries. If the signatures are valid or trusted
by the Original Equipment Manufacturer (OEM), the machine boots and the firmware gives control to the
operating system.
The OEM stores the Secure Boot digests on the machine’s nonvolatile RAM (NV-RAM) at the time of
manufacturing.
1. The signature database (db) is populated with the signers or image hashes of UEFI applications, operating
system loaders (such as the Microsoft Operating System Loader or Boot Manager), and UEFI drivers that are
trusted.
2. The revoked signatures database (dbx) is populated with digests of modules that are no longer trusted.
3. The key enrollment key (KEK) database is populated with signing keys that can be used to update the
signature database and revoked signatures database. The databases can be edited via updates that are
signed with the correct key or via updates by a physically present authorized user using firmware menus.
4. After the db, dbx, and KEK databases have been added and final firmware validation and testing is complete,
the OEM locks the firmware from editing and generates a platform key (PK). The PK can be used to sign
updates to the KEK or to turn off Secure Boot.
During each stage in the boot process, the digests of the firmware, bootloader, operating system, kernel drivers,
and other boot chain artifacts are calculated and compared to acceptable values. Firmware and software that are
discovered to be untrusted are not allowed to load. Thus, low-level malware injection or pre-boot malware
attacks can be blocked.
Next steps
To learn more about what we do to drive platform integrity and security, see:
Firmware security
Platform code integrity
Measured boot and host attestation
Project Cerberus
Encryption at rest
Hypervisor security
Measured boot and host attestation
12/12/2021 • 3 minutes to read • Edit Online
This article describes how Microsoft ensures integrity and security of hosts through measured boot and host
attestation.
Measured boot
The Trusted Platform Module (TPM) is a tamper-proof, cryptographically secure auditing component with
firmware supplied by a trusted third party. The boot configuration log contains hash-chained measurements
recorded in its Platform Configuration Registers (PCR) when the host last underwent the bootstrapping
sequence. The following figure shows this recording process. Incrementally adding a previously hashed
measurement to the next measurement’s hash and running the hashing algorithm on the union accomplishes
hash-chaining.
Attestation is accomplished when a host furnishes proof of its configuration state using its boot configuration
log (TCGLog). Forgery of a boot log is difficult because the TPM doesn't expose its PCR values other than the
read and extend operations. Furthermore, the credentials supplied by the Host Attestation Service are sealed to
specific PCR values. The use of hash-chaining makes it computationally infeasible to spoof or unseal the
credentials out-of-band.
Attestation measurements
Following are examples of the many measurements captured today.
Secure Boot and Secure Boot keys
By validating that the signature database and revoked signatures database digests are correct, the Host
Attestation Service assures the client agent considers the right software to be trusted. By validating the
signatures of the public key enrollment key database and public platform key, the Host Attestation Service
confirms that only trusted parties have permission to modify the definitions of what software is considered
trusted. Lastly, by ensuring that secure boot is active the Host Attestation Service validates these definitions are
being enforced.
Debug controls
Debuggers are powerful tools for developers. However, the unfettered access to memory and other debug
commands could weaken data protection and system integrity if given to a non-trusted party. Host Attestation
Service ensures any kind of debugging is disabled on boot on production machines.
Code integrity
UEFI Secure Boot ensures that only trusted low-level software can run during the boot sequence. The same
checks, though, must also be applied in the post-boot environment to drivers and other executables with kernel-
mode access. To that end, a code integrity (CI) policy is used to define which drivers, binaries, and other
executables are considered trusted by specifying valid and invalid signatures. These policies are enforced.
Violations of policy generate alerts to the security incident response team for investigation.
Next steps
To learn more about what we do to drive platform integrity and security, see:
Firmware security
Platform code integrity
Secure boot
Project Cerberus
Encryption at rest
Hypervisor security
Project Cerberus
12/12/2021 • 2 minutes to read • Edit Online
Cerberus is a NIST 800-193 compliant hardware root-of-trust with an identity that cannot be cloned. Cerberus is
designed to further raise the security posture of Azure infrastructure by providing a strong anchor of trust for
firmware integrity.
Cerberus attestation
Cerberus authenticates firmware integrity for server components using a Platform Firmware Manifest (PFM).
PFM defines a list of authorized firmware versions and provides a platform measurement to the Azure Host
Attestation Service. The Host Attestation Service validates the measurements and makes a determination to only
allow trusted hosts to join the Azure fleet and host customer workloads.
In conjunction with the Host Attestation Service, Cerberus’ capabilities enhance and promote a highly secure
Azure production infrastructure.
NOTE
To learn more, see the Project Cerberus information on GitHub.
Next steps
To learn more about what we do to drive platform integrity and security, see:
Firmware security
Platform code integrity
Secure boot
Measured boot and host attestation
Encryption at rest
Hypervisor security
Azure Data Encryption at rest
12/12/2021 • 11 minutes to read • Edit Online
Microsoft Azure includes tools to safeguard data according to your company's security and compliance needs.
This paper focuses on:
How data is protected at rest across Microsoft Azure
Discusses the various components taking part in the data protection implementation,
Reviews pros and cons of the different key management protection approaches.
Encryption at Rest is a common security requirement. In Azure, organizations can encrypt data at rest without
the risk or cost of a custom key management solution. Organizations have the option of letting Azure
completely manage Encryption at Rest. Additionally, organizations have various options to closely manage
encryption or encryption keys.
Next steps
See data encryption models to learn more about service-managed keys and customer-managed keys.
Learn how Azure uses double encryption to mitigate threats that come with encrypting data.
Learn what Microsoft does to ensure platform integrity and security of hosts traversing the hardware and
firmware build-out, integration, operationalization, and repair pipelines.
Hypervisor security on the Azure fleet
12/12/2021 • 3 minutes to read • Edit Online
The Azure hypervisor system is based on Windows Hyper-V. The hypervisor system enables the computer
administrator to specify guest partitions that have separate address spaces. The separate address spaces allow
you to load an operating system and applications operating in parallel of the (host) operating system that
executes in the root partition of the computer. The host OS (also known as privileged root partition) has direct
access to all the physical devices and peripherals on the system (storage controllers, networking adaptions). The
host OS allows guest partitions to share the use of these physical devices by exposing “virtual devices” to each
guest partition. Thus, an operating system executing in a guest partition has access to virtualized peripheral
devices that are provided by virtualization services executing in the root partition.
The Azure hypervisor is built keeping the following security objectives in mind:
Microsoft’s approach to hardening the Azure hypervisor and the virtualization subsystem can be broken down
into the following three categories.
NOTE
Learn more about strong security assurance processes in Hyper-V.
Next steps
To learn more about what we do to drive platform integrity and security, see:
Firmware security
Platform code integrity
Secure boot
Measured boot and host attestation
Project Cerberus
Encryption at rest
Isolation in the Azure Public Cloud
12/12/2021 • 23 minutes to read • Edit Online
Azure allows you to run applications and virtual machines (VMs) on shared physical infrastructure. One of the
prime economic motivations to running applications in a cloud environment is the ability to distribute the cost
of shared resources among multiple customers. This practice of multi-tenancy improves efficiency by
multiplexing resources among disparate customers at low costs. Unfortunately, it also introduces the risk of
sharing physical servers and other infrastructure resources to run your sensitive applications and VMs that may
belong to an arbitrary and potentially malicious user.
This article outlines how Azure provides isolation against both malicious and non-malicious users and serves as
a guide for architecting cloud solutions by offering various isolation choices to architects.
Access to data in Azure AD requires user authentication via a security token service (STS). Information on
the user’s existence, enabled state, and role is used by the authorization system to determine whether the
requested access to the target tenant is authorized for this user in this session.
Tenants are discrete containers and there is no relationship between these.
No access across tenants unless tenant admin grants it through federation or provisioning user accounts
from other tenants.
Physical access to servers that comprise the Azure AD service, and direct access to Azure AD’s back-end
systems, is restricted.
Azure AD users have no access to physical assets or locations, and therefore it is not possible for them to
bypass the logical Azure RBAC policy checks stated following.
For diagnostics and maintenance needs, an operational model that employs a just-in-time privilege elevation
system is required and used. Azure AD Privileged Identity Management (PIM) introduces the concept of an
eligible admin. Eligible admins should be users that need privileged access now and then, but not every day. The
role is inactive until the user needs access, then they complete an activation process and become an active
admin for a predetermined amount of time.
Azure Active Directory hosts each tenant in its own protected container, with policies and permissions to and
within the container solely owned and managed by the tenant.
The concept of tenant containers is deeply ingrained in the directory service at all layers, from portals all the
way to persistent storage.
Even when metadata from multiple Azure Active Directory tenants is stored on the same physical disk, there is
no relationship between the containers other than what is defined by the directory service, which in turn is
dictated by the tenant administrator.
Azure role -based access control (Azure RBAC )
Azure role-based access control (Azure RBAC) helps you to share various components available within an Azure
subscription by providing fine-grained access management for Azure. Azure RBAC enables you to segregate
duties within your organization and grant access based on what users need to perform their jobs. Instead of
giving everybody unrestricted permissions in Azure subscription or resources, you can allow only certain
actions.
Azure RBAC has three basic roles that apply to all resource types:
Owner has full access to all resources including the right to delegate access to others.
Contributor can create and manage all types of Azure resources but can’t grant access to others.
Reader can view existing Azure resources.
The rest of the Azure roles in Azure allow management of specific Azure resources. For example, the Virtual
Machine Contributor role allows the user to create and manage virtual machines. It does not give them access to
the Azure Virtual Network or the subnet that the virtual machine connects to.
Azure built-in roles list the roles available in Azure. It specifies the operations and scope that each built-in role
grants to users. If you're looking to define your own roles for even more control, see how to build Custom roles
in Azure RBAC.
Some other capabilities for Azure Active Directory include:
Azure AD enables SSO to SaaS applications, regardless of where they are hosted. Some applications are
federated with Azure AD, and others use password SSO. Federated applications can also support user
provisioning and password vaulting.
Access to data in Azure Storage is controlled via authentication. Each storage account has a primary key
(storage account key, or SAK) and a secondary secret key (the shared access signature, or SAS).
Azure AD provides Identity as a Service through federation by using Active Directory Federation Services,
synchronization, and replication with on-premises directories.
Azure AD Multi-Factor Authentication requires users to verify sign-ins by using a mobile app, phone call,
or text message. It can be used with Azure AD to help secure on-premises resources with the Multi-Factor
Authentication Server, and also with custom applications and directories using the SDK.
Azure AD Domain Services lets you join Azure virtual machines to an Active Directory domain without
deploying domain controllers. You can sign in to these virtual machines with your corporate Active
Directory credentials and administer domain-joined virtual machines by using Group Policy to enforce
security baselines on all your Azure virtual machines.
Azure Active Directory B2C provides a highly available global-identity management service for
consumer-facing applications that scales to hundreds of millions of identities. It can be integrated across
mobile and web platforms. Your consumers can sign in to all your applications through customizable
experiences by using their existing social accounts or by creating credentials.
Isolation from Microsoft Administrators & Data Deletion
Microsoft takes strong measures to protect your data from inappropriate access or use by unauthorized
persons. These operational processes and controls are backed by the Online Services Terms, which offer
contractual commitments that govern access to your data.
Microsoft engineers do not have default access to your data in the cloud. Instead, they are granted access,
under management oversight, only when necessary. That access is carefully controlled and logged, and
revoked when it is no longer needed.
Microsoft may hire other companies to provide limited services on its behalf. Subcontractors may access
customer data only to deliver the services for which, we have hired them to provide, and they are prohibited
from using it for any other purpose. Further, they are contractually bound to maintain the confidentiality of
our customers’ information.
Business services with audited certifications such as ISO/IEC 27001 are regularly verified by Microsoft and
accredited audit firms, which perform sample audits to attest that access, only for legitimate business purposes.
You can always access your own customer data at any time and for any reason.
If you delete any data, Microsoft Azure deletes the data, including any cached or backup copies. For in-scope
services, that deletion will occur within 90 days after the end of the retention period. (In-scope services are
defined in the Data Processing Terms section of our Online Services Terms.)
If a disk drive used for storage suffers a hardware failure, it is securely erased or destroyed before Microsoft
returns it to the manufacturer for replacement or repair. The data on the drive is overwritten to ensure that the
data cannot be recovered by any means.
Compute Isolation
Microsoft Azure provides various cloud-based computing services that include a wide selection of compute
instances & services that can scale up and down automatically to meet the needs of your application or
enterprise. These compute instance and service offer isolation at multiple levels to secure data without
sacrificing the flexibility in configuration that customers demand.
Isolated Virtual Machine Sizes
Azure Compute offers virtual machine sizes that are Isolated to a specific hardware type and dedicated to a
single customer. The Isolated sizes live and operate on specific hardware generation and will be deprecated
when the hardware generation is retired.
Isolated virtual machine sizes are best suited for workloads that require a high degree of isolation from other
customers’ workloads for reasons that include meeting compliance and regulatory requirements. Utilizing an
isolated size guarantees that your virtual machine will be the only one running on that specific server instance.
Additionally, as the Isolated size VMs are large, customers may choose to subdivide the resources of these VMs
by using Azure support for nested virtual machines.
The current Isolated virtual machine offerings include:
Standard_E80ids_v4
Standard_E80is_v4
Standard_E104i_v5
Standard_E104is_v5
Standard_E104id_v5
Standard_E104ids_v5
Standard_F72s_v2
Standard_M128ms
Standard_DC8_v2
NOTE
Isolated VM Sizes have a hardware limited lifespan. Please see below for details
FAQ
Q: Is the size going to get retired or only its "isolation" feature?
A : Currently, only the isolation feature of the VM sizes is being retired. The deprecated isolated sizes will
continue to exist in non-isolated state. If isolation is not needed, there is no action to be taken and the VM will
continue to work as expected.
Q: Is there a downtime when my vm lands on a non-isolated hardware?
A : If there is no need of isolation, no action is needed and there will be no downtime. On contrary if isolation is
required, our announcement will include the recommended replacement size. Selecting the replacement size will
require our customers to resize their VMs.
Q: Is there any cost delta for moving to a non-isolated virtual machine?
A : No
Q: When are the other isolated sizes going to retire?
A : We will provide reminders 12 months in advance of the official deprecation of the isolated size. Our latest
announcement includes isolation feature retirement of Standard_G5, Standard_GS5, Standard_E64i_v3 and
Standard_E64i_v3.
Q: I'm an Azure Service Fabric Customer relying on the Silver or Gold Durability Tiers. Does this change
impact me?
A : No. The guarantees provided by Service Fabric's Durability Tiers will continue to function even after this
change. If you require physical hardware isolation for other reasons, you may still need to take one of the
actions described above.
Q: What are the milestones for D15_v2 or DS15_v2 isolation retirement?
A:
DAT E A C T IO N
1 Existing customer using these sizes will receive an announcement email with detailed instructions on the next
steps.
Q: What are the milestones for G5, Gs5, E64i_v3 and E64is_v3 isolation retirement?
A:
DAT E A C T IO N
1 Existing customer using these sizes will receive an announcement email with detailed instructions on the next
steps.
Next steps
Customers can also choose to further subdivide the resources of these Isolated virtual machines by using Azure
support for nested virtual machines.
Dedicated hosts
In addition to the isolated hosts described in the preceding section, Azure also offers dedicated hosts. Dedicated
hosts in Azure is a service that provides physical servers that can host one or more virtual machines, and which
are dedicated to a single Azure subscription. Dedicated hosts provide hardware isolation at the physical server
level. No other VMs will be placed on your hosts. Dedicated hosts are deployed in the same datacenters and
share the same network and underlying storage infrastructure as other, non-isolated hosts. For more
information, see the detailed overview of Azure dedicated hosts.
Hyper-V & Root OS Isolation Between Root VM & Guest VMs
Azure’s compute platform is based on machine virtualization—meaning that all customer code executes in a
Hyper-V virtual machine. On each Azure node (or network endpoint), there is a Hypervisor that runs directly
over the hardware and divides a node into a variable number of Guest Virtual Machines (VMs).
Each node also has one special Root VM, which runs the Host OS. A critical boundary is the isolation of the root
VM from the guest VMs and the guest VMs from one another, managed by the hypervisor and the root OS. The
hypervisor/root OS pairing leverages Microsoft's decades of operating system security experience, and more
recent learning from Microsoft's Hyper-V, to provide strong isolation of guest VMs.
The Azure platform uses a virtualized environment. User instances operate as standalone virtual machines that
do not have access to a physical host server.
The Azure hypervisor acts like a micro-kernel and passes all hardware access requests from guest virtual
machines to the host for processing by using a shared-memory interface called VM Bus. This prevents users
from obtaining raw read/write/execute access to the system and mitigates the risk of sharing system resources.
Advanced VM placement algorithm & protection from side channel attacks
Any cross-VM attack involves two steps: placing an adversary-controlled VM on the same host as one of the
victim VMs, and then breaching the isolation boundary to either steal sensitive victim information or affect its
performance for greed or vandalism. Microsoft Azure provides protection at both steps by using an advanced
VM placement algorithm and protection from all known side channel attacks including noisy neighbor VMs.
The Azure Fabric Controller
The Azure Fabric Controller is responsible for allocating infrastructure resources to tenant workloads, and it
manages unidirectional communications from the host to virtual machines. The VM placing algorithm of the
Azure fabric controller is highly sophisticated and nearly impossible to predict as physical host level.
The Azure hypervisor enforces memory and process separation between virtual machines, and it securely
routes network traffic to guest OS tenants. This eliminates possibility of and side channel attack at VM level.
In Azure, the root VM is special: it runs a hardened operating system called the root OS that hosts a fabric agent
(FA). FAs are used in turn to manage guest agents (GA) within guest operating systems on customer VMs. FAs
also manage storage nodes.
The collection of Azure hypervisor, root OS/FA, and customer VMs/GAs comprises a compute node. FAs are
managed by a fabric controller (FC), which exists outside of compute and storage nodes (compute and storage
clusters are managed by separate FCs). If a customer updates their application’s configuration file while it’s
running, the FC communicates with the FA, which then contacts GAs, which notify the application of the
configuration change. In the event of a hardware failure, the FC will automatically find available hardware and
restart the VM there.
Communication from a Fabric Controller to an agent is unidirectional. The agent implements an SSL-protected
service that only responds to requests from the controller. It cannot initiate connections to the controller or
other privileged internal nodes. The FC treats all responses as if they were untrusted.
Isolation extends from the Root VM from Guest VMs, and the Guest VMs from one another. Compute nodes are
also isolated from storage nodes for increased protection.
The hypervisor and the host OS provide network packet - filters to help assure that untrusted virtual machines
cannot generate spoofed traffic or receive traffic not addressed to them, direct traffic to protected infrastructure
endpoints, or send/receive inappropriate broadcast traffic.
Additional Rules Configured by Fabric Controller Agent to Isolate VM
By default, all traffic is blocked when a virtual machine is created, and then the fabric controller agent configures
the packet filter to add rules and exceptions to allow authorized traffic.
There are two categories of rules that are programmed:
Machine configuration or infrastructure rules: By default, all communication is blocked. There are
exceptions to allow a virtual machine to send and receive DHCP and DNS traffic. Virtual machines can also
send traffic to the “public” internet and send traffic to other virtual machines within the same Azure Virtual
Network and the OS activation server. The virtual machines’ list of allowed outgoing destinations does not
include Azure router subnets, Azure management, and other Microsoft properties.
Role configuration file: This defines the inbound Access Control Lists (ACLs) based on the tenant's service
model.
VLAN Isolation
There are three VLANs in each cluster:
The main VLAN – interconnects untrusted customer nodes
The FC VLAN – contains trusted FCs and supporting systems
The device VLAN – contains trusted network and other infrastructure devices
Communication is permitted from the FC VLAN to the main VLAN, but cannot be initiated from the main VLAN
to the FC VLAN. Communication is also blocked from the main VLAN to the device VLAN. This assures that even
if a node running customer code is compromised, it cannot attack nodes on either the FC or device VLANs.
Storage Isolation
Logical Isolation Between Compute and Storage
As part of its fundamental design, Microsoft Azure separates VM-based computation from storage. This
separation enables computation and storage to scale independently, making it easier to provide multi-tenancy
and isolation.
Therefore, Azure Storage runs on separate hardware with no network connectivity to Azure Compute except
logically. This means that when a virtual disk is created, disk space is not allocated for its entire capacity. Instead,
a table is created that maps addresses on the virtual disk to areas on the physical disk and that table is initially
empty. The first time a customer writes data on the vir tual disk , space on the physical disk is
allocated, and a pointer to it is placed in the table.
Isolation Using Storage Access control
Access Control in Azure Storage has a simple access control model. Each Azure subscription can create one
or more Storage Accounts. Each Storage Account has a single secret key that is used to control access to all data
in that Storage Account.
Access to Azure Storage data (including Tables) can be controlled through a SAS (Shared Access
Signature) token, which grants scoped access. The SAS is created through a query template (URL), signed with
the SAK (Storage Account Key). That signed URL can be given to another process (that is, delegated), which can
then fill in the details of the query and make the request of the storage service. A SAS enables you to grant
time-based access to clients without revealing the storage account’s secret key.
The SAS means that we can grant a client limited permissions, to objects in our storage account for a specified
period of time and with a specified set of permissions. We can grant these limited permissions without having to
share your account access keys.
IP Level Storage Isolation
You can establish firewalls and define an IP address range for your trusted clients. With an IP address range, only
clients that have an IP address within the defined range can connect to Azure Storage.
IP storage data can be protected from unauthorized users via a networking mechanism that is used to allocate a
dedicated or dedicated tunnel of traffic to IP storage.
Encryption
Azure offers the following types of Encryption to protect data:
Encryption in transit
Encryption at rest
Encryption in Transit
Encryption in transit is a mechanism of protecting data when it is transmitted across networks. With Azure
Storage, you can secure data using:
Transport-level encryption, such as HTTPS when you transfer data into or out of Azure Storage.
Wire encryption, such as SMB 3.0 encryption for Azure File shares.
Client-side encryption, to encrypt the data before it is transferred into storage and to decrypt the data after it
is transferred out of storage.
Encryption at Rest
For many organizations, data encryption at rest is a mandatory step towards data privacy, compliance, and data
sovereignty. There are three Azure features that provide encryption of data that is “at rest”:
Storage Service Encryption allows you to request that the storage service automatically encrypt data when
writing it to Azure Storage.
Client-side Encryption also provides the feature of encryption at rest.
Azure Disk Encryption allows you to encrypt the OS disks and data disks used by an IaaS virtual machine.
Azure Disk Encryption
Azure Disk Encryption for virtual machines (VMs) helps you address organizational security and compliance
requirements by encrypting your VM disks (including boot and data disks) with keys and policies you control in
Azure Key Vault.
The Disk Encryption solution for Windows is based on Microsoft BitLocker Drive Encryption, and the Linux
solution is based on dm-crypt.
The solution supports the following scenarios for IaaS VMs when they are enabled in Microsoft Azure:
Integration with Azure Key Vault
Standard tier VMs: A, D, DS, G, GS, and so forth, series IaaS VMs
Enabling encryption on Windows and Linux IaaS VMs
Disabling encryption on OS and data drives for Windows IaaS VMs
Disabling encryption on data drives for Linux IaaS VMs
Enabling encryption on IaaS VMs that are running Windows client OS
Enabling encryption on volumes with mount paths
Enabling encryption on Linux VMs that are configured with disk striping (RAID) by using mdadm
Enabling encryption on Linux VMs by using LVM(Logical Volume Manager) for data disks
Enabling encryption on Windows VMs that are configured by using storage spaces
All Azure public regions are supported
The solution does not support the following scenarios, features, and technology in the release:
Basic tier IaaS VMs
Disabling encryption on an OS drive for Linux IaaS VMs
IaaS VMs that are created by using the classic VM creation method
Integration with your on-premises Key Management Service
Azure Files (shared file system), Network File System (NFS), dynamic volumes, and Windows VMs that are
configured with software-based RAID systems
The tier behind the gateways is called “back-end”. This is where all the data is stored in a highly available fashion.
Each piece of data is said to belong to a “partition” or “failover unit”, each of them having at least three replicas.
Replicas are stored and replicated by SQL Server engine and managed by a failover system often referred to as
“fabric”.
Generally, the back-end system does not communicate outbound to other systems as a security precaution. This
is reserved to the systems in the front-end (gateway) tier. The gateway tier machines have limited privileges on
the back-end machines to minimize the attack surface as a defense-in-depth mechanism.
Isolation by Machine Function and Access
SQL Database (is composed of services running on different machine functions. SQL Database is divided into
“backend” Cloud Database and “front-end” (Gateway/Management) environments, with the general principle of
traffic only going into back-end and not out. The front-end environment can communicate to the outside world
of other services and in general, has only limited permissions in the back-end (enough to call the entry points it
needs to invoke).
Networking Isolation
Azure deployment has multiple layers of network isolation. The following diagram shows various layers of
network isolation Azure provides to customers. These layers are both native in the Azure platform itself and
customer-defined features. Inbound from the Internet, Azure DDoS provides isolation against large-scale attacks
against Azure. The next layer of isolation is customer-defined public IP addresses (endpoints), which are used to
determine which traffic can pass through the cloud service to the virtual network. Native Azure virtual network
isolation ensures complete isolation from all other networks, and that traffic only flows through user configured
paths and methods. These paths and methods are the next layer, where NSGs, UDR, and network virtual
appliances can be used to create isolation boundaries to protect the application deployments in the protected
network.
Traffic isolation: A virtual network is the traffic isolation boundary on the Azure platform. Virtual machines
(VMs) in one virtual network cannot communicate directly to VMs in a different virtual network, even if both
virtual networks are created by the same customer. Isolation is a critical property that ensures customer VMs
and communication remains private within a virtual network.
Subnet offers an additional layer of isolation with in virtual network based on IP range. IP addresses in the
virtual network, you can divide a virtual network into multiple subnets for organization and security. VMs and
PaaS role instances deployed to subnets (same or different) within a VNet can communicate with each other
without any extra configuration. You can also configure network security group (NSGs) to allow or deny network
traffic to a VM instance based on rules configured in access control list (ACL) of NSG. NSGs can be associated
with either subnets or individual VM instances within that subnet. When an NSG is associated with a subnet, the
ACL rules apply to all the VM instances in that subnet.
Next Steps
Learn about Network Isolation Options for Machines in Windows Azure Virtual Networks. This includes
the classic front-end and back-end scenario where machines in a particular back-end network or
subnetwork may only allow certain clients or other computers to connect to a particular endpoint based
on an allowlist of IP addresses.
Learn about virtual machine isolation in Azure. Azure Compute offers virtual machine sizes that are
isolated to a specific hardware type and dedicated to a single customer.
Azure identity management security overview
12/12/2021 • 8 minutes to read • Edit Online
Identity management is the process of authenticating and authorizing security principals. It also involves
controlling information about those principals (identities). Security principals (identities) may include services,
applications, users, groups, etc. Microsoft identity and access management solutions help IT protect access to
applications and resources across the corporate datacenter and into the cloud. Such protection enables
additional levels of validation, such as Multi-Factor Authentication and Conditional Access policies. Monitoring
suspicious activity through advanced security reporting, auditing, and alerting helps mitigate potential security
issues. Azure Active Directory Premium provides single sign-on (SSO) to thousands of cloud software as a
service (SaaS) apps and access to web apps that you run on-premises.
By taking advantage of the security benefits of Azure Active Directory (Azure AD), you can:
Create and manage a single identity for each user across your hybrid enterprise, keeping users, groups, and
devices in sync.
Provide SSO access to your applications, including thousands of pre-integrated SaaS apps.
Enable application access security by enforcing rules-based Multi-Factor Authentication for both on-premises
and cloud applications.
Provision secure remote access to on-premises web applications through Azure AD Application Proxy.
The goal of this article is to provide an overview of the core Azure security features that help with identity
management. We also provide links to articles that give details of each feature so you can learn more.
The article focuses on the following core Azure Identity management capabilities:
Single sign-on
Reverse proxy
Multi-Factor Authentication
Azure role-based access control (Azure RBAC)
Security monitoring, alerts, and machine learning-based reports
Consumer identity and access management
Device registration
Privileged identity management
Identity protection
Hybrid identity management/Azure AD connect
Azure AD access reviews
Single sign-on
SSO means being able to access all the applications and resources that you need to do business, by signing in
only once using a single user account. Once signed in, you can access all of the applications you need without
being required to authenticate (for example, type a password) a second time.
Many organizations rely upon SaaS applications such as Microsoft 365, Box, and Salesforce for user productivity.
Historically, IT staff needed to individually create and update user accounts in each SaaS application, and users
had to remember a password for each SaaS application.
Azure AD extends on-premises Active Directory environments into the cloud, enabling users to use their
primary organizational account to sign in not only to their domain-joined devices and company resources, but
also to all the web and SaaS applications they need for their jobs.
Not only do users not have to manage multiple sets of usernames and passwords, you can provision or de-
provision application access automatically, based on their organizational groups and their employee status.
Azure AD introduces security and access governance controls with which you can centrally manage users'
access across SaaS applications.
Learn more:
Overview on SSO
Video on authentication fundamentals
Quickstart series on application management
Reverse proxy
Azure AD Application Proxy lets you publish on-premises applications, such as SharePoint sites, Outlook Web
App, and IIS-based apps inside your private network and provides secure access to users outside your network.
Application Proxy provides remote access and SSO for many types of on-premises web applications with the
thousands of SaaS applications that Azure AD supports. Employees can sign in to your apps from home on their
own devices and authenticate through this cloud-based proxy.
Learn more:
Enabling Azure AD Application Proxy
Publish applications using Azure AD Application Proxy
Single sign-on with Application Proxy
Working with Conditional Access
Multi-Factor Authentication
Azure AD Multi-Factor Authentication is a method of authentication that requires the use of more than one
verification method and adds a critical second layer of security to user sign-ins and transactions. Multi-Factor
Authentication helps safeguard access to data and applications while meeting user demand for a simple sign-in
process. It delivers strong authentication via a range of verification options: phone calls, text messages, or
mobile app notifications or verification codes and third-party OAuth tokens.
Learn more:
Multi-Factor Authentication
What is Azure AD Multi-Factor Authentication?
How Azure AD Multi-Factor Authentication works
Azure RBAC
Azure RBAC is an authorization system built on Azure Resource Manager that provides fine-grained access
management of resources in Azure. Azure RBAC allows you to granularly control the level of access that users
have. For example, you can limit a user to only manage virtual networks and another user to manage all
resources in a resource group. Azure includes several built-in roles that you can use. The following lists four
fundamental built-in roles. The first three apply to all resource types.
Owner - Has full access to all resources including the right to delegate access to others.
Contributor - Can create and manage all types of Azure resources but can't grant access to others.
Reader - Can view existing Azure resources.
User Access Administrator - Lets you manage user access to Azure resources.
Learn more:
What is Azure role-based access control (Azure RBAC)?
Azure built-in roles
Device registration
Azure AD device registration is the foundation for device-based Conditional Access scenarios. When a device is
registered, Azure AD device registration provides the device with an identity that it uses to authenticate the
device when a user signs in. The authenticated device and the attributes of the device can then be used to
enforce Conditional Access policies for applications that are hosted in the cloud and on-premises.
When combined with a mobile device management solution such as Intune, the device attributes in Azure AD
are updated with additional information about the device. You can then create Conditional Access rules that
enforce access from devices to meet your standards for security and compliance.
Learn more:
Get started with Azure AD device registration
Automatic device registration with Azure AD for Windows domain-joined devices
Set up automatic registration of Windows domain-joined devices with Azure AD
Identity protection
Azure AD Identity Protection is a security service that provides a consolidated view into risk detections and
potential vulnerabilities that affect your organization’s identities. Identity Protection takes advantage of existing
Azure AD anomaly-detection capabilities, which are available through Azure AD Anomalous Activity reports.
Identity Protection also introduces new risk detection types that can detect anomalies in real time.
Learn more:
Azure AD Identity Protection
Channel 9: Azure AD and Identity Show: Identity Protection Preview
In this article, we discuss a collection of Azure identity management and access control security best practices.
These best practices are derived from our experience with Azure AD and the experiences of customers like
yourself.
For each best practice, we explain:
What the best practice is
Why you want to enable that best practice
What might be the result if you fail to enable the best practice
Possible alternatives to the best practice
How you can learn to enable the best practice
This Azure identity management and access control security best practices article is based on a consensus
opinion and Azure platform capabilities and feature sets, as they exist at the time this article was written.
The intention in writing this article is to provide a general roadmap to a more robust security posture after
deployment guided by our “5 steps to securing your identity infrastructure” checklist, which walks you through
some of our core features and services.
Opinions and technologies change over time and this article will be updated on a regular basis to reflect those
changes.
Azure identity management and access control security best practices discussed in this article include:
Treat identity as the primary security perimeter
Centralize identity management
Manage connected tenants
Enable single sign-on
Turn on Conditional Access
Plan for routine security improvements
Enable password management
Enforce multi-factor verification for users
Use role-based access control
Lower exposure of privileged accounts
Control locations where resources are located
Use Azure AD for storage authentication
NOTE
There are factors that affect the performance of Azure AD Connect. Ensure Azure AD Connect has enough capacity to
keep underperforming systems from impeding security and productivity. Large or complex organizations (organizations
provisioning more than 100,000 objects) should follow the recommendations to optimize their Azure AD Connect
implementation.
Best practice : Don’t synchronize accounts to Azure AD that have high privileges in your existing Active
Directory instance. Detail : Don’t change the default Azure AD Connect configuration that filters out these
accounts. This configuration mitigates the risk of adversaries pivoting from cloud to on-premises assets (which
could create a major incident).
Best practice : Turn on password hash synchronization.
Detail : Password hash synchronization is a feature used to synch user password hashes from an on-premises
Active Directory instance to a cloud-based Azure AD instance. This sync helps to protect against leaked
credentials being replayed from previous attacks.
Even if you decide to use federation with Active Directory Federation Services (AD FS) or other identity
providers, you can optionally set up password hash synchronization as a backup in case your on-premises
servers fail or become temporarily unavailable. This sync enables users to sign in to the service by using the
same password that they use to sign in to their on-premises Active Directory instance. It also allows Identity
Protection to detect compromised credentials by comparing synchronized password hashes with passwords
known to be compromised, if a user has used the same email address and password on other services that
aren't connected to Azure AD.
For more information, see Implement password hash synchronization with Azure AD Connect sync.
Best practice : For new application development, use Azure AD for authentication. Detail : Use the correct
capabilities to support authentication:
Azure AD for employees
Azure AD B2B for guest users and external partners
Azure AD B2C to control how customers sign up, sign in, and manage their profiles when they use your
applications
Organizations that don’t integrate their on-premises identity with their cloud identity can have more overhead
in managing accounts. This overhead increases the likelihood of mistakes and security breaches.
NOTE
You need to choose which directories critical accounts will reside in and whether the admin workstation used is managed
by new cloud services or existing processes. Using existing management and identity provisioning processes can decrease
some risks but can also create the risk of an attacker compromising an on-premises account and pivoting to the cloud.
You might want to use a different strategy for different roles (for example, IT admins vs. business unit admins). You have
two options. First option is to create Azure AD Accounts that aren’t synchronized with your on-premises Active Directory
instance. Join your admin workstation to Azure AD, which you can manage and patch by using Microsoft Intune. Second
option is to use existing admin accounts by synchronizing to your on-premises Active Directory instance. Use existing
workstations in your Active Directory domain for management and security.
NOTE
Option 2, enabling Multi-Factor Authentication by changing the user state, overrides Conditional Access policies. Because
options 3 and 4 use Conditional Access policies, you cannot use option 2 with them.
Organizations that don’t add extra layers of identity protection, such as two-step verification, are more
susceptible for credential theft attack. A credential theft attack can lead to data compromise.
NOTE
Specific permissions create unneeded complexity and confusion, accumulating into a “legacy” configuration that’s difficult
to fix without fear of breaking something. Avoid resource-specific permissions. Instead, use management groups for
enterprise-wide permissions and resource groups for permissions within subscriptions. Avoid user-specific permissions.
Instead, assign access to groups in Azure AD.
Best practice : Grant security teams with Azure responsibilities access to see Azure resources so they can assess
and remediate risk. Detail : Grant security teams the Azure RBAC Security Reader role. You can use the root
management group or the segment management group, depending on the scope of responsibilities:
Root management group for teams responsible for all enterprise resources
Segment management group for teams with limited scope (commonly because of regulatory or other
organizational boundaries)
Best practice : Grant the appropriate permissions to security teams that have direct operational responsibilities.
Detail : Review the Azure built-in roles for the appropriate role assignment. If the built-in roles don't meet the
specific needs of your organization, you can create Azure custom roles. As with built-in roles, you can assign
custom roles to users, groups, and service principals at subscription, resource group, and resource scopes.
Best practices : Grant Microsoft Defender for Cloud access to security roles that need it. Defender for Cloud
allows security teams to quickly identify and remediate risks. Detail : Add security teams with these needs to the
Azure RBAC Security Admin role so they can view security policies, view security states, edit security policies,
view alerts and recommendations, and dismiss alerts and recommendations. You can do this by using the root
management group or the segment management group, depending on the scope of responsibilities.
Organizations that don’t enforce data access control by using capabilities like Azure RBAC might be giving more
privileges than necessary to their users. This can lead to data compromise by allowing users to access types of
data (for example, high business impact) that they shouldn’t have.
NOTE
Security policies are not the same as Azure RBAC. They actually use Azure RBAC to authorize users to create those
resources.
Organizations that are not controlling how resources are created are more susceptible to users who might
abuse the service by creating more resources than they need. Hardening the resource creation process is an
important step to securing a multitenant scenario.
Next step
See Azure security best practices and patterns for more security best practices to use when you’re designing,
deploying, and managing your cloud solutions by using Azure.
Five steps to securing your identity infrastructure
12/12/2021 • 14 minutes to read • Edit Online
If you're reading this document, you're aware of the significance of security. You likely already carry the
responsibility for securing your organization. If you need to convince others of the importance of security, send
them to read the latest Microsoft Security Intelligence report.
This document will help you get a more secure posture using the capabilities of Azure Active Directory by using
a five-step checklist to inoculate your organization against cyber-attacks.
This checklist will help you quickly deploy critical recommended actions to protect your organization
immediately by explaining how to:
Strengthen your credentials.
Reduce your attack surface area.
Automate threat response.
Utilize cloud intelligence.
Enable end-user self-service.
Make sure you keep track of which features and steps are complete while reading this checklist.
NOTE
Many of the recommendations in this document apply only to applications that are configured to use Azure Active
Directory as their identity provider. Configuring apps for Single Sign-On assures the benefits of credential policies, threat
detection, auditing, logging, and other features add to those applications. Azure AD Application Management is the
foundation - on which all these recommendations are based.
The recommendations in this document are aligned with the Identity Secure Score, an automated assessment of
your Azure AD tenant’s identity security configuration. Organizations can use the Identity Secure Score page in
the Azure AD portal to find gaps in their current security configuration to ensure they follow current Microsoft
best practices for security. Implementing each recommendation in the Secure Score page will increase your
score and allow you to track your progress, plus help you compare your implementation against other similar
size organizations or your industry.
NOTE
Many of the features described here require an Azure AD Premium subscription, while some are free. Please review our
Azure Active Directory pricing and Azure AD Deployment checklist for more information.
NOTE
If you enable password hash sync and are using Azure AD Domain services, Kerberos (AES 256) hashes and optionally
NTLM (RC4, no salt) hashes will also be encrypted and synchronized to Azure AD.
Summary
There are many aspects to a secure Identity infrastructure, but this five-step checklist will help you quickly
accomplish a safer and secure identity infrastructure:
Strengthen your credentials.
Reduce your attack surface area.
Automate threat response.
Utilize cloud intelligence.
Enable more predictable and complete end-user security with self-help.
We appreciate how seriously you take Identity Security and hope this document is a useful roadmap to a more
secure posture for your organization.
Next steps
If you need assistance to plan and deploy the recommendations, refer to the Azure AD project deployment plans
for help.
If you're confident all these steps are complete, use Microsoft’s Identity Secure Score, which will keep you up to
date with the latest best practices and security threats.
Passwordless authentication options for Azure
Active Directory
12/12/2021 • 9 minutes to read • Edit Online
Features like multi-factor authentication (MFA) are a great way to secure your organization, but users often get
frustrated with the additional security layer on top of having to remember their passwords. Passwordless
authentication methods are more convenient because the password is removed and replaced with something
you have, plus something you are or something you know.
A UT H EN T IC AT IO N SO M ET H IN G Y O U H AVE SO M ET H IN G Y O U A RE O R K N O W
Each organization has different needs when it comes to authentication. Microsoft global Azure and Azure
Government offer the following three passwordless authentication options that integrate with Azure Active
Directory (Azure AD):
Windows Hello for Business
Microsoft Authenticator app
FIDO2 security keys
The Authenticator App turns any iOS or Android phone into a strong, passwordless credential. Users can sign in
to any platform or browser by getting a notification to their phone, matching a number displayed on the screen
to the one on their phone, and then using their biometric (touch or face) or PIN to confirm. Refer to Download
and install the Microsoft Authenticator app for installation details.
Passwordless authentication using the Authenticator app follows the same basic pattern as Windows Hello for
Business. It's a little more complicated as the user needs to be identified so that Azure AD can find the Microsoft
Authenticator App version being used:
1. The user enters their username.
2. Azure AD detects that the user has a strong credential and starts the Strong Credential flow.
3. A notification is sent to the app via Apple Push Notification Service (APNS) on iOS devices, or via Firebase
Cloud Messaging (FCM) on Android devices.
4. The user receives the push notification and opens the app.
5. The app calls Azure AD and receives a proof-of-presence challenge and nonce.
6. The user completes the challenge by entering their biometric or PIN to unlock private key.
7. The nonce is signed with the private key and sent back to Azure AD.
8. Azure AD performs public/private key validation and returns a token.
To get started with passwordless sign-in, complete the following how-to:
Enable passwordless sign using the Authenticator app
The following process is used when a user signs in with a FIDO2 security key:
1. The user plugs the FIDO2 security key into their computer.
2. Windows detects the FIDO2 security key.
3. Windows sends an authentication request.
4. Azure AD sends back a nonce.
5. The user completes their gesture to unlock the private key stored in the FIDO2 security key's secure enclave.
6. The FIDO2 security key signs the nonce with the private key.
7. The primary refresh token (PRT) token request with signed nonce is sent to Azure AD.
8. Azure AD verifies the signed nonce using the FIDO2 public key.
9. Azure AD returns PRT to enable access to on-premises resources.
FIDO2 security key providers
The following providers offer FIDO2 security keys of different form factors that are known to be compatible with
the passwordless experience. We encourage you to evaluate the security properties of these keys by contacting
the vendor as well as FIDO Alliance.
F IP S
P RO VIDER B IO M ET RIC USB NFC BLE C ERT IF IED C O N TA C T
AuthenTrend https://authe
ntrend.com/a
bout-us/#pg-
35-3
Ensurity https://www.e
nsurity.com/c
ontact
Excelsecu https://www.e
xcelsecu.com/
productdetail/
esecufido2sec
u.html
Feitian https://shop.ft
safe.us/pages/
microsoft
Fortinet https://www.f
ortinet.com/
HID https://www.h
idglobal.com/
contact-us
Hypersecu https://www.h
ypersecu.com
/hyperfido
IDmelon https://www.i
Technologies dmelon.com/
Inc. #idmelon
F IP S
P RO VIDER B IO M ET RIC USB NFC BLE C ERT IF IED C O N TA C T
Kensington https://www.k
ensington.co
m/solutions/p
roduct-
category/why
-biometrics/
KONA I https://konai.c
om/business/
security/fido
NEOWAVE https://neowa
ve.fr/en/prod
ucts/fido-
range/
Nymi https://www.n
ymi.com/nymi
-band
Thetis https://thetis.i
o/collections/f
ido2
Token2 https://www.t
Switzerland oken2.swiss/s
hop/product/t
oken2-t2f2-
alu-fido2-u2f-
and-totp-
security-key
TrustKey https://www.tr
Solutions ustkeysolutio
ns.com/securi
ty-keys/
VinCSS https://passw
ordless.vincss.
net
Yubico https://www.y
ubico.com/sol
utions/passw
ordless/
NOTE
If you purchase and plan to use NFC-based security keys, you need a supported NFC reader for the security key. The NFC
reader isn't an Azure requirement or limitation. Check with the vendor for your NFC-based security key for a list of
supported NFC readers.
If you're a vendor and want to get your device on this list of supported devices, check out our guidance on how
to become a Microsoft-compatible FIDO2 security key vendor.
To get started with FIDO2 security keys, complete the following how-to:
Enable passwordless sign using FIDO2 security keys
Supported scenarios
The following considerations apply:
Administrators can enable passwordless authentication methods for their tenant.
Administrators can target all users or select users/groups within their tenant for each method.
Users can register and manage these passwordless authentication methods in their account portal.
Users can sign in with these passwordless authentication methods:
Microsoft Authenticator App: Works in scenarios where Azure AD authentication is used, including
across all browsers, during Windows 10 setup, and with integrated mobile apps on any operating
system.
Security keys: Work on lock screen for Windows 10 and the web in supported browsers like Microsoft
Edge (both legacy and new Edge).
Users can use passwordless credentials to access resources in tenants where they are a guest, but they
may still be required to perform MFA in that resource tenant. For more information, see Possible double
multi-factor authentication.
Users may not register passwordless credentials within a tenant where they are a guest, the same way
that they do not have a password managed in that tenant.
Pre-requisite Windows 10, version 1809 Microsoft Authenticator Windows 10, version 1903
or later app or later
Azure Active Directory Phone (iOS and Android Azure Active Directory
devices running Android 6.0
or above.)
Systems and devices PC with a built-in Trusted PIN and biometrics FIDO2 security devices that
Platform Module (TPM) recognition on phone are Microsoft compatible
PIN and biometrics
recognition
User experience Sign in using a PIN or Sign in using a mobile Sign in using FIDO2
biometric recognition (facial, phone with fingerprint scan, security device (biometrics,
iris, or fingerprint) with facial or iris recognition, or PIN, and NFC)
Windows devices. PIN. User can access device
Windows Hello Users sign in to work or based on organization
authentication is tied to the personal account from their controls and authenticate
device; the user needs both PC or mobile phone. based on PIN, biometrics
the device and a sign-in using devices such as USB
component such as a PIN security keys and NFC-
or biometric factor to access enabled smartcards, keys,
corporate resources. or wearables.
Use the following table to choose which method will support your requirements and users.
Admin Secure access to a device Assigned Windows 10 Windows Hello for Business
for management tasks device and/or FIDO2 security key
Information worker Productivity work Assigned Windows 10 Windows Hello for Business
device and/or FIDO2 security key
Frontline worker Kiosks in a factory, plant, Shared Windows 10 devices FIDO2 Security keys
retail, or data entry
Next steps
To get started with passwordless in Azure AD, complete one of the following how-tos:
Enable FIDO2 security key passwordless sign-in
Enable phone-based passwordless sign-in with the Authenticator app
External Links
FIDO Alliance
FIDO2 CTAP specification
Azure network security overview
12/12/2021 • 22 minutes to read • Edit Online
Network security could be defined as the process of protecting resources from unauthorized access or attack by
applying controls to network traffic. The goal is to ensure that only legitimate traffic is allowed. Azure includes a
robust networking infrastructure to support your application and service connectivity requirements. Network
connectivity is possible between resources located in Azure, between on-premises and Azure hosted resources,
and to and from the internet and Azure.
This article covers some of the options that Azure offers in the area of network security. You can learn about:
Azure networking
Network access control
Azure Firewall
Secure remote access and cross-premises connectivity
Availability
Name resolution
Perimeter network (DMZ) architecture
Azure DDoS protection
Azure Front Door
Traffic manager
Monitoring and threat detection
Azure networking
Azure requires virtual machines to be connected to an Azure Virtual Network. A virtual network is a logical
construct built on top of the physical Azure network fabric. Each virtual network is isolated from all other virtual
networks. This helps ensure that network traffic in your deployments is not accessible to other Azure customers.
Learn more:
Virtual network overview
Azure Firewall
Azure Firewall is a managed, cloud-based network security service that protects your Azure Virtual Network
resources. It is a fully stateful firewall as a service with built-in high availability and unrestricted cloud scalability.
Some features include:
High availability
Cloud scalability
Application FQDN filtering rules
Network traffic filtering rules
Learn more:
Azure Firewall overview
Availability
Availability is a key component of any security program. If your users and systems can't access what they need
to access over the network, the service can be considered compromised. Azure has networking technologies
that support the following high-availability mechanisms:
HTTP-based load balancing
Network level load balancing
Global load balancing
Load balancing is a mechanism designed to equally distribute connections among multiple devices. The goals of
load balancing are:
To increase availability. When you load balance connections across multiple devices, one or more of the
devices can become unavailable without compromising the service. The services running on the remaining
online devices can continue to serve the content from the service.
To increase performance. When you load balance connections across multiple devices, a single device doesn't
have to handle all processing. Instead, the processing and memory demands for serving the content is
spread across multiple devices.
HTTP-based load balancing
Organizations that run web-based services often desire to have an HTTP-based load balancer in front of those
web services. This helps ensure adequate levels of performance and high availability. Traditional, network-based
load balancers rely on network and transport layer protocols. HTTP-based load balancers, on the other hand,
make decisions based on characteristics of the HTTP protocol.
Azure Application Gateway provides HTTP-based load balancing for your web-based services. Application
Gateway supports:
Cookie-based session affinity. This capability makes sure that connections established to one of the servers
behind that load balancer stays intact between the client and server. This ensures stability of transactions.
TLS offload. When a client connects with the load balancer, that session is encrypted by using the HTTPS
(TLS) protocol. However, in order to increase performance, you can use the HTTP (unencrypted) protocol to
connect between the load balancer and the web server behind the load balancer. This is referred to as "TLS
offload," because the web servers behind the load balancer don't experience the processor overhead
involved with encryption. The web servers can therefore service requests more quickly.
URL-based content routing. This feature makes it possible for the load balancer to make decisions about
where to forward connections based on the target URL. This provides a lot more flexibility than solutions that
make load balancing decisions based on IP addresses.
Learn more:
Application Gateway overview
Network level load balancing
In contrast to HTTP-based load balancing, network level load balancing makes decisions based on IP address
and port (TCP or UDP) numbers. You can gain the benefits of network level load balancing in Azure by using
Azure Load Balancer. Some key characteristics of Load Balancer include:
Network level load balancing based on IP address and port numbers.
Support for any application layer protocol.
Load balances to Azure virtual machines and cloud services role instances.
Can be used for both internet-facing (external load balancing) and non-internet facing (internal load
balancing) applications and virtual machines.
Endpoint monitoring, which is used to determine if any of the services behind the load balancer have
become unavailable.
Learn more:
Internet-facing load balancer between multiple virtual machines or services
Internal load balancer overview
Global load balancing
Some organizations want the highest level of availability possible. One way to reach this goal is to host
applications in globally distributed datacenters. When an application is hosted in datacenters located throughout
the world, it's possible for an entire geopolitical region to become unavailable, and still have the application up
and running.
This load-balancing strategy can also yield performance benefits. You can direct requests for the service to the
datacenter that is nearest to the device that is making the request.
In Azure, you can gain the benefits of global load balancing by using Azure Traffic Manager.
Learn more:
What is Traffic Manager?
Name resolution
Name resolution is a critical function for all services you host in Azure. From a security perspective, compromise
of the name resolution function can lead to an attacker redirecting requests from your sites to an attacker's site.
Secure name resolution is a requirement for all your cloud hosted services.
There are two types of name resolution you need to address:
Internal name resolution. This is used by services on your virtual networks, your on-premises networks, or
both. Names used for internal name resolution are not accessible over the internet. For optimal security, it's
important that your internal name resolution scheme is not accessible to external users.
External name resolution. This is used by people and devices outside of your on-premises networks and
virtual networks. These are the names that are visible to the internet, and are used to direct connection to
your cloud-based services.
For internal name resolution, you have two options:
A virtual network DNS server. When you create a new virtual network, a DNS server is created for you. This
DNS server can resolve the names of the machines located on that virtual network. This DNS server is not
configurable, is managed by the Azure fabric manager, and can therefore help you secure your name
resolution solution.
Bring your own DNS server. You have the option of putting a DNS server of your own choosing on your
virtual network. This DNS server can be an Active Directory integrated DNS server, or a dedicated DNS
server solution provided by an Azure partner, which you can obtain from the Azure Marketplace.
Learn more:
Virtual network overview
Manage DNS Servers used by a virtual network
For external name resolution, you have two options:
Host your own external DNS server on-premises.
Host your own external DNS server with a service provider.
Many large organizations host their own DNS servers on-premises. They can do this because they have the
networking expertise and global presence to do so.
In most cases, it's better to host your DNS name resolution services with a service provider. These service
providers have the network expertise and global presence to ensure very high availability for your name
resolution services. Availability is essential for DNS services, because if your name resolution services fail, no
one will be able to reach your internet facing services.
Azure provides you with a highly available and high-performing external DNS solution in the form of Azure
DNS. This external name resolution solution takes advantage of the worldwide Azure DNS infrastructure. It
allows you to host your domain in Azure, using the same credentials, APIs, tools, and billing as your other Azure
services. As part of Azure, it also inherits the strong security controls built into the platform.
Learn more:
Azure DNS overview
Azure DNS private zones allows you to configure private DNS names for Azure resources rather than the
automatically assigned names without the need to add a custom DNS solution.
This article discusses a collection of Azure best practices to enhance your network security. These best practices
are derived from our experience with Azure networking and the experiences of customers like yourself.
For each best practice, this article explains:
What the best practice is
Why you want to enable that best practice
What might be the result if you fail to enable the best practice
Possible alternatives to the best practice
How you can learn to enable the best practice
These best practices are based on a consensus opinion, and Azure platform capabilities and feature sets, as they
exist at the time this article was written. Opinions and technologies change over time and this article will be
updated on a regular basis to reflect those changes.
NOTE
User-defined routes are not required, and the default system routes usually work.
Next steps
See Azure security best practices and patterns for more security best practices to use when you're designing,
deploying, and managing your cloud solutions by using Azure.
Fundamental best practices
12/12/2021 • 2 minutes to read • Edit Online
The following sections give prescriptive guidance to build DDoS-resilient services on Azure.
Defense in depth
The idea behind defense in depth is to manage risk by using diverse defensive strategies. Layering security
defenses in an application reduces the chance of a successful attack. We recommend that you implement secure
designs for your applications by using the built-in capabilities of the Azure platform.
For example, the risk of attack increases with the size (surface area) of the application. You can reduce the
surface area by using an approval list to close down the exposed IP address space and listening ports that are
not needed on the load balancers (Azure Load Balancer and Azure Application Gateway). Network security
groups (NSGs) are another way to reduce the attack surface. You can use service tags and application security
groups to minimize complexity for creating security rules and configuring network security, as a natural
extension of an application’s structure.
You should deploy Azure services in a virtual network whenever possible. This practice allows service resources
to communicate through private IP addresses. Azure service traffic from a virtual network uses public IP
addresses as source IP addresses by default. Using service endpoints will switch service traffic to use virtual
network private addresses as the source IP addresses when they're accessing the Azure service from a virtual
network.
We often see customers' on-premises resources getting attacked along with their resources in Azure. If you're
connecting an on-premises environment to Azure, we recommend that you minimize exposure of on-premises
resources to the public internet. You can use the scale and advanced DDoS protection capabilities of Azure by
deploying your well-known public entities in Azure. Because these publicly accessible entities are often a target
for DDoS attacks, putting them in Azure reduces the impact on your on-premises resources.
Next steps
Learn how to create a DDoS protection plan.
Prevent dangling DNS entries and avoid subdomain
takeover
12/12/2021 • 9 minutes to read • Edit Online
This article describes the common security threat of subdomain takeover and the steps you can take to mitigate
against it.
b. You assign a CNAME record in your DNS zone with the subdomain greatapp.contoso.com that
routes traffic to your Azure resource.
2. DEPROVISIONING:
a. The Azure resource is deprovisioned or deleted after it is no longer needed.
At this point, the CNAME record greatapp.contoso.com should be removed from your DNS zone. If
the CNAME record isn't removed, it's advertised as an active domain but doesn't route traffic to an
active Azure resource. This is the definition of a “dangling” DNS record.
b. The dangling subdomain, greatapp.contoso.com , is now vulnerable and can be taken over by being
assigned to another Azure subscription’s resource.
3. TAKEOVER:
a. Using commonly available methods and tools, a threat actor discovers the dangling subdomain.
b. The threat actor provisions an Azure resource with the same FQDN of the resource you previously
controlled. In this example, app-contogreat-dev-001.azurewebsites.net .
c. Traffic being sent to the subdomain greatapp.contoso.com is now routed to the malicious actor’s
resource where they control the content.
The risks of subdomain takeover
When a DNS record points to a resource that isn't available, the record itself should have been removed from
your DNS zone. If it hasn't been deleted, it's a “dangling DNS” record and creates the possibility for subdomain
takeover.
Dangling DNS entries make it possible for threat actors to take control of the associated DNS name to host a
malicious website or service. Malicious pages and services on an organization's subdomain might result in:
Loss of control over the content of the subdomain - Negative press about your organization's
inability to secure its content, as well as the brand damage and loss of trust.
Cookie har vesting from unsuspecting visitors - It's common for web apps to expose session
cookies to subdomains (*.contoso.com), consequently any subdomain can access them. Threat actors can
use subdomain takeover to build an authentic looking page, trick unsuspecting users to visit it, and
harvest their cookies (even secure cookies). A common misconception is that using SSL certificates
protects your site, and your users' cookies, from a takeover. However, a threat actor can use the hijacked
subdomain to apply for and receive a valid SSL certificate. Valid SSL certificates grant them access to
secure cookies and can further increase the perceived legitimacy of the malicious site.
Phishing campaigns - Authentic-looking subdomains might be used in phishing campaigns. This is
true for malicious sites and for MX records that would allow the threat actor to receive emails addressed
to a legitimate subdomain of a known-safe brand.
Fur ther risks - Malicious sites might be used to escalate into other classic attacks such as XSS, CSRF,
CORS bypass, and more.
Prerequisites
Run the query as a user who has:
at least reader level access to the Azure subscriptions
read access to Azure resource graph
If you're a global administrator of your organization’s tenant, elevate your account to have access to all of your
organization’s subscription using the guidance in Elevate access to manage all Azure subscriptions and
management groups.
TIP
Azure Resource Graph has throttling and paging limits that you should consider if you have a large Azure environment.
Learn more about working with large Azure resource data sets.
The tool uses subscription batching to avoid these limitations.
Microsoft Antimalware for Azure is a free real-time protection that helps identify and remove viruses, spyware,
and other malicious software. It generates alerts when known malicious or unwanted software tries to install
itself or run on your Azure systems.
The solution is built on the same antimalware platform as Microsoft Security Essentials [MSE], Microsoft
Forefront Endpoint Protection, Microsoft System Center Endpoint Protection, Microsoft Intune, and Microsoft
Defender for Cloud. Microsoft Antimalware for Azure is a single-agent solution for applications and tenant
environments, designed to run in the background without human intervention. Protection may be deployed
based on the needs of application workloads, with either basic secure-by-default or advanced custom
configuration, including antimalware monitoring.
When you deploy and enable Microsoft Antimalware for Azure for your applications, the following core features
are available:
Real-time protection - monitors activity in Cloud Services and on Virtual Machines to detect and block
malware execution.
Scheduled scanning - Scans periodically to detect malware, including actively running programs.
Malware remediation - automatically takes action on detected malware, such as deleting or quarantining
malicious files and cleaning up malicious registry entries.
Signature updates - automatically installs the latest protection signatures (virus definitions) to ensure
protection is up-to-date on a pre-determined frequency.
Antimalware Engine updates – automatically updates the Microsoft Antimalware engine.
Antimalware Platform updates – automatically updates the Microsoft Antimalware platform.
Active protection - reports telemetry metadata about detected threats and suspicious resources to
Microsoft Azure to ensure rapid response to the evolving threat landscape, as well as enabling real-time
synchronous signature delivery through the Microsoft Active Protection System (MAPS).
Samples repor ting - provides and reports samples to the Microsoft Antimalware service to help refine the
service and enable troubleshooting.
Exclusions – allows application and service administrators to configure exclusions for files, processes, and
drives.
Antimalware event collection - records the antimalware service health, suspicious activities, and
remediation actions taken in the operating system event log and collects them into the customer's Azure
Storage account.
NOTE
Microsoft Antimalware can also be deployed using Microsoft Defender for Cloud. Read Install Endpoint Protection in
Microsoft Defender for Cloud for more information.
Architecture
Microsoft Antimalware for Azure includes the Microsoft Antimalware Client and Service, Antimalware classic
deployment model, Antimalware PowerShell cmdlets, and Azure Diagnostics Extension. Microsoft Antimalware
is supported on Windows Server 2008 R2, Windows Server 2012, and Windows Server 2012 R2 operating
system families. It is not supported on the Windows Server 2008 operating system, and also is not supported in
Linux.
The Microsoft Antimalware Client and Service is installed by default in a disabled state in all supported Azure
guest operating system families in the Cloud Services platform. The Microsoft Antimalware Client and Service is
not installed by default in the Virtual Machines platform and is available as an optional feature through the
Azure portal and Visual Studio Virtual Machine configuration under Security Extensions.
When using Azure App Service on Windows, the underlying service that hosts the web app has Microsoft
Antimalware enabled on it. This is used to protect Azure App Service infrastructure and does not run on
customer content.
NOTE
Microsoft Defender for Cloud is the built-in Antimalware enabled in Windows Server 2016. The Microsoft Defender for
Cloud Interface is also enabled by default on some Windows Server 2016 SKU's see here for more information. The Azure
VM Antimalware extension can still be added to a Windows Server 2016 Azure VM with Microsoft Defender for Cloud,
but in this scenario the extension will apply any optional configuration policies to be used by Microsoft Defender for
Cloud, the extension will not deploy any additional antimalware services. You can read more about this update here.
5. Provide a Name , Username , Password , and create a new resource group or choose an existing resource
group.
6. Select Ok .
7. Choose a vm size.
8. In the next section, make the appropriate choices for your needs select the Extensions section.
9. Select Add extension
10. Under New resource , choose Microsoft Antimalware .
11. Select Create
12. In the Install extension section file, locations, and process exclusions can be configured as well as other
scan options. Choose Ok .
13. Choose Ok .
14. Back in the Settings section, choose Ok .
15. In the Create screen, choose Ok .
See this Azure Resource Manager template for deployment of Antimalware VM extension for Windows.
Deployment using the Visual Studio virtual machine configuration
To enable and configure the Microsoft Antimalware service using Visual Studio:
1. Connect to Microsoft Azure in Visual Studio.
2. Choose your Virtual Machine in the Vir tual Machines node in Ser ver Explorer
5. To customize the default Antimalware configuration, select (highlight) the Antimalware extension in the
installed extensions list and click Configure .
6. Replace the default Antimalware configuration with your custom configuration in supported JSON
format in the public configuration textbox and click OK.
7. Click the Update button to push the configuration updates to your Virtual Machine.
NOTE
The Visual Studio Virtual Machines configuration for Antimalware supports only JSON format configuration. The
Antimalware JSON configuration settings template is included in the Microsoft Antimalware For Azure - Code Samples,
showing the supported Antimalware configuration settings.
Deployment Using PowerShell cmdlets
An Azure application or service can enable and configure Microsoft Antimalware for Azure Virtual Machines
using PowerShell cmdlets.
To enable and configure Microsoft Antimalware using PowerShell cmdlets:
1. Set up your PowerShell environment - Refer to the documentation at https://github.com/Azure/azure-
powershell
2. Use the Set-AzureVMMicrosoftAntimalwareExtension cmdlet to enable and configure Microsoft Antimalware
for your Virtual Machine.
NOTE
The Azure Virtual Machines configuration for Antimalware supports only JSON format configuration. The Antimalware
JSON configuration settings template is included in the Microsoft Antimalware For Azure - Code Samples, showing the
supported Antimalware configuration settings.
Enable and configure Antimalware using PowerShell cmdlets for Azure Resource Manager VMs
To enable and configure Microsoft Antimalware for Azure Resource Manager VMs using using PowerShell
cmdlets:
1. Set up your PowerShell environment using this documentation on GitHub.
2. Use the Set-AzureRmVMExtension cmdlet to enable and configure Microsoft Antimalware for your VM.
The following code samples are available:
Deploy Microsoft Antimalware on ARM VMs
Add Microsoft Antimalware to Azure Service Fabric Clusters
Enable and configure Antimalware to Azure Cloud Service Extended Support (CS -ES ) using PowerShell
cmdlets
To enable and configure Microsoft Antimalware using PowerShell cmdlets:
1. Set up your PowerShell environment - Refer to the documentation at https://github.com/Azure/azure-
powershell
2. Use the New-AzCloudServiceExtensionObject cmdlet to enable and configure Microsoft Antimalware for
your Cloud Service VM.
The following code sample is available:
Add Microsoft Antimalware to Azure Cloud Service using Extended Support(CS-ES)
Enable and configure Antimalware using PowerShell cmdlets for Azure Arc-enabled servers
To enable and configure Microsoft Antimalware for Azure Arc-enabled servers using PowerShell cmdlets:
1. Set up your PowerShell environment using this documentation on GitHub.
2. Use the New-AzConnectedMachineExtension cmdlet to enable and configure Microsoft Antimalware for your
Arc-enabled servers.
The following code samples are available:
Add Microsoft Antimalware for Azure Arc-enabled servers
Next steps
See code samples to enable and configure Microsoft Antimalware for Azure Resource Manager (ARM) virtual
machines.
Enable and configure Microsoft Antimalware for
Azure Resource Manager VMs
12/12/2021 • 4 minutes to read • Edit Online
You can enable and configure Microsoft Antimalware for Azure Resource Manager VMs. This article provides
code samples using PowerShell cmdlets.
# Script to add Microsoft Antimalware extension to VM Scale Set(VMSS) and Service Fabric Cluster(in turn it
used VMSS)
# Login to your Azure Resource Manager Account and select the Subscription to use
Login-AzureRmAccount
# Specify your subscription ID
$subscriptionId="SUBSCRIPTION ID HERE"
Select-AzureRmSubscription -SubscriptionId $subscriptionId
# Specify location, resource group, and VM Scaleset for the extension
$location = "LOCATION HERE" # eg., “West US or Southeast Asia” or “Central US”
$resourceGroupName = "RESOURCE GROUP NAME HERE"
$vmScaleSetName = "YOUR VM SCALE SET NAME"
# }’;
NOTE
Before executing this code sample, you must uncomment the variables and provide appropriate values.
#Before using Azure PowerShell to manage VM extensions on your hybrid server managed by Azure Arc-enabled
servers, you need to install the Az.ConnectedMachine module. Run the following command on your Azure Arc-
enabled server:
install-module -Name Az.ConnectedMachine
Import-Module -name Az.ConnectedMachine
Next steps
Learn more about Microsoft Antimalware for Azure.
Azure Virtual Machines security overview
12/12/2021 • 7 minutes to read • Edit Online
This article provides an overview of the core Azure security features that can be used with virtual machines.
You can use Azure Virtual Machines to deploy a wide range of computing solutions in an agile way. The service
supports Microsoft Windows, Linux, Microsoft SQL Server, Oracle, IBM, SAP, and Azure BizTalk Services. So you
can deploy any workload and any language on nearly any operating system.
An Azure virtual machine gives you the flexibility of virtualization without having to buy and maintain the
physical hardware that runs the virtual machine. You can build and deploy your applications with the assurance
that your data is protected and safe in highly secure datacenters.
With Azure, you can build security-enhanced, compliant solutions that:
Protect your virtual machines from viruses and malware.
Encrypt your sensitive data.
Secure network traffic.
Identify and detect threats.
Meet compliance requirements.
Antimalware
With Azure, you can use antimalware software from security vendors such as Microsoft, Symantec, Trend Micro,
and Kaspersky. This software helps protect your virtual machines from malicious files, adware, and other threats.
Microsoft Antimalware for Azure Cloud Services and Virtual Machines is a real-time protection capability that
helps identify and remove viruses, spyware, and other malicious software. Microsoft Antimalware for Azure
provides configurable alerts when known malicious or unwanted software attempts to install itself or run on
your Azure systems.
Microsoft Antimalware for Azure is a single-agent solution for applications and tenant environments. It's
designed to run in the background without human intervention. You can deploy protection based on the needs
of your application workloads, with either basic secure-by-default or advanced custom configuration, including
antimalware monitoring.
Learn more about Microsoft Antimalware for Azure and the core features available.
Learn more about antimalware software to help protect your virtual machines:
Deploying Antimalware Solutions on Azure Virtual Machines
How to install and configure Trend Micro Deep Security as a service on a Windows VM
How to install and configure Symantec Endpoint Protection on a Windows VM
Security solutions in the Azure Marketplace
For even more powerful protection, consider using Windows Defender Advanced Threat Protection. With
Windows Defender ATP, you get:
Attack surface reduction
Next generation protection
Endpoint protection and response
Automated investigation and remediation
Secure score
Advanced hunting
Management and APIs
Microsoft Threat Protection
Learn more:
Get Started with WDATP
Overview of WDATP capabilities
Virtual networking
Virtual machines need network connectivity. To support that requirement, Azure requires virtual machines to be
connected to an Azure virtual network.
An Azure virtual network is a logical construct built on top of the physical Azure network fabric. Each logical
Azure virtual network is isolated from all other Azure virtual networks. This isolation helps insure that network
traffic in your deployments is not accessible to other Microsoft Azure customers.
Learn more:
Azure network security overview
Virtual Network overview
Networking features and partnerships for enterprise scenarios
Compliance
Azure Virtual Machines is certified for FISMA, FedRAMP, HIPAA, PCI DSS Level 1, and other key compliance
programs. This certification makes it easier for your own Azure applications to meet compliance requirements
and for your business to address a wide range of domestic and international regulatory requirements.
Learn more:
Microsoft Trust Center: Compliance
Trusted Cloud: Microsoft Azure Security, Privacy, and Compliance
Confidential Computing
While confidential computing is not technically part of virtual machine security, the topic of virtual machine
security belongs to the higher-level subject of "compute" security. Confidential computing belongs within the
category of "compute" security.
Confidential computing ensures that when data is "in the clear," which is required for efficient processing, the
data is protected inside a Trusted Execution Environment
https://en.wikipedia.org/wiki/Trusted_execution_environment (TEE - also known as an enclave), an example of
which is shown in the figure below.
TEEs ensure there is no way to view data or the operations inside from the outside, even with a debugger. They
even ensure that only authorized code is permitted to access data. If the code is altered or tampered, the
operations are denied and the environment disabled. The TEE enforces these protections throughout the
execution of code within it.
Learn more:
Introducing Azure confidential computing
Azure confidential computing
Next steps
Learn about security best practices for VMs and operating systems.
Security best practices for IaaS workloads in Azure
12/12/2021 • 12 minutes to read • Edit Online
This article describes security best practices for VMs and operating systems.
The best practices are based on a consensus of opinion, and they work with current Azure platform capabilities
and feature sets. Because opinions and technologies can change over time, this article will be updated to reflect
those changes.
In most infrastructure as a service (IaaS) scenarios, Azure virtual machines (VMs) are the main workload for
organizations that use cloud computing. This fact is evident in hybrid scenarios where organizations want to
slowly migrate workloads to the cloud. In such scenarios, follow the general security considerations for IaaS, and
apply security best practices to all your VMs.
NOTE
To improve the security of Linux VMs on Azure, you can integrate with Azure AD authentication. When you use Azure AD
authentication for Linux VMs, you centrally control and enforce policies that allow or deny access to the VMs.
NOTE
We recommend that you consolidate VMs with the same lifecycle into the same resource group. By using resource
groups, you can deploy, monitor, and roll up billing costs for your resources.
Organizations that control VM access and setup improve their overall VM security.
Monitor VM performance
Resource abuse can be a problem when VM processes consume more resources than they should. Performance
issues with a VM can lead to service disruption, which violates the security principle of availability. This is
particularly important for VMs that are hosting IIS or other web servers, because high CPU or memory usage
might indicate a denial of service (DoS) attack. It’s imperative to monitor VM access not only reactively while an
issue is occurring, but also proactively against baseline performance as measured during normal operation.
We recommend that you use Azure Monitor to gain visibility into your resource’s health. Azure Monitor features:
Resource diagnostic log files: Monitors your VM resources and identifies potential issues that might
compromise performance and availability.
Azure Diagnostics extension: Provides monitoring and diagnostics capabilities on Windows VMs. You can
enable these capabilities by including the extension as part of the Azure Resource Manager template.
Organizations that don't monitor VM performance can’t determine whether certain changes in performance
patterns are normal or abnormal. A VM that’s consuming more resources than normal might indicate an attack
from an external resource or a compromised process running in the VM.
Next steps
See Azure security best practices and patterns for more security best practices to use when you’re designing,
deploying, and managing your cloud solutions by using Azure.
The following resources are available to provide more general information about Azure security and related
Microsoft services:
Azure Security Team Blog - for up to date information on the latest in Azure Security
Microsoft Security Response Center - where Microsoft security vulnerabilities, including issues with Azure,
can be reported or via email to [email protected]
Security Recommendations for Azure Marketplace
Images
12/12/2021 • 3 minutes to read • Edit Online
Your image must meet these security configuration recommendations. This helps maintain a high level of
security for partner solution images in the Azure Marketplace.
Always run a security vulnerability detection on your image prior to submitting. If you detect a security
vulnerability in your own published image, you must inform your customers in a timely manner of both the
vulnerability and how to correct it.
Security Install all the latest security patches for the Linux
distribution.
Security Remove all sensitive information from the VHD image, such
as test SSH keys, known hosts file, log files, and unnecessary
certificates.
Networking Include the SSH server by default. Set SSH keep alive to sshd
config with the following option: ClientAliveInterval 180.
C AT EGO RY C H EC K
Deployment Ensure Azure Support can provide our partners with serial
console output when needed and provide adequate timeout
for OS disk mounting from cloud storage. Add the following
parameters to the image Kernel Boot Line:
console=ttyS0 earlyprintk=ttyS0 rootdelay=300 .
Security Use a secure OS base image. The VHD used for the source of
any image based on Windows Server must be from the
Windows Server OS images provided through Microsoft
Azure.
Even if your organization does not have images in the Azure marketplace, consider checking your Windows and
Linux image configurations against these recommendations.
Azure encryption overview
12/12/2021 • 12 minutes to read • Edit Online
This article provides an overview of how encryption is used in Microsoft Azure. It covers the major areas of
encryption, including encryption at rest, encryption in flight, and key management with Azure Key Vault. Each
section includes links to more detailed information.
Next steps
Azure security overview
Azure network security overview
Azure database security overview
Azure virtual machines security overview
Data encryption at rest
Data security and encryption best practices
Double encryption
12/12/2021 • 2 minutes to read • Edit Online
Double encryption is where two or more independent layers of encryption are enabled to protect against
compromises of any one layer of encryption. Using two layers of encryption mitigates threats that come with
encrypting data. For example:
Configuration errors in the data encryption
Implementation errors in the encryption algorithm
Compromise of a single encryption key
Azure provides double encryption for data at rest and data in transit.
Data at rest
Microsoft’s approach to enabling two layers of encryption for data at rest is:
Disk encr yption using customer-managed keys . You provide your own key for disk encryption. You can
bring your own keys to your Key Vault (BYOK – Bring Your Own Key), or generate new keys in Azure Key
Vault to encrypt the desired resources.
Infrastructure encr yption using platform-managed keys . By default, disks are automatically encrypted
at rest using platform-managed encryption keys.
Data in transit
Microsoft’s approach to enabling two layers of encryption for data in transit is:
Transit encr yption using Transpor t Layer Security (TLS) 1.2 to protect data when it’s traveling
between the cloud ser vices and you . All traffic leaving a datacenter is encrypted in transit, even if the
traffic destination is another domain controller in the same region. TLS 1.2 is the default security protocol
used. TLS provides strong authentication, message privacy, and integrity (enabling detection of message
tampering, interception, and forgery), interoperability, algorithm flexibility, and ease of deployment and use.
Additional layer of encr yption provided at the infrastructure layer . A data-link layer encryption
method using the IEEE 802.1AE MAC Security Standards (also known as MACsec) is applied from point-to-
point across the underlying network hardware. Whenever Azure Customer traffic moves between
datacenters-- outside physical boundaries not controlled by Microsoft (or on behalf of Microsoft)-- The
packets are encrypted and decrypted on the devices before being sent, preventing physical “man-in-the-
middle” or snooping/wiretapping attacks. Because this technology is integrated on the network hardware
itself, it provides line rate encryption on the network hardware with no measurable link latency increase. This
MACsec encryption is on by default for all Azure traffic traveling within a region or between regions, and no
action is required on customers’ part to enable.
Next steps
Learn how encryption is used in Azure.
Azure TLS certificate changes
12/12/2021 • 3 minutes to read • Edit Online
Microsoft is updating Azure services to use TLS certificates from a different set of Root Certificate Authorities
(CAs). This change is being made because the current CA certificates do not comply with one of the CA/Browser
Forum Baseline requirements and will be revoked on February 15, 2021.
IMPORTANT
Customers may need to update their application(s) after this change to prevent connectivity failures when attempting to
connect to Azure Storage. https://techcommunity.microsoft.com/t5/azure-storage/azure-storage-tls-critical-changes-are-
almost-here-and-why-you/ba-p/2741581
What is changing?
Today, most of the TLS certificates used by Azure services chain up to the following Root CA:
TLS certificates used by Azure services will chain up to one of the following Root CAs:
This article describes best practices for data security and encryption.
The best practices are based on a consensus of opinion, and they work with current Azure platform capabilities
and feature sets. Opinions and technologies change over time and this article is updated on a regular basis to
reflect those changes.
Protect data
To help protect data in the cloud, you need to account for the possible states in which your data can occur, and
what controls are available for that state. Best practices for Azure data security and encryption relate to the
following data states:
At rest: This includes all information storage objects, containers, and types that exist statically on physical
media, whether magnetic or optical disk.
In transit: When data is being transferred between components, locations, or programs, it’s in transit.
Examples are transfer over the network, across a service bus (from on-premises to cloud and vice-versa,
including hybrid connections such as ExpressRoute), or during an input/output process.
NOTE
If a user has contributor permissions (Azure RBAC) to a key vault management plane, they can grant themselves access to
the data plane by setting a key vault access policy. We recommend that you tightly control who has contributor access to
your key vaults, to ensure that only authorized persons can access and manage your key vaults, keys, secrets, and
certificates.
Because the vast majority of attacks target the end user, the endpoint becomes one of the primary points of
attack. An attacker who compromises the endpoint can use the user’s credentials to gain access to the
organization’s data. Most endpoint attacks take advantage of the fact that users are administrators in their local
workstations.
Best practice : Use a secure management workstation to protect sensitive accounts, tasks, and data.
Detail : Use a privileged access workstation to reduce the attack surface in workstations. These secure
management workstations can help you mitigate some of these attacks and ensure that your data is safer.
Best practice : Ensure endpoint protection.
Detail : Enforce security policies across all devices that are used to consume data, regardless of the data location
(cloud or on-premises).
Next steps
See Azure security best practices and patterns for more security best practices to use when you’re designing,
deploying, and managing your cloud solutions by using Azure.
The following resources are available to provide more general information about Azure security and related
Microsoft services:
Azure Security Team Blog - for up to date information on the latest in Azure Security
Microsoft Security Response Center - where Microsoft security vulnerabilities, including issues with Azure,
can be reported or via email to [email protected]
Azure Data Encryption at rest
12/12/2021 • 11 minutes to read • Edit Online
Microsoft Azure includes tools to safeguard data according to your company's security and compliance needs.
This paper focuses on:
How data is protected at rest across Microsoft Azure
Discusses the various components taking part in the data protection implementation,
Reviews pros and cons of the different key management protection approaches.
Encryption at Rest is a common security requirement. In Azure, organizations can encrypt data at rest without
the risk or cost of a custom key management solution. Organizations have the option of letting Azure
completely manage Encryption at Rest. Additionally, organizations have various options to closely manage
encryption or encryption keys.
Next steps
See data encryption models to learn more about service-managed keys and customer-managed keys.
Learn how Azure uses double encryption to mitigate threats that come with encrypting data.
Learn what Microsoft does to ensure platform integrity and security of hosts traversing the hardware and
firmware build-out, integration, operationalization, and repair pipelines.
Data encryption models
12/12/2021 • 10 minutes to read • Edit Online
An understanding of the various encryption models and their pros and cons is essential for understanding how
the various resource providers in Azure implement encryption at Rest. These definitions are shared across all
resource providers in Azure to ensure common language and taxonomy.
There are three scenarios for server-side encryption:
Server-side encryption using Service-Managed keys
Azure Resource Providers perform the encryption and decryption operations
Microsoft manages the keys
Full cloud functionality
Server-side encryption using customer-managed keys in Azure Key Vault
Azure Resource Providers perform the encryption and decryption operations
Customer controls keys via Azure Key Vault
Full cloud functionality
Server-side encryption using customer-managed keys on customer-controlled hardware
Azure Resource Providers perform the encryption and decryption operations
Customer controls keys on customer-controlled hardware
Full cloud functionality
Server-side Encryption models refer to encryption that is performed by the Azure service. In that model, the
Resource Provider performs the encrypt and decrypt operations. For example, Azure Storage may receive data
in plain text operations and will perform the encryption and decryption internally. The Resource Provider might
use encryption keys that are managed by Microsoft or by the customer depending on the provided
configuration.
Each of the server-side encryption at rest models implies distinctive characteristics of key management. This
includes where and how encryption keys are created, and stored as well as the access models and the key
rotation procedures.
For client-side encryption, consider the following:
Azure services cannot see decrypted data
Customers manage and store keys on-premises (or in other secure stores). Keys are not available to Azure
services
Reduced cloud functionality
The supported encryption models in Azure split into two main groups: "Client Encryption" and "Server-side
Encryption" as mentioned previously. Independent of the encryption at rest model used, Azure services always
recommend the use of a secure transport such as TLS or HTTPS. Therefore, encryption in transport should be
addressed by the transport protocol and should not be a major factor in determining which encryption at rest
model to use.
NOTE
For more detail on Key Vault authorization see the secure your key vault page in the Azure Key Vault documentation.
Advantages
Full control over the keys used – encryption keys are managed in the customer's Key Vault under the
customer's control.
Ability to encrypt multiple services to one master
Can segregate key management from overall management model for the service
Can define service and key location across regions
Disadvantages
Customer has full responsibility for key access management
Customer has full responsibility for key lifecycle management
Additional Setup & configuration overhead
Supporting services
The Azure services that support each encryption model:
P RO DUC T, F EAT URE, O R SERVER- SIDE USIN G SERVER- SIDE USIN G C L IEN T - SIDE USIN G
SERVIC E SERVIC E- M A N A GED K EY C USTO M ER- M A N A GED K EY C L IEN T - M A N A GED K EY
AI and Machine
Learning
Analytics
Containers
Compute
Databases
Identity
Integration
Management and
Governance
Media
Security
Storage
* This service doesn't persist data. Transient caches, if any, are encrypted with a Microsoft key.
** This service supports storing data in your own Key Vault, Storage Account, or other data persisting service
that already supports Server-Side Encryption with Customer-Managed Key.
Next steps
Learn how encryption is used in Azure.
Learn how Azure uses double encryption to mitigate threats that come with encrypting data.
Azure Disk Encryption for virtual machines and
virtual machine scale sets
12/12/2021 • 2 minutes to read • Edit Online
Azure Disk encryption can be applied to both Linux and Windows virtual machines, as well as to virtual machine
scale sets.
Next steps
Azure encryption overview
Data encryption at rest
Data security and encryption best practices
An overview of Azure SQL Database and SQL
Managed Instance security capabilities
12/12/2021 • 9 minutes to read • Edit Online
APPLIES TO: Azure SQL Database Azure SQL Managed Instance Azure Synapse Analytics
This article outlines the basics of securing the data tier of an application using Azure SQL Database, Azure SQL
Managed Instance, and Azure Synapse Analytics. The security strategy described follows the layered defense-in-
depth approach as shown in the picture below, and moves from the outside in:
Network security
Microsoft Azure SQL Database, SQL Managed Instance, and Azure Synapse Analytics provide a relational
database service for cloud and enterprise applications. To help protect customer data, firewalls prevent network
access to the server until access is explicitly granted based on IP address or Azure Virtual network traffic origin.
IP firewall rules
IP firewall rules grant access to databases based on the originating IP address of each request. For more
information, see Overview of Azure SQL Database and Azure Synapse Analytics firewall rules.
Virtual network firewall rules
Virtual network service endpoints extend your virtual network connectivity over the Azure backbone and enable
Azure SQL Database to identify the virtual network subnet that traffic originates from. To allow traffic to reach
Azure SQL Database, use the SQL service tags to allow outbound traffic through Network Security Groups.
Virtual network rules enable Azure SQL Database to only accept communications that are sent from selected
subnets inside a virtual network.
NOTE
Controlling access with firewall rules does not apply to SQL Managed Instance . For more information about the
networking configuration needed, see Connecting to a managed instance
Access management
IMPORTANT
Managing databases and servers within Azure is controlled by your portal user account's role assignments. For more
information on this article, see Azure role-based access control in the Azure portal.
Authentication
Authentication is the process of proving the user is who they claim to be. Azure SQL Database and SQL
Managed Instance support two types of authentication:
SQL authentication :
SQL authentication refers to the authentication of a user when connecting to Azure SQL Database or
Azure SQL Managed Instance using username and password. A ser ver admin login with a username
and password must be specified when the server is being created. Using these credentials, a ser ver
admin can authenticate to any database on that server or instance as the database owner. After that,
additional SQL logins and users can be created by the server admin, which enable users to connect using
username and password.
Azure Active Director y authentication :
Azure Active Directory authentication is a mechanism of connecting to Azure SQL Database, Azure SQL
Managed Instance and Azure Synapse Analytics by using identities in Azure Active Directory (Azure AD).
Azure AD authentication allows administrators to centrally manage the identities and permissions of
database users along with other Azure services in one central location. This includes the minimization of
password storage and enables centralized password rotation policies.
A server admin called the Active Director y administrator must be created to use Azure AD
authentication with SQL Database. For more information, see Connecting to SQL Database By Using
Azure Active Directory Authentication. Azure AD authentication supports both managed and federated
accounts. The federated accounts support Windows users and groups for a customer domain federated
with Azure AD.
Additional Azure AD authentication options available are Active Directory Universal Authentication for
SQL Server Management Studio connections including Multi-Factor Authentication and Conditional
Access.
IMPORTANT
Managing databases and servers within Azure is controlled by your portal user account's role assignments. For more
information on this article, see Azure role-based access control in Azure portal. Controlling access with firewall rules does
not apply to SQL Managed Instance. Please see the following article on connecting to a managed instance for more
information about the networking configuration needed.
Authorization
Authorization refers to controlling access on resources and commands within a database. This is done by
assigning permissions to a user within a database in Azure SQL Database or Azure SQL Managed Instance.
Permissions are ideally managed by adding user accounts to database roles and assigning database-level
permissions to those roles. Alternatively an individual user can also be granted certain object-level permissions.
For more information, see Logins and users
As a best practice, create custom roles when needed. Add users to the role with the least privileges required to
do their job function. Do not assign permissions directly to users. The server admin account is a member of the
built-in db_owner role, which has extensive permissions and should only be granted to few users with
administrative duties. To further limit the scope of what a user can do, the EXECUTE AS can be used to specify
the execution context of the called module. Following these best practices is also a fundamental step towards
Separation of Duties.
Row-level security
Row-Level Security enables customers to control access to rows in a database table based on the characteristics
of the user executing a query (for example, group membership or execution context). Row-Level Security can
also be used to implement custom Label-based security concepts. For more information, see Row-Level security.
Threat protection
SQL Database and SQL Managed Instance secure customer data by providing auditing and threat detection
capabilities.
SQL auditing in Azure Monitor logs and Event Hubs
SQL Database and SQL Managed Instance auditing tracks database activities and helps maintain compliance
with security standards by recording database events to an audit log in a customer-owned Azure storage
account. Auditing allows users to monitor ongoing database activities, as well as analyze and investigate
historical activity to identify potential threats or suspected abuse and security violations. For more information,
see Get started with SQL Database Auditing.
Advanced Threat Protection
Advanced Threat Protection is analyzing your logs to detect unusual behavior and potentially harmful attempts
to access or exploit databases. Alerts are created for suspicious activities such as SQL injection, potential data
infiltration, and brute force attacks or for anomalies in access patterns to catch privilege escalations and
breached credentials use. Alerts are viewed from the Microsoft Defender for Cloud, where the details of the
suspicious activities are provided and recommendations for further investigation given along with actions to
mitigate the threat. Advanced Threat Protection can be enabled per server for an additional fee. For more
information, see Get started with SQL Database Advanced Threat Protection.
Information protection and encryption
Transport Layer Security (Encryption-in-transit)
SQL Database, SQL Managed Instance, and Azure Synapse Analytics secure customer data by encrypting data in
motion with Transport Layer Security (TLS).
SQL Database, SQL Managed Instance, and Azure Synapse Analytics enforce encryption (SSL/TLS) at all times
for all connections. This ensures all data is encrypted "in transit" between the client and server irrespective of
the setting of Encr ypt or TrustSer verCer tificate in the connection string.
As a best practice, recommend that in the connection string used by the application, you specify an encrypted
connection and not trust the server certificate. This forces your application to verify the server certificate and
thus prevents your application from being vulnerable to man in the middle type attacks.
For example when using the ADO.NET driver this is accomplished via Encr ypt=True and
TrustSer verCer tificate=False . If you obtain your connection string from the Azure portal, it will have the
correct settings.
IMPORTANT
Note that some non-Microsoft drivers may not use TLS by default or rely on an older version of TLS (<1.2) in order to
function. In this case the server still allows you to connect to your database. However, we recommend that you evaluate
the security risks of allowing such drivers and application to connect to SQL Database, especially if you store sensitive
data.
For further information about TLS and connectivity, see TLS considerations
Always Encrypted is a feature designed to protect sensitive data stored in specific database columns from access
(for example, credit card numbers, national identification numbers, or data on a need to know basis). This
includes database administrators or other privileged users who are authorized to access the database to
perform management tasks, but have no business need to access the particular data in the encrypted columns.
The data is always encrypted, which means the encrypted data is decrypted only for processing by client
applications with access to the encryption key. The encryption key is never exposed to SQL Database or SQL
Managed Instance and can be stored either in the Windows Certificate Store or in Azure Key Vault.
Dynamic data masking
Dynamic data masking limits sensitive data exposure by masking it to non-privileged users. Dynamic data
masking automatically discovers potentially sensitive data in Azure SQL Database and SQL Managed Instance
and provides actionable recommendations to mask these fields, with minimal impact to the application layer. It
works by obfuscating the sensitive data in the result set of a query over designated database fields, while the
data in the database is not changed. For more information, see Get started with SQL Database and SQL
Managed Instance dynamic data masking.
Security management
Vulnerability assessment
Vulnerability assessment is an easy to configure service that can discover, track, and help remediate potential
database vulnerabilities with the goal to proactively improve overall database security. Vulnerability assessment
(VA) is part of the Microsoft Defender for SQL offering, which is a unified package for advanced SQL security
capabilities. Vulnerability assessment can be accessed and managed via the central Microsoft Defender for SQL
portal.
Data discovery and classification
Data discovery and classification (currently in preview) provides basic capabilities built into Azure SQL Database
and SQL Managed Instance for discovering, classifying and labeling the sensitive data in your databases.
Discovering and classifying your utmost sensitive data (business/financial, healthcare, personal data, etc.) can
play a pivotal role in your organizational Information protection stature. It can serve as infrastructure for:
Various security scenarios, such as monitoring (auditing) and alerting on anomalous access to sensitive data.
Controlling access to, and hardening the security of, databases containing highly sensitive data.
Helping meet data privacy standards and regulatory compliance requirements.
For more information, see Get started with data discovery and classification.
Compliance
In addition to the above features and functionality that can help your application meet various security
requirements, Azure SQL Database also participates in regular audits, and has been certified against a number
of compliance standards. For more information, see the Microsoft Azure Trust Center where you can find the
most current list of SQL Database compliance certifications.
Next steps
For a discussion of the use of logins, user accounts, database roles, and permissions in SQL Database and
SQL Managed Instance, see Manage logins and user accounts.
For a discussion of database auditing, see auditing.
For a discussion of threat detection, see threat detection.
Playbook for addressing common security
requirements with Azure SQL Database and Azure
SQL Managed Instance
12/12/2021 • 39 minutes to read • Edit Online
Authentication
Authentication is the process of proving the user is who they claim to be. Azure SQL Database and SQL
Managed Instance support two types of authentication:
SQL authentication
Azure Active Directory authentication
NOTE
Azure Active Directory authentication may not be supported for all tools and 3rd party applications.
NOTE
In SQL Managed Instance, you can also create logins that map to Azure AD principals in the master database. See
CREATE LOGIN (Transact-SQL).
Using Azure AD groups simplifies permission management and both the group owner, and the resource
owner can add/remove members to/from the group.
Create a separate group for Azure AD administrators for each server or managed instance.
See the article, Provision an Azure Active Directory administrator for your server.
Monitor Azure AD group membership changes using Azure AD audit activity reports.
For a managed instance, a separate step is required to create an Azure AD admin.
See the article, Provision an Azure Active Directory administrator for your managed instance.
NOTE
Azure AD authentication is recorded in Azure SQL audit logs, but not in Azure AD sign-in logs.
Azure RBAC permissions granted in Azure do not apply to Azure SQL Database or SQL Managed Instance permissions.
Such permissions must be created/mapped manually using existing SQL permissions.
On the client-side, Azure AD authentication needs access to the internet or via User Defined Route (UDR) to a virtual
network.
The Azure AD access token is cached on the client side and its lifetime depends on token configuration. See the article,
Configurable token lifetimes in Azure Active Directory
For guidance on troubleshooting Azure AD Authentication issues, see the following blog: Troubleshooting Azure AD.
Azure AD Multi-Factor Authentication helps provides additional security by requiring more than one form of
authentication.
How to implement :
Enable Multi-Factor Authentication in Azure AD using Conditional Access and use interactive
authentication.
The alternative is to enable Multi-Factor Authentication for the entire Azure AD or AD domain.
Best practices :
Activate Conditional Access in Azure AD (requires Premium subscription).
See the article, Conditional Access in Azure AD.
Create Azure AD group(s) and enable Multi-Factor Authentication policy for selected groups using Azure
AD Conditional Access.
See the article, Plan Conditional Access Deployment.
Multi-Factor Authentication can be enabled for the entire Azure AD or for the whole Active Directory
federated with Azure AD.
Use Azure AD Interactive authentication mode for Azure SQL Database and Azure SQL Managed Instance
where a password is requested interactively, followed by Multi-Factor Authentication:
Use Universal Authentication in SSMS. See the article, Using Multi-factor Azure AD authentication with
Azure SQL Database, SQL Managed Instance, Azure Synapse (SSMS support for Multi-Factor
Authentication).
Use Interactive Authentication supported in SQL Server Data Tools (SSDT). See the article, Azure Active
Directory support in SQL Server Data Tools (SSDT).
Use other SQL tools supporting Multi-Factor Authentication.
SSMS Wizard support for export/extract/deploy database
sqlpackage.exe: option '/ua'
sqlcmd Utility: option -G (interactive)
bcp Utility: option -G (interactive)
Implement your applications to connect to Azure SQL Database or Azure SQL Managed Instance using
interactive authentication with Multi-Factor Authentication support.
See the article, Connect to Azure SQL Database with Azure AD Multi-Factor Authentication.
NOTE
This authentication mode requires user-based identities. In cases where a trusted identity model is used that is
bypassing individual Azure AD user authentication (e.g. using managed identity for Azure resources), Multi-Factor
Authentication does not apply.
Password-based authentication methods are a weaker form of authentication. Credentials can be compromised
or mistakenly given away.
How to implement :
Use an Azure AD integrated authentication that eliminates the use of passwords.
Best practices :
Use single sign-on authentication using Windows credentials. Federate the on-premises AD domain with
Azure AD and use integrated Windows authentication (for domain-joined machines with Azure AD).
See the article, SSMS support for Azure AD Integrated authentication.
Minimize the use of password-based authentication for applications
Mentioned in: OSA Practice #4, ISO Access Control (AC)
How to implement :
Enable Azure Managed Identity. You can also use integrated or certificate-based authentication.
Best practices :
Use managed identities for Azure resources.
System-assigned managed identity
User-assigned managed identity
Use Azure SQL Database from Azure App Service with managed identity (without code changes)
Use cert-based authentication for an application.
See this code sample.
Use Azure AD authentication for integrated federated domain and domain-joined machine (see section
above).
See the sample application for integrated authentication.
Protect passwords and secrets
For cases when passwords aren't avoidable, make sure they're secured.
How to implement :
Use Azure Key Vault to store passwords and secrets. Whenever applicable, use Multi-Factor Authentication
for Azure SQL Database with Azure AD users.
Best practices :
If avoiding passwords or secrets aren't possible, store user passwords and application secrets in Azure
Key Vault and manage access through Key Vault access policies.
Various app development frameworks may also offer framework-specific mechanisms for protecting
secrets in the app. For example: ASP.NET core app.
Use SQL authentication for legacy applications
SQL authentication refers to the authentication of a user when connecting to Azure SQL Database or SQL
Managed Instance using username and password. A login will need to be created in each server or managed
instance, and a user created in each database.
How to implement :
Use SQL authentication.
Best practices :
As a server or instance admin, create logins and users. Unless using contained database users with
passwords, all passwords are stored in master database.
See the article, Controlling and granting database access to SQL Database, SQL Managed Instance and
Azure Synapse Analytics.
Access management
Access management (also called Authorization) is the process of controlling and managing authorized users'
access and privileges to Azure SQL Database or SQL Managed Instance.
Implement principle of least privilege
Mentioned in: FedRamp controls AC-06, NIST: AC-6, OSA Practice #3
The principle of least privilege states that users shouldn't have more privileges than needed to complete their
tasks. For more information, see the article Just enough administration.
How to implement :
Assign only the necessary permissions to complete the required tasks:
In SQL Databases:
Use granular permissions and user-defined database roles (or server-roles in Managed Instance):
1. Create the required roles
CREATE ROLE
CREATE SERVER ROLE
2. Create required users
CREATE USER
3. Add users as members to roles
ALTER ROLE
ALTER SERVER ROLE
4. Then assign permissions to roles.
GRANT
Make sure to not assign users to unnecessary roles.
In Azure Resource Manager:
Use built-in roles if available or Azure custom roles and assign the necessary permissions.
Azure built-in roles
Azure custom roles
Best practices :
The following best practices are optional but will result in better manageability and supportability of your
security strategy:
If possible, start with the least possible set of permissions and start adding permissions one by one if
there's a real necessity (and justification) – as opposed to the opposite approach: taking permissions away
step by step.
Refrain from assigning permissions to individual users. Use roles (database or server roles) consistently
instead. Roles helps greatly with reporting and troubleshooting permissions. (Azure RBAC only supports
permission assignment via roles.)
Create and use custom roles with the exact permissions needed. Typical roles that are used in practice:
Security deployment
Administrator
Developer
Support personnel
Auditor
Automated processes
End user
Use built-in roles only when the permissions of the roles match exactly the needed permissions for the
user. You can assign users to multiple roles.
Remember that permissions in the database engine can be applied within the following scopes (the
smaller the scope, the smaller the impact of the granted permissions):
Server (special roles in master database) in Azure
Database
Schema
It is a best practice to use schemas to grant permissions inside a database. (also see: Schema-
design: Recommendations for Schema design with security in mind)
Object (table, view, procedure, etc.)
NOTE
It is not recommended to apply permissions on the object level because this level adds unnecessary complexity to
the overall implementation. If you decide to use object-level permissions, those should be clearly documented. The
same applies to column-level-permissions, which are even less recommendable for the same reasons. Also be
aware that by default a table-level DENY does not override a column-level GRANT. This would require the
common criteria compliance Server Configuration to be activated.
Perform regular checks using Vulnerability Assessment (VA) to test for too many permissions.
Implement Separation of Duties
Mentioned in: FedRamp: AC-04, NIST: AC-5, ISO: A.6.1.2, PCI 6.4.2, SOC: CM-3, SDL-3
Separation of Duties, also called Segregation of Duties describes the requirement to split sensitive tasks into
multiple tasks that are assigned to different users. Separation of Duties helps prevent data breaches.
How to implement :
Identify the required level of Separation of Duties. Examples:
Between Development/Test and Production environments
Security-wise sensitive tasks vs Database Administrator (DBA) management level tasks vs developer
tasks.
Examples: Auditor, creation of security policy for Role-level Security (RLS), Implementing SQL
Database objects with DDL-permissions.
Identify a comprehensive hierarchy of users (and automated processes) that access the system.
Create roles according to the needed user-groups and assign permissions to roles.
For management-level tasks in Azure portal or via PowerShell-automation use Azure roles. Either find
a built-in role matching the requirement, or create an Azure custom role using the available
permissions
Create Server roles for server-wide tasks (creating new logins, databases) in a managed instance.
Create Database Roles for database-level tasks.
For certain sensitive tasks, consider creating special stored procedures signed by a certificate to execute
the tasks on behalf of the users. One important advantage of digitally signed stored procedures is that if
the procedure is changed, the permissions that were granted to the previous version of the procedure are
immediately removed.
Example: Tutorial: Signing Stored Procedures with a Certificate
Implement Transparent Data Encryption (TDE) with customer-managed keys in Azure Key Vault to enable
Separation of Duties between data owner and security owner.
See the article, Configure customer-managed keys for Azure Storage encryption from the Azure
portal.
To ensure that a DBA can't see data that is considered highly sensitive and can still do DBA tasks, you can
use Always Encrypted with role separation.
See the articles, Overview of Key Management for Always Encrypted, Key Provisioning with Role
Separation, and Column Master Key Rotation with Role Separation.
In cases where the use of Always Encrypted isn't feasible, or at least not without major costs and efforts
that may even render the system near unusable, compromises can be made and mitigated through the
use of compensating controls such as:
Human intervention in processes.
Audit trails – for more information on Auditing, see, Audit critical security events.
Best practices :
Make sure that different accounts are used for Development/Test and Production environments. Different
accounts help to comply with separation of Test and Production systems.
Refrain from assigning permissions to individual users. Use roles (database or server roles) consistently
instead. Having roles helps greatly with reporting and troubleshooting permissions.
Use built-in roles when the permissions match exactly the needed permissions – if the union of all
permissions from multiple built-in roles leads to a 100% match, you can assign multiple roles
concurrently as well.
Create and use user-defined roles when built-in roles grant too many permissions or insufficient
permissions.
Role assignments can also be done temporarily, also known as Dynamic Separation of Duties (DSD),
either within SQL Agent Job steps in T-SQL or using Azure PIM for Azure roles.
Make sure that DBAs don't have access to the encryption keys or key stores, and that Security
Administrators with access to the keys have no access to the database in turn. The use of Extensible Key
Management (EKM) can make this separation easier to achieve. Azure Key Vault can be used to
implement EKM.
Always make sure to have an Audit trail for security-related actions.
You can retrieve the definition of the Azure built-in roles to see the permissions used and create a custom
role based on excerpts and cumulations of these via PowerShell.
Because any member of the db_owner database role can change security settings like Transparent Data
Encryption (TDE), or change the SLO, this membership should be granted with care. However, there are
many tasks that require db_owner privileges. Task like changing any database setting such as changing
DB options. Auditing plays a key role in any solution.
It is not possible to restrict permissions of a db_owner, and therefore prevent an administrative account
from viewing user data. If there's highly sensitive data in a database, Always Encrypted can be used to
safely prevent db_owners or any other DBA from viewing it.
NOTE
Achieving Separation of Duties (SoD) is challenging for security-related or troubleshooting tasks. Other areas like
development and end-user roles are easier to segregate. Most compliance related controls allow the use of alternate
control functions such as Auditing when other solutions aren't practical.
For the readers that want to dive deeper into SoD, we recommend the following resources:
For Azure SQL Database and SQL Managed Instance:
Controlling and granting database access
Engine Separation of Duties for the Application Developer
Separation of Duties
Signing Stored Procedures
For Azure Resource Management:
Azure built-in roles
Azure custom roles
Using Azure AD Privileged Identity Management for elevated access
Perform regular code reviews
Mentioned in: PCI: 6.3.2, SOC: SDL-3
Separation of Duties is not limited to the data in a database, but includes application code. Malicious code can
potentially circumvent security controls. Before deploying custom code to production, it is essential to review
what's being deployed.
How to implement :
Use a database tool like Azure Data Studio that supports source control.
Implement a segregated code deployment process.
Before committing to main branch, a person (other than the author of the code itself) has to inspect the
code for potential elevation of privileges risks as well as malicious data modifications to protect against
fraud and rogue access. This can be done using source control mechanisms.
Best practices :
Standardization: It helps to implement a standard procedure that is to be followed for any code updates.
Vulnerability Assessment contains rules that check for excessive permissions, the use of old encryption
algorithms, and other security problems within a database schema.
Further checks can be done in a QA or test environment using Advanced Threat Protection that scans for
code that is vulnerable to SQL-injection.
Examples of what to look out for:
Creation of a user or changing security settings from within an automated SQL-code-update
deployment.
A stored procedure, which, depending on the parameters provided, updates a monetary value in a cell
in a non-conforming way.
Make sure the person conducting the review is an individual other than the originating code author and
knowledgeable in code-reviews and secure coding.
Be sure to know all sources of code-changes. Code can be in T-SQL Scripts. It can be ad-hoc commands
to be executed or be deployed in forms of Views, Functions, Triggers, and Stored Procedures. It can be
part of SQL Agent Job definitions (Steps). It can also be executed from within SSIS packages, Azure Data
Factory, and other services.
Data protection
Data protection is a set of capabilities for safeguarding important information from compromise by encryption
or obfuscation.
NOTE
Microsoft attests to Azure SQL Database and SQL Managed Instance as being FIPS 140-2 Level 1 compliant. This is done
after verifying the strict use of FIPS 140-2 Level 1 acceptable algorithms and FIPS 140-2 Level 1 validated instances of
those algorithms including consistency with required key lengths, key management, key generation, and key storage. This
attestation is meant to allow our customers to respond to the need or requirement for the use of FIPS 140-2 Level 1
validated instances in the processing of data or delivery of systems or applications. We define the terms "FIPS 140-2 Level
1 compliant" and "FIPS 140-2 Level 1 compliance" used in the above statement to demonstrate their intended
applicability to U.S. and Canadian government use of the different term "FIPS 140-2 Level 1 validated."
Protects your data while data moves between your client and server. Refer to Network Security.
Encrypt data at rest
Mentioned in: OSA Practice #6, ISO Control Family: Cryptography
Encryption at rest is the cryptographic protection of data when it is persisted in database, log, and backup files.
How to implement :
Transparent Database Encryption (TDE) with service managed keys are enabled by default for any databases
created after 2017 in Azure SQL Database and SQL Managed Instance.
In a managed instance, if the database is created from a restore operation using an on-premises server, the
TDE setting of the original database will be honored. If the original database doesn't have TDE enabled, we
recommend that TDE be manually turned on for the managed instance.
Best practices :
Don't store data that requires encryption-at-rest in the master database. The master database can't be
encrypted with TDE.
Use customer-managed keys in Azure Key Vault if you need increased transparency and granular control
over the TDE protection. Azure Key Vault allows the ability to revoke permissions at any time to render
the database inaccessible. You can centrally manage TDE protectors along with other keys, or rotate the
TDE protector at your own schedule using Azure Key Vault.
If you're using customer-managed keys in Azure Key Vault, follow the articles, Guidelines for configuring
TDE with Azure Key Vault and How to configure Geo-DR with Azure Key Vault.
Protect sensitive data in use from high-privileged, unauthorized users
Data in use is the data stored in memory of the database system during the execution of SQL queries. If your
database stores sensitive data, your organization may be required to ensure that high-privileged users are
prevented from viewing sensitive data in your database. High-privilege users, such as Microsoft operators or
DBAs in your organization should be able to manage the database, but prevented from viewing and potentially
exfiltrating sensitive data from the memory of the SQL process or by querying the database.
The policies that determine which data is sensitive and whether the sensitive data must be encrypted in memory
and not accessible to administrators in plaintext, are specific to your organization and compliance regulations
you need to adhere to. Please see the related requirement: Identify and tag sensitive data.
How to implement :
Use Always Encrypted to ensure sensitive data isn't exposed in plaintext in Azure SQL Database or SQL
Managed Instance, even in memory/in use. Always Encrypted protects the data from Database
Administrators (DBAs) and cloud admins (or bad actors who can impersonate high-privileged but
unauthorized users) and gives you more control over who can access your data.
Best practices :
Always Encrypted isn't a substitute to encrypt data at rest (TDE) or in transit (SSL/TLS). Always Encrypted
shouldn't be used for non-sensitive data to minimize performance and functionality impact. Using Always
Encrypted in conjunction with TDE and Transport Layer Security (TLS) is recommended for
comprehensive protection of data at-rest, in-transit, and in-use.
Assess the impact of encrypting the identified sensitive data columns before you deploy Always
Encrypted in a production database. In general, Always Encrypted reduces the functionality of queries on
encrypted columns and has other limitations, listed in Always Encrypted - Feature Details. Therefore, you
may need to rearchitect your application to re-implement the functionality, a query does not support, on
the client side or/and refactor your database schema, including the definitions of stored procedures,
functions, views and triggers. Existing applications may not work with encrypted columns if they do not
adhere to the restrictions and limitations of Always Encrypted. While the ecosystem of Microsoft tools,
products and services supporting Always Encrypted is growing, a number of them do not work with
encrypted columns. Encrypting a column may also impact query performance, depending on the
characteristics of your workload.
Manage Always Encrypted keys with role separation if you're using Always Encrypted to protect data
from malicious DBAs. With role separation, a security admin creates the physical keys. The DBA creates
the column master key and column encryption key metadata objects describing the physical keys in the
database. During this process, the security admin doesn't need access to the database, and the DBA
doesn't need access to the physical keys in plaintext.
See the article, Managing Keys with Role Separation for details.
Store your column master keys in Azure Key Vault for ease of management. Avoid using Windows
Certificate Store (and in general, distributed key store solutions, as opposed central key management
solutions) that make key management hard.
Think carefully through the tradeoffs of using multiple keys (column master key or column encryption
keys). Keep the number of keys small to reduce key management cost. One column master key and one
column encryption key per database is typically sufficient in steady-state environments (not in the middle
of a key rotation). You may need additional keys if you have different user groups, each using different
keys and accessing different data.
Rotate column master keys per your compliance requirements. If you also need to rotate column
encryption keys, consider using online encryption to minimize application downtime.
See the article, Performance and Availability Considerations.
Use deterministic encryption if computations (equality) on data need to be supported. Otherwise, use
randomized encryption. Avoid using deterministic encryption for low-entropy data sets, or data sets with
publicly known distribution.
If you're concerned about third parties accessing your data legally without your consent, ensure that all
application and tools that have access to the keys and data in plaintext run outside of Microsoft Azure
Cloud. Without access to the keys, the third party will have no way of decrypting the data unless they
bypass the encryption.
Always Encrypted doesn't easily support granting temporary access to the keys (and the protected data).
For example, if you need to share the keys with a DBA to allow the DBA to do some cleansing operations
on sensitive and encrypted data. The only way to reliability revoke the access to the data from the DBA
will be to rotate both the column encryption keys and the column master keys protecting the data, which
is an expensive operation.
To access the plaintext values in encrypted columns, a user needs to have access to the Column Master
Key (CMK) that protects columns, which is configured in the key store holding the CMK. The user also
needs to have the VIEW ANY COLUMN MASTER KEY DEFINITION and VIEW ANY COLUMN
ENCRYPTION KEY DEFINITION database permissions.
Control access of application users to sensitive data through encryption
Encryption can be used as a way to ensure that only specific application users who have access to cryptographic
keys can view or update the data.
How to implement :
Use Cell-level Encryption (CLE). See the article, Encrypt a Column of Data for details.
Use Always Encrypted, but be aware of its limitation. The limitations are listed below.
Best practices
When using CLE:
Control access to keys through SQL permissions and roles.
Use AES (AES 256 recommended) for data encryption. Algorithms, such RC4, DES and TripleDES, are
deprecated and shouldn't be used because of known vulnerabilities.
Protect symmetric keys with asymmetric keys/certificates (not passwords) to avoid using 3DES.
Be careful when migrating a database using Cell-Level Encryption via export/import (bacpac files).
See the article, Recommendations for using Cell Level Encryption in Azure SQL Database on how to
prevent losing keys when migrating data, and for other best practice guidance.
Keep in mind that Always Encrypted is primarily designed to protect sensitive data in use from high-privilege
users of Azure SQL Database (cloud operators, DBAs) - see Protect sensitive data in use from high-privileged,
unauthorized users. Be aware of the following challenges when using Always Encrypted to protect data from
application users:
By default, all Microsoft client drivers supporting Always Encrypted maintain a global (one per application)
cache of column encryption keys. Once a client driver acquires a plaintext column encryption key by
contacting a key store holding a column master key, the plaintext column encryption key is cached. This
makes isolating data from users of a multi-user application challenging. If your application impersonates end
users when interacting with a key store (such as Azure Key Vault), after a user's query populates the cache
with a column encryption key, a subsequent query that requires the same key but is triggered by another
user will use the cached key. The driver won't call the key store and it won't check if the second user has a
permission to access the column encryption key. As a result, the user can see the encrypted data even if the
user doesn't have access to the keys. To achieve the isolation of users within a multi-user application, you can
disable column encryption key caching. Disabling caching will cause additional performance overheads, as
the driver will need to contact the key store for each data encryption or decryption operation.
Protect data against unauthorized viewing by application users while preserving data format
Another technique for preventing unauthorized users from viewing data is to obfuscate or mask the data while
preserving data types and formats to ensure that user applications can continue handle and display the data.
How to implement :
Use Dynamic Data Masking to obfuscate table columns.
NOTE
Always Encrypted does not work with Dynamic Data Masking. It is not possible to encrypt and mask the same column,
which implies that you need to prioritize protecting data in use vs. masking the data for your app users via Dynamic Data
Masking.
Best practices :
NOTE
Dynamic Data Masking cannot be used to protect data from high-privilege users. Masking policies do not apply to users
with administrative access like db_owner.
Don't permit app users to run ad-hoc queries (as they may be able to work around Dynamic Data
Masking).
See the article, Bypassing masking using inference or brute-force techniques for details.
Use a proper access control policy (via SQL permissions, roles, RLS) to limit user permissions to make
updates in the masked columns. Creating a mask on a column doesn't prevent updates to that column.
Users that receive masked data when querying the masked column, can update the data if they have
write-permissions.
Dynamic Data Masking doesn't preserve the statistical properties of the masked values. This may impact
query results (for example, queries containing filtering predicates or joins on the masked data).
Network security
Network security refers to access controls and best practices to secure your data in transit to Azure SQL
Database.
Configure my client to connect securely to SQL Database/SQL Managed Instance
Best practices on how to prevent client machines and applications with well-known vulnerabilities (for example,
using older TLS protocols and cipher suites) from connecting to Azure SQL Database and SQL Managed
Instance.
How to implement :
Ensure that client machines connecting to Azure SQL Database and SQL Managed Instance are using the
latest Transport Layer Security (TLS) version.
Best practices :
Enforce a minimal TLS version at the SQL Database server or SQL Managed Instance level using the
minimal TLS version setting. We recommend setting the minimal TLS version to 1.2, after testing to
confirm your applications supports it. TLS 1.2 includes fixes for vulnerabilities found in previous versions.
Configure all your apps and tools to connect to SQL Database with encryption enabled
Encrypt = On, TrustServerCertificate = Off (or equivalent with non-Microsoft drivers).
If your app uses a driver that doesn't support TLS or supports an older version of TLS, replace the driver,
if possible. If not possible, carefully evaluate the security risks.
Reduce attack vectors via vulnerabilities in SSL 2.0, SSL 3.0, TLS 1.0, and TLS 1.1 by disabling them on
client machines connecting to Azure SQL Database per Transport Layer Security (TLS) registry
settings.
Check cipher suites available on the client: Cipher Suites in TLS/SSL (Schannel SSP). Specifically,
disable 3DES per Configuring TLS Cipher Suite Order.
Minimize attack surface
Minimize the number of features that can be attacked by a malicious user. Implement network access controls
for Azure SQL Database.
How to implement :
In SQL Database:
Set Allow Access to Azure services to OFF at the server-level
Use VNet Service endpoints and VNet Firewall Rules.
Use Private Link.
In SQL Managed Instance:
Follow the guidelines in Network requirements.
Best practices :
Restricting access to Azure SQL Database and SQL Managed Instance by connecting on a private
endpoint (for example, using a private data path):
A managed instance can be isolated inside a virtual network to prevent external access. Applications
and tools that are in the same or peered virtual network in the same region could access it directly.
Applications and tools that are in different region could use virtual-network-to-virtual-network
connection or ExpressRoute circuit peering to establish connection. Customer should use Network
Security Groups (NSG) to restrict access over port 1433 only to resources that require access to a
managed instance.
For a SQL Database, use the Private Link feature that provides a dedicated private IP for the server
inside your virtual network. You can also use Virtual network service endpoints with virtual network
firewall rules to restrict access to your servers.
Mobile users should use point-to-site VPN connections to connect over the data path.
Users connected to their on-premises network should use site-to-site VPN connection or
ExpressRoute to connect over the data path.
You can access Azure SQL Database and SQL Managed Instance by connecting to a public endpoint (for
example, using a public data path). The following best practices should be considered:
For a server in SQL Database, use IP firewall rules to restrict access to only authorized IP addresses.
For SQL Managed Instance, use Network Security Groups (NSG) to restrict access over port 3342 only
to required resources. For more information, see Use a managed instance securely with public
endpoints.
NOTE
The SQL Managed Instance public endpoint is not enabled by default and it and must be explicitly enabled. If company
policy disallows the use of public endpoints, use Azure Policy to prevent enabling public endpoints in the first place.
How to implement :
DDoS protection is automatically enabled as part of the Azure Platform. It includes always-on traffic monitoring
and real-time mitigation of network-level attacks on public endpoints.
Use Azure DDoS Protection to monitor public IP addresses associated to resources deployed in virtual
networks.
Use Advanced Threat Protection for Azure SQL Database to detect Denial of Service (DoS) attacks against
databases.
Best practices :
Follow the practices described in Minimize Attack Surface helps minimize DDoS attack threats.
The Advanced Threat Protection Brute force SQL credentials alert helps to detect brute force attacks.
In some cases, the alert can even distinguish penetration testing workloads.
For Azure VM hosting applications connecting to SQL Database:
Follow recommendation to Restrict access through Internet-facing endpoints in Microsoft Defender
for Cloud.
Use virtual machine scale sets to run multiple instances of your application on Azure VMs.
Disable RDP and SSH from Internet to prevent brute force attack.
Security Management
This section describes the different aspects and best practices for managing your databases security posture. It
includes best practices for ensuring your databases are configured to meet security standards, for discovering
and for classifying and tracking access to potentially sensitive data in your databases.
Ensure that the databases are configured to meet security best practices
Proactively improve your database security by discovering and remediating potential database vulnerabilities.
How to implement :
Enable SQL Vulnerability Assessment (VA) to scan your database for security issues, and to automatically run
periodically on your databases.
Best practices :
Initially, run VA on your databases and iterate by remediating failing checks that oppose security best
practices. Set up baselines for acceptable configurations until the scan comes out clean, or all checks has
passed.
Configure periodic recurring scans to run once a week and configure the relevant person to receive
summary emails.
Review the VA summary following each weekly scan. For any vulnerabilities found, evaluate the drift from
the previous scan result and determine if the check should be resolved. Review if there's a legitimate
reason for the change in configuration.
Resolve checks and update baselines where relevant. Create ticket items for resolving actions and track
these until they're resolved.
Fur ther resources :
SQL Vulnerability Assessment
SQL Vulnerability Assessment service helps you identify database vulnerabilities
Identify and tag sensitive data
Discover columns that potentially contain sensitive data. What is considered sensitive data heavily depends on
the customer, compliance regulation, etc., and needs to be evaluated by the users in charge of that data. Classify
the columns to use advanced sensitivity-based auditing and protection scenarios.
How to implement :
Use SQL Data Discovery and Classification to discover, classify, label, and protect the sensitive data in your
databases.
View the classification recommendations that are created by the automated discovery in the SQL Data
Discovery and Classification dashboard. Accept the relevant classifications, such that your sensitive
data is persistently tagged with classification labels.
Manually add classifications for any additional sensitive data fields that were not discovered by the
automated mechanism.
For more information, see SQL Data Discovery and Classification.
Best practices :
Monitor the classification dashboard on a regular basis for an accurate assessment of the database's
classification state. A report on the database classification state can be exported or printed to share for
compliance and auditing purposes.
Continuously monitor the status of recommended sensitive data in SQL Vulnerability Assessment. Track
the sensitive data discovery rule and identify any drift in the recommended columns for classification.
Use classification in a way that is tailored to the specific needs of your organization. Customize your
Information Protection policy (sensitivity labels, information types, discovery logic) in the SQL
Information Protection policy in Microsoft Defender for Cloud.
Track access to sensitive data
Monitor who accesses sensitive data and capture queries on sensitive data in audit logs.
How to implement :
Use SQL Audit and Data Classification in combination.
In your SQL Database Audit log, you can track access specifically to sensitive data. You can also view
information such as the data that was accessed, as well as its sensitivity label. For more information,
see Data Discovery and Classification and Auditing access to sensitive data.
Best practices :
See best practices for the Auditing and Data Classification sections:
Audit critical security events
Identify and tag sensitive data
Visualize security and compliance status
Use a unified infrastructure security management system that strengthens the security posture of your data
centers (including databases in SQL Database). View a list of recommendations concerning the security of your
databases and compliance status.
How to implement :
Monitor SQL-related security recommendations and active threats in Microsoft Defender for Cloud.
Common security threats and potential mitigations
This section helps you find security measures to protect against certain attack vectors. It's expected that most
mitigations can be achieved by following one or more of the security guidelines above.
Security threat: Data exfiltration
Data exfiltration is the unauthorized copying, transfer, or retrieval of data from a computer or server. See a
definition for data exfiltration on Wikipedia.
Connecting to server over a public endpoint presents a data exfiltration risk as it requires customers open their
firewalls to public IPs.
Scenario 1 : An application on an Azure VM connects to a database in Azure SQL Database. A rogue actor gets
access to the VM and compromises it. In this scenario, data exfiltration means that an external entity using the
rogue VM connects to the database, copies personal data, and stores it in a blob storage or a different SQL
Database in a different subscription.
Scenario 2 : A Rouge DBA. This scenario is often raised by security sensitive customers from regulated
industries. In this scenario, a high privilege user might copy data from Azure SQL Database to another
subscription not controlled by the data owner.
Potential mitigations :
Today, Azure SQL Database and SQL Managed Instance offers the following techniques for mitigating data
exfiltration threats:
Use a combination of Allow and Deny rules on the NSGs of Azure VMs to control which regions can be
accessed from the VM.
If using a server in SQL Database, set the following options:
Allow Azure Services to OFF.
Only allow traffic from the subnet containing your Azure VM by setting up a VNet Firewall rule.
Use Private Link
For SQL Managed Instance, using private IP access by default addresses the first data exfiltration concern of a
rogue VM. Turn on the subnet delegation feature on a subnet to automatically set the most restrictive policy
on a SQL Managed Instance subnet.
The Rogue DBA concern is more exposed with SQL Managed Instance as it has a larger surface area and
networking requirements are visible to customers. The best mitigation for this is applying all of the practices
in this security guide to prevent the Rogue DBA scenario in the first place (not only for data exfiltration).
Always Encrypted is one method to protect sensitive data by encrypting it and keeping the key inaccessible
for the DBA.
Next steps
See An overview of Azure SQL Database security capabilities
Azure database security checklist
12/12/2021 • 2 minutes to read • Edit Online
To help improve security, Azure Database includes a number of built-in security controls that you can use to limit
and control access.
These include:
A firewall that enables you to create firewall rules limiting connectivity by IP address,
Server-level firewall accessible from the Azure portal
Database-level firewall rules accessible from SSMS
Secure connectivity to your database using secure connection strings
Use access management
Data encryption
SQL Database auditing
SQL Database threat detection
Introduction
Cloud computing requires new security paradigms that are unfamiliar to many application users, database
administrators, and programmers. As a result, some organizations are hesitant to implement a cloud
infrastructure for data management due to perceived security risks. However, much of this concern can be
alleviated through a better understanding of the security features built into Microsoft Azure and Microsoft Azure
SQL Database.
Checklist
We recommend that you read the Azure Database Security Best Practices article prior to reviewing this checklist.
You will be able to get the most out of this checklist after you understand the best practices. You can then use
this checklist to make sure that you've addressed the important issues in Azure database security.
Protect Data
Control Access
C H EC K L IST C AT EGO RY DESC RIP T IO N
Proactive Monitoring
Conclusion
Azure Database is a robust database platform, with a full range of security features that meet many
organizational and regulatory compliance requirements. You can easily protect data by controlling the physical
access to your data, and using a variety of options for data security at the file-, column-, or row-level with
Transparent Data Encryption, Cell-Level Encryption, or Row-Level Security. Always Encrypted also enables
operations against encrypted data, simplifying the process of application updates. In turn, access to auditing
logs of SQL Database activity provides you with the information you need, allowing you to know how and when
data is accessed.
Next steps
You can improve the protection of your database against malicious users or unauthorized access with just a few
simple steps. In this tutorial you learn to:
Set up firewall rules for your server and or database.
Protect your data with encryption.
Enable SQL Database auditing.
Security recommendations for Blob storage
12/12/2021 • 9 minutes to read • Edit Online
This article contains security recommendations for Blob storage. Implementing these recommendations will
help you fulfill your security obligations as described in our shared responsibility model. For more information
on how Microsoft fulfills service provider responsibilities, see Shared responsibility in the cloud.
Some of the recommendations included in this article can be automatically monitored by Microsoft Defender
for Cloud, which is the first line of defense in protecting your resources in Azure. For information on Microsoft
Defender for Cloud, see What is Microsoft Defender for Cloud?
Microsoft Defender for Cloud periodically analyzes the security state of your Azure resources to identify
potential security vulnerabilities. It then provides you with recommendations on how to address them. For more
information on Microsoft Defender for Cloud recommendations, see Security recommendations in Microsoft
Defender for Cloud.
Data protection
REC O M M EN DAT IO N C O M M EN T S DEF EN DER F O R C LO UD
Use the Azure Resource Manager Create new storage accounts using the -
deployment model Azure Resource Manager deployment
model for important security
enhancements, including superior
Azure role-based access control (Azure
RBAC) and auditing, Resource
Manager-based deployment and
governance, access to managed
identities, access to Azure Key Vault for
secrets, and Azure AD-based
authentication and authorization for
access to Azure Storage data and
resources. If possible, migrate existing
storage accounts that use the classic
deployment model to use Azure
Resource Manager. For more
information about Azure Resource
Manager, see Azure Resource Manager
overview.
Enable Microsoft Defender for all of Microsoft Defender for Storage Yes
your storage accounts provides an additional layer of security
intelligence that detects unusual and
potentially harmful attempts to access
or exploit storage accounts. Security
alerts are triggered in Microsoft
Defender for Cloud when anomalies in
activity occur and are also sent via
email to subscription administrators,
with details of suspicious activity and
recommendations on how to
investigate and remediate threats. For
more information, see Configure
Microsoft Defender for Storage.
REC O M M EN DAT IO N C O M M EN T S DEF EN DER F O R C LO UD
Turn on soft delete for blobs Soft delete for blobs enables you to -
recover blob data after it has been
deleted. For more information on soft
delete for blobs, see Soft delete for
Azure Storage blobs.
Turn on soft delete for containers Soft delete for containers enables you -
to recover a container after it has been
deleted. For more information on soft
delete for containers, see Soft delete
for containers.
Require secure transfer (HTTPS) to the When you require secure transfer for a -
storage account storage account, all requests to the
storage account must be made over
HTTPS. Any requests made over HTTP
are rejected. Microsoft recommends
that you always require secure transfer
for all of your storage accounts. For
more information, see Require secure
transfer to ensure secure connections.
Limit shared access signature (SAS) Requiring HTTPS when a client uses a -
tokens to HTTPS connections only SAS token to access blob data helps to
minimize the risk of eavesdropping.
For more information, see Grant
limited access to Azure Storage
resources using shared access
signatures (SAS).
Use Azure Active Directory (Azure AD) Azure AD provides superior security -
to authorize access to blob data and ease of use over Shared Key for
authorizing requests to Blob storage.
For more information, see Authorize
access to data in Azure Storage.
Keep in mind the principal of least When assigning a role to a user, group, -
privilege when assigning permissions or application, grant that security
to an Azure AD security principal via principal only those permissions that
Azure RBAC are necessary for them to perform
their tasks. Limiting access to
resources helps prevent both
unintentional and malicious misuse of
your data.
Use a user delegation SAS to grant A user delegation SAS is secured with -
limited access to blob data to clients Azure Active Directory (Azure AD)
credentials and also by the permissions
specified for the SAS. A user delegation
SAS is analogous to a service SAS in
terms of its scope and function, but
offers security benefits over the service
SAS. For more information, see Grant
limited access to Azure Storage
resources using shared access
signatures (SAS).
Secure your account access keys with Microsoft recommends using Azure -
Azure Key Vault AD to authorize requests to Azure
Storage. However, if you must use
Shared Key authorization, then secure
your account keys with Azure Key
Vault. You can retrieve the keys from
the key vault at runtime, instead of
saving them with your application. For
more information about Azure Key
Vault, see Azure Key Vault overview.
Keep in mind the principal of least When creating a SAS, specify only -
privilege when assigning permissions those permissions that are required by
to a SAS the client to perform its function.
Limiting access to resources helps
prevent both unintentional and
malicious misuse of your data.
REC O M M EN DAT IO N C O M M EN T S DEF EN DER F O R C LO UD
Have a revocation plan in place for any If a SAS is compromised, you will want -
SAS that you issue to clients to revoke that SAS as soon as possible.
To revoke a user delegation SAS,
revoke the user delegation key to
quickly invalidate all signatures
associated with that key. To revoke a
service SAS that is associated with a
stored access policy, you can delete the
stored access policy, rename the policy,
or change its expiry time to a time that
is in the past. For more information,
see Grant limited access to Azure
Storage resources using shared access
signatures (SAS).
If a service SAS is not associated with a A service SAS that is not associated -
stored access policy, then set the with a stored access policy cannot be
expiry time to one hour or less revoked. For this reason, limiting the
expiry time so that the SAS is valid for
one hour or less is recommended.
Networking
REC O M M EN DAT IO N C O M M EN T S DEF EN DER F O R C LO UD
Configure the minimum required Require that clients use a more secure -
version of Transport Layer Security version of TLS to make requests
(TLS) for a storage account. against an Azure Storage account by
configuring the minimum version of
TLS for that account. For more
information, see Configure minimum
required version of Transport Layer
Security (TLS) for a storage account
Enable the Secure transfer required When you enable the Secure Yes
option on all of your storage accounts transfer required option, all requests
made against the storage account
must take place over secure
connections. Any requests made over
HTTP will fail. For more information,
see Require secure transfer in Azure
Storage.
REC O M M EN DAT IO N C O M M EN T S DEF EN DER F O R C LO UD
Logging/Monitoring
REC O M M EN DAT IO N C O M M EN T S DEF EN DER F O R C LO UD
Track how requests are authorized Enable Azure Storage logging to track -
how each request made against Azure
Storage was authorized. The logs
indicate whether a request was made
anonymously, by using an OAuth 2.0
token, by using Shared Key, or by
using a shared access signature (SAS).
For more information, see Monitoring
Azure Blob Storage with Azure Monitor
or Azure Storage analytics logging with
Classic Monitoring.
Next steps
Azure security documentation
Secure development documentation.
Customer Lockbox for Microsoft Azure
12/12/2021 • 5 minutes to read • Edit Online
NOTE
To use this feature, your organization must have an Azure support plan with a minimal level of Developer .
Most operations, support, and troubleshooting performed by Microsoft personnel and sub-processors do not
require access to customer data. In those rare circumstances where such access is required, Customer Lockbox
for Microsoft Azure provides an interface for customers to review and approve or reject customer data access
requests. It is used in cases where a Microsoft engineer needs to access customer data, whether in response to a
customer-initiated support ticket or a problem identified by Microsoft.
This article covers how to enable Customer Lockbox and how Lockbox requests are initiated, tracked, and stored
for later reviews and audits.
NOTE
To enable Customer Lockbox, the user account needs to have the Global Administrator role assigned.
Workflow
The following steps outline a typical workflow for a Customer Lockbox request.
1. Someone at an organization has an issue with their Azure workload.
2. After this person troubleshoots the issue, but can't fix it, they open a support ticket from the Azure portal.
The ticket is assigned to an Azure Customer Support Engineer.
3. An Azure Support Engineer reviews the service request and determines the next steps to resolve the
issue.
4. If the support engineer can't troubleshoot the issue by using standard tools and service generated data,
the next step is to request elevated permissions by using a Just-In-Time (JIT) access service. This request
can be from the original support engineer or from a different engineer because the problem is escalated
to the Azure DevOps team.
5. After the access request is submitted by the Azure Engineer, Just-In-Time service evaluates the request
taking into account factors such as:
The scope of the resource
Whether the requester is an isolated identity or using multi-factor authentication
Permissions levels
Based on the JIT rule, this request may also include an approval from Internal Microsoft Approvers. For
example, the approver might be the Customer support lead or the DevOps Manager.
6. When the request requires direct access to customer data, a Customer Lockbox request is initiated. For
example, remote desktop access to a customer's virtual machine.
The request is now in a Customer Notified state, waiting for the customer's approval before granting
access.
7. At the customer organization, the user who has the Owner role for the Azure subscription receives an
email from Microsoft, to notify them about the pending access request. For Customer Lockbox requests,
this person is the designated approver.
Example email:
8. The email notification provides a link to the Customer Lockbox blade in the Administration module.
Using this link, the designated approver signs in to the Azure portal to view any pending requests that
their organization has for Customer Lockbox:
The request remains in the customer queue for four days. After this time, the access request automatically
expires and no access is granted to Microsoft engineers.
9. To get the details of the pending request, the designated approver can select the lockbox request from
Pending Requests :
10. The designated approver can also select the SERVICE REQUEST ID to view the support ticket request
that was created by the original user. This information provides context for why Microsoft Support is
engaged, and the history of the reported problem. For example:
11. After reviewing the request, the designated approver selects Approve or Deny :
As a result of the selection:
Approve : Access is granted to the Microsoft engineer. The access is granted for a default period of
eight hours.
Deny : The elevated access request by the Microsoft engineer is rejected and no further action is taken.
For auditing purposes, the actions taken in this workflow are logged in Customer Lockbox request logs.
Auditing logs
Customer Lockbox logs are stored in activity logs. In the Azure portal, select Activity Logs to view auditing
information related to Customer Lockbox requests. You can filter for specific actions, such as:
Deny Lockbox Request
Create Lockbox Request
Approve Lockbox Request
Lockbox Request Expir y
As an example:
Next steps
Customer Lockbox is available for all customers who have an Azure support plan with a minimal level of
Developer . You can enable Customer Lockbox from the Administration module in the Customer Lockbox blade.
Customer Lockbox requests are initiated by a Microsoft engineer if this action is needed to progress a support
case.
Securing PaaS deployments
12/12/2021 • 12 minutes to read • Edit Online
Starting at the bottom of the stack, the physical infrastructure, Microsoft mitigates common risks and
responsibilities. Because the Microsoft cloud is continually monitored by Microsoft, it is hard to attack. It doesn’t
make sense for an attacker to pursue the Microsoft cloud as a target. Unless the attacker has lots of money and
resources, the attacker is likely to move on to another target.
In the middle of the stack, there is no difference between a PaaS deployment and on-premises. At the
application layer and the account and access management layer, you have similar risks. In the next steps section
of this article, we will guide you to best practices for eliminating or minimizing these risks.
At the top of the stack, data governance and rights management, you take on one risk that can be mitigated by
key management. (Key management is covered in best practices.) While key management is an additional
responsibility, you have areas in a PaaS deployment that you no longer have to manage so you can shift
resources to key management.
The Azure platform also provides you strong DDoS protection by using various network-based technologies.
However, all types of network-based DDoS protection methods have their limits on a per-link and per-datacenter
basis. To help avoid the impact of large DDoS attacks, you can take advantage of Azure’s core cloud capability of
enabling you to quickly and automatically scale out to defend against DDoS attacks. We'll go into more detail on
how you can do this in the recommended practices articles.
P OT EN T IA L A Z URE P L AT F O RM
T H REAT SEC URIT Y P RO P ERT Y M IT IGAT IO N S
Next steps
In this article, we focused on security advantages of an Azure PaaS deployment and security best practices for
cloud applications. Next, learn recommended practices for securing your PaaS web and mobile solutions using
specific Azure services. We’ll start with Azure App Service, Azure SQL Database and Azure Synapse Analytics,
Azure Storage, and Azure Cloud Services. As articles on recommended practices for other Azure services
become available, links will be provided in the following list:
Azure App Service
Azure SQL Database and Azure Synapse Analytics
Azure Storage
Azure Cloud Services
Azure Cache for Redis
Azure Service Bus
Web Application Firewalls
See Developing secure applications on Azure for security questions and controls you should consider at each
phase of the software development lifecycle when developing applications for the cloud.
See Azure security best practices and patterns for more security best practices to use when you’re designing,
deploying, and managing your cloud solutions by using Azure.
The following resources are available to provide more general information about Azure security and related
Microsoft services:
Azure Security Team Blog - for up to date information on the latest in Azure Security
Microsoft Security Response Center - where Microsoft security vulnerabilities, including issues with Azure,
can be reported or via email to [email protected]
Best practices for securing PaaS web and mobile
applications using Azure App Service
12/12/2021 • 2 minutes to read • Edit Online
In this article, we discuss a collection of Azure App Service security best practices for securing your PaaS web
and mobile applications. These best practices are derived from our experience with Azure and the experiences of
customers like yourself.
Azure App Service is a platform-as-a-service (PaaS) offering that lets you create web and mobile apps for any
platform or device and connect to data anywhere, in the cloud or on-premises. App Service includes the web
and mobile capabilities that were previously delivered separately as Azure Websites and Azure Mobile Services.
It also includes new capabilities for automating business processes and hosting cloud APIs. As a single
integrated service, App Service brings a rich set of capabilities to web, mobile, and integration scenarios.
Next steps
This article introduced you to a collection of App Service security best practices for securing your PaaS web and
mobile applications. To learn more about securing your PaaS deployments, see:
Securing PaaS deployments
Securing PaaS databases in Azure
Best practices for securing PaaS web and mobile
applications using Azure Storage
12/12/2021 • 5 minutes to read • Edit Online
In this article, we discuss a collection of Azure Storage security best practices for securing your platform-as-a-
service (PaaS) web and mobile applications. These best practices are derived from our experience with Azure
and the experiences of customers like yourself.
Azure makes it possible to deploy and use storage in ways not easily achievable on-premises. With Azure
storage, you can reach high levels of scalability and availability with relatively little effort. Not only is Azure
Storage the foundation for Windows and Linux Azure Virtual Machines, it can also support large distributed
applications.
Azure Storage provides the following four services: Blob storage, Table storage, Queue storage, and File storage.
To learn more, see Introduction to Microsoft Azure Storage.
The Azure Storage security guide is a great source for detailed information about Azure Storage and security.
This best practices article addresses at a high level some of the concepts found in the security guide and links to
the security guide, as well as other sources, for more information.
This article addresses the following best practices:
Shared access signatures (SAS)
Azure role-based access control (Azure RBAC)
Client side encryption for high value data
Storage Service Encryption
In this article, we discuss a collection of Azure SQL Database and Azure Synapse Analytics security best practices
for securing your platform-as-a-service (PaaS) web and mobile applications. These best practices are derived
from our experience with Azure and the experiences of customers like yourself.
Azure SQL Database and Azure Synapse Analytics provide a relational database service for your internet-based
applications. Let’s look at services that help protect your applications and data when using Azure SQL Database
and Azure Synapse Analytics in a PaaS deployment:
Azure Active Directory authentication (instead of SQL Server authentication)
Azure SQL firewall
Transparent Data Encryption (TDE)
NOTE
To ensure that Azure Active Directory is a good fit for your environment, see Azure AD features and limitations.
Deploying an application on Azure is fast, easy, and cost-effective. Before you deploy your cloud application into
production, review our list of essential and recommended best practices for implementing secure clusters in
your application.
Azure Service Fabric is a distributed systems platform that makes it easy to package, deploy, and manage
scalable and reliable microservices. Service Fabric also addresses the significant challenges in developing and
managing cloud applications. Developers and administrators can avoid complex infrastructure problems and
focus on implementing mission-critical, demanding workloads that are scalable, reliable, and manageable.
For each best practice, we explain:
What the best practice is.
Why you should implement the best practice.
What might happen if you don't implement the best practice.
How you can learn to implement the best practice.
We recommend the following Azure Service Fabric security best practices:
Use Azure Resource Manager templates and the Service Fabric PowerShell module to create secure clusters.
Use X.509 certificates.
Configure security policies.
Implement the Reliable Actors security configuration.
Configure TLS for Azure Service Fabric.
Use network isolation and security with Azure Service Fabric.
Configure Azure Key Vault for security.
Assign users to roles.
NOTE
Security recommendation for Azure clusters: Use Azure AD security to authenticate clients and certificates for
node-to-node security.
To configure a standalone Windows cluster, see Configure settings for a standalone Windows cluster.
Use Azure Resource Manager templates and the Service Fabric PowerShell module to create a secure cluster. For
step-by-step instructions to create a secure Service Fabric cluster by using Azure Resource Manager templates,
see Creating a Service Fabric cluster.
Use the Azure Resource Manager template:
Customize your cluster by using the template to configure managed storage for VM virtual hard disks
(VHDs).
Drive changes to your resource group by using the template for easy configuration management and
auditing.
Treat your cluster configuration as code:
Be thorough when checking your deployment configurations.
Avoid using implicit commands to directly modify your resources.
Many aspects of the Service Fabric application lifecycle can be automated. The Service Fabric PowerShell module
automates common tasks for deploying, upgrading, removing, and testing Azure Service Fabric applications.
Managed APIs and HTTP APIs for application management are also available.
NOTE
You cannot obtain an SSL/TLS certificate from a CA for the cloudapp .net domain.
NOTE
For more information about using roles in Service Fabric, see Service Fabric role-based access control for Service Fabric
clients.
Azure Service Fabric supports two access control types for clients that are connected to a Service Fabric cluster:
administrator and user. The cluster administrator can use access control to limit access to certain cluster
operations for different groups of users. Access control makes the cluster more secure.
Next steps
Service Fabric security checklist
Set up your Service Fabric development environment.
Learn about Service Fabric support options.
Azure security logging and auditing
12/12/2021 • 3 minutes to read • Edit Online
Azure provides a wide array of configurable security auditing and logging options to help you identify gaps in
your security policies and mechanisms. This article discusses generating, collecting, and analyzing security logs
from services hosted on Azure.
NOTE
Certain recommendations in this article might result in increased data, network, or compute resource usage, and increase
your license or subscription costs.
Activity logs Control-plane events on Provides insight into the Rest API, Azure Monitor
Azure Resource Manager operations that were
resources performed on resources in
your subscription.
Azure Resource logs Frequent data about the Provides insight into Azure Monitor
operation of Azure Resource operations that your
Manager resources in resource itself performed.
subscription
LO G C AT EGO RY LO G T Y P E USA GE IN T EGRAT IO N
Azure Active Directory Logs and reports Reports user sign-in Graph API
reporting activities and system
activity information about
users and group
management.
Virtual machines and cloud Windows Event Log service Captures system data and Windows (using Windows
services and Linux Syslog logging data on the virtual Azure Diagnostics [WAD]
machines and transfers that storage) and Linux in Azure
data into a storage account Monitor
of your choice.
Azure Storage Analytics Storage logging, provides Provides insight into trace REST API or the client
metrics data for a storage requests, analyzes usage library
account trends, and diagnoses
issues with your storage
account.
Network security group JSON format, shows Displays information about Azure Network Watcher
(NSG) flow logs outbound and inbound ingress and egress IP traffic
flows on a per-rule basis through a Network Security
Group.
Application insight Logs, exceptions, and Provides an application REST API, Power BI
custom diagnostics performance monitoring
(APM) service for web
developers on multiple
platforms.
Process data / security Microsoft Defender for Provides security REST APIs, JSON
alerts Cloud alerts, Azure Monitor information and alerts.
logs alerts
Next steps
Auditing and logging: Protect data by maintaining visibility and responding quickly to timely security
alerts.
Security logging and audit-log collection within Azure: Enforce these settings to ensure that your Azure
instances are collecting the correct security and audit logs.
Configure audit settings for a site collection: If you're a site collection administrator, retrieve the history of
individual users' actions and the history of actions taken during a particular date range.
Search the audit log in the Microsoft 365 Defender portal: Use the Microsoft 365 Defender portal to
search the unified audit log and view user and administrator activity in your organization.
Azure security management and monitoring
overview
12/12/2021 • 5 minutes to read • Edit Online
This article provides an overview of the security features and services that Azure provides to aid in the
management and monitoring of Azure cloud services and virtual machines.
Antimalware
With Azure, you can use antimalware software from major security vendors such as Microsoft, Symantec, Trend
Micro, McAfee, and Kaspersky. This software helps protect your virtual machines from malicious files, adware,
and other threats.
Microsoft Antimalware for Azure Cloud Services and Virtual Machines offers you the ability to install an
antimalware agent for both PaaS roles and virtual machines. Based on System Center Endpoint Protection, this
feature brings proven on-premises security technology to the cloud.
We also offer deep integration for Trend’s Deep Security and SecureCloud products in the Azure platform. Deep
Security is an antivirus solution, and SecureCloud is an encryption solution. Deep Security is deployed inside
VMs through an extension model. By using the Azure portal UI and PowerShell, you can choose to use Deep
Security inside new VMs that are being spun up, or existing VMs that are already deployed.
Symantec Endpoint Protection (SEP) is also supported on Azure. Through portal integration, you can specify that
you intend to use SEP on a VM. SEP can be installed on a new VM via the Azure portal, or it can be installed on
an existing VM via PowerShell.
Learn more:
Deploying Antimalware Solutions on Azure Virtual Machines
Microsoft Antimalware for Azure Cloud Services and Virtual Machines
How to install and configure Trend Micro Deep Security as a Service on a Windows VM
How to install and configure Symantec Endpoint Protection on a Windows VM
New Antimalware Options for Protecting Azure Virtual Machines
Multi-Factor Authentication
Azure AD Multi-Factor Authentication is a method of authentication that requires the use of more than one
verification method. It adds a critical second layer of security to user sign-ins and transactions.
Multi-Factor Authentication helps safeguard access to data and applications while meeting user demand for a
simple sign-in process. It delivers strong authentication via a range of verification options (phone call, text
message, or mobile app notification or verification code) and third-party OATH tokens.
Learn more:
Multi-Factor Authentication
What is Azure AD Multi-Factor Authentication?
How Azure AD Multi-Factor Authentication works
ExpressRoute
You can use Azure ExpressRoute to extend your on-premises networks into the Microsoft Cloud over a dedicated
private connection that's facilitated by a connectivity provider. With ExpressRoute, you can establish connections
to Microsoft cloud services such as Azure, Microsoft 365, and CRM Online. Connectivity can be from:
An any-to-any (IP VPN) network.
A point-to-point Ethernet network.
A virtual cross-connection through a connectivity provider at a co-location facility.
ExpressRoute connections don't go over the public internet. They can offer more reliability, faster speeds, lower
latencies, and higher security than typical connections over the internet.
Learn more:
ExpressRoute technical overview
Identity Protection
Azure AD Identity Protection provides a consolidated view of suspicious sign-in activities and potential
vulnerabilities to help protect your business. Identity Protection detects suspicious activities for users and
privileged (admin) identities, based on signals like:
Brute-force attacks.
Leaked credentials.
Sign-ins from unfamiliar locations and infected devices.
By providing notifications and recommended remediation, Identity Protection helps to mitigate risks in real time.
It calculates user risk severity. You can configure risk-based policies to automatically help safeguard application
access from future threats.
Learn more:
Azure Active Directory Identity Protection
Channel 9: Azure AD and Identity Show: Identity Protection Preview
Next Steps
Learn about the shared responsibility model and which security tasks are handled by Microsoft and which tasks
are handled by you.
For more information about security management, see Security management in Azure.
Security management in Azure
12/12/2021 • 18 minutes to read • Edit Online
Azure subscribers may manage their cloud environments from multiple devices, including management
workstations, developer PCs, and even privileged end-user devices that have task-specific permissions. In some
cases, administrative functions are performed through web-based consoles such as the Azure portal. In other
cases, there may be direct connections to Azure from on-premises systems over Virtual Private Networks
(VPNs), Terminal Services, client application protocols, or (programmatically) the Azure Service Management
API (SMAPI). Additionally, client endpoints can be either domain joined or isolated and unmanaged, such as
tablets or smartphones.
Although multiple access and management capabilities provide a rich set of options, this variability can add
significant risk to a cloud deployment. It can be difficult to manage, track, and audit administrative actions. This
variability may also introduce security threats through unregulated access to client endpoints that are used for
managing cloud services. Using general or personal workstations for developing and managing infrastructure
opens unpredictable threat vectors such as web browsing (for example, watering hole attacks) or email (for
example, social engineering and phishing).
The potential for attacks increases in this type of environment because it is challenging to construct security
policies and mechanisms to appropriately manage access to Azure interfaces (such as SMAPI) from widely
varied endpoints.
Remote management threats
Attackers often attempt to gain privileged access by compromising account credentials (for example, through
password brute forcing, phishing, and credential harvesting), or by tricking users into running harmful code (for
example, from harmful websites with drive-by downloads or from harmful email attachments). In a remotely
managed cloud environment, account breaches can lead to an increased risk due to anywhere, anytime access.
Even with tight controls on primary administrator accounts, lower-level user accounts can be used to exploit
weaknesses in one’s security strategy. Lack of appropriate security training can also lead to breaches through
accidental disclosure or exposure of account information.
When a user workstation is also used for administrative tasks, it can be compromised at many different points.
Whether a user is browsing the web, using 3rd-party and open-source tools, or opening a harmful document
file that contains a trojan.
In general, most targeted attacks that result in data breaches can be traced to browser exploits, plug-ins (such as
Flash, PDF, Java), and spear phishing (email) on desktop machines. These machines may have administrative-
level or service-level permissions to access live servers or network devices for operations when used for
development or management of other assets.
Operational security fundamentals
For more secure management and operations, you can minimize a client’s attack surface by reducing the
number of possible entry points. This can be done through security principles: “separation of duties” and
“segregation of environments.”
Isolate sensitive functions from one another to decrease the likelihood that a mistake at one level leads to a
breach in another. Examples:
Administrative tasks should not be combined with activities that might lead to a compromise (for example,
malware in an administrator’s email that then infects an infrastructure server).
A workstation used for high-sensitivity operations should not be the same system used for high-risk
purposes such as browsing the Internet.
Reduce the system’s attack surface by removing unnecessary software. Example:
Standard administrative, support, or development workstation should not require installation of an email
client or other productivity applications if the device’s main purpose is to manage cloud services.
Client systems that have administrator access to infrastructure components should be subjected to the strictest
possible policy to reduce security risks. Examples:
Security policies can include Group Policy settings that deny open Internet access from the device and use of
a restrictive firewall configuration.
Use Internet Protocol security (IPsec) VPNs if direct access is needed.
Configure separate management and development Active Directory domains.
Isolate and filter management workstation network traffic.
Use antimalware software.
Implement multi-factor authentication to reduce the risk of stolen credentials.
Consolidating access resources and eliminating unmanaged endpoints also simplifies management tasks.
Providing security for Azure remote management
Azure provides security mechanisms to aid administrators who manage Azure cloud services and virtual
machines. These mechanisms include:
Authentication and Azure role-based access control (Azure RBAC).
Monitoring, logging, and auditing.
Certificates and encrypted communications.
A web management portal.
Network packet filtering.
With client-side security configuration and datacenter deployment of a management gateway, it is possible to
restrict and monitor administrator access to cloud applications and data.
NOTE
Certain recommendations in this article may result in increased data, network, or compute resource usage, and may
increase your license or subscription costs.
Security guidelines
In general, helping to secure administrator workstations for use with the cloud is similar to the practices used
for any workstation on-premises—for example, minimized build and restrictive permissions. Some unique
aspects of cloud management are more akin to remote or out-of-band enterprise management. These include
the use and auditing of credentials, security-enhanced remote access, and threat detection and response.
Authentication
You can use Azure logon restrictions to constrain source IP addresses for accessing administrative tools and
audit access requests. To help Azure identify management clients (workstations and/or applications), you can
configure both SMAPI (via customer-developed tools such as Windows PowerShell cmdlets) and the Azure
portal to require client-side management certificates to be installed, in addition to TLS/SSL certificates. We also
recommend that administrator access require multi-factor authentication.
Some applications or services that you deploy into Azure may have their own authentication mechanisms for
both end-user and administrator access, whereas others take full advantage of Azure AD. Depending on whether
you are federating credentials via Active Directory Federation Services (AD FS), using directory synchronization
or maintaining user accounts solely in the cloud, using Microsoft Identity Manager (part of Azure AD Premium)
helps you manage identity lifecycles between the resources.
Connectivity
Several mechanisms are available to help secure client connections to your Azure virtual networks. Two of these
mechanisms, site-to-site VPN (S2S) and point-to-site VPN (P2S), enable the use of industry standard IPsec (S2S)
or the Secure Socket Tunneling Protocol (SSTP) (P2S) for encryption and tunneling. When Azure is connecting to
public-facing Azure services management such as the Azure portal, Azure requires Hypertext Transfer Protocol
Secure (HTTPS).
A stand-alone hardened workstation that does not connect to Azure through an RD Gateway should use the
SSTP-based point-to-site VPN to create the initial connection to the Azure Virtual Network, and then establish
RDP connection to individual virtual machines from with the VPN tunnel.
Management auditing vs. policy enforcement
Typically, there are two approaches for helping to secure management processes: auditing and policy
enforcement. Doing both provides comprehensive controls, but may not be possible in all situations. In addition,
each approach has different levels of risk, cost, and effort associated with managing security, particularly as it
relates to the level of trust placed in both individuals and system architectures.
Monitoring, logging, and auditing provide a basis for tracking and understanding administrative activities, but it
may not always be feasible to audit all actions in complete detail due to the amount of data generated. Auditing
the effectiveness of the management policies is a best practice, however.
Policy enforcement that includes strict access controls puts programmatic mechanisms in place that can govern
administrator actions, and it helps ensure that all possible protection measures are being used. Logging
provides proof of enforcement, in addition to a record of who did what, from where, and when. Logging also
enables you to audit and crosscheck information about how administrators follow policies, and it provides
evidence of activities
Client configuration
We recommend three primary configurations for a hardened workstation. The biggest differentiators between
them are cost, usability, and accessibility, while maintaining a similar security profile across all options. The
following table provides a short analysis of the benefits and risks to each. (Note that “corporate PC” refers to a
standard desktop PC configuration that would be deployed for all domain users, regardless of roles.)
C O N F IGURAT IO N B EN EF IT S C ONS
Stand-alone hardened workstation Tightly controlled workstation higher cost for dedicated desktops
It is important that the hardened workstation is the host and not the guest, with nothing between the host
operating system and the hardware. Following the “clean source principle” (also known as “secure origin”)
means that the host should be the most hardened. Otherwise, the hardened workstation (guest) is subject to
attacks on the system on which it is hosted.
You can further segregate administrative functions through dedicated system images for each hardened
workstation that have only the tools and permissions needed for managing select Azure and cloud applications,
with specific local AD DS GPOs for the necessary tasks.
For IT environments that have no on-premises infrastructure (for example, no access to a local AD DS instance
for GPOs because all servers are in the cloud), a service such as Microsoft Intune can simplify deploying and
maintaining workstation configurations.
Stand-alone hardened workstation for management
With a stand-alone hardened workstation, administrators have a PC or laptop that they use for administrative
tasks and another, separate PC or laptop for non-administrative tasks. A workstation dedicated to managing
your Azure services does not need other applications installed. Additionally, using workstations that support a
Trusted Platform Module (TPM) or similar hardware-level cryptography technology aids in device authentication
and prevention of certain attacks. TPM can also support full volume protection of the system drive by using
BitLocker Drive Encryption.
In the stand-alone hardened workstation scenario (shown below), the local instance of Windows Firewall (or a
non-Microsoft client firewall) is configured to block inbound connections, such as RDP. The administrator can log
on to the hardened workstation and start an RDP session that connects to Azure after establishing a VPN
connect with an Azure Virtual Network, but cannot log on to a corporate PC and use RDP to connect to the
hardened workstation itself.
Best practices
Consider the following additional guidelines when you are managing applications and data in Azure.
Dos and don'ts
Don't assume that because a workstation has been locked down that other common security requirements do
not need to be met. The potential risk is higher because of elevated access levels that administrator accounts
generally possess. Examples of risks and their alternate safe practices are shown in the table below.
DO N 'T DO
Don't email credentials for administrator access or other Maintain confidentiality by delivering account names and
secrets (for example, TLS/SSL or management certificates) passwords by voice (but not storing them in voice mail),
perform a remote installation of client/server certificates (via
an encrypted session), download from a protected network
share, or distribute by hand via removable media.
Don't store account passwords unencrypted or un-hashed in Establish security management principles and system
application storage (such as in spreadsheets, SharePoint hardening policies, and apply them to your development
sites, or file shares). environment.
Don't share accounts and passwords between Create a dedicated Microsoft account to manage your Azure
administrators, or reuse passwords across multiple user subscription—an account that is not used for personal email.
accounts or services, particularly those for social media or
other nonadministrative activities.
Don't email configuration files. Configuration files and profiles should be installed from a
trusted source (for example, an encrypted USB flash drive),
not from a mechanism that can be easily compromised, such
as email.
Don't use weak or simple logon passwords. Enforce strong password policies, expiration cycles
(changeon-first-use), console timeouts, and automatic
account lockouts. Use a client password management
system with multi-factor authentication for password vault
access.
Don't expose management ports to the Internet. Lock down Azure ports and IP addresses to restrict
management access. For more information, see the Azure
Network Security white paper.
Azure operations
Within Microsoft’s operation of Azure, operations engineers and support personnel who access Azure’s
production systems use hardened workstation PCs with VMs provisioned on them for internal corporate
network access and applications (such as e-mail, intranet, etc.). All management workstation computers have
TPMs, the host boot drive is encrypted with BitLocker, and they are joined to a special organizational unit (OU) in
Microsoft’s primary corporate domain.
System hardening is enforced through Group Policy, with centralized software updating. For auditing and
analysis, event logs (such as security and AppLocker) are collected from management workstations and saved to
a central location.
In addition, dedicated jump-boxes on Microsoft’s network that require two-factor authentication are used to
connect to Azure’s production network.
Summary
Using a hardened workstation configuration for administering your Azure cloud services, Virtual Machines, and
applications can help you avoid numerous risks and threats that can come from remotely managing critical IT
infrastructure. Both Azure and Windows provide mechanisms that you can employ to help protect and control
communications, authentication, and client behavior.
Next steps
The following resources are available to provide more general information about Azure and related Microsoft
services, in addition to specific items referenced in this paper:
Securing Privileged Access – get the technical details for designing and building a secure administrative
workstation for Azure management
Microsoft Trust Center - learn about Azure platform capabilities that protect the Azure fabric and the
workloads that run on Azure
Microsoft Security Response Center -- where Microsoft security vulnerabilities, including issues with Azure,
can be reported or via email to [email protected]
Azure operational security overview
12/12/2021 • 11 minutes to read • Edit Online
Azure operational security refers to the services, controls, and features available to users for protecting their
data, applications, and other assets in Microsoft Azure. It's a framework that incorporates the knowledge gained
through a variety of capabilities that are unique to Microsoft. These capabilities include the Microsoft Security
Development Lifecycle (SDL), the Microsoft Security Response Center program, and deep awareness of the
cybersecurity threat landscape.
Defender for Cloud uses the Microsoft Monitoring Agent. This is the same agent that the Azure Monitor service
uses. Data collected from this agent is stored in either an existing Log Analytics workspace associated with your
Azure subscription or a new workspace, taking into account the geolocation of the VM.
Azure Monitor
Performance issues in your cloud app can affect your business. With multiple interconnected components and
frequent releases, degradations can happen at any time. And if you’re developing an app, your users usually
discover issues that you didn’t find in testing. You should know about these issues immediately, and you should
have tools for diagnosing and fixing the problems.
Azure Monitor is basic tool for monitoring services running on Azure. It gives you infrastructure-level data
about the throughput of a service and the surrounding environment. If you're managing your apps all in Azure
and deciding whether to scale up or down resources, Azure Monitor is the place to start.
You can also use monitoring data to gain deep insights about your application. That knowledge can help you to
improve application performance or maintainability, or automate actions that would otherwise require manual
intervention.
Azure Monitor includes the following components.
Azure Activity Log
The Azure Activity Log provides insight into the operations that were performed on resources in your
subscription. It was previously known as “Audit Log” or “Operational Log,” because it reports control-plane
events for your subscriptions.
Azure diagnostic logs
Azure diagnostic logs are emitted by a resource and provide rich, frequent data about the operation of that
resource. The content of these logs varies by resource type.
Windows event system logs are one category of diagnostic logs for VMs. Blob, table, and queue logs are
categories of diagnostic logs for storage accounts.
Diagnostic logs differ from the Activity Log. The Activity log provides insight into the operations that were
performed on resources in your subscription. Diagnostic logs provide insight into operations that your resource
performed itself.
Metrics
Azure Monitor provides telemetry that gives you visibility into the performance and health of your workloads
on Azure. The most important type of Azure telemetry data is the metrics (also called performance counters)
emitted by most Azure resources. Azure Monitor provides several ways to configure and consume these metrics
for monitoring and troubleshooting.
Azure Diagnostics
Azure Diagnostics enables the collection of diagnostic data on a deployed application. You can use the
Diagnostics extension from various sources. Currently supported are Azure cloud service roles, Azure virtual
machines running Microsoft Windows, and Azure Service Fabric.
DevOps
Before Developer Operations (DevOps) application development, teams were in charge of gathering business
requirements for a software program and writing code. Then a separate QA team tested the program in an
isolated development environment. If requirements were met, the QA team released the code for operations to
deploy. The deployment teams were further fragmented into groups like networking and database. Each time a
software program was “thrown over the wall” to an independent team, it added bottlenecks.
DevOps enables teams to deliver more secure, higher-quality solutions faster and more cheaply. Customers
expect a dynamic and reliable experience when consuming software and services. Teams must rapidly iterate on
software updates and measure the impact of the updates. They must respond quickly with new development
iterations to address issues or provide more value.
Cloud platforms such as Microsoft Azure have removed traditional bottlenecks and helped commoditize
infrastructure. Software reigns in every business as the key differentiator and factor in business outcomes. No
organization, developer, or IT worker can or should avoid the DevOps movement.
Mature DevOps practitioners adopt several of the following practices. These practices involve people to form
strategies based on the business scenarios. Tooling can help automate the various practices.
Agile planning and project management techniques are used to plan and isolate work into sprints, manage
team capacity, and help teams quickly adapt to changing business needs.
Version control, usually with Git, enables teams located anywhere in the world to share source and integrate
with software development tools to automate the release pipeline.
Continuous integration drives the ongoing merging and testing of code, which leads to finding defects early.
Other benefits include less time wasted on fighting merge issues and rapid feedback for development teams.
Continuous delivery of software solutions to production and testing environments helps organizations
quickly fix bugs and respond to ever-changing business requirements.
Monitoring of running applications--including production environments for application health, as well as
customer usage--helps organizations form a hypothesis and quickly validate or disprove strategies. Rich data
is captured and stored in various logging formats.
Infrastructure as Code (IaC) is a practice that enables the automation and validation of creation and teardown
of networks and virtual machines to help with delivering secure, stable application hosting platforms.
Microservices architecture is used to isolate business use cases into small reusable services. This architecture
enables scalability and efficiency.
Next steps
To learn about the Security and Audit solution, see the following articles:
Security and compliance
Microsoft Defender for Cloud
Azure Monitor
Azure Operational Security best practices
12/12/2021 • 17 minutes to read • Edit Online
This article provides a set of operational best practices for protecting your data, applications, and other assets in
Azure.
The best practices are based on a consensus of opinion, and they work with current Azure platform capabilities
and feature sets. Opinions and technologies change over time and this article is updated on a regular basis to
reflect those changes.
Next steps
See Azure security best practices and patterns for more security best practices to use when you’re designing,
deploying, and managing your cloud solutions by using Azure.
The following resources are available to provide more general information about Azure security and related
Microsoft services:
Azure Security Team Blog - for up to date information on the latest in Azure Security
Microsoft Security Response Center - where Microsoft security vulnerabilities, including issues with Azure,
can be reported or via email to [email protected]
Azure operational security checklist
12/12/2021 • 4 minutes to read • Edit Online
Deploying an application on Azure is fast, easy, and cost-effective. Before deploying cloud application in
production useful to have a checklist to assist in evaluating your application against a list of essential and
recommended operational security actions for you to consider.
Introduction
Azure provides a suite of infrastructure services that you can use to deploy your applications. Azure Operational
Security refers to the services, controls, and features available to users for protecting their data, applications,
and other assets in Microsoft Azure.
To get the maximum benefit out of the cloud platform, we recommend that you leverage Azure services and
follow the checklist.
Organizations that invest time and resources assessing the operational readiness of their applications before
launch have a much higher rate of satisfaction than those who don’t. When performing this work, checklists
can be an invaluable mechanism to ensure that applications are evaluated consistently and holistically.
The level of operational assessment varies depending on the organization’s cloud maturity level and the
application’s development phase, availability needs, and data sensitivity requirements.
Checklist
This checklist is intended to help enterprises think through various operational security considerations as they
deploy sophisticated enterprise applications on Azure. It can also be used to help you build a secure cloud
migration and operation strategy for your organization.
Conclusion
Many organizations have successfully deployed and operated their cloud applications on Azure. The checklists
provided highlight several checklists that are essential and help you to increase the likelihood of successful
deployments and frustration-free operations. We highly recommend these operational and strategic
considerations for your existing and new application deployments on Azure.
Next steps
To learn more about Security, see the following articles:
Design and operational security.
Microsoft Defender for Cloud planning and operations.
Security services and technologies available on
Azure
12/12/2021 • 4 minutes to read • Edit Online
In our discussions with current and future Azure customers, we're often asked "do you have a list of all the
security-related services and technologies that Azure has to offer?"
When you evaluate cloud service provider options, it's helpful to have this information. So we have provided
this list to get you started.
Over time, this list will change and grow, just as Azure does. Make sure to check this page on a regular basis to
stay up-to-date on our security-related services and technologies.
Azure Security Center A cloud workload protection solution that provides security
management and advanced threat protection across hybrid
cloud workloads.
Azure Key Vault A secure secrets store for the passwords, connection strings,
and other information you need to keep your apps working.
Azure Monitor logs A monitoring service that collects telemetry and other data,
and provides a query language and analytics engine to
deliver operational insights for your apps and resources. Can
be used alone or with other services such as Defender for
Cloud.
Azure Dev/Test Labs A service that helps developers and testers quickly create
environments in Azure while minimizing waste and
controlling cost.
Storage security
SERVIC E DESC RIP T IO N
Azure Storage Service Encryption A security feature that automatically encrypts your data in
Azure storage.
StorSimple Encrypted Hybrid Storage An integrated storage solution that manages storage tasks
between on-premises devices and Azure cloud storage.
Azure Client-Side Encryption A client-side encryption solution that encrypts data inside
client applications before uploading to Azure Storage; also
decrypts the data while downloading.
Azure Storage Shared Access Signatures A shared access signature provides delegated access to
resources in your storage account.
SERVIC E DESC RIP T IO N
Azure Storage Account Keys An access control method for Azure storage that is used for
authentication when the storage account is accessed.
Azure File shares with SMB 3.0 Encryption A network security technology that enables automatic
network encryption for the Server Message Block (SMB) file
sharing protocol.
Database security
SERVIC E DESC RIP T IO N
Azure SQL Firewall A network access control feature that protects against
network-based attacks to database.
Azure SQL Cell Level Encryption A database security technology that provides encryption at
a granular level.
Azure SQL Connection Encryption To provide security, SQL Database controls access with
firewall rules limiting connectivity by IP address,
authentication mechanisms requiring users to prove their
identity, and authorization mechanisms limiting users to
specific actions and data.
Azure SQL Always Encryption Protects sensitive data, such as credit card numbers or
national identification numbers (for example, U.S. social
security numbers), stored in Azure SQL Database or SQL
Server databases.
Azure SQL Transparent Data Encryption A database security feature that encrypts the storage of an
entire database.
Azure SQL Database Auditing A database auditing feature that tracks database events and
writes them to an audit log in your Azure storage account.
Azure role-based access control An access control feature designed to allow users to access
only the resources they are required to access based on their
roles within the organization.
Azure Active Directory B2C An identity management service that enables control over
how customers sign-up, sign-in, and manage their profiles
when using Azure-based applications.
SERVIC E DESC RIP T IO N
Azure Active Directory Domain Services A cloud-based and managed version of Active Directory
Domain Services.
Azure AD Multi-Factor Authentication A security provision that employs several different forms of
authentication and verification before allowing access to
secured information.
Networking
SERVIC E DESC RIP T IO N
Azure VPN Gateway A network device used as a VPN endpoint to allow cross-
premises access to Azure Virtual Networks.
Azure Application Gateway An advanced web application load balancer that can route
based on URL and perform SSL-offloading.
Web application firewall (WAF) A feature of Application Gateway that provides centralized
protection of your web applications from common exploits
and vulnerabilities
Azure DDoS protection Combined with application design best practices, provides
defense against DDoS attacks.
SERVIC E DESC RIP T IO N
Virtual Network service endpoints Extends your virtual network private address space and the
identity of your VNet to the Azure services, over a direct
connection.
Cloud feature availability for commercial and US
Government customers
12/12/2021 • 18 minutes to read • Edit Online
This article describes feature availability in the Microsoft Azure and Azure Government clouds for the following
security services:
Azure Information Protection
Microsoft Defender for Cloud
Microsoft Sentinel
Microsoft Defender for IoT
Azure Attestation
NOTE
Additional security services will be added to this article soon.
Azure Government
Azure Government uses the same underlying technologies as Azure (sometimes referred to as Azure
Commercial or Azure Public), which includes the core components of Infrastructure-as-a-Service (IaaS),
Platform-as-a-Service (PaaS), and Software-as-a-Service (SaaS). Both Azure and Azure Government have
comprehensive security controls in place, and the Microsoft commitment on the safeguarding of customer data.
Azure Government is a physically isolated cloud environment dedicated to US federal, state, local, and tribal
governments, and their partners. Whereas both cloud environments are assessed and authorized at the
FedRAMP High impact level, Azure Government provides an extra layer of protection to customers through
contractual commitments regarding storage of customer data in the United States and limiting potential access
to systems processing customer data to screened US persons. These commitments may be of interest to
customers using the cloud to store or process data subject to US export control regulations such as the EAR,
ITAR, and DoE 10 CFR Part 810.
For more information about Azure Government, see What is Azure Government?
NOTE
More details about support for government customers are listed in footnotes below the table.
Extra steps are required for configuring Azure Information Protection for GCC High and DoD customers. For more
information, see the Azure Information Protection Premium Government Service Description.
Administration
1 The scanner can function without Office 365 to scan files only. The scanner cannot apply labels to files without
Office 365.
2 The classification and labeling add-in is only supported for
government customers with Microsoft 365 Apps
(version 9126.1001 or higher), including Professional Plus (ProPlus) and Click-to-Run (C2R) versions. Office
2010, Office 2013, and other Office 2016 versions are not supported.
Office 365 features
F EAT URE/ SERVIC E O F F IC E 365 GC C O F F IC E 365 GC C H IGH O F F IC E 365 DO D
Administration
F EAT URE/ SERVIC E O F F IC E 365 GC C O F F IC E 365 GC C H IGH O F F IC E 365 DO D
SDK
Customizations
Key management
Office files 3
- Control oversharing of GA GA 6 GA 6
information when using
Outlook
Classification and
labeling 2 / 7
F EAT URE/ SERVIC E O F F IC E 365 GC C O F F IC E 365 GC C H IGH O F F IC E 365 DO D
- Custom templates, GA GA GA
including departmental
templates
3 The Mobile Device Extension for AD RMS is currently not available for government customers.
4 Information Rights Management with SharePoint Online (IRM-protected sites and libraries) is currently not
available.
5 Information Rights Management (IRM) is supported only for Microsoft 365 Apps (version 9126.1001 or
higher), including Professional Plus (ProPlus) and Click-to-Run (C2R) versions. Office 2010, Office 2013, and
other Office 2016 versions are not supported.
6 Sharing of protected documents and emails from government clouds to users in the commercial cloud is not
currently available. Includes Microsoft 365 Apps users in the commercial cloud, non-Microsoft 365 Apps users
in the commercial cloud, and users with an RMS for Individuals license.
7 The number of Sensitive Information Types in your Microsoft 365 Security & Compliance Center may vary
based on region.
Continuous export GA GA
Workflow automation GA GA
F EAT URE/ SERVIC E A Z URE A Z URE GO VERN M EN T
Asset inventory GA GA
Just-in-time VM access GA GA
1 Partially GA: The ability to disable specific findings from vulnerability scans is in public preview.
2 Vulnerability scans of container registries on Azure Gov can only be performed with the scan on push feature.
3 Requires Microsoft Defender for container registries.
4 Partially GA: Support for Azure Arc-enabled clusters is in public preview and not available on Azure
Government.
5 Requires Microsoft Defender for Kubernetes.
6 Partially GA: Some of the threat protection alerts from Microsoft Defender for Storage are in public preview.
7 These features all require Microsoft Defender for servers.
8 There may be differences in the standards offered per cloud type.
Microsoft Sentinel
Microsoft Sentinel is a scalable, cloud-native, security information event management (SIEM), and security
orchestration automated response (SOAR) solution. Microsoft Sentinel delivers intelligent security analytics and
threat intelligence across the enterprise, providing a single solution for alert detection, threat visibility, proactive
hunting, and threat response.
For more information, see the Microsoft Sentinel product documentation.
The following tables display the current Microsoft Sentinel feature availability in Azure and Azure Government.
Incidents
Notebooks
- Notebooks GA GA
Watchlists
- Watchlists GA GA
Hunting
- Hunting GA GA
Data collection
Detection suppor t
- Fusion GA GA
Advanced multistage attack detections
1
- Azure ADIP GA GA
- Azure Firewall GA GA
- Azure WAF GA GA
Windows connectors
- Windows Firewall GA GA
External connectors
- AWS GA GA
- Check Point GA GA
- Cisco ASA GA GA
- ExtraHop Reveal(x) GA GA
F EAT URE A Z URE A Z URE GO VERN M EN T
- F5 BIG-IP GA GA
- F5 Networks GA GA
- Fortinet GA GA
- Syslog GA GA
- Zscaler GA GA
1 SSH and RDP detections are not supported for sovereign clouds because the Databricks ML platform is not
available.
Microsoft 365 data connectors
Office 365 GCC is paired with Azure Active Directory (Azure AD) in Azure. Office 365 GCC High and Office 365
DoD are paired with Azure AD in Azure Government.
TIP
Make sure to pay attention to the Azure environment to understand where interoperability is possible. In the following
table, interoperability that is not possible is marked with a dash (-) to indicate that support is not relevant.
Office IRM
Dynamics365
Office 365
Teams
Vulnerability management GA GA
Active Directory GA GA
ArcSight GA GA
CyberArk PSM GA GA
Email GA GA
FortiGate GA GA
FortiSIEM GA GA
NetWitness GA GA
F EAT URE A Z URE A Z URE GO VERN M EN T
Splunk GA GA
Azure Attestation
Microsoft Azure Attestation is a unified solution for remotely verifying the trustworthiness of a platform and
integrity of the binaries running inside it. The service receives evidence from the platform, validates it with
security standards, evaluates it against configurable policies, and produces an attestation token for claims-based
applications (e.g., relying parties, auditing authorities).
Azure Attestation is currently available in multiple regions across Azure public and Government clouds. In Azure
Government, the service is available in preview status across US Gov Virginia and US Gov Arizona.
For more information, see Azure Attestation public documentation.
BCDR support GA -
Customer lockbox GA -
Next steps
Understand the shared responsibility model and which security tasks are handled by the cloud provider and
which tasks are handled by you.
Understand the Azure Government Cloud capabilities and the trustworthy design and security used to
support compliance applicable to federal, state, and local government organizations and their partners.
Understand the Office 365 Government plan.
Understand compliance in Azure for legal and regulatory standards.
Azure security best practices and patterns
12/12/2021 • 2 minutes to read • Edit Online
The articles below contain security best practices to use when you’re designing, deploying, and managing your
cloud solutions by using Azure. These best practices come from our experience with Azure security and the
experiences of customers like you.
The best practices are intended to be a resource for IT pros. This might include designers, architects, developers,
and testers who build and deploy secure Azure solutions.
Azure boundary security best practices
Azure database security best practices
Azure data security and encryption best practices
Azure identity management and access control security best practices
Azure network security best practices
Azure operational security best practices
Azure PaaS Best Practices
Azure Service Fabric security best practices
Best practices for Azure VM security
Implementing a secure hybrid network architecture in Azure
Internet of Things security best practices
Securing PaaS databases in Azure
Securing PaaS web and mobile applications using Azure App Service
Securing PaaS web and mobile applications using Azure Storage
Security best practices for IaaS workloads in Azure
The white paper Security best practices for Azure solutions is a collection of the security best practices found in
the articles listed above.
Download the white paper
Microsoft Services in Cybersecurity
12/12/2021 • 2 minutes to read • Edit Online
Microsoft Services provides a comprehensive approach to security, identity, and cybersecurity. They include an
array of Security and Identity services across strategy, planning, implementation, and ongoing support. These
services can help Enterprise customers implement security solutions that align with their strategic goals.
Microsoft services can create solutions that integrate, and enhance the latest security and identity capabilities of
our products to help protect your business and drive innovation.
Our team of technical professionals consists of highly trained experts who offer a wealth of security and identity
experience.
Learn more about services provided by Microsoft Services:
Security Risk Assessment
Dynamic Identity Framework Assessment
Offline Assessment for Active Directory Services
Enhanced Security Administration Environment
Azure AD Implementation Services
Securing Against Lateral Account Movement
Incident Response and Recovery
Learn more about Microsoft Services Security consulting services.
How to Log a Security Event Support Ticket
12/12/2021 • 2 minutes to read • Edit Online
3. After you select the Problem Type and Category, click the 'Star t request ' button. Provide the following
information to help us better understand the issue.
i. What is the problem and/or vulnerability?
ii. For vulnerabilities, please provide the CVE (mitre.org) or the filled out CVSS3 v3 calculator
(https://www.first.org/cvss/calculator/3.0).
iii. Is there a resolution or mitigation? If yes, then please provide the remediation steps.
iv. Do you have a message that you want to send to customers? We will work with you to craft an
appropriate message if applicable.
4. Submission confirmation - Once you have submitted your issue, we will acknowledge receipt within one
business day and assign your issue a priority and severity.
If you need to communicate with us about your issue, use the confirmation number in all
correspondence.
You can view progress on your issue at any time.
5. What happens next? Depending on the issue and severity, the following steps may be taken:
We will communicate the outcome of our assessment to you. Depending on the outcome, we may
remove or request that you modify your offering. In this event, we will work with you to ensure that
disruption to impacted customers is minimized.
We will work with you to help mitigate the impact of the incident/vulnerability for our mutual
customers.
Penetration testing
12/12/2021 • 2 minutes to read • Edit Online
One of the benefits of using Azure for application testing and deployment is that you can quickly get
environments created. You don’t have to worry about requisitioning, acquiring, and “racking and stacking” your
own on-premises hardware.
Quickly creating environments is great – but you still need to make sure you perform your normal security due
diligence. One of the things you likely want to do is penetration test the applications you deploy in Azure.
We don’t perform penetration testing of your application for you, but we do understand that you want and need
to perform testing on your own applications. That’s a good thing, because when you enhance the security of
your applications you help make the entire Azure ecosystem more secure.
As of June 15, 2017, Microsoft no longer requires pre-approval to conduct a penetration test against Azure
resources. This process is only related to Microsoft Azure, and not applicable to any other Microsoft Cloud
Service.
IMPORTANT
While notifying Microsoft of pen testing activities is no longer required customers must still comply with the Microsoft
Cloud Unified Penetration Testing Rules of Engagement.
NOTE
Microsoft has partnered with BreakingPoint Cloud to build an interface where you can generate traffic against DDoS
Protection-enabled public IP addresses for simulations. To learn more about the BreakingPoint Cloud simulation, see
testing through simulations.
Next steps
Learn more about the Penetration Testing Rules of Engagement.
Reference list of Azure domains (not
comprehensive)
12/12/2021 • 2 minutes to read • Edit Online
This page is a partial list of the Azure domains in use. Some of them are REST API endpoints.
SERVIC E SUB DO M A IN