{"id":8569,"date":"2025-01-26T09:00:13","date_gmt":"2025-01-26T17:00:13","guid":{"rendered":"https:\/\/www.microsoft.com\/insidetrack\/blog\/?p=8569"},"modified":"2025-02-04T15:58:43","modified_gmt":"2025-02-04T23:58:43","slug":"enhancing-vpn-performance-at-microsoft","status":"publish","type":"post","link":"https:\/\/www.microsoft.com\/insidetrack\/blog\/enhancing-vpn-performance-at-microsoft\/","title":{"rendered":"Enhancing VPN performance at Microsoft"},"content":{"rendered":"
Modern workers are increasingly mobile and require the flexibility to get work done outside of the office. Here at Microsoft headquarters in the Puget Sound area of Washington State, every weekday an average of 45,000 to 55,000 Microsoft employees use a virtual private network (VPN) connection to remotely connect to the corporate network. As part of our overall Zero Trust Strategy<\/a>, we have redesigned our VPN infrastructure, something that has simplified our design and let us consolidate our access points. This has enabled us to increase capacity and reliability, while also reducing reliance on VPN by moving services and applications to the cloud.<\/p>\n Remote access at Microsoft is reliant on the VPN client, our VPN infrastructure, and public cloud services. We have had several iterative designs of the VPN service inside Microsoft. Regional weather events in the past required large increases in employees working from home, heavily taxing the VPN infrastructure and requiring a completely new design. Three years ago, we built an entirely new VPN infrastructure, a hybrid design, using Microsoft Azure Active Directory (Azure AD) load balancing and identity services with gateway appliances across our global sites.<\/p>\n Key to our success in the remote access experience was our decision to deploy a split-tunneled configuration for the majority of employees. We have migrated nearly 100% of previously on-premises resources into Microsoft Azure and Microsoft Office 365. Our continued efforts in application modernization<\/a> are reducing the traffic on our private corporate networks as cloud-native architectures allow direct internet connections. The shift to internet-accessable applications and a split-tunneled VPN design has dramatically reduced the load on VPN servers in most areas of the world.<\/p>\n We use Microsoft Endpoint Manager to manage our domain-joined and Microsoft Azure AD\u2013joined computers and mobile devices that have enrolled in the service. In our configuration, VPN profiles are replicated through Microsoft Intune and applied to enrolled devices; these include certificate issuance that we create in Configuration Manager for Windows 10 devices. We support Mac and Linux device VPN connectivity with a third-party client using SAML-based authentication.<\/p>\n We use certificate-based authentication (public key infrastructure, or PKI) and multi\u2011factor authentication solutions. When employees first use the Auto-On VPN connection profile, they are prompted to authenticate strongly. Our VPN infrastructure supports Windows Hello for Business and Multi-Factor Authentication. It stores a cryptographically protected certificate upon successful authentication that allows for either persistent or automatic connection.<\/p>\n For more information about how we use Microsoft Intune and Endpoint Manager as part of our device management strategy, see Managing Windows 10 devices with Microsoft Intune<\/a>.<\/p>\n We created VPN profiles that contain all the information a device requires to connect to the corporate network, including the supported authentication methods and the VPN gateways that the device should connect to. We created the connection profiles for domain-joined and Microsoft Intune\u2013managed devices using Microsoft Endpoint Manager.<\/p>\n For more information about creating VPN profiles, see VPN profiles in Configuration Manager<\/a> and How to Create VPN Profiles in Configuration Manager<\/a>.<\/p>\n The Microsoft Intune custom profile for Intune-managed devices uses Open Mobile Alliance Uniform Resource Identifier (OMA-URI) settings with XML data type, as illustrated below.<\/p>\n The VPN connection profile is installed using a script on domain-joined computers running Windows\u00a010, through a policy in Endpoint Manager.<\/p>\n For more information about how we use Microsoft Intune as part of our mobile device management strategy, see Mobile device management at Microsoft<\/a>.<\/p>\n We use an optional feature that checks the device health and corporate policies before allowing it to connect. Conditional Access<\/a> is supported with connection profiles, and we\u2019ve started using this feature in our environment.<\/p>\n Rather than just relying on the managed device certificate for a \u201cpass\u201d or \u201cfail\u201d for VPN connection, Conditional Access places machines in a quarantined state while checking for the latest required security updates and antivirus definitions to help ensure that the system isn\u2019t introducing risk. On every connection attempt, the system health check looks for a certificate that the device is still compliant with corporate policy.<\/p>\n We use an Azure AD certificate for single sign-on to the VPN connection profile. And we currently use Simple Certificate Enrollment Protocol (SCEP) and Network Device Enrollment Service (NDES) to deploy certificates to our mobile devices via Microsoft Endpoint Manager. The SCEP certificate we use is for wireless and VPN. NDES allows software on routers and other network devices running without domain credentials to obtain certificates based on the SCEP.<\/p>\n NDES performs the following functions:<\/p>\n For more information about deploying NDES, including best practices, see Securing and Hardening Network Device Enrollment Service for Microsoft Intune and System Center Configuration Manager<\/a>.<\/p>\n The diagram below illustrates the VPN client-side connection flow.<\/p>\n When a device-compliance\u2013enabled VPN connection profile is triggered (either manually or automatically):<\/p>\n At Microsoft, we have designed and deployed a hybrid infrastructure to provide remote access for all the supported operating systems\u2014using Azure for load balancing and identity services and specialized VPN appliances. We had several considerations when designing the platform:<\/p>\n When we were designing the VPN topology, we considered the location of the resources that employees were accessing when they were connected to the corporate network. If most of the connections from employees at a remote site were to resources located in central datacenters, more consideration was given to bandwidth availability and connection health between that remote site and the destination. In some cases, additional network bandwidth infrastructure has been deployed as needed. The illustration below provides an overview of our remote access infrastructure.<\/p>\n Our VPN solution provides network transport over Secure Sockets Layer (SSL). The VPN appliances force Transport Layer Security (TLS) 1.2 for SSL session initiation, and the strongest possible cipher suite negotiated is used for the VPN tunnel encryption. We use several tunnel configurations depending on the locations of users and level of security needed.<\/p>\n Split tunneling allows only the traffic destined for the Microsoft corporate network to be routed through the VPN tunnel, and all internet traffic goes directly through the internet without traversing the VPN tunnel or infrastructure. Our migration to Office 365 and Azure has dramatically reduced the need for connections to the corporate network. We rely on the security controls of applications hosted in Azure and services of Office 365 to help secure this traffic. For end point protection, we use Microsoft Defender Advanced Threat Protection<\/a> on all clients. In our VPN connection profile, split tunneling is enabled by default and used by the majority of Microsoft employees. Learn more about Office 365 split tunnel configuration.<\/a><\/p>\n Full tunneling routes and encrypts all traffic through the VPN. There are some countries and business requirements that make full tunneling necessary. This is accomplished by running a distinct VPN configuration on the same infrastructure as the rest of the VPN service. A separate VPN profile is pushed to the clients who require it, and this profile points to the full-tunnel gateways.<\/p>\n Our IT employees and some developers access company infrastructure or extremely sensitive data. These users are given Privileged Access Workstations<\/a>, which are secured, limited, and connect to a separate highly controlled infrastructure.<\/p>\n In Microsoft Digital, the Conditional Access administrator is responsible for defining the VPN Compliance Policy for domain-joined Windows 10 desktops, including enterprise laptops and tablets, within the Microsoft Azure Portal administrative experience. This policy is then published so that the enforcement of the applied policy can be managed through Microsoft Endpoint Manager. Microsoft Endpoint Manager provides policy enforcement, as well as certificate enrollment and deployment, on behalf of the client device.<\/p>\n For more information about policies, see VPN and Conditional Access<\/a>.<\/p>\n With every new Windows 10 update, we rolled out a pre-release version to a group of about 15,000 early adopters a few months before its release. Early adopters validated the new credential functionality and used remote access connection scenarios to provide valuable feedback that we could take back to the product development team. Using early adopters helped validate and improve features and functionality, influenced how we prepared for the broader deployment across Microsoft, and helped us prepare support channels for the types of issues that employees might experience.<\/p>\n We measure many aspects of the VPN service and report on the number of unique users that connect every month, the number of daily users, and the duration of connections. We have invested heavily in telemetry and automation throughout the Microsoft network environment. Telemetry allows for data-driven decisions in making infrastructure investments and identifying potential bandwidth issues ahead of saturation.<\/p>\n Our service health reporting is centralized using Power BI dashboards to display consolidated data views of VPN performance. Data is aggregated into an SQL Azure data warehouse from VPN appliance logging, network device telemetry, and anonymized device performance data. These dashboards, shown in the next two graphics below, are tailored for the teams using them.<\/p>\n With our optimizations in VPN connection profiles and improvements in the infrastructure, we have seen significant benefits:<\/p>\n [Editor\u2019s note: This content was written to highlight a particular event or moment in time. Although that moment has passed, we\u2019re republishing it here so you can see what our thinking and experience was like at the time.] Modern workers are increasingly mobile and require the flexibility to get work done outside of the office. […]<\/p>\n","protected":false},"author":133,"featured_media":8571,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"_jetpack_newsletter_access":"","_jetpack_dont_email_post_to_subs":false,"_jetpack_newsletter_tier_id":0,"_jetpack_memberships_contains_paywalled_content":false,"_hide_featured_on_single":false,"_show_featured_caption_on_single":true,"_jetpack_memberships_contains_paid_content":false,"footnotes":""},"categories":[1],"tags":[76,161,361,383,430],"coauthors":[646],"class_list":["post-8569","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-uncategorized","tag-azure","tag-azure-active-directory","tag-azure-identity-and-security","tag-azure-networking","tag-vpn","program-microsoft-digital-technical-stories","m-blog-post"],"yoast_head":"\n[Editor\u2019s note: This content was written to highlight a particular event or moment in time. Although that moment has passed, we\u2019re republishing it here so you can see what our thinking and experience was like at the time.]<\/em><\/p>\n
Providing a seamless remote access experience<\/h2>\n
Using VPN profiles to improve the user experience<\/h3>\n
Configuring and installing VPN connection profiles<\/h4>\n
Installing the VPN connection profile<\/h4>\n
Conditional Access<\/h3>\n
Certificate and device enrollment<\/h3>\n
\n
VPN client connection flow<\/h3>\n
\n
Remote access infrastructure<\/h2>\n
\n
VPN tunnel types<\/h3>\n
Split tunneling<\/h4>\n
Full tunneling<\/h4>\n
Full tunnel with high security<\/h4>\n
Applying and enforcing policies<\/h2>\n
Early adopters help validate new policies<\/h3>\n
Measuring service health<\/h2>\n
Using Power BI to customize operational insight dashboards<\/h3>\n
<\/p>\n
\n
<\/p>\n
\n