Azure Security Best Practice Guide
This Azure security best practice guide will help you improve, scale, and centralize your cloud security. The practices below are grouped into Limiting Access to Sensitive Data, Implementing Threat Protection and Safeguards, and Centralizing and Managing Security.
Limiting Access to Sensitive Data
Zero Trust operates on the principle of 'never trust, always verify.' Verify explicitly using all available signals (identity, location, device health, service, data classification, anomalies). Use least-privileged access with risk-based adaptive policies and Just-in-Time/Just-Enough-Access (JIT/JEA). Assume breach: segment access by network, user, device, and application; encrypt all sessions end to end; and use analytics to improve defenses.
Management ports like RDP (3389) and SSH (22) are commonly attacked via brute force when exposed to the internet. Mitigate the risk by using just-in-time (JIT) VM access to lock down inbound traffic to your Azure VMs.
Define which IPs can access your service. Don't assign broad allow rules (e.g., 0.0.0.0–255.255.255.255). Protect your virtual network using Azure Firewall on top of IP restrictions, and limit access to specific ports.
Most Azure managed disks are automatically encrypted via server-side encryption (SSE) with a platform-managed key. For OS and data disks, also enable Azure Disk Encryption (ADE) so data has two levels of protection. ADE uses Azure Key Vault to control and manage keys and secrets — without it, downloaded VHD files can be decrypted and used to create new VMs. Always enable Transparent Data Encryption (TDE) on SQL databases to secure data at rest.
Use least-privileged access — grant only the minimum permissions required. Clearly define app registration credentials and don't keep credentials on Public Client Apps. Minimize app ownership and audit app owners at least once a quarter to confirm they are still part of the organization.
PIM provides as-needed and just-in-time access to Azure resources with time-based and approval-based role activation. This reduces the chance of malicious access and limits authorized users inadvertently impacting sensitive resources.
Implementing Threat Protection and Safeguards
Azure Defender (formerly Azure Advanced Threat Protection) protects enterprise environments from targeted cyber-attacks and insider threats. It detects threats throughout the phases of an advanced attack — reconnaissance, credential compromise, lateral movement, privilege escalation, and domain dominance — and works for both cloud-native and hybrid workloads.
MFA adds a secondary layer of security beyond passwords. Azure AD MFA verifies user identity via phone call, text message, or mobile app notification. Even if a password is compromised, data and applications stay protected.
Periodically clean up your Azure subscription — remove deprecated identities, users, and resources. Review access for existing users. Following Azure Security Center guidance, keep the number of subscription owners to no more than three.
Only turn on services you are actively using. This reduces the attack surface and lowers cost. Create runbooks that automatically turn resources on/off at scheduled times.
Resource locks safeguard development teams from accidentally deleting critical resources.
Centralizing and Managing Security
Azure Security Center uses machine learning and advanced analytics to detect existing and potential threats and suggest preventative actions. Define security admins to handle alerts, Azure Defender, security policy, and auto-provisioning of log analytics and extensions. Developers should be classified as Security Reader. Review your security status via Security Center > Overview — Azure Secure Score, Azure Defender status, resource health inventory, regulatory compliance, and high-impact recommendations.
WAF centralizes web app protection for easier monitoring and customization. It defends against cross-site scripting and SQL injection, two of the most common web attacks, and automatically updates to include protections against new vulnerabilities.
Azure AD is a multi-tenant cloud directory and identity management service that secures and simplifies user access to cloud applications with single sign-on. Microsoft reports Azure AD protects users from 99.9% of cybersecurity attacks, and machine learning–based reports identify inconsistent access patterns.
Assigning permissions to AAD groups simplifies access management and ensures developers only have access to resources for their projects. Periodically review groups, assign roles based on least-privilege policies, and restrict subscription access to a Reader role.
Azure Key Vault safeguards cryptographic keys and secrets used by cloud applications. Ensure applications never access keys directly. Limit user and identity access to certificates, secrets, and keys, and enable soft delete to retrieve accidentally deleted objects.
Managed identity lets applications access AAD-protected resources without provisioning or rotating secrets. It automatically renews service principals — always keep this enabled.
Test database copies and backup files accumulate over time. Create an automated runbook that informs admins of historical databases and remove resources you aren't using to keep the workspace clean and reduce attack surface.
Microsoft continually updates its products and services to outpace evolving cyber threats. Apply the newest patches as soon as they are released to keep your environment secure.
References
- Strengthen your cloud security with 19 security best practices — MAQ Software
- Azure security best practices and patterns — Microsoft Corporation, published March 22, 2023
- Azure network security best practices — Microsoft Corporation, published March 16, 2023
- Azure Identity Management and access control security best practices — Microsoft Corporation, published December 19, 2022
- Embrace proactive security with Zero Trust — Microsoft Corporation
Want an Azure security hardening review? MAQ Software's cloud security team can help.
Talk to our team
Data Validation Best Practices
Ensure quality data on demand with our 7 data validation best practices.
Read More