Kurze Einführung
Warum zwei Faktoren?
Selbst bei der Nutzung starker Passwörter besteht das Risiko, dass diese in unbefugte Hände gelangen. Um eine zusätzliche Hürde zu erreichen, wird daher ein zweiter Faktor ergänzt:
Der erste Faktor – das Passwort – lässt sich mit dem Begriff »Wissen« bezeichnen.
Ein zweiter Faktor heißt typischerweise »Besitz«, wobei es sich um ein physisches Objekt, etwa ein Smartphone mit einer Authentifizierungs-App, handelt. Das standardisierte Verfahren TOTP (time-based one-time password) hat sich hierfür etabliert und wird von uns empfohlen.
Andere gute Alternativen für einen zweiten Faktor sind Authentifizierungsgeräte (z.B. Security-Token in Form eines USB-Sticks, auch hier geht es um »Besitz«) oder biometrische Merkmale wie Fingerabdrücke (»Inhärenz«).
Ebenfalls verbreitet sind per SMS oder E-Mail versendete Zugangscodes. Allerdings sind diese als weniger sicher einzustufen, weil der zweite Faktor auf unsicheren (unverschlüsselten) Kanälen versendet wird und in derselben Angriffsfläche steckt wie das Konto selbst, wenn dieses auf die Mail-Adresse oder die Telefonnummer registiert ist.
Der traditionelle Weg
Nutzung von Passwörtern und Passwortmanager
Die Authentifizierung in Webanwendungen wie CiviCRM erfolgt üblicherweise über Benutzername und Passwort im jeweiligen CMS (WordPress oder Drupal). Um hiermit eine gute Absicherung zu erreichen, muss ein starkes Passwort verwendet werden (Empfehlung: Passwörter mit Zufallsgenerator erzeugen lassen, Länge mindestens 16 Zeichen, keine Wiederverwendung von Passwörtern in mehreren Diensten). Um damit zu arbeiten, ist realistischerweise die Speicherung der Passwörter im Gerät zwingend erforderlich.
Die einfachste Lösung ist die Passwortspeicherfunktion des verwendeten Browsers – die aber aus Sicherheitsgründen von uns nicht empfohlen wird. Besser ist die Nutzung eines Passwortmanagers: Um ein gutes Sicherheitsniveau zu erreichen, werden von Experten in der IT-Sicherheit vor allem Open-Source-Passwort-Manager empfohlen, weil der Quellcode offen einsehbar ist und dadurch unabhängige Prüfungen möglich sind. Das erhöht Transparenz, erleichtert das Finden von Schwachstellen und vermeidet das unangenehme Gefühl, einer »Black Box« vertrauen zu müssen. Wir empfehlen hier die Nutzung von KeePassXC oder Bitwarden.
Beide empfohlenen Passwortmanager, Bitwarden und KeePass, erlauben eine zentrale Ablage des Schlüsseltresors in der Cloud (bei Bitwarden Standard, bei KeePass optional), sodass man ein und dieselbe Schlüsselverwaltung auf mehreren Geräten mit Hilfe der entsprechenden Apps und/oder Browsererweiterungen auf verschiedenen Geräten nutzen kann.
Im Gegensatz zu KeePass hat Bitwarden eine ausgefeilte Funktionalität für das Teilen von Passwörtern in Arbeitsgruppen, weshalb wir es bei civiservice.de nutzen.
Das Zwei-Faktor-Modell beim Passwortmanager besteht aus:
- Faktor 1: »Besitz« des PCs, auf dem sich die Passwort-Datenbank befindet
- Faktor 2: »Wissen« des Master-Passworts, mit dem man auf die Passwort-Datenbank zugreifen kann
Wichtig ist bei der Speicherung von Passwörtern in einem Passwort-Manager demnach die Nutzung eines starken Master-Passworts.
Zweiter Faktor
Nutzung des Standardverfahrens »TOTP«
Für den Schutz von CiviCRM empfiehlt sich eina Absicherung per Zwei-Faktor-Authentifizierung (2FA) mit Hilfe von TOTP (»time-based one-time password«). Bei WordPress-basierten Instanzen nutzen wir z.B. die im Plugin Wordfence integrierte Implementierung von TOTP.
Es handelt sich bei TOTP um einen kryptografisch erzeugten 6-stelligen Nummerncode, der nur für eine kurze Zeit gültig ist (15 Sekunden bis eine Minute). Dieser Code wird z.B. mittels einer Authentifizierungs-App auf dem Smartphone erzeugt und muss beim Login nach dem Passwort in ein weiteres Feld eingegeben werden.
Damit das funktioniert, muss die Authentifizierungs-App einmalig mit jedem genutzten Account synchronisiert werden (siehe hierzu die separate Anleitung).
TOTP-Erstellung
mittels Smartphone-App
Die Nutzung eines Smartphones bietet das höchste Sicherheitsniveau, da es ein separates Gerät ist, dessen »Besitz« Voraussetzung für den Zugang ist.
Hinweis: Es kann auch ein privates Smartphone verwendet werden. Dies wird sogar empfohlen, da Mitarbeiter·innen so die TOTP-App auch für private Logins nutzen und ihre Sicherheit insgesamt erhöhen können.
Es dominiert auf dem Smartphone in der allgemeinen Wahrnehmung die Google Authenticator App als die aktuell am stärksten verbreitete App zur Erstellung von TOTP. Da es sich bei TOTP allerdings um einen genormten Standard handelt, gibt es auch etliche freie Open-Source-Apps.
Beispiele für alternative Authenticator Apps für das Smartphone:
- für Android: Aegis Authenticator, siehe https://getaegis.app/
- für Apple iOS: Ravio OTP, siehe https://raivo-otp.com/
Zur Erstellung von TOTP ist kein Benutzername und kein Passwort erforderlich. Man benötigt also nicht zwingend eine Passwortverwaltung. Die Erstellung des TOTP ist völlig unabhängig von solchen Zugangsdaten und geschieht allein auf der Basis eines Schlüssels. Dieser Schlüssel ist eine relativ lange Zeichenkette, weshalb er in der Regel mittels eines QR-Codes bereitgestellt und mit einer TOTP-App gelesen/gescannt wird.
TOTP-Erstellung
auf dem PC
Die TOTP-Erstellung auf dem PC wird nur eingeschränkt empfohlen, weil hier u.U. keine echte Trennung der Faktoren besteht: Wer Zugriff auf den PC hat, braucht kein weiteres »Wissen«, um einen gültigen TOTP-Code zu erzeugen. Dennoch ergibt auch dies ein erheblich höheres Sicherheitsniveau, weil der Zugriff von außen auf diesem Weg erheblich erschwert wird. Das gilt besonders, wenn für die Anmeldung schwache Passwörter genutzt werden.
Um ein höheres Sicherheitsniveau zu erzielen, sollte auf PCs daher zusätzliche eine Festplattenverschlüsselung und Hardware-Tokens wie ein YubiKey eingesetzt werden – was bei civiservice.de-eigenen Geräten beides standardmäßig gemacht wird.
Auf dem Desktop können für die TOTP-Erstellung z.B. genutzt werden:
- als Browsererweiterung: »Authenticator« für den Firefox-Browser und Chrome- bzw. Chromium-basierte Browser, siehe bspw. https://addons.mozilla.org/en-US/firefox/addon/auth-helper/
- für den Windows-Desktop »2fast«, siehe https://github.com/2fast-team/2fast bzw. https://apps.microsoft.com/detail/9p9d81glh89q?hl=de-DE&gl=DE
- für den MacOS-Desktop »Otpkey Authenticator«, siehe https://apps.apple.com/de/app/otpkey-authenticator/id6444123920
- für den Linux-Desktop »OTPClient«, siehe https://github.com/paolostivanin/OTPClient
Alternativ können auch Passwortmanager genutzt werden: Keepass bzw. KeepassXC und Bitwarden unterstützen ebenfalls die TOTP-Erstellung.