Menu Close

Autentisera din VPN med SAML och Azure AD

Att autentisera din SSL VPN med ditt AD-konto har varit på tapeten länge. Att även lägga på MFA på detta har varit intressant för många länge också. Att kunna använda samma inloggningssätt på flera olika tjänster har alltid varit en arkitekts våta dröm. Ett sätt att åstadkomma just detta är att använda SAML-protokollet och på så vis använda samma sätt att logga som du gör i O365 på din VPN tex. I denna artikel går jag igenom de delar som jag tycker är viktiga att titta på.

Jag har under implementationen av denna funktion utgått från denna guide. De delarna som jag tycker behöver förklaras extra är det som är med i denna artikel.

Konfiguration i Azure

När guiden är genomförd så fortsätt genom att justera dina User Attributes & Claims.

Radera alla nuvarande claims som finns här och konfigurera enligt följande:

Notera att namnet skall vara i små bokstäver och att namespace skall vara tomt.

Vi fortsätter att konfigurera group-objektet på följande sätt:

När du är färdig med upprensning och skapande av nya claims så bör det se ut så här:

Fortigate konfiguration

I Fortigaten (, i 6.2.7) så behöver man göra följande konfiguration i CLI.

Börja med att importera certifikatet som du laddat ner tidigare när du följt guiden ovan. Det kan vara lämpligt att döpa om detta så att du vet vad det används till. Följande kommando gör detta om ditt importerade certifikat heter REMOTE_Cert_1:

config vpn certificate remote
rename REMOTE_Cert_1 to AZURE-SSO
end

Konfigurera sedan SAML kopplingen på följande vis:

config user saml
    edit "azure-ad-saml"
        set cert "Fortinet_Factory"
        set entity-id "https://ssl.yourdomain.se:10443/remote/saml/metadata"
        set single-sign-on-url "https://ssl.yourdomain.se:10443/remote/saml/login"
        set single-logout-url "https://login.microsoftonline.com/<string från azure>/saml2"
        set idp-entity-id "https://sts.windows.net/<string från azure>/"
        set idp-single-sign-on-url "https://login.microsoftonline.com/<string från azure>/saml2"
        set idp-single-logout-url "https://login.microsoftonline.com/common/wsfederation?wa=wsignout1.0"
        set idp-cert "AZURE-SSO"
        set user-name "name"
        set group-name "groups"
    next
end

Notera följande:

Använder du en port som inte är 443 så ska denna vara med i strängen här. Ovan är det port 10443 som används för SSL VPN.

För att kunna knappa in idp-single-logout-url strängen som har ett ‘?’ i sig så behöver du göra följande:
skriv in set idp-single-logout-url "https://login.microsoftonline.com/common/wsfederation och tryck sedan på CTRL+V för att skicka ett break kommando. Skriv därefter in ett ‘?’ följt av resten av strängen, wa=wsignout1.0".

set idp-cert hänvisar till det certifikatet som vi importerade och döpte om tidigare.

set user-name "name" & set group-name "groups" hänvisar till det värdet som vi justerade under claims tidigare. Viktigt att detta stämmer överens och är case sensitive.

När detta är på plats skapar vi en user group som vi sedan kan använda som vilken grupp som helst i vår vpn konfiguration.

config user group
    edit "SSL_VPN_SAML"
        set member "azure-ad-saml"
        config match
            edit 1
                set server-name "azure-ad-saml"
                set group-name "<grupp-id från azure>"
            next
        end
    next
end

Grupp-id’t hittar du i det rödmarkerade fältet nedan:

Med denna konfiguration så innebär det att samtliga medlemmar i denna gruppen får använda sig utav denna VPNen och blir tilldelade medlemskap i brandväggsgruppen “SSL_VPN_SAML”. Vill du skapa flera olika grupper med olika access i regelverket så skapar du helt enkelt flera brandväggsgrupper och har olika IDn konfigurerat.

Att använda FortiClient VPN med SAML

Har du den senaste versionen av FortiClient (6.4.3 2021-03-31) installerad så har du möjlighet att skapa en SSL VPN tunnel konfiguration på följande sätt:

Detta är all konfiguration som behövs och du kommer sedan att slussas vidare till samma inloggning som du har när du loggar in i O365.