SMS Zwei-Faktor-Authentifizierung mit SMS Global

Neben App oder als Email bietet die Fortigate die Möglichkeit, Multifaktor-Authentifizierung (MFA) per SMS zu realisieren. Im folgenden Beitrag konfiguriere ich MFA mit SMS und nutze den Email-2-SMS Gatway Anbieter SMS Global (https://www.smsglobal.com/). SMS Global bietet eine relativ einfach Konfiguration und überschaubare Kosten. Der Pre-Paid-Tarif hat einen Mindestbetrag von 5 Euro, was aktuell (30.07.2018) bei 0,065 Euro pro SMS für 76 Anmeldungen reicht. Generell funktioniert MFA per SMS aber mit jedem Anbieter, der für den Versand keine Authentifizierung in der zu verschickenden Email erfordert.

Konfiguration Fortigate

Auf der Fortigate Seite sind 3 Konfigurationen erforderlich:

Die Email-Server Konfiguration enthält die Einstellungen zum ausgehenden Versand der Emails mit dem Token Code an das Email-2-SMS Gateway.
Die SMS-Server Konfiguration enthält lediglich die Email-Domain des Email-2-SMS Gateways.
Zum Abschluss wird noch auf Benutzer-Ebene die Konfiguration für die MFA vorgenommen. Dabei wird als Typ SMS eingestellt, als SMS-Server unsere angelegte Email2SMS Gateway Email-Domain ausgewählt und die SMS Telefonnummer im internationalen Format ohne vorangestellte „00“ hinterlegt (also z.B. für Deutschland (+49) wird 49 angegeben (nicht 0049!)).

config system email-server
   set type custom
   set server <SMTP-Server-Name/-IP>
   set reply-to <Reply-To-Adresse>
   set username <SMTP-Benutzer>
   set password <SMTP-Passwort>
end
config system sms-server
   edit smsglobal.com
      set server email.smsglobal.com
   next
end
config user local
   edit <Benutzername>
      set two-factor sms
      set sms-server custom
      set sms-custom-server smsglobal.com
      set sms-phone 491234567890
   next
end

Statt Benutzeranmeldungen für SSL VPN lässt sich auf dem gleichen Weg natürlich auch Admin-Accounts mit MFA per SMS absichern:

config system admin
   edit <Admin-Benutzername>
      set two-factor sms
      set sms-server custom
      set sms-custom-server smsglobal.com
      set sms-phone 491234567890
   next
end
Konfiguration SMS Global

Wie oben beschrieben erfordert SMS Global keine Authentifizierung, um das Email-2-SMS Gateway zu nutzen. Wie aber ist sichergestellt, dass nicht irgend ein unbefugter Dritter auf unsere Kosten SMS versendet? Einerseits ist das Pre-Paid Guthaben ein hartes Limit, andererseits macht SMS Global dies über die Email-Adresse, über Emails überhaupt angenommen und weiter verarbeitet werden; in diesem Beispiel die oben definierte Reply-To Adresse. Diese sollte daher entsprechend unverfänglich und komplex gewählt werden, z.B. akB5K3USN5Szda1CmOg6@<Email-Domain>.

Die so ausgewählte Email-Adresse wird im Admin-Portal von SMS Global (https://mxt.smsglobal.com/) im Hauptmenü uner API & Integrations => Email Settings als Allowed Sender Email Addresses hinterlegt.

API & Integrations -> Email Settings -> Allowed Sender Email Addresses

API & Integrations -> Email Settings -> Allowed Sender Email Addresses

Eine zweite (optionale) Einstellung ist die Absenderkennung der SMS, die beim Empfänger erscheint. Standardmäßig wird eine Telefonnummer von SMS Global angezeigt. Möchte man einen aussagekräftigen Absender, lässt sich dies über das Einstellungesmenü => SMS Settings anpassen. Den Wert für Default 'Send From' Address stellt man um auf A custom word und trägt in das Feld Your Word z.B. den Wert TokenCode ein.
Achtung: Die Absenderkennung gilt für den kompletten Account, d.h. verwendet man den SMS Service noch für andere Zwecke, empfiehlt es sich für die MFA einen eigenen Sub-Account anzulegen, da die Absenderkennung in allen SMS angezeigt wird!

Settings -> SMS Settings -> Default 'Send From' Address

Settings -> SMS Settings -> Default ‚Send From‘ Address

Im Ergebnis sieht eine SMS mit dem Token Code auf dem iPhone z.B. so aus:

iPhone Token Code SMS

iPhone Token Code SMS

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert

Diese Website verwendet Akismet, um Spam zu reduzieren. Erfahre mehr darüber, wie deine Kommentardaten verarbeitet werden.