How to Set Up mTLS With Azure App Gateway v2 and IIS API?

0
12
Asked By TechyGiraffe42 On

We have a piece of internal software that includes an externally facing IIS site and an API site, which together serve around 21,000 users. The entire setup consists of an AVD host pool, an app server, a SQL server, and a web server. During testing, we discovered that the software requires the SQL server to be hosted on a server rather than using SQL SaaS or storage accounts, so that's how we set it up.

Currently, we've got an Azure App Gateway v2 with an SSL profile set up to secure the IIS site, and that's functioning properly. However, there's a subsite for API access (like https://www.site.com/apimanagement/apimanagement.svc) that also needs to be accessible externally, but it requires client-side certificate authentication. The issue is that, as far as I'm aware, App Gateway v2 doesn't support mTLS. I've experimented with several methods without success.

Internally, the subsite works fine on any configured URL. We've made the developers aware of the security risks, as their API isn't properly protected, but unfortunately, we can't change the software at this stage.

We also have an Azure Firewall set up, and everything is behind it. Previously, the system was directly accessible via four Azure VMs with an NSG allowing open traffic—which was a problematic setup. Now, I'm at a standstill on how to proceed. It appears the only solution might be to assign an external IP to the web server, create a different custom URL, and allow unrestricted access on ports 80 and 443.

Is there anyone here who can point me towards resources or share insights on how to configure this with App Gateway v2? Is it truly a limitation within Azure?

3 Answers

Answered By CloudyDayDreamer On

I feel your pain! It can be a nightmare trying to manage those certs. Just wait until you find out some vendors use them to switch users on the fly. It's like layers of misery on top of each other! Good luck with your setup—hopefully, you can find a workaround.

Answered By AzureNinja88 On

You could ask the vendor to move the API to its own subdomain to allow mTLS setup on that listener. Alternatively, they could properly implement authentication in the application code. If that's not possible, you can set up mTLS directly on IIS for a specific subpath in your web.config.

Answered By WebWizard99 On

We ran into a similar situation. If you want to set up mTLS, try configuring api.site.com with the App Gateway settings as you did for the main site. Make sure you're doing backend pools, SSL profiles, listeners, and health probes correctly. But I know getting the vendor to cooperate can be a real hassle.

Related Questions

LEAVE A REPLY

Please enter your comment!
Please enter your name here

This site uses Akismet to reduce spam. Learn how your comment data is processed.