Support Forum
The Forums are a place to find answers on a range of Fortinet products from peers and product experts.
New Contributor

Microsoft Azure MFA Server and Fortigate SSL-VPN



First time posting and really hoping that someone tells me I'm an idiot, and the solution's really simple... 


I'm trying to use Microsoft's Azure MFA Server product to add multi-factor authentication to our Fortigate SSL-VPN. 


The way I have it set up, is:


Which is the way that Microsoft says that I should have it set up. 


If I substitute the MS VPN solution in place of the Fortigate, it works fine. 

If I take MFA server out of the equation, it works as it should. 


However - if I have it set up as I need it to be, the Fortigate denies the login, stating that it can't find the user. Yet the identical username without the MFA server works fine... 


I've wireshark'd the RADIUS packets from both the vanilla RADIUS server and from the MFA server, and they're identical sans the individual packet identifiers. I've used the packet sniffer in the Fortigate itself to check that they're arriving intact, which they are. The ONLY thing I can find that's actually wrong, is that the Fortigate seems to just ignore the RADIUS Access-Accept packet. Yet, I can't find any record of that happening. 


To stop me further losing my sanity, has anyone else come across this, or does anyone have any ideas at all? 


Thank you so much in advance!



I haven't crossed the Azure waters, yet.

But I have seen quite a few RADIUS backends to FGT.


If I got it correctly then FGT sends RADIUS Access-Request to Azure (it is supposed to be proxied to some other RADIUS server deeper in the structure) and FGT should get Access-Accept (if auth succeeded) or Access-Reject (if failed) or Challenge-Request (if there is something like password change needed or 2FA).


I'd suggest to check on FGT what is the auth content and how it's processed.

Basically any remote auth on FGT should trigger fnbamd daemon which should handle the communication with auth server.

So SSH to CLI and log all output, then ... 


# prepare

get sys stat

show user radius

show user group


diag debug reset

diag debug console timestamp enable

diag debug app fnbamd 7

diag debug enable


diag sniff pack any 'port 1812 or 1813' 6 0 a


# test auth

# then after one test Ctrl-C to terminate sniffer, save the output and check that.


What was the result of the fnbamd ?

What was returned RADIUS response (Accept or Reject or Challenge) ?

If it was Accept but you were not allowed through, then there were probably other conditions you haven't met like group match. Debug of fnbamd should tell you more.

Is there group match set in group ?

If so, did Access-Accept received by FGT contain AVP Fortinet-Group-Name ?

If not, that's the fail. If yes, is the content of the AVP exactly matching the string in group match set in firewall user group ?


I'd start with above mentioned basic check.


Tomas Stribrny - NASDAQ:FTNT - Fortinet stuff - TAC Staff Engineer


I want to say a whole load of words that would 100% trip the profanity filter. 

Without a word of a lie, I've worked on this for days - done everything I can think of, and got absolutely nowhere. 


I SSH into my test box today, type the diag commands you suggested, and try logging in via SSL VPN. 


Only goes and works... 


Going to ask our hosted firewall guys nicely to try again their side and will shout profusely at it, should it decide to show me up and b****y work! 


Thanks for the help :) 


glad to see it's "auto-magically resolved" :D

Tomas Stribrny - NASDAQ:FTNT - Fortinet stuff - TAC Staff Engineer

New Contributor

I'm trying to set a lab up with a similar configuration between FortiGate, Windows NPS, and Azure MFA.  Is there a good guide for the Azure MFA interaction with the FortiGate?

New Contributor

Nitr0 wrote:

I'm trying to set a lab up with a similar configuration between FortiGate, Windows NPS, and Azure MFA.  Is there a good guide for the Azure MFA interaction with the FortiGate?

I have SSL VPN authentication with Azure MFA working (2nd factor thru app confirmation). You can use the guide here for the config. It uses the NPS extension for Azure, so no MFA server on-premises is required. 



New Contributor III

Any pointers to the config on Fortigate itself for the above solution?


Top Kudoed Authors