Description:
Azure Bastion provides secure RDP and SSH access to Virtual Machines directly through the Azure Portal using TLS over port 443. This prevents the need to expose RDP (3389) or SSH (22) to the internet. Bastion integrates with Microsoft Entra ID, allowing organizations to enforce Multi-Factor Authentication, Conditional Access, and centralized identity governance for remote access. This control verifies that at least one Bastion Host is deployed in the environment to provide secure management access to Azure Virtual Machines.
Rationale:
If Azure Bastion is not deployed, administrators may open public RDP or SSH ports on Virtual Machines, which increases exposure to brute-force attacks, credential theft, and unauthorized access. Azure Bastion eliminates the need for public IPs on Virtual Machines and centralizes secure access through the Azure Portal. Organizations gain stronger security controls, identity enforcement, and reduced attack surface, making Bastion an essential component of secure remote management.
Impact:
Improves security by preventing direct exposure of RDP and SSH to the internet. Supports authentication controls through Microsoft Entra ID. May introduce additional cost and requires the correct virtual network configuration, including a dedicated AzureBastionSubnet with a /26 prefix. The Standard SKU enables advanced features but may increase cost.
Default Value:
Azure Bastion is not deployed by default in any subscription or virtual network.
Pre-requisites:
A virtual network with a subnet named AzureBastionSubnet sized with a /26 prefix.
A Standard Public IP address for Bastion.
Permissions to create network resources and Bastion resources.
Microsoft.Network/bastionHosts/write permission.
Test Plan:
Sign in to the Azure Portal: https://portal.azure.com
In the search bar, search for Bastions.
Verify that a Bastion Host exists for the virtual network hosting the virtual machines.
Confirm the Bastion Host status is Running and operational in Microsoft Azure.
If not running, follow the implementation steps.
Implementation Steps:
Sign in to the Azure Portal https://portal.azure.com
In the search bar, search for Bastions.
Click Create Bastion.
Select the Subscription and Resource Group.
Enter a Bastion Name and select the Region.
Select Standard as the Tier.
Select the target Virtual Network.
Ensure a subnet named AzureBastionSubnet exists with a /26 prefix.
Select or create a Standard Public IP address.
Click Review + Create, then click Create.
Backout Plan:
Sign in to the Azure Portal https://portal.azure.com
In the search bar, search for Bastions.
Select the Bastion Host to be removed.
Click Delete.
Confirm the deletion when prompted.
References:
https://learn.microsoft.com/azure/bastion/bastion-create-host
https://learn.microsoft.com/azure/security/benchmark/azure-security-benchmark-network-security



