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.
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!
Im Ergebnis sieht eine SMS mit dem Token Code auf dem iPhone z.B. so aus: